@khanglvm/llm-router 2.5.2 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/node/coding-tool-config.js +15 -1
- package/src/node/provider-probe.js +18 -0
- package/src/node/quota-probe-mapping.js +215 -0
- package/src/node/quota-probe-runner.js +234 -0
- package/src/node/web-console-client.js +33 -27
- package/src/node/web-console-server.js +99 -0
- package/src/node/web-console-styles.generated.js +1 -1
- package/src/node/web-console-ui/api-client.js +27 -0
- package/src/runtime/balancer.js +47 -4
- package/src/runtime/config.js +9 -4
- package/src/runtime/handler/fallback.js +7 -0
- package/src/runtime/quota-probe.js +179 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
(()=>{var EM=Object.create;var Gb=Object.defineProperty;var TM=Object.getOwnPropertyDescriptor;var MM=Object.getOwnPropertyNames;var OM=Object.getPrototypeOf,kM=Object.prototype.hasOwnProperty;var Eo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var _M=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of MM(t))!kM.call(e,o)&&o!==n&&Gb(e,o,{get:()=>t[o],enumerable:!(r=TM(t,o))||r.enumerable});return e};var B=(e,t,n)=>(n=e!=null?EM(OM(e)):{},_M(t||!e||!e.__esModule?Gb(n,"default",{value:e,enumerable:!0}):n,e));var nv=Eo(Yt=>{"use strict";function cp(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<Uu(o,t))e[r]=t,e[n]=o,n=r;else break e}}function To(e){return e.length===0?null:e[0]}function Vu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>Uu(l,n))s<o&&0>Uu(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>Uu(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function Uu(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}Yt.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(qb=performance,Yt.unstable_now=function(){return qb.now()}):(ip=Date,Wb=ip.now(),Yt.unstable_now=function(){return ip.now()-Wb});var qb,ip,Wb,ta=[],za=[],LM=1,Vr=null,Xn=3,up=!1,Ws=!1,Ys=!1,dp=!1,Xb=typeof setTimeout=="function"?setTimeout:null,Jb=typeof clearTimeout=="function"?clearTimeout:null,Yb=typeof setImmediate<"u"?setImmediate:null;function ju(e){for(var t=To(za);t!==null;){if(t.callback===null)Vu(za);else if(t.startTime<=e)Vu(za),t.sortIndex=t.expirationTime,cp(ta,t);else break;t=To(za)}}function fp(e){if(Ys=!1,ju(e),!Ws)if(To(ta)!==null)Ws=!0,Ml||(Ml=!0,Tl());else{var t=To(za);t!==null&&mp(fp,t.startTime-e)}}var Ml=!1,Qs=-1,Zb=5,ev=-1;function tv(){return dp?!0:!(Yt.unstable_now()-ev<Zb)}function lp(){if(dp=!1,Ml){var e=Yt.unstable_now();ev=e;var t=!0;try{e:{Ws=!1,Ys&&(Ys=!1,Jb(Qs),Qs=-1),up=!0;var n=Xn;try{t:{for(ju(e),Vr=To(ta);Vr!==null&&!(Vr.expirationTime>e&&tv());){var r=Vr.callback;if(typeof r=="function"){Vr.callback=null,Xn=Vr.priorityLevel;var o=r(Vr.expirationTime<=e);if(e=Yt.unstable_now(),typeof o=="function"){Vr.callback=o,ju(e),t=!0;break t}Vr===To(ta)&&Vu(ta),ju(e)}else Vu(ta);Vr=To(ta)}if(Vr!==null)t=!0;else{var a=To(za);a!==null&&mp(fp,a.startTime-e),t=!1}}break e}finally{Vr=null,Xn=n,up=!1}t=void 0}}finally{t?Tl():Ml=!1}}}var Tl;typeof Yb=="function"?Tl=function(){Yb(lp)}:typeof MessageChannel<"u"?(sp=new MessageChannel,Qb=sp.port2,sp.port1.onmessage=lp,Tl=function(){Qb.postMessage(null)}):Tl=function(){Xb(lp,0)};var sp,Qb;function mp(e,t){Qs=Xb(function(){e(Yt.unstable_now())},t)}Yt.unstable_IdlePriority=5;Yt.unstable_ImmediatePriority=1;Yt.unstable_LowPriority=4;Yt.unstable_NormalPriority=3;Yt.unstable_Profiling=null;Yt.unstable_UserBlockingPriority=2;Yt.unstable_cancelCallback=function(e){e.callback=null};Yt.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Zb=0<e?Math.floor(1e3/e):5};Yt.unstable_getCurrentPriorityLevel=function(){return Xn};Yt.unstable_next=function(e){switch(Xn){case 1:case 2:case 3:var t=3;break;default:t=Xn}var n=Xn;Xn=t;try{return e()}finally{Xn=n}};Yt.unstable_requestPaint=function(){dp=!0};Yt.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=Xn;Xn=e;try{return t()}finally{Xn=n}};Yt.unstable_scheduleCallback=function(e,t,n){var r=Yt.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:LM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,cp(za,e),To(ta)===null&&e===To(za)&&(Ys?(Jb(Qs),Qs=-1):Ys=!0,mp(fp,n-r))):(e.sortIndex=o,cp(ta,e),Ws||up||(Ws=!0,Ml||(Ml=!0,Tl()))),e};Yt.unstable_shouldYield=tv;Yt.unstable_wrapCallback=function(e){var t=Xn;return function(){var n=Xn;Xn=t;try{return e.apply(this,arguments)}finally{Xn=n}}}});var ov=Eo((GB,rv)=>{"use strict";rv.exports=nv()});var gv=Eo(Ye=>{"use strict";var hp=Symbol.for("react.transitional.element"),DM=Symbol.for("react.portal"),BM=Symbol.for("react.fragment"),IM=Symbol.for("react.strict_mode"),zM=Symbol.for("react.profiler"),PM=Symbol.for("react.consumer"),UM=Symbol.for("react.context"),jM=Symbol.for("react.forward_ref"),VM=Symbol.for("react.suspense"),FM=Symbol.for("react.memo"),cv=Symbol.for("react.lazy"),HM=Symbol.for("react.activity"),av=Symbol.iterator;function $M(e){return e===null||typeof e!="object"?null:(e=av&&e[av]||e["@@iterator"],typeof e=="function"?e:null)}var uv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},dv=Object.assign,fv={};function kl(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}kl.prototype.isReactComponent={};kl.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};kl.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function mv(){}mv.prototype=kl.prototype;function yp(e,t,n){this.props=e,this.context=t,this.refs=fv,this.updater=n||uv}var bp=yp.prototype=new mv;bp.constructor=yp;dv(bp,kl.prototype);bp.isPureReactComponent=!0;var iv=Array.isArray;function gp(){}var Ht={H:null,A:null,T:null,S:null},pv=Object.prototype.hasOwnProperty;function vp(e,t,n){var r=n.ref;return{$$typeof:hp,type:e,key:t,ref:r!==void 0?r:null,props:n}}function KM(e,t){return vp(e.type,t,e.props)}function xp(e){return typeof e=="object"&&e!==null&&e.$$typeof===hp}function GM(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var lv=/\/+/g;function pp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?GM(""+e.key):t.toString(36)}function qM(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(gp,gp):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Ol(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case hp:case DM:i=!0;break;case cv:return i=e._init,Ol(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+pp(e,0):r,iv(o)?(n="",i!=null&&(n=i.replace(lv,"$&/")+"/"),Ol(o,t,n,"",function(c){return c})):o!=null&&(xp(o)&&(o=KM(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(lv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(iv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+pp(r,s),i+=Ol(r,t,n,a,o);else if(s=$M(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+pp(r,s++),i+=Ol(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Ol(qM(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Fu(e,t,n){if(e==null)return e;var r=[],o=0;return Ol(e,r,"","",function(a){return t.call(n,a,o++)}),r}function WM(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var sv=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)},YM={map:Fu,forEach:function(e,t,n){Fu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Fu(e,function(){t++}),t},toArray:function(e){return Fu(e,function(t){return t})||[]},only:function(e){if(!xp(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};Ye.Activity=HM;Ye.Children=YM;Ye.Component=kl;Ye.Fragment=BM;Ye.Profiler=zM;Ye.PureComponent=yp;Ye.StrictMode=IM;Ye.Suspense=VM;Ye.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Ht;Ye.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Ht.H.useMemoCache(e)}};Ye.cache=function(e){return function(){return e.apply(null,arguments)}};Ye.cacheSignal=function(){return null};Ye.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=dv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!pv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return vp(e.type,o,r)};Ye.createContext=function(e){return e={$$typeof:UM,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:PM,_context:e},e};Ye.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)pv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return vp(e,a,o)};Ye.createRef=function(){return{current:null}};Ye.forwardRef=function(e){return{$$typeof:jM,render:e}};Ye.isValidElement=xp;Ye.lazy=function(e){return{$$typeof:cv,_payload:{_status:-1,_result:e},_init:WM}};Ye.memo=function(e,t){return{$$typeof:FM,type:e,compare:t===void 0?null:t}};Ye.startTransition=function(e){var t=Ht.T,n={};Ht.T=n;try{var r=e(),o=Ht.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(gp,sv)}catch(a){sv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Ht.T=t}};Ye.unstable_useCacheRefresh=function(){return Ht.H.useCacheRefresh()};Ye.use=function(e){return Ht.H.use(e)};Ye.useActionState=function(e,t,n){return Ht.H.useActionState(e,t,n)};Ye.useCallback=function(e,t){return Ht.H.useCallback(e,t)};Ye.useContext=function(e){return Ht.H.useContext(e)};Ye.useDebugValue=function(){};Ye.useDeferredValue=function(e,t){return Ht.H.useDeferredValue(e,t)};Ye.useEffect=function(e,t){return Ht.H.useEffect(e,t)};Ye.useEffectEvent=function(e){return Ht.H.useEffectEvent(e)};Ye.useId=function(){return Ht.H.useId()};Ye.useImperativeHandle=function(e,t,n){return Ht.H.useImperativeHandle(e,t,n)};Ye.useInsertionEffect=function(e,t){return Ht.H.useInsertionEffect(e,t)};Ye.useLayoutEffect=function(e,t){return Ht.H.useLayoutEffect(e,t)};Ye.useMemo=function(e,t){return Ht.H.useMemo(e,t)};Ye.useOptimistic=function(e,t){return Ht.H.useOptimistic(e,t)};Ye.useReducer=function(e,t,n){return Ht.H.useReducer(e,t,n)};Ye.useRef=function(e){return Ht.H.useRef(e)};Ye.useState=function(e){return Ht.H.useState(e)};Ye.useSyncExternalStore=function(e,t,n){return Ht.H.useSyncExternalStore(e,t,n)};Ye.useTransition=function(){return Ht.H.useTransition()};Ye.version="19.2.4"});var xe=Eo((WB,hv)=>{"use strict";hv.exports=gv()});var bv=Eo(tr=>{"use strict";var QM=xe();function yv(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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 Pa(){}var er={d:{f:Pa,r:function(){throw Error(yv(522))},D:Pa,C:Pa,L:Pa,m:Pa,X:Pa,S:Pa,M:Pa},p:0,findDOMNode:null},XM=Symbol.for("react.portal");function JM(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:XM,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var Xs=QM.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Hu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}tr.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=er;tr.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(yv(299));return JM(e,t,null,n)};tr.flushSync=function(e){var t=Xs.T,n=er.p;try{if(Xs.T=null,er.p=2,e)return e()}finally{Xs.T=t,er.p=n,er.d.f()}};tr.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,er.d.C(e,t))};tr.prefetchDNS=function(e){typeof e=="string"&&er.d.D(e)};tr.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?er.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&er.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};tr.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Hu(t.as,t.crossOrigin);er.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&er.d.M(e)};tr.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Hu(n,t.crossOrigin);er.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};tr.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Hu(t.as,t.crossOrigin);er.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else er.d.m(e)};tr.requestFormReset=function(e){er.d.r(e)};tr.unstable_batchedUpdates=function(e,t){return e(t)};tr.useFormState=function(e,t,n){return Xs.H.useFormState(e,t,n)};tr.useFormStatus=function(){return Xs.H.useHostTransitionStatus()};tr.version="19.2.4"});var Bi=Eo((QB,xv)=>{"use strict";function vv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(vv)}catch(e){console.error(e)}}vv(),xv.exports=bv()});var _w=Eo(gf=>{"use strict";var Mn=ov(),Gx=xe(),ZM=Bi();function K(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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 qx(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function zc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function Wx(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 Yx(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 Sv(e){if(zc(e)!==e)throw Error(K(188))}function eO(e){var t=e.alternate;if(!t){if(t=zc(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return Sv(o),e;if(a===r)return Sv(o),t;a=a.sibling}throw Error(K(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function Qx(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=Qx(e),t!==null)return t;e=e.sibling}return null}var Gt=Object.assign,tO=Symbol.for("react.element"),$u=Symbol.for("react.transitional.element"),ac=Symbol.for("react.portal"),zl=Symbol.for("react.fragment"),Xx=Symbol.for("react.strict_mode"),eg=Symbol.for("react.profiler"),Jx=Symbol.for("react.consumer"),ca=Symbol.for("react.context"),Yg=Symbol.for("react.forward_ref"),tg=Symbol.for("react.suspense"),ng=Symbol.for("react.suspense_list"),Qg=Symbol.for("react.memo"),Ua=Symbol.for("react.lazy"),rg=Symbol.for("react.activity"),nO=Symbol.for("react.memo_cache_sentinel"),wv=Symbol.iterator;function Js(e){return e===null||typeof e!="object"?null:(e=wv&&e[wv]||e["@@iterator"],typeof e=="function"?e:null)}var rO=Symbol.for("react.client.reference");function og(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===rO?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case zl:return"Fragment";case eg:return"Profiler";case Xx:return"StrictMode";case tg:return"Suspense";case ng:return"SuspenseList";case rg:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case ac:return"Portal";case ca:return e.displayName||"Context";case Jx:return(e._context.displayName||"Context")+".Consumer";case Yg:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Qg:return t=e.displayName||null,t!==null?t:og(e.type)||"Memo";case Ua:t=e._payload,e=e._init;try{return og(e(t))}catch{}}return null}var ic=Array.isArray,je=Gx.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,At=ZM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Vi={pending:!1,data:null,method:null,action:null},ag=[],Pl=-1;function Lo(e){return{current:e}}function zn(e){0>Pl||(e.current=ag[Pl],ag[Pl]=null,Pl--)}function jt(e,t){Pl++,ag[Pl]=e.current,e.current=t}var _o=Lo(null),Ac=Lo(null),Qa=Lo(null),Ad=Lo(null);function Cd(e,t){switch(jt(Qa,t),jt(Ac,e),jt(_o,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Mx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Mx(t),e=bw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}zn(_o),jt(_o,e)}function ns(){zn(_o),zn(Ac),zn(Qa)}function ig(e){e.memoizedState!==null&&jt(Ad,e);var t=_o.current,n=bw(t,e.type);t!==n&&(jt(Ac,e),jt(_o,n))}function Rd(e){Ac.current===e&&(zn(_o),zn(Ac)),Ad.current===e&&(zn(Ad),Dc._currentValue=Vi)}var Sp,Av;function zi(e){if(Sp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Sp=t&&t[1]||"",Av=-1<n.stack.indexOf(`
|
|
1
|
+
(()=>{var GM=Object.create;var rv=Object.defineProperty;var qM=Object.getOwnPropertyDescriptor;var WM=Object.getOwnPropertyNames;var YM=Object.getPrototypeOf,QM=Object.prototype.hasOwnProperty;var Oo=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var XM=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of WM(t))!QM.call(e,o)&&o!==n&&rv(e,o,{get:()=>t[o],enumerable:!(r=qM(t,o))||r.enumerable});return e};var D=(e,t,n)=>(n=e!=null?GM(YM(e)):{},XM(t||!e||!e.__esModule?rv(n,"default",{value:e,enumerable:!0}):n,e));var mv=Oo(tn=>{"use strict";function hp(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(0<Ku(o,t))e[r]=t,e[n]=o,n=r;else break e}}function _o(e){return e.length===0?null:e[0]}function qu(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],s=i+1,c=e[s];if(0>Ku(l,n))s<o&&0>Ku(c,l)?(e[r]=c,e[s]=n,r=s):(e[r]=l,e[i]=n,r=i);else if(s<o&&0>Ku(c,n))e[r]=c,e[s]=n,r=s;else break e}}return t}function Ku(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}tn.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(ov=performance,tn.unstable_now=function(){return ov.now()}):(mp=Date,av=mp.now(),tn.unstable_now=function(){return mp.now()-av});var ov,mp,av,sa=[],$a=[],JM=1,Kr=null,er=3,yp=!1,ec=!1,tc=!1,bp=!1,sv=typeof setTimeout=="function"?setTimeout:null,cv=typeof clearTimeout=="function"?clearTimeout:null,iv=typeof setImmediate<"u"?setImmediate:null;function Gu(e){for(var t=_o($a);t!==null;){if(t.callback===null)qu($a);else if(t.startTime<=e)qu($a),t.sortIndex=t.expirationTime,hp(sa,t);else break;t=_o($a)}}function vp(e){if(tc=!1,Gu(e),!ec)if(_o(sa)!==null)ec=!0,Dl||(Dl=!0,Ll());else{var t=_o($a);t!==null&&xp(vp,t.startTime-e)}}var Dl=!1,nc=-1,uv=5,dv=-1;function fv(){return bp?!0:!(tn.unstable_now()-dv<uv)}function pp(){if(bp=!1,Dl){var e=tn.unstable_now();dv=e;var t=!0;try{e:{ec=!1,tc&&(tc=!1,cv(nc),nc=-1),yp=!0;var n=er;try{t:{for(Gu(e),Kr=_o(sa);Kr!==null&&!(Kr.expirationTime>e&&fv());){var r=Kr.callback;if(typeof r=="function"){Kr.callback=null,er=Kr.priorityLevel;var o=r(Kr.expirationTime<=e);if(e=tn.unstable_now(),typeof o=="function"){Kr.callback=o,Gu(e),t=!0;break t}Kr===_o(sa)&&qu(sa),Gu(e)}else qu(sa);Kr=_o(sa)}if(Kr!==null)t=!0;else{var a=_o($a);a!==null&&xp(vp,a.startTime-e),t=!1}}break e}finally{Kr=null,er=n,yp=!1}t=void 0}}finally{t?Ll():Dl=!1}}}var Ll;typeof iv=="function"?Ll=function(){iv(pp)}:typeof MessageChannel<"u"?(gp=new MessageChannel,lv=gp.port2,gp.port1.onmessage=pp,Ll=function(){lv.postMessage(null)}):Ll=function(){sv(pp,0)};var gp,lv;function xp(e,t){nc=sv(function(){e(tn.unstable_now())},t)}tn.unstable_IdlePriority=5;tn.unstable_ImmediatePriority=1;tn.unstable_LowPriority=4;tn.unstable_NormalPriority=3;tn.unstable_Profiling=null;tn.unstable_UserBlockingPriority=2;tn.unstable_cancelCallback=function(e){e.callback=null};tn.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):uv=0<e?Math.floor(1e3/e):5};tn.unstable_getCurrentPriorityLevel=function(){return er};tn.unstable_next=function(e){switch(er){case 1:case 2:case 3:var t=3;break;default:t=er}var n=er;er=t;try{return e()}finally{er=n}};tn.unstable_requestPaint=function(){bp=!0};tn.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=er;er=e;try{return t()}finally{er=n}};tn.unstable_scheduleCallback=function(e,t,n){var r=tn.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?r+n:r):n=r,e){case 1:var o=-1;break;case 2:o=250;break;case 5:o=1073741823;break;case 4:o=1e4;break;default:o=5e3}return o=n+o,e={id:JM++,callback:t,priorityLevel:e,startTime:n,expirationTime:o,sortIndex:-1},n>r?(e.sortIndex=n,hp($a,e),_o(sa)===null&&e===_o($a)&&(tc?(cv(nc),nc=-1):tc=!0,xp(vp,n-r))):(e.sortIndex=o,hp(sa,e),ec||yp||(ec=!0,Dl||(Dl=!0,Ll()))),e};tn.unstable_shouldYield=fv;tn.unstable_wrapCallback=function(e){var t=er;return function(){var n=er;er=t;try{return e.apply(this,arguments)}finally{er=n}}}});var gv=Oo((AI,pv)=>{"use strict";pv.exports=mv()});var Nv=Oo(et=>{"use strict";var Ap=Symbol.for("react.transitional.element"),ZM=Symbol.for("react.portal"),ek=Symbol.for("react.fragment"),tk=Symbol.for("react.strict_mode"),nk=Symbol.for("react.profiler"),rk=Symbol.for("react.consumer"),ok=Symbol.for("react.context"),ak=Symbol.for("react.forward_ref"),ik=Symbol.for("react.suspense"),lk=Symbol.for("react.memo"),xv=Symbol.for("react.lazy"),sk=Symbol.for("react.activity"),hv=Symbol.iterator;function ck(e){return e===null||typeof e!="object"?null:(e=hv&&e[hv]||e["@@iterator"],typeof e=="function"?e:null)}var Sv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},wv=Object.assign,Av={};function Il(e,t,n){this.props=e,this.context=t,this.refs=Av,this.updater=n||Sv}Il.prototype.isReactComponent={};Il.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};Il.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Cv(){}Cv.prototype=Il.prototype;function Cp(e,t,n){this.props=e,this.context=t,this.refs=Av,this.updater=n||Sv}var Rp=Cp.prototype=new Cv;Rp.constructor=Cp;wv(Rp,Il.prototype);Rp.isPureReactComponent=!0;var yv=Array.isArray;function wp(){}var Yt={H:null,A:null,T:null,S:null},Rv=Object.prototype.hasOwnProperty;function Np(e,t,n){var r=n.ref;return{$$typeof:Ap,type:e,key:t,ref:r!==void 0?r:null,props:n}}function uk(e,t){return Np(e.type,t,e.props)}function Ep(e){return typeof e=="object"&&e!==null&&e.$$typeof===Ap}function dk(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(n){return t[n]})}var bv=/\/+/g;function Sp(e,t){return typeof e=="object"&&e!==null&&e.key!=null?dk(""+e.key):t.toString(36)}function fk(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(wp,wp):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function Bl(e,t,n,r,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Ap:case ZM:i=!0;break;case xv:return i=e._init,Bl(i(e._payload),t,n,r,o)}}if(i)return o=o(e),i=r===""?"."+Sp(e,0):r,yv(o)?(n="",i!=null&&(n=i.replace(bv,"$&/")+"/"),Bl(o,t,n,"",function(c){return c})):o!=null&&(Ep(o)&&(o=uk(o,n+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(bv,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=r===""?".":r+":";if(yv(e))for(var s=0;s<e.length;s++)r=e[s],a=l+Sp(r,s),i+=Bl(r,t,n,a,o);else if(s=ck(e),typeof s=="function")for(e=s.call(e),s=0;!(r=e.next()).done;)r=r.value,a=l+Sp(r,s++),i+=Bl(r,t,n,a,o);else if(a==="object"){if(typeof e.then=="function")return Bl(fk(e),t,n,r,o);throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return i}function Wu(e,t,n){if(e==null)return e;var r=[],o=0;return Bl(e,r,"","",function(a){return t.call(n,a,o++)}),r}function mk(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(n){(e._status===0||e._status===-1)&&(e._status=1,e._result=n)},function(n){(e._status===0||e._status===-1)&&(e._status=2,e._result=n)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var vv=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)},pk={map:Wu,forEach:function(e,t,n){Wu(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return Wu(e,function(){t++}),t},toArray:function(e){return Wu(e,function(t){return t})||[]},only:function(e){if(!Ep(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};et.Activity=sk;et.Children=pk;et.Component=Il;et.Fragment=ek;et.Profiler=nk;et.PureComponent=Cp;et.StrictMode=tk;et.Suspense=ik;et.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=Yt;et.__COMPILER_RUNTIME={__proto__:null,c:function(e){return Yt.H.useMemoCache(e)}};et.cache=function(e){return function(){return e.apply(null,arguments)}};et.cacheSignal=function(){return null};et.cloneElement=function(e,t,n){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var r=wv({},e.props),o=e.key;if(t!=null)for(a in t.key!==void 0&&(o=""+t.key),t)!Rv.call(t,a)||a==="key"||a==="__self"||a==="__source"||a==="ref"&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var i=Array(a),l=0;l<a;l++)i[l]=arguments[l+2];r.children=i}return Np(e.type,o,r)};et.createContext=function(e){return e={$$typeof:ok,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:rk,_context:e},e};et.createElement=function(e,t,n){var r,o={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=""+t.key),t)Rv.call(t,r)&&r!=="key"&&r!=="__self"&&r!=="__source"&&(o[r]=t[r]);var i=arguments.length-2;if(i===1)o.children=n;else if(1<i){for(var l=Array(i),s=0;s<i;s++)l[s]=arguments[s+2];o.children=l}if(e&&e.defaultProps)for(r in i=e.defaultProps,i)o[r]===void 0&&(o[r]=i[r]);return Np(e,a,o)};et.createRef=function(){return{current:null}};et.forwardRef=function(e){return{$$typeof:ak,render:e}};et.isValidElement=Ep;et.lazy=function(e){return{$$typeof:xv,_payload:{_status:-1,_result:e},_init:mk}};et.memo=function(e,t){return{$$typeof:lk,type:e,compare:t===void 0?null:t}};et.startTransition=function(e){var t=Yt.T,n={};Yt.T=n;try{var r=e(),o=Yt.S;o!==null&&o(n,r),typeof r=="object"&&r!==null&&typeof r.then=="function"&&r.then(wp,vv)}catch(a){vv(a)}finally{t!==null&&n.types!==null&&(t.types=n.types),Yt.T=t}};et.unstable_useCacheRefresh=function(){return Yt.H.useCacheRefresh()};et.use=function(e){return Yt.H.use(e)};et.useActionState=function(e,t,n){return Yt.H.useActionState(e,t,n)};et.useCallback=function(e,t){return Yt.H.useCallback(e,t)};et.useContext=function(e){return Yt.H.useContext(e)};et.useDebugValue=function(){};et.useDeferredValue=function(e,t){return Yt.H.useDeferredValue(e,t)};et.useEffect=function(e,t){return Yt.H.useEffect(e,t)};et.useEffectEvent=function(e){return Yt.H.useEffectEvent(e)};et.useId=function(){return Yt.H.useId()};et.useImperativeHandle=function(e,t,n){return Yt.H.useImperativeHandle(e,t,n)};et.useInsertionEffect=function(e,t){return Yt.H.useInsertionEffect(e,t)};et.useLayoutEffect=function(e,t){return Yt.H.useLayoutEffect(e,t)};et.useMemo=function(e,t){return Yt.H.useMemo(e,t)};et.useOptimistic=function(e,t){return Yt.H.useOptimistic(e,t)};et.useReducer=function(e,t,n){return Yt.H.useReducer(e,t,n)};et.useRef=function(e){return Yt.H.useRef(e)};et.useState=function(e){return Yt.H.useState(e)};et.useSyncExternalStore=function(e,t,n){return Yt.H.useSyncExternalStore(e,t,n)};et.useTransition=function(){return Yt.H.useTransition()};et.version="19.2.4"});var be=Oo((RI,Ev)=>{"use strict";Ev.exports=Nv()});var Mv=Oo(ar=>{"use strict";var gk=be();function Tv(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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 Ka(){}var or={d:{f:Ka,r:function(){throw Error(Tv(522))},D:Ka,C:Ka,L:Ka,m:Ka,X:Ka,S:Ka,M:Ka},p:0,findDOMNode:null},hk=Symbol.for("react.portal");function yk(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:hk,key:r==null?null:""+r,children:e,containerInfo:t,implementation:n}}var rc=gk.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function Yu(e,t){if(e==="font")return"";if(typeof t=="string")return t==="use-credentials"?t:""}ar.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=or;ar.createPortal=function(e,t){var n=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(Tv(299));return yk(e,t,null,n)};ar.flushSync=function(e){var t=rc.T,n=or.p;try{if(rc.T=null,or.p=2,e)return e()}finally{rc.T=t,or.p=n,or.d.f()}};ar.preconnect=function(e,t){typeof e=="string"&&(t?(t=t.crossOrigin,t=typeof t=="string"?t==="use-credentials"?t:"":void 0):t=null,or.d.C(e,t))};ar.prefetchDNS=function(e){typeof e=="string"&&or.d.D(e)};ar.preinit=function(e,t){if(typeof e=="string"&&t&&typeof t.as=="string"){var n=t.as,r=Yu(n,t.crossOrigin),o=typeof t.integrity=="string"?t.integrity:void 0,a=typeof t.fetchPriority=="string"?t.fetchPriority:void 0;n==="style"?or.d.S(e,typeof t.precedence=="string"?t.precedence:void 0,{crossOrigin:r,integrity:o,fetchPriority:a}):n==="script"&&or.d.X(e,{crossOrigin:r,integrity:o,fetchPriority:a,nonce:typeof t.nonce=="string"?t.nonce:void 0})}};ar.preinitModule=function(e,t){if(typeof e=="string")if(typeof t=="object"&&t!==null){if(t.as==null||t.as==="script"){var n=Yu(t.as,t.crossOrigin);or.d.M(e,{crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0})}}else t==null&&or.d.M(e)};ar.preload=function(e,t){if(typeof e=="string"&&typeof t=="object"&&t!==null&&typeof t.as=="string"){var n=t.as,r=Yu(n,t.crossOrigin);or.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity=="string"?t.integrity:void 0,nonce:typeof t.nonce=="string"?t.nonce:void 0,type:typeof t.type=="string"?t.type:void 0,fetchPriority:typeof t.fetchPriority=="string"?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy=="string"?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet=="string"?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes=="string"?t.imageSizes:void 0,media:typeof t.media=="string"?t.media:void 0})}};ar.preloadModule=function(e,t){if(typeof e=="string")if(t){var n=Yu(t.as,t.crossOrigin);or.d.m(e,{as:typeof t.as=="string"&&t.as!=="script"?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity=="string"?t.integrity:void 0})}else or.d.m(e)};ar.requestFormReset=function(e){or.d.r(e)};ar.unstable_batchedUpdates=function(e,t){return e(t)};ar.useFormState=function(e,t,n){return rc.H.useFormState(e,t,n)};ar.useFormStatus=function(){return rc.H.useHostTransitionStatus()};ar.version="19.2.4"});var ji=Oo((EI,Ov)=>{"use strict";function kv(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(kv)}catch(e){console.error(e)}}kv(),Ov.exports=Mv()});var Hw=Oo(Sf=>{"use strict";var Dn=gv(),r0=be(),bk=ji();function K(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}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 o0(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Hc(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,(t.flags&4098)!==0&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function a0(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 i0(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 _v(e){if(Hc(e)!==e)throw Error(K(188))}function vk(e){var t=e.alternate;if(!t){if(t=Hc(e),t===null)throw Error(K(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(o===null)break;var a=o.alternate;if(a===null){if(r=o.return,r!==null){n=r;continue}break}if(o.child===a.child){for(a=o.child;a;){if(a===n)return _v(o),e;if(a===r)return _v(o),t;a=a.sibling}throw Error(K(188))}if(n.return!==r.return)n=o,r=a;else{for(var i=!1,l=o.child;l;){if(l===n){i=!0,n=o,r=a;break}if(l===r){i=!0,r=o,n=a;break}l=l.sibling}if(!i){for(l=a.child;l;){if(l===n){i=!0,n=a,r=o;break}if(l===r){i=!0,r=a,n=o;break}l=l.sibling}if(!i)throw Error(K(189))}}if(n.alternate!==r)throw Error(K(190))}if(n.tag!==3)throw Error(K(188));return n.stateNode.current===n?e:t}function l0(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=l0(e),t!==null)return t;e=e.sibling}return null}var Jt=Object.assign,xk=Symbol.for("react.element"),Qu=Symbol.for("react.transitional.element"),dc=Symbol.for("react.portal"),Fl=Symbol.for("react.fragment"),s0=Symbol.for("react.strict_mode"),lg=Symbol.for("react.profiler"),c0=Symbol.for("react.consumer"),ha=Symbol.for("react.context"),nh=Symbol.for("react.forward_ref"),sg=Symbol.for("react.suspense"),cg=Symbol.for("react.suspense_list"),rh=Symbol.for("react.memo"),Ga=Symbol.for("react.lazy"),ug=Symbol.for("react.activity"),Sk=Symbol.for("react.memo_cache_sentinel"),Lv=Symbol.iterator;function oc(e){return e===null||typeof e!="object"?null:(e=Lv&&e[Lv]||e["@@iterator"],typeof e=="function"?e:null)}var wk=Symbol.for("react.client.reference");function dg(e){if(e==null)return null;if(typeof e=="function")return e.$$typeof===wk?null:e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case Fl:return"Fragment";case lg:return"Profiler";case s0:return"StrictMode";case sg:return"Suspense";case cg:return"SuspenseList";case ug:return"Activity"}if(typeof e=="object")switch(e.$$typeof){case dc:return"Portal";case ha:return e.displayName||"Context";case c0:return(e._context.displayName||"Context")+".Consumer";case nh:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case rh:return t=e.displayName||null,t!==null?t:dg(e.type)||"Memo";case Ga:t=e._payload,e=e._init;try{return dg(e(t))}catch{}}return null}var fc=Array.isArray,Fe=r0.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Nt=bk.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Gi={pending:!1,data:null,method:null,action:null},fg=[],Hl=-1;function zo(e){return{current:e}}function Fn(e){0>Hl||(e.current=fg[Hl],fg[Hl]=null,Hl--)}function Gt(e,t){Hl++,fg[Hl]=e.current,e.current=t}var Io=zo(null),Mc=zo(null),ri=zo(null),Md=zo(null);function kd(e,t){switch(Gt(ri,t),Gt(Mc,e),Gt(Io,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?jx(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=jx(t),e=Mw(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}Fn(Io),Gt(Io,e)}function ls(){Fn(Io),Fn(Mc),Fn(ri)}function mg(e){e.memoizedState!==null&&Gt(Md,e);var t=Io.current,n=Mw(t,e.type);t!==n&&(Gt(Mc,e),Gt(Io,n))}function Od(e){Mc.current===e&&(Fn(Io),Fn(Mc)),Md.current===e&&(Fn(Md),jc._currentValue=Gi)}var Tp,Dv;function Fi(e){if(Tp===void 0)try{throw Error()}catch(n){var t=n.stack.trim().match(/\n( *(at )?)/);Tp=t&&t[1]||"",Dv=-1<n.stack.indexOf(`
|
|
2
2
|
at`)?" (<anonymous>)":-1<n.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
3
|
-
`+
|
|
3
|
+
`+Tp+e+Dv}var Mp=!1;function kp(e,t){if(!e||Mp)return"";Mp=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var u=function(){throw Error()};if(Object.defineProperty(u.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(u,[])}catch(m){var f=m}Reflect.construct(e,[],u)}else{try{u.call()}catch(m){f=m}e.call(u.prototype)}}else{try{throw Error()}catch(m){f=m}(u=e())&&typeof u.catch=="function"&&u.catch(function(){})}}catch(m){if(m&&f&&typeof m.stack=="string")return[m.stack,f.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var o=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,"name");o&&o.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var a=r.DetermineComponentFrameRoot(),i=a[0],l=a[1];if(i&&l){var s=i.split(`
|
|
4
4
|
`),c=l.split(`
|
|
5
5
|
`);for(o=r=0;r<s.length&&!s[r].includes("DetermineComponentFrameRoot");)r++;for(;o<c.length&&!c[o].includes("DetermineComponentFrameRoot");)o++;if(r===s.length||o===c.length)for(r=s.length-1,o=c.length-1;1<=r&&0<=o&&s[r]!==c[o];)o--;for(;1<=r&&0<=o;r--,o--)if(s[r]!==c[o]){if(r!==1||o!==1)do if(r--,o--,0>o||s[r]!==c[o]){var d=`
|
|
6
|
-
`+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{
|
|
6
|
+
`+s[r].replace(" at new "," at ");return e.displayName&&d.includes("<anonymous>")&&(d=d.replace("<anonymous>",e.displayName)),d}while(1<=r&&0<=o);break}}}finally{Mp=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Fi(n):""}function Ak(e,t){switch(e.tag){case 26:case 27:case 5:return Fi(e.type);case 16:return Fi("Lazy");case 13:return e.child!==t&&t!==null?Fi("Suspense Fallback"):Fi("Suspense");case 19:return Fi("SuspenseList");case 0:case 15:return kp(e.type,!1);case 11:return kp(e.type.render,!1);case 1:return kp(e.type,!0);case 31:return Fi("Activity");default:return""}}function Bv(e){try{var t="",n=null;do t+=Ak(e,n),n=e,e=e.return;while(e);return t}catch(r){return`
|
|
7
7
|
Error generating stack: `+r.message+`
|
|
8
|
-
`+r.stack}}var lg=Object.prototype.hasOwnProperty,Xg=Mn.unstable_scheduleCallback,Cp=Mn.unstable_cancelCallback,aO=Mn.unstable_shouldYield,iO=Mn.unstable_requestPaint,Er=Mn.unstable_now,lO=Mn.unstable_getCurrentPriorityLevel,Zx=Mn.unstable_ImmediatePriority,e0=Mn.unstable_UserBlockingPriority,Nd=Mn.unstable_NormalPriority,sO=Mn.unstable_LowPriority,t0=Mn.unstable_IdlePriority,cO=Mn.log,uO=Mn.unstable_setDisableYieldValue,Pc=null,Tr=null;function Ka(e){if(typeof cO=="function"&&uO(e),Tr&&typeof Tr.setStrictMode=="function")try{Tr.setStrictMode(Pc,e)}catch{}}var Mr=Math.clz32?Math.clz32:mO,dO=Math.log,fO=Math.LN2;function mO(e){return e>>>=0,e===0?32:31-(dO(e)/fO|0)|0}var Ku=256,Gu=262144,qu=4194304;function Pi(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 Jd(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Pi(r):(i&=l,i!==0?o=Pi(i):n||(n=l&~e,n!==0&&(o=Pi(n))))):(l=r&~a,l!==0?o=Pi(l):i!==0?o=Pi(i):n||(n=r&~e,n!==0&&(o=Pi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function Uc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function pO(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 n0(){var e=qu;return qu<<=1,(qu&62914560)===0&&(qu=4194304),e}function Rp(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function jc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function gO(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Mr(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var p=f[d];p!==null&&(p.lane&=-536870913)}n&=~u}r!==0&&r0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function r0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Mr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function o0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Mr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function a0(e,t){var n=t&-t;return n=(n&42)!==0?1:Jg(n),(n&(e.suspendedLanes|t))!==0?0:n}function Jg(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 Zg(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function i0(){var e=At.p;return e!==0?e:(e=window.event,e===void 0?32:Mw(e.type))}function Rv(e,t){var n=At.p;try{return At.p=e,t()}finally{At.p=n}}var ci=Math.random().toString(36).slice(2),Fn="__reactFiber$"+ci,fr="__reactProps$"+ci,ms="__reactContainer$"+ci,sg="__reactEvents$"+ci,hO="__reactListeners$"+ci,yO="__reactHandles$"+ci,Nv="__reactResources$"+ci,Vc="__reactMarker$"+ci;function eh(e){delete e[Fn],delete e[fr],delete e[sg],delete e[hO],delete e[yO]}function Ul(e){var t=e[Fn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ms]||n[Fn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Dx(e);e!==null;){if(n=e[Fn])return n;e=Dx(e)}return t}e=n,n=e.parentNode}return null}function ps(e){if(e=e[Fn]||e[ms]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function lc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function Yl(e){var t=e[Nv];return t||(t=e[Nv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function In(e){e[Vc]=!0}var l0=new Set,s0={};function Xi(e,t){rs(e,t),rs(e+"Capture",t)}function rs(e,t){for(s0[e]=t,e=0;e<t.length;e++)l0.add(t[e])}var bO=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]*$"),Ev={},Tv={};function vO(e){return lg.call(Tv,e)?!0:lg.call(Ev,e)?!1:bO.test(e)?Tv[e]=!0:(Ev[e]=!0,!1)}function sd(e,t,n){if(vO(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function Wu(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function na(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function Hr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function c0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function xO(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function cg(e){if(!e._valueTracker){var t=c0(e)?"checked":"value";e._valueTracker=xO(e,t,""+e[t])}}function u0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=c0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ed(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 SO=/[\n"\\]/g;function Gr(e){return e.replace(SO,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function ug(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Hr(t)):e.value!==""+Hr(t)&&(e.value=""+Hr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?dg(e,i,Hr(t)):n!=null?dg(e,i,Hr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Hr(l):e.removeAttribute("name")}function d0(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){cg(e);return}n=n!=null?""+Hr(n):"",t=t!=null?""+Hr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),cg(e)}function dg(e,t,n){t==="number"&&Ed(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function Ql(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Hr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function f0(e,t,n){if(t!=null&&(t=""+Hr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+Hr(n):""}function m0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(ic(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=Hr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),cg(e)}function os(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var wO=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 Mv(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||wO.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function p0(e,t,n){if(t!=null&&typeof t!="object")throw Error(K(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&Mv(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&Mv(e,a,t[a])}function th(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 AO=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"]]),CO=/^[\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 cd(e){return CO.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ua(){}var fg=null;function nh(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var jl=null,Xl=null;function Ov(e){var t=ps(e);if(t&&(e=t.stateNode)){var n=e[fr]||null;e:switch(e=t.stateNode,t.type){case"input":if(ug(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Gr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[fr]||null;if(!o)throw Error(K(90));ug(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&u0(r)}break e;case"textarea":f0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&Ql(e,!!n.multiple,t,!1)}}}var Np=!1;function g0(e,t,n){if(Np)return e(t,n);Np=!0;try{var r=e(t);return r}finally{if(Np=!1,(jl!==null||Xl!==null)&&(df(),jl&&(t=jl,e=Xl,Xl=jl=null,Ov(t),e)))for(t=0;t<e.length;t++)Ov(e[t])}}function Cc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[fr]||null;if(r===null)return null;n=r[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":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var ga=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),mg=!1;if(ga)try{_l={},Object.defineProperty(_l,"passive",{get:function(){mg=!0}}),window.addEventListener("test",_l,_l),window.removeEventListener("test",_l,_l)}catch{mg=!1}var _l,Ga=null,rh=null,ud=null;function h0(){if(ud)return ud;var e,t=rh,n=t.length,r,o="value"in Ga?Ga.value:Ga.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return ud=o.slice(e,1<r?1-r:void 0)}function dd(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 Yu(){return!0}function kv(){return!1}function mr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?Yu:kv,this.isPropagationStopped=kv,this}return Gt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=Yu)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=Yu)},persist:function(){},isPersistent:Yu}),t}var Ji={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zd=mr(Ji),Fc=Gt({},Ji,{view:0,detail:0}),RO=mr(Fc),Ep,Tp,Zs,ef=Gt({},Fc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:oh,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!==Zs&&(Zs&&e.type==="mousemove"?(Ep=e.screenX-Zs.screenX,Tp=e.screenY-Zs.screenY):Tp=Ep=0,Zs=e),Ep)},movementY:function(e){return"movementY"in e?e.movementY:Tp}}),_v=mr(ef),NO=Gt({},ef,{dataTransfer:0}),EO=mr(NO),TO=Gt({},Fc,{relatedTarget:0}),Mp=mr(TO),MO=Gt({},Ji,{animationName:0,elapsedTime:0,pseudoElement:0}),OO=mr(MO),kO=Gt({},Ji,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),_O=mr(kO),LO=Gt({},Ji,{data:0}),Lv=mr(LO),DO={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},BO={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"},IO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function zO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=IO[e])?!!t[e]:!1}function oh(){return zO}var PO=Gt({},Fc,{key:function(e){if(e.key){var t=DO[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=dd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?BO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:oh,charCode:function(e){return e.type==="keypress"?dd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?dd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),UO=mr(PO),jO=Gt({},ef,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Dv=mr(jO),VO=Gt({},Fc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:oh}),FO=mr(VO),HO=Gt({},Ji,{propertyName:0,elapsedTime:0,pseudoElement:0}),$O=mr(HO),KO=Gt({},ef,{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}),GO=mr(KO),qO=Gt({},Ji,{newState:0,oldState:0}),WO=mr(qO),YO=[9,13,27,32],ah=ga&&"CompositionEvent"in window,uc=null;ga&&"documentMode"in document&&(uc=document.documentMode);var QO=ga&&"TextEvent"in window&&!uc,y0=ga&&(!ah||uc&&8<uc&&11>=uc),Bv=" ",Iv=!1;function b0(e,t){switch(e){case"keyup":return YO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function v0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Vl=!1;function XO(e,t){switch(e){case"compositionend":return v0(t);case"keypress":return t.which!==32?null:(Iv=!0,Bv);case"textInput":return e=t.data,e===Bv&&Iv?null:e;default:return null}}function JO(e,t){if(Vl)return e==="compositionend"||!ah&&b0(e,t)?(e=h0(),ud=rh=Ga=null,Vl=!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 y0&&t.locale!=="ko"?null:t.data;default:return null}}var ZO={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 zv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!ZO[e.type]:t==="textarea"}function x0(e,t,n,r){jl?Xl?Xl.push(r):Xl=[r]:jl=r,t=Kd(t,"onChange"),0<t.length&&(n=new Zd("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var dc=null,Rc=null;function ek(e){gw(e,0)}function tf(e){var t=lc(e);if(u0(t))return e}function Pv(e,t){if(e==="change")return t}var S0=!1;ga&&(ga?(Xu="oninput"in document,Xu||(Op=document.createElement("div"),Op.setAttribute("oninput","return;"),Xu=typeof Op.oninput=="function"),Qu=Xu):Qu=!1,S0=Qu&&(!document.documentMode||9<document.documentMode));var Qu,Xu,Op;function Uv(){dc&&(dc.detachEvent("onpropertychange",w0),Rc=dc=null)}function w0(e){if(e.propertyName==="value"&&tf(Rc)){var t=[];x0(t,Rc,e,nh(e)),g0(ek,t)}}function tk(e,t,n){e==="focusin"?(Uv(),dc=t,Rc=n,dc.attachEvent("onpropertychange",w0)):e==="focusout"&&Uv()}function nk(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return tf(Rc)}function rk(e,t){if(e==="click")return tf(t)}function ok(e,t){if(e==="input"||e==="change")return tf(t)}function ak(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var kr=typeof Object.is=="function"?Object.is:ak;function Nc(e,t){if(kr(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!lg.call(t,o)||!kr(e[o],t[o]))return!1}return!0}function jv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Vv(e,t){var n=jv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=jv(n)}}function A0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?A0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function C0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ed(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ed(e.document)}return t}function ih(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 ik=ga&&"documentMode"in document&&11>=document.documentMode,Fl=null,pg=null,fc=null,gg=!1;function Fv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;gg||Fl==null||Fl!==Ed(r)||(r=Fl,"selectionStart"in r&&ih(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),fc&&Nc(fc,r)||(fc=r,r=Kd(pg,"onSelect"),0<r.length&&(t=new Zd("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=Fl)))}function Ii(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Hl={animationend:Ii("Animation","AnimationEnd"),animationiteration:Ii("Animation","AnimationIteration"),animationstart:Ii("Animation","AnimationStart"),transitionrun:Ii("Transition","TransitionRun"),transitionstart:Ii("Transition","TransitionStart"),transitioncancel:Ii("Transition","TransitionCancel"),transitionend:Ii("Transition","TransitionEnd")},kp={},R0={};ga&&(R0=document.createElement("div").style,"AnimationEvent"in window||(delete Hl.animationend.animation,delete Hl.animationiteration.animation,delete Hl.animationstart.animation),"TransitionEvent"in window||delete Hl.transitionend.transition);function Zi(e){if(kp[e])return kp[e];if(!Hl[e])return e;var t=Hl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in R0)return kp[e]=t[n];return e}var N0=Zi("animationend"),E0=Zi("animationiteration"),T0=Zi("animationstart"),lk=Zi("transitionrun"),sk=Zi("transitionstart"),ck=Zi("transitioncancel"),M0=Zi("transitionend"),O0=new Map,hg="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(" ");hg.push("scrollEnd");function go(e,t){O0.set(e,t),Xi(t,[e])}var Td=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)},Fr=[],$l=0,lh=0;function nf(){for(var e=$l,t=lh=$l=0;t<e;){var n=Fr[t];Fr[t++]=null;var r=Fr[t];Fr[t++]=null;var o=Fr[t];Fr[t++]=null;var a=Fr[t];if(Fr[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&k0(n,o,a)}}function rf(e,t,n,r){Fr[$l++]=e,Fr[$l++]=t,Fr[$l++]=n,Fr[$l++]=r,lh|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function sh(e,t,n,r){return rf(e,t,n,r),Md(e)}function el(e,t){return rf(e,null,null,t),Md(e)}function k0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Mr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Md(e){if(50<Sc)throw Sc=0,zg=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Kl={};function uk(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Rr(e,t,n,r){return new uk(e,t,n,r)}function ch(e){return e=e.prototype,!(!e||!e.isReactComponent)}function fa(e,t){var n=e.alternate;return n===null?(n=Rr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function _0(e,t){e.flags&=65011714;var n=e.alternate;return n===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=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function fd(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")ch(e)&&(i=1);else if(typeof e=="string")i=m_(e,n,_o.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case rg:return e=Rr(31,n,t,o),e.elementType=rg,e.lanes=a,e;case zl:return Fi(n.children,o,a,t);case Xx:i=8,o|=24;break;case eg:return e=Rr(12,n,t,o|2),e.elementType=eg,e.lanes=a,e;case tg:return e=Rr(13,n,t,o),e.elementType=tg,e.lanes=a,e;case ng:return e=Rr(19,n,t,o),e.elementType=ng,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ca:i=10;break e;case Jx:i=9;break e;case Yg:i=11;break e;case Qg:i=14;break e;case Ua:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Rr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function Fi(e,t,n,r){return e=Rr(7,e,r,t),e.lanes=n,e}function _p(e,t,n){return e=Rr(6,e,null,t),e.lanes=n,e}function L0(e){var t=Rr(18,null,null,0);return t.stateNode=e,t}function Lp(e,t,n){return t=Rr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Hv=new WeakMap;function qr(e,t){if(typeof e=="object"&&e!==null){var n=Hv.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Cv(t)},Hv.set(e,t),t)}return{value:e,source:t,stack:Cv(t)}}var Gl=[],ql=0,Od=null,Ec=0,$r=[],Kr=0,ai=null,Mo=1,Oo="";function la(e,t){Gl[ql++]=Ec,Gl[ql++]=Od,Od=e,Ec=t}function D0(e,t,n){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,ai=e;var r=Mo;e=Oo;var o=32-Mr(r)-1;r&=~(1<<o),n+=1;var a=32-Mr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Mo=1<<32-Mr(t)+o|n<<o|r,Oo=a+e}else Mo=1<<a|n<<o|r,Oo=e}function uh(e){e.return!==null&&(la(e,1),D0(e,1,0))}function dh(e){for(;e===Od;)Od=Gl[--ql],Gl[ql]=null,Ec=Gl[--ql],Gl[ql]=null;for(;e===ai;)ai=$r[--Kr],$r[Kr]=null,Oo=$r[--Kr],$r[Kr]=null,Mo=$r[--Kr],$r[Kr]=null}function B0(e,t){$r[Kr++]=Mo,$r[Kr++]=Oo,$r[Kr++]=ai,Mo=t.id,Oo=t.overflow,ai=e}var Hn=null,Kt=null,bt=!1,Xa=null,Wr=!1,yg=Error(K(519));function ii(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Tc(qr(t,e)),yg}function $v(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[Fn]=e,t[fr]=r,n){case"dialog":ut("cancel",t),ut("close",t);break;case"iframe":case"object":case"embed":ut("load",t);break;case"video":case"audio":for(n=0;n<_c.length;n++)ut(_c[n],t);break;case"source":ut("error",t);break;case"img":case"image":case"link":ut("error",t),ut("load",t);break;case"details":ut("toggle",t);break;case"input":ut("invalid",t),d0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ut("invalid",t);break;case"textarea":ut("invalid",t),m0(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||yw(t.textContent,n)?(r.popover!=null&&(ut("beforetoggle",t),ut("toggle",t)),r.onScroll!=null&&ut("scroll",t),r.onScrollEnd!=null&&ut("scrollend",t),r.onClick!=null&&(t.onclick=ua),t=!0):t=!1,t||ii(e,!0)}function Kv(e){for(Hn=e.return;Hn;)switch(Hn.tag){case 5:case 31:case 13:Wr=!1;return;case 27:case 3:Wr=!0;return;default:Hn=Hn.return}}function Ll(e){if(e!==Hn)return!1;if(!bt)return Kv(e),bt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Fg(e.type,e.memoizedProps)),n=!n),n&&Kt&&ii(e),Kv(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Kt=Lx(e)}else t===27?(t=Kt,ui(e.type)?(e=Gg,Gg=null,Kt=e):Kt=t):Kt=Hn?Qr(e.stateNode.nextSibling):null;return!0}function Gi(){Kt=Hn=null,bt=!1}function Dp(){var e=Xa;return e!==null&&(ur===null?ur=e:ur.push.apply(ur,e),Xa=null),e}function Tc(e){Xa===null?Xa=[e]:Xa.push(e)}var bg=Lo(null),tl=null,da=null;function Va(e,t,n){jt(bg,t._currentValue),t._currentValue=n}function ma(e){e._currentValue=bg.current,zn(bg)}function vg(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function xg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),vg(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(K(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),vg(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function gs(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(K(387));if(i=i.memoizedProps,i!==null){var l=o.type;kr(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Ad.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(Dc):e=[Dc])}o=o.return}e!==null&&xg(t,e,n,r),t.flags|=262144}function kd(e){for(e=e.firstContext;e!==null;){if(!kr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function qi(e){tl=e,da=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function $n(e){return I0(tl,e)}function Ju(e,t){return tl===null&&qi(e),I0(e,t)}function I0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},da===null){if(e===null)throw Error(K(308));da=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else da=da.next=t;return n}var dk=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},fk=Mn.unstable_scheduleCallback,mk=Mn.unstable_NormalPriority,wn={$$typeof:ca,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fh(){return{controller:new dk,data:new Map,refCount:0}}function Hc(e){e.refCount--,e.refCount===0&&fk(mk,function(){e.controller.abort()})}var mc=null,Sg=0,as=0,Jl=null;function pk(e,t){if(mc===null){var n=mc=[];Sg=0,as=zh(),Jl={status:"pending",value:void 0,then:function(r){n.push(r)}}}return Sg++,t.then(Gv,Gv),t}function Gv(){if(--Sg===0&&mc!==null){Jl!==null&&(Jl.status="fulfilled");var e=mc;mc=null,as=0,Jl=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function gk(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var qv=je.S;je.S=function(e,t){QS=Er(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&pk(e,t),qv!==null&&qv(e,t)};var Hi=Lo(null);function mh(){var e=Hi.current;return e!==null?e:Pt.pooledCache}function md(e,t){t===null?jt(Hi,Hi.current):jt(Hi,t.pool)}function z0(){var e=mh();return e===null?null:{parent:wn._currentValue,pool:e}}var hs=Error(K(460)),ph=Error(K(474)),of=Error(K(542)),_d={then:function(){}};function Wv(e){return e=e.status,e==="fulfilled"||e==="rejected"}function P0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ua,ua),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e;default:if(typeof t.status=="string")t.then(ua,ua);else{if(e=Pt,e!==null&&100<e.shellSuspendCounter)throw Error(K(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,Qv(e),e}throw $i=t,hs}}function Ui(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?($i=n,hs):n}}var $i=null;function Yv(){if($i===null)throw Error(K(459));var e=$i;return $i=null,e}function Qv(e){if(e===hs||e===of)throw Error(K(483))}var Zl=null,Mc=0;function Zu(e){var t=Mc;return Mc+=1,Zl===null&&(Zl=[]),P0(Zl,e,t)}function ec(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function ed(e,t){throw t.$$typeof===tO?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function U0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=fa(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=_p(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var A=y.type;return A===zl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type)?(g=o(g,y.props),ec(g,y),g.return=h,g):(g=fd(y.type,y.key,y.props,null,h.mode,x),ec(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=Lp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,A){return g===null||g.tag!==7?(g=Fi(y,h.mode,x,A),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=_p(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case $u:return y=fd(g.type,g.key,g.props,null,h.mode,y),ec(y,g),y.return=h,y;case ac:return g=Lp(g,h.mode,y),g.return=h,g;case Ua:return g=Ui(g),u(h,g,y)}if(ic(g)||Js(g))return g=Fi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,Zu(g),y);if(g.$$typeof===ca)return u(h,Ju(h,g),y);ed(h,g)}return null}function f(h,g,y,x){var A=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return A!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:return y.key===A?s(h,g,y,x):null;case ac:return y.key===A?c(h,g,y,x):null;case Ua:return y=Ui(y),f(h,g,y,x)}if(ic(y)||Js(y))return A!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,Zu(y),x);if(y.$$typeof===ca)return f(h,g,Ju(h,y),x);ed(h,y)}return null}function p(h,g,y,x,A){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,A);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case $u:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,A);case ac:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,A);case Ua:return x=Ui(x),p(h,g,y,x,A)}if(ic(x)||Js(x))return h=h.get(y)||null,d(g,h,x,A,null);if(typeof x.then=="function")return p(h,g,y,Zu(x),A);if(x.$$typeof===ca)return p(h,g,y,Ju(g,x),A);ed(g,x)}return null}function b(h,g,y,x){for(var A=null,N=null,E=g,C=g=0,O=null;E!==null&&C<y.length;C++){E.index>C?(O=E,E=null):O=E.sibling;var L=f(h,E,y[C],x);if(L===null){E===null&&(E=O);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L,E=O}if(C===y.length)return n(h,E),bt&&la(h,C),A;if(E===null){for(;C<y.length;C++)E=u(h,y[C],x),E!==null&&(g=a(E,g,C),N===null?A=E:N.sibling=E,N=E);return bt&&la(h,C),A}for(E=r(E);C<y.length;C++)O=p(E,h,C,y[C],x),O!==null&&(e&&O.alternate!==null&&E.delete(O.key===null?C:O.key),g=a(O,g,C),N===null?A=O:N.sibling=O,N=O);return e&&E.forEach(function(V){return t(h,V)}),bt&&la(h,C),A}function m(h,g,y,x){if(y==null)throw Error(K(151));for(var A=null,N=null,E=g,C=g=0,O=null,L=y.next();E!==null&&!L.done;C++,L=y.next()){E.index>C?(O=E,E=null):O=E.sibling;var V=f(h,E,L.value,x);if(V===null){E===null&&(E=O);break}e&&E&&V.alternate===null&&t(h,E),g=a(V,g,C),N===null?A=V:N.sibling=V,N=V,E=O}if(L.done)return n(h,E),bt&&la(h,C),A;if(E===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return bt&&la(h,C),A}for(E=r(E);!L.done;C++,L=y.next())L=p(E,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?C:L.key),g=a(L,g,C),N===null?A=L:N.sibling=L,N=L);return e&&E.forEach(function(z){return t(h,z)}),bt&&la(h,C),A}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===zl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case $u:e:{for(var A=y.key;g!==null;){if(g.key===A){if(A=y.type,A===zl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===A||typeof A=="object"&&A!==null&&A.$$typeof===Ua&&Ui(A)===g.type){n(h,g.sibling),x=o(g,y.props),ec(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===zl?(x=Fi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=fd(y.type,y.key,y.props,null,h.mode,x),ec(x,y),x.return=h,h=x)}return i(h);case ac:e:{for(A=y.key;g!==null;){if(g.key===A)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=Lp(y,h.mode,x),x.return=h,h=x}return i(h);case Ua:return y=Ui(y),v(h,g,y,x)}if(ic(y))return b(h,g,y,x);if(Js(y)){if(A=Js(y),typeof A!="function")throw Error(K(150));return y=A.call(y),m(h,g,y,x)}if(typeof y.then=="function")return v(h,g,Zu(y),x);if(y.$$typeof===ca)return v(h,g,Ju(h,y),x);ed(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=_p(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Mc=0;var A=v(h,g,y,x);return Zl=null,A}catch(E){if(E===hs||E===of)throw E;var N=Rr(29,E,null,h.mode);return N.lanes=x,N.return=h,N}}}var Wi=U0(!0),j0=U0(!1),ja=!1;function gh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wg(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 Ja(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Za(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(wt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Md(e),k0(e,null,n),t}return rf(e,r,t,n),Md(e)}function pc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}function Bp(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ag=!1;function gc(){if(Ag){var e=Jl;if(e!==null)throw e}}function hc(e,t,n,r){Ag=!1;var o=e.updateQueue;ja=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(mt&f)===f:(r&f)===f){f!==0&&f===as&&(Ag=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,m=l;f=t;var v=n;switch(m.tag){case 1:if(b=m.payload,typeof b=="function"){u=b.call(v,u,f);break e}u=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=m.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Gt({},u,f);break e;case 2:ja=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=p,s=u):d=d.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),si|=i,e.lanes=i,e.memoizedState=u}}function V0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function F0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)V0(n[e],t)}var is=Lo(null),Ld=Lo(0);function Xv(e,t){e=va,jt(Ld,e),jt(is,t),va=e|t.baseLanes}function Cg(){jt(Ld,va),jt(is,is.current)}function hh(){va=Ld.current,zn(is),zn(Ld)}var _r=Lo(null),Yr=null;function Fa(e){var t=e.alternate;jt(hn,hn.current&1),jt(_r,e),Yr===null&&(t===null||is.current!==null||t.memoizedState!==null)&&(Yr=e)}function Rg(e){jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)}function H0(e){e.tag===22?(jt(hn,hn.current),jt(_r,e),Yr===null&&(Yr=e)):Ha(e)}function Ha(){jt(hn,hn.current),jt(_r,_r.current)}function Cr(e){zn(_r),Yr===e&&(Yr=null),zn(hn)}var hn=Lo(0);function Dd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||$g(n)||Kg(n)))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 ha=0,Qe=null,_t=null,xn=null,Bd=!1,es=!1,Yi=!1,Id=0,Oc=0,ts=null,hk=0;function fn(){throw Error(K(321))}function yh(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!kr(e[n],t[n]))return!1;return!0}function bh(e,t,n,r,o,a){return ha=a,Qe=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,je.H=e===null||e.memoizedState===null?xS:Mh,Yi=!1,a=n(r,o),Yi=!1,es&&(a=K0(t,n,r,o)),$0(e),a}function $0(e){je.H=kc;var t=_t!==null&&_t.next!==null;if(ha=0,xn=_t=Qe=null,Bd=!1,Oc=0,ts=null,t)throw Error(K(300));e===null||An||(e=e.dependencies,e!==null&&kd(e)&&(An=!0))}function K0(e,t,n,r){Qe=e;var o=0;do{if(es&&(ts=null),Oc=0,es=!1,25<=o)throw Error(K(301));if(o+=1,xn=_t=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}je.H=SS,a=t(n,r)}while(es);return a}function yk(){var e=je.H,t=e.useState()[0];return t=typeof t.then=="function"?$c(t):t,e=e.useState()[0],(_t!==null?_t.memoizedState:null)!==e&&(Qe.flags|=1024),t}function vh(){var e=Id!==0;return Id=0,e}function xh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Sh(e){if(Bd){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Bd=!1}ha=0,xn=_t=Qe=null,es=!1,Oc=Id=0,ts=null}function nr(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return xn===null?Qe.memoizedState=xn=e:xn=xn.next=e,xn}function yn(){if(_t===null){var e=Qe.alternate;e=e!==null?e.memoizedState:null}else e=_t.next;var t=xn===null?Qe.memoizedState:xn.next;if(t!==null)xn=t,_t=e;else{if(e===null)throw Qe.alternate===null?Error(K(467)):Error(K(310));_t=e,e={memoizedState:_t.memoizedState,baseState:_t.baseState,baseQueue:_t.baseQueue,queue:_t.queue,next:null},xn===null?Qe.memoizedState=xn=e:xn=xn.next=e}return xn}function af(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function $c(e){var t=Oc;return Oc+=1,ts===null&&(ts=[]),e=P0(ts,e,t),t=Qe,(xn===null?t.memoizedState:xn.next)===null&&(t=t.alternate,je.H=t===null||t.memoizedState===null?xS:Mh),e}function lf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return $c(e);if(e.$$typeof===ca)return $n(e)}throw Error(K(438,String(e)))}function wh(e){var t=null,n=Qe.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Qe.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=af(),Qe.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=nO;return t.index++,n}function ya(e,t){return typeof t=="function"?t(e):t}function pd(e){var t=yn();return Ah(t,_t,e)}function Ah(e,t,n){var r=e.queue;if(r===null)throw Error(K(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(mt&u)===u:(ha&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===as&&(d=!0);else if((ha&f)===f){c=c.next,f===as&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,Qe.lanes|=f,si|=f;u=c.action,Yi&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,Qe.lanes|=u,si|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!kr(a,e.memoizedState)&&(An=!0,d&&(n=Jl,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Ip(e){var t=yn(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);kr(a,t.memoizedState)||(An=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function G0(e,t,n){var r=Qe,o=yn(),a=bt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!kr((_t||o).memoizedState,n);if(i&&(o.memoizedState=n,An=!0),o=o.queue,Ch(Y0.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||xn!==null&&xn.memoizedState.tag&1){if(r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,o,n,t),null),Pt===null)throw Error(K(349));a||(ha&127)!==0||q0(r,t,n)}return n}function q0(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Qe.updateQueue,t===null?(t=af(),Qe.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function W0(e,t,n,r){t.value=n,t.getSnapshot=r,Q0(t)&&X0(e)}function Y0(e,t,n){return n(function(){Q0(t)&&X0(e)})}function Q0(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!kr(e,n)}catch{return!0}}function X0(e){var t=el(e,2);t!==null&&dr(t,e,2)}function Ng(e){var t=nr();if(typeof e=="function"){var n=e;if(e=n(),Yi){Ka(!0);try{n()}finally{Ka(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:e},t}function J0(e,t,n,r){return e.baseState=n,Ah(e,_t,typeof r=="function"?r:ya)}function bk(e,t,n,r,o){if(cf(e))throw Error(K(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};je.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,Z0(t,a)):(a.next=n.next,t.pending=n.next=a)}}function Z0(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=je.T,i={};je.T=i;try{var l=n(o,r),s=je.S;s!==null&&s(i,l),Jv(e,t,l)}catch(c){Eg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),je.T=a}}else try{a=n(o,r),Jv(e,t,a)}catch(c){Eg(e,t,c)}}function Jv(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){Zv(e,t,r)},function(r){return Eg(e,t,r)}):Zv(e,t,n)}function Zv(e,t,n){t.status="fulfilled",t.value=n,eS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Z0(e,n)))}function Eg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,eS(t),t=t.next;while(t!==r)}e.action=null}function eS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function tS(e,t){return t}function ex(e,t){if(bt){var n=Pt.formState;if(n!==null){e:{var r=Qe;if(bt){if(Kt){t:{for(var o=Kt,a=Wr;o.nodeType!==8;){if(!a){o=null;break t}if(o=Qr(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Kt=Qr(o.nextSibling),r=o.data==="F!";break e}}ii(r)}r=!1}r&&(t=n[0])}}return n=nr(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:tS,lastRenderedState:t},n.queue=r,n=yS.bind(null,Qe,r),r.dispatch=n,r=Ng(!1),a=Th.bind(null,Qe,!1,r.queue),r=nr(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=bk.bind(null,Qe,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function tx(e){var t=yn();return nS(t,_t,e)}function nS(e,t,n){if(t=Ah(e,t,tS)[0],e=pd(ya)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=$c(t)}catch(i){throw i===hs?of:i}else r=t;t=yn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(Qe.flags|=2048,ls(9,{destroy:void 0},vk.bind(null,o,n),null)),[r,a,e]}function vk(e,t){e.action=t}function nx(e){var t=yn(),n=_t;if(n!==null)return nS(t,n,e);yn(),t=t.memoizedState,n=yn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ls(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Qe.updateQueue,t===null&&(t=af(),Qe.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function rS(){return yn().memoizedState}function gd(e,t,n,r){var o=nr();Qe.flags|=e,o.memoizedState=ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function sf(e,t,n,r){var o=yn();r=r===void 0?null:r;var a=o.memoizedState.inst;_t!==null&&r!==null&&yh(r,_t.memoizedState.deps)?o.memoizedState=ls(t,a,n,r):(Qe.flags|=e,o.memoizedState=ls(1|t,a,n,r))}function rx(e,t){gd(8390656,8,e,t)}function Ch(e,t){sf(2048,8,e,t)}function xk(e){Qe.flags|=4;var t=Qe.updateQueue;if(t===null)t=af(),Qe.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function oS(e){var t=yn().memoizedState;return xk({ref:t,nextImpl:e}),function(){if((wt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function aS(e,t){return sf(4,2,e,t)}function iS(e,t){return sf(4,4,e,t)}function lS(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function sS(e,t,n){n=n!=null?n.concat([e]):null,sf(4,4,lS.bind(null,t,e),n)}function Rh(){}function cS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&yh(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function uS(e,t){var n=yn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&yh(t,r[1]))return r[0];if(r=e(),Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r}function Nh(e,t,n){return n===void 0||(ha&1073741824)!==0&&(mt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=JS(),Qe.lanes|=e,si|=e,n)}function dS(e,t,n,r){return kr(n,t)?n:is.current!==null?(e=Nh(e,n,r),kr(e,t)||(An=!0),e):(ha&42)===0||(ha&1073741824)!==0&&(mt&261930)===0?(An=!0,e.memoizedState=n):(e=JS(),Qe.lanes|=e,si|=e,t)}function fS(e,t,n,r,o){var a=At.p;At.p=a!==0&&8>a?a:8;var i=je.T,l={};je.T=l,Th(e,!1,t,n);try{var s=o(),c=je.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=gk(s,r);yc(e,t,d,Or(e))}else yc(e,t,r,Or(e))}catch(u){yc(e,t,{then:function(){},status:"rejected",reason:u},Or())}finally{At.p=a,i!==null&&l.types!==null&&(i.types=l.types),je.T=i}}function Sk(){}function Tg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=mS(e).queue;fS(e,o,t,Vi,n===null?Sk:function(){return pS(e),n(r)})}function mS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Vi,baseState:Vi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:Vi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ya,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function pS(e){var t=mS(e);t.next===null&&(t=e.alternate.memoizedState),yc(e,t.next.queue,{},Or())}function Eh(){return $n(Dc)}function gS(){return yn().memoizedState}function hS(){return yn().memoizedState}function wk(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Or();e=Ja(n);var r=Za(t,e,n);r!==null&&(dr(r,t,n),pc(r,t,n)),t={cache:fh()},e.payload=t;return}t=t.return}}function Ak(e,t,n){var r=Or();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},cf(e)?bS(t,n):(n=sh(e,t,n,r),n!==null&&(dr(n,e,r),vS(n,t,r)))}function yS(e,t,n){var r=Or();yc(e,t,n,r)}function yc(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(cf(e))bS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,kr(l,i))return rf(e,t,o,0),Pt===null&&nf(),!1}catch{}if(n=sh(e,t,o,r),n!==null)return dr(n,e,r),vS(n,t,r),!0}return!1}function Th(e,t,n,r){if(r={lane:2,revertLane:zh(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},cf(e)){if(t)throw Error(K(479))}else t=sh(e,n,r,2),t!==null&&dr(t,e,2)}function cf(e){var t=e.alternate;return e===Qe||t!==null&&t===Qe}function bS(e,t){es=Bd=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function vS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,o0(e,n)}}var kc={readContext:$n,use:lf,useCallback:fn,useContext:fn,useEffect:fn,useImperativeHandle:fn,useLayoutEffect:fn,useInsertionEffect:fn,useMemo:fn,useReducer:fn,useRef:fn,useState:fn,useDebugValue:fn,useDeferredValue:fn,useTransition:fn,useSyncExternalStore:fn,useId:fn,useHostTransitionStatus:fn,useFormState:fn,useActionState:fn,useOptimistic:fn,useMemoCache:fn,useCacheRefresh:fn};kc.useEffectEvent=fn;var xS={readContext:$n,use:lf,useCallback:function(e,t){return nr().memoizedState=[e,t===void 0?null:t],e},useContext:$n,useEffect:rx,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,gd(4194308,4,lS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gd(4194308,4,e,t)},useInsertionEffect:function(e,t){gd(4,2,e,t)},useMemo:function(e,t){var n=nr();t=t===void 0?null:t;var r=e();if(Yi){Ka(!0);try{e()}finally{Ka(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=nr();if(n!==void 0){var o=n(t);if(Yi){Ka(!0);try{n(t)}finally{Ka(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=Ak.bind(null,Qe,e),[r.memoizedState,e]},useRef:function(e){var t=nr();return e={current:e},t.memoizedState=e},useState:function(e){e=Ng(e);var t=e.queue,n=yS.bind(null,Qe,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Rh,useDeferredValue:function(e,t){var n=nr();return Nh(n,e,t)},useTransition:function(){var e=Ng(!1);return e=fS.bind(null,Qe,e.queue,!0,!1),nr().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Qe,o=nr();if(bt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),Pt===null)throw Error(K(349));(mt&127)!==0||q0(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,rx(Y0.bind(null,r,a,e),[e]),r.flags|=2048,ls(9,{destroy:void 0},W0.bind(null,r,a,n,t),null),n},useId:function(){var e=nr(),t=Pt.identifierPrefix;if(bt){var n=Oo,r=Mo;n=(r&~(1<<32-Mr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Id++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=hk++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Eh,useFormState:ex,useActionState:ex,useOptimistic:function(e){var t=nr();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Th.bind(null,Qe,!0,n),n.dispatch=t,[e,t]},useMemoCache:wh,useCacheRefresh:function(){return nr().memoizedState=wk.bind(null,Qe)},useEffectEvent:function(e){var t=nr(),n={impl:e};return t.memoizedState=n,function(){if((wt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Mh={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:pd,useRef:rS,useState:function(){return pd(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=pd(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:tx,useActionState:tx,useOptimistic:function(e,t){var n=yn();return J0(n,_t,e,t)},useMemoCache:wh,useCacheRefresh:hS};Mh.useEffectEvent=oS;var SS={readContext:$n,use:lf,useCallback:cS,useContext:$n,useEffect:Ch,useImperativeHandle:sS,useInsertionEffect:aS,useLayoutEffect:iS,useMemo:uS,useReducer:Ip,useRef:rS,useState:function(){return Ip(ya)},useDebugValue:Rh,useDeferredValue:function(e,t){var n=yn();return _t===null?Nh(n,e,t):dS(n,_t.memoizedState,e,t)},useTransition:function(){var e=Ip(ya)[0],t=yn().memoizedState;return[typeof e=="boolean"?e:$c(e),t]},useSyncExternalStore:G0,useId:gS,useHostTransitionStatus:Eh,useFormState:nx,useActionState:nx,useOptimistic:function(e,t){var n=yn();return _t!==null?J0(n,_t,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:wh,useCacheRefresh:hS};SS.useEffectEvent=oS;function zp(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Gt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Mg={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Or(),o=Ja(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=Za(e,o,r),t!==null&&(dr(t,e,r),pc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Or(),r=Ja(n);r.tag=2,t!=null&&(r.callback=t),t=Za(e,r,n),t!==null&&(dr(t,e,n),pc(t,e,n))}};function ox(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!Nc(n,r)||!Nc(o,a):!0}function ax(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Mg.enqueueReplaceState(t,t.state,null)}function Qi(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Gt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function wS(e){Td(e)}function AS(e){console.error(e)}function CS(e){Td(e)}function zd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function ix(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function Og(e,t,n){return n=Ja(n),n.tag=3,n.payload={element:null},n.callback=function(){zd(e,t)},n}function RS(e){return e=Ja(e),e.tag=3,e}function NS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){ix(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){ix(t,n,r),typeof o!="function"&&(ei===null?ei=new Set([this]):ei.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function Ck(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&gs(t,n,o,!0),n=_r.current,n!==null){switch(n.tag){case 31:case 13:return Yr===null?Fd():n.alternate===null&&mn===0&&(mn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wp(e,r,o)),!1;case 22:return n.flags|=65536,r===_d?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Wp(e,r,o)),!1}throw Error(K(435,n.tag))}return Wp(e,r,o),Fd(),!1}if(bt)return t=_r.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==yg&&(e=Error(K(422),{cause:r}),Tc(qr(e,n)))):(r!==yg&&(t=Error(K(423),{cause:r}),Tc(qr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=qr(r,n),o=Og(e.stateNode,r,o),Bp(e,o),mn!==4&&(mn=2)),!1;var a=Error(K(520),{cause:r});if(a=qr(a,n),xc===null?xc=[a]:xc.push(a),mn!==4&&(mn=2),t===null)return!0;r=qr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=Og(n.stateNode,r,e),Bp(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(ei===null||!ei.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=RS(o),NS(o,e,n,r),Bp(n,o),!1}n=n.return}while(n!==null);return!1}var Oh=Error(K(461)),An=!1;function Vn(e,t,n,r){t.child=e===null?j0(t,null,n,r):Wi(t,e.child,n,r)}function lx(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return qi(t),r=bh(e,t,n,i,a,o),l=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&l&&uh(t),t.flags|=1,Vn(e,t,r,o),t.child)}function sx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!ch(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,ES(e,t,a,r,o)):(e=fd(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!kh(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:Nc,n(i,r)&&e.ref===t.ref)return ba(e,t,o)}return t.flags|=1,e=fa(a,r),e.ref=t.ref,e.return=t,t.child=e}function ES(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(Nc(a,r)&&e.ref===t.ref)if(An=!1,t.pendingProps=r=a,kh(e,o))(e.flags&131072)!==0&&(An=!0);else return t.lanes=e.lanes,ba(e,t,o)}return kg(e,t,n,r,o)}function TS(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return cx(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&md(t,a!==null?a.cachePool:null),a!==null?Xv(t,a):Cg(),H0(t);else return r=t.lanes=536870912,cx(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(md(t,a.cachePool),Xv(t,a),Ha(t),t.memoizedState=null):(e!==null&&md(t,null),Cg(),Ha(t));return Vn(e,t,o,n),t.child}function sc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function cx(e,t,n,r,o){var a=mh();return a=a===null?null:{parent:wn._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&md(t,null),Cg(),H0(t),e!==null&&gs(e,t,r,!0),t.childLanes=o,null}function hd(e,t){return t=Pd({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function ux(e,t,n){return Wi(t,e.child,null,n),e=hd(t,t.pendingProps),e.flags|=2,Cr(t),t.memoizedState=null,e}function Rk(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(bt){if(r.mode==="hidden")return e=hd(t,r),t.lanes=536870912,sc(null,e);if(Rg(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return t.lanes=536870912,null}return hd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(Rg(t),o)if(t.flags&256)t.flags&=-257,t=ux(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(An||gs(e,t,n,!1),o=(n&e.childLanes)!==0,An||o){if(r=Pt,r!==null&&(i=a0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,el(e,i),dr(r,e,i),Oh;Fd(),t=ux(e,t,n)}else e=a.treeContext,Kt=Qr(i.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=hd(t,r),t.flags|=4096;return t}return e=fa(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function yd(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(K(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function kg(e,t,n,r,o){return qi(t),n=bh(e,t,n,r,void 0,o),r=vh(),e!==null&&!An?(xh(e,t,o),ba(e,t,o)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,o),t.child)}function dx(e,t,n,r,o,a){return qi(t),t.updateQueue=null,n=K0(t,r,n,o),$0(e),r=vh(),e!==null&&!An?(xh(e,t,a),ba(e,t,a)):(bt&&r&&uh(t),t.flags|=1,Vn(e,t,n,a),t.child)}function fx(e,t,n,r,o){if(qi(t),t.stateNode===null){var a=Kl,i=n.contextType;typeof i=="object"&&i!==null&&(a=$n(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Mg,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},gh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?$n(i):Kl,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&(zp(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&Mg.enqueueReplaceState(a,a.state,null),hc(t,r,a,o),gc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=Qi(n,l);a.props=s;var c=a.context,d=n.contextType;i=Kl,typeof d=="object"&&d!==null&&(i=$n(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&ax(t,a,r,i),ja=!1;var f=t.memoizedState;a.state=f,hc(t,r,a,o),gc(),c=t.memoizedState,l||f!==c||ja?(typeof u=="function"&&(zp(t,n,u,r),c=t.memoizedState),(s=ja||ox(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,wg(e,t),i=t.memoizedProps,d=Qi(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Kl,typeof c=="object"&&c!==null&&(s=$n(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&ax(t,a,r,s),ja=!1,f=t.memoizedState,a.state=f,hc(t,r,a,o),gc();var p=t.memoizedState;i!==u||f!==p||ja||e!==null&&e.dependencies!==null&&kd(e.dependencies)?(typeof l=="function"&&(zp(t,n,l,r),p=t.memoizedState),(d=ja||ox(t,n,d,r,f,p,s)||e!==null&&e.dependencies!==null&&kd(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,p,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,p,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,yd(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Wi(t,e.child,null,o),t.child=Wi(t,null,n,o)):Vn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=ba(e,t,o),e}function mx(e,t,n,r){return Gi(),t.flags|=256,Vn(e,t,n,r),t.child}var Pp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Up(e){return{baseLanes:e,cachePool:z0()}}function jp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=Nr),e}function MS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(hn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(bt){if(o?Fa(t):Ha(t),(e=Kt)?(e=xw(e,Wr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:ai!==null?{id:Mo,overflow:Oo}:null,retryLane:536870912,hydrationErrors:null},n=L0(e),n.return=t,t.child=n,Hn=t,Kt=null)):e=null,e===null)throw ii(t);return Kg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Ha(t),o=t.mode,l=Pd({mode:"hidden",children:l},o),r=Fi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(null,r)):(Fa(t),_g(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Fa(t),t.flags&=-257,t=Vp(e,t,n)):t.memoizedState!==null?(Ha(t),t.child=e.child,t.flags|=128,t=null):(Ha(t),l=r.fallback,o=t.mode,r=Pd({mode:"visible",children:r.children},o),l=Fi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Wi(t,e.child,null,n),r=t.child,r.memoizedState=Up(n),r.childLanes=jp(e,i,n),t.memoizedState=Pp,t=sc(null,r));else if(Fa(t),Kg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Tc({value:r,source:null,stack:null}),t=Vp(e,t,n)}else if(An||gs(e,t,n,!1),i=(n&e.childLanes)!==0,An||i){if(i=Pt,i!==null&&(r=a0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,el(e,r),dr(i,e,r),Oh;$g(l)||Fd(),t=Vp(e,t,n)}else $g(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Kt=Qr(l.nextSibling),Hn=t,bt=!0,Xa=null,Wr=!1,e!==null&&B0(t,e),t=_g(t,r.children),t.flags|=4096);return t}return o?(Ha(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=fa(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=fa(c,l):(l=Fi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,sc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Up(n):(o=l.cachePool,o!==null?(s=wn._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=z0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=jp(e,i,n),t.memoizedState=Pp,sc(e.child,r)):(Fa(t),n=e.child,e=n.sibling,n=fa(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function _g(e,t){return t=Pd({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function Pd(e,t){return e=Rr(22,e,null,t),e.lanes=0,e}function Vp(e,t,n){return Wi(t,e.child,null,n),e=_g(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function px(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),vg(e.return,t,n)}function Fp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function OS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=hn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,jt(hn,i),Vn(e,t,r,n),r=bt?Ec:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&px(e,n,t);else if(e.tag===19)px(e,n,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(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&Dd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Fp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&Dd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Fp(t,!0,n,null,a,r);break;case"together":Fp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function ba(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),si|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(gs(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=fa(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=fa(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function kh(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&kd(e)))}function Nk(e,t,n){switch(t.tag){case 3:Cd(t,t.stateNode.containerInfo),Va(t,wn,e.memoizedState.cache),Gi();break;case 27:case 5:ig(t);break;case 4:Cd(t,t.stateNode.containerInfo);break;case 10:Va(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Rg(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Fa(t),t.flags|=128,null):(n&t.child.childLanes)!==0?MS(e,t,n):(Fa(t),e=ba(e,t,n),e!==null?e.sibling:null);Fa(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(gs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return OS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),jt(hn,hn.current),r)break;return null;case 22:return t.lanes=0,TS(e,t,n,t.pendingProps);case 24:Va(t,wn,e.memoizedState.cache)}return ba(e,t,n)}function kS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)An=!0;else{if(!kh(e,n)&&(t.flags&128)===0)return An=!1,Nk(e,t,n);An=(e.flags&131072)!==0}else An=!1,bt&&(t.flags&1048576)!==0&&D0(t,Ec,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=Ui(t.elementType),t.type=e,typeof e=="function")ch(e)?(r=Qi(e,r),t.tag=1,t=fx(null,t,e,r,n)):(t.tag=0,t=kg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===Yg){t.tag=11,t=lx(null,t,e,r,n);break e}else if(o===Qg){t.tag=14,t=sx(null,t,e,r,n);break e}}throw t=og(e)||e,Error(K(306,t,""))}}return t;case 0:return kg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=Qi(r,t.pendingProps),fx(e,t,r,o,n);case 3:e:{if(Cd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,wg(e,t),hc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Va(t,wn,r),r!==a.cache&&xg(t,[wn],n,!0),gc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=mx(e,t,r,n);break e}else if(r!==o){o=qr(Error(K(424)),t),Tc(o),t=mx(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Kt=Qr(e.firstChild),Hn=t,bt=!0,Xa=null,Wr=!0,n=j0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Gi(),r===o){t=ba(e,t,n);break e}Vn(e,t,r,n)}t=t.child}return t;case 26:return yd(e,t),e===null?(n=Ix(t.type,null,t.pendingProps,null))?t.memoizedState=n:bt||(n=t.type,e=t.pendingProps,r=Gd(Qa.current).createElement(n),r[Fn]=t,r[fr]=e,Kn(r,n,e),In(r),t.stateNode=r):t.memoizedState=Ix(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return ig(t),e===null&&bt&&(r=t.stateNode=Sw(t.type,t.pendingProps,Qa.current),Hn=t,Wr=!0,o=Kt,ui(t.type)?(Gg=o,Kt=Qr(r.firstChild)):Kt=o),Vn(e,t,t.pendingProps.children,n),yd(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&bt&&((o=r=Kt)&&(r=e_(r,t.type,t.pendingProps,Wr),r!==null?(t.stateNode=r,Hn=t,Kt=Qr(r.firstChild),Wr=!1,o=!0):o=!1),o||ii(t)),ig(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Fg(o,a)?r=null:i!==null&&Fg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=bh(e,t,yk,null,null,n),Dc._currentValue=o),yd(e,t),Vn(e,t,r,n),t.child;case 6:return e===null&&bt&&((e=n=Kt)&&(n=t_(n,t.pendingProps,Wr),n!==null?(t.stateNode=n,Hn=t,Kt=null,e=!0):e=!1),e||ii(t)),null;case 13:return MS(e,t,n);case 4:return Cd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Wi(t,null,r,n):Vn(e,t,r,n),t.child;case 11:return lx(e,t,t.type,t.pendingProps,n);case 7:return Vn(e,t,t.pendingProps,n),t.child;case 8:return Vn(e,t,t.pendingProps.children,n),t.child;case 12:return Vn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Va(t,t.type,r.value),Vn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,qi(t),o=$n(o),r=r(o),t.flags|=1,Vn(e,t,r,n),t.child;case 14:return sx(e,t,t.type,t.pendingProps,n);case 15:return ES(e,t,t.type,t.pendingProps,n);case 19:return OS(e,t,n);case 31:return Rk(e,t,n);case 22:return TS(e,t,n,t.pendingProps);case 24:return qi(t),r=$n(wn),e===null?(o=mh(),o===null&&(o=Pt,a=fh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},gh(t),Va(t,wn,o)):((e.lanes&n)!==0&&(wg(e,t),hc(t,null,null,n),gc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Va(t,wn,r)):(r=a.cache,Va(t,wn,r),r!==o.cache&&xg(t,[wn],n,!0))),Vn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ra(e){e.flags|=4}function Hp(e,t,n,r,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(tw())e.flags|=8192;else throw $i=_d,ph}else e.flags&=-16777217}function gx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Cw(t))if(tw())e.flags|=8192;else throw $i=_d,ph}function td(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?n0():536870912,e.lanes|=t,ss|=t)}function tc(e,t){if(!bt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function $t(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Ek(e,t,n){var r=t.pendingProps;switch(dh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return $t(t),null;case 1:return $t(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ma(wn),ns(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Ll(t)?ra(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Dp())),$t(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ra(t),a!==null?($t(t),gx(t,a)):($t(t),Hp(t,o,null,r,n))):a?a!==e.memoizedState?(ra(t),$t(t),gx(t,a)):($t(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ra(t),$t(t),Hp(t,o,e,r,n)),null;case 27:if(Rd(t),n=Qa.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}e=_o.current,Ll(t)?$v(t,e):(e=Sw(o,r,n),t.stateNode=e,ra(t))}return $t(t),null;case 5:if(Rd(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return $t(t),null}if(a=_o.current,Ll(t))$v(t,a);else{var i=Gd(Qa.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[Fn]=t,a[fr]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Kn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ra(t)}}return $t(t),Hp(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ra(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=Qa.current,Ll(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Hn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[Fn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||yw(e.nodeValue,n)),e||ii(t,!0)}else e=Gd(e).createTextNode(r),e[Fn]=t,t.stateNode=e}return $t(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Ll(t),n!==null){if(e===null){if(!r)throw Error(K(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(557));e[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),e=!1}else n=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Cr(t),t):(Cr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return $t(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Ll(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[Fn]=t}else Gi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;$t(t),o=!1}else o=Dp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Cr(t),t):(Cr(t),null)}return Cr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),td(t,t.updateQueue),$t(t),null);case 4:return ns(),e===null&&Ph(t.stateNode.containerInfo),$t(t),null;case 10:return ma(t.type),$t(t),null;case 19:if(zn(hn),r=t.memoizedState,r===null)return $t(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)tc(r,!1);else{if(mn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=Dd(e),a!==null){for(t.flags|=128,tc(r,!1),e=a.updateQueue,t.updateQueue=e,td(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)_0(n,e),n=n.sibling;return jt(hn,hn.current&1|2),bt&&la(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Er()>jd&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304)}else{if(!o)if(e=Dd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,td(t,e),tc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!bt)return $t(t),null}else 2*Er()-r.renderingStartTime>jd&&n!==536870912&&(t.flags|=128,o=!0,tc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Er(),e.sibling=null,n=hn.current,jt(hn,o?n&1|2:n&1),bt&&la(t,r.treeForkCount),e):($t(t),null);case 22:case 23:return Cr(t),hh(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&($t(t),t.subtreeFlags&6&&(t.flags|=8192)):$t(t),n=t.updateQueue,n!==null&&td(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&zn(Hi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ma(wn),$t(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function Tk(e,t){switch(dh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ma(wn),ns(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Rd(t),null;case 31:if(t.memoizedState!==null){if(Cr(t),t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Cr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Gi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return zn(hn),null;case 4:return ns(),null;case 10:return ma(t.type),null;case 22:case 23:return Cr(t),hh(),e!==null&&zn(Hi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ma(wn),null;case 25:return null;default:return null}}function _S(e,t){switch(dh(t),t.tag){case 3:ma(wn),ns();break;case 26:case 27:case 5:Rd(t);break;case 4:ns();break;case 31:t.memoizedState!==null&&Cr(t);break;case 13:Cr(t);break;case 19:zn(hn);break;case 10:ma(t.type);break;case 22:case 23:Cr(t),hh(),e!==null&&zn(Hi);break;case 24:ma(wn)}}function Kc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){Et(t,t.return,l)}}function li(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){Et(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Et(t,t.return,d)}}function LS(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{F0(t,n)}catch(r){Et(e,e.return,r)}}}function DS(e,t,n){n.props=Qi(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Et(e,t,r)}}function bc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){Et(e,t,o)}}function ko(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Et(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Et(e,t,o)}else n.current=null}function BS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){Et(e,e.return,o)}}function $p(e,t,n){try{var r=e.stateNode;Wk(r,e.type,n,t),r[fr]=t}catch(o){Et(e,e.return,o)}}function IS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&ui(e.type)||e.tag===4}function Kp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||IS(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 Lg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ua));else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Lg(e,t,n),e=e.sibling;e!==null;)Lg(e,t,n),e=e.sibling}function Ud(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&ui(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Ud(e,t,n),e=e.sibling;e!==null;)Ud(e,t,n),e=e.sibling}function zS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Kn(t,r,n),t[Fn]=e,t[fr]=n}catch(a){Et(e,e.return,a)}}var sa=!1,Sn=!1,Gp=!1,hx=typeof WeakSet=="function"?WeakSet:Set,Bn=null;function Mk(e,t){if(e=e.containerInfo,jg=Qd,e=C0(e),ih(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var p;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(p=u.firstChild)!==null;)f=u,u=p;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(p=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=p}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Vg={focusedElem:e,selectionRange:n},Qd=!1,Bn=t;Bn!==null;)if(t=Bn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Bn=e;else for(;Bn!==null;){switch(t=Bn,a=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(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var b=Qi(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(m){Et(n,n.return,m)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Hg(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Hg(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(K(163))}if(e=t.sibling,e!==null){e.return=t.return,Bn=e;break}Bn=t.return}}function PS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:aa(e,n),r&4&&Kc(5,n);break;case 1:if(aa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Et(n,n.return,i)}else{var o=Qi(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Et(n,n.return,i)}}r&64&&LS(n),r&512&&bc(n,n.return);break;case 3:if(aa(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{F0(e,t)}catch(i){Et(n,n.return,i)}}break;case 27:t===null&&r&4&&zS(n);case 26:case 5:aa(e,n),t===null&&r&4&&BS(n),r&512&&bc(n,n.return);break;case 12:aa(e,n);break;case 31:aa(e,n),r&4&&VS(e,n);break;case 13:aa(e,n),r&4&&FS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=Pk.bind(null,n),n_(e,n))));break;case 22:if(r=n.memoizedState!==null||sa,!r){t=t!==null&&t.memoizedState!==null||Sn,o=sa;var a=Sn;sa=r,(Sn=t)&&!a?ia(e,n,(n.subtreeFlags&8772)!==0):aa(e,n),sa=o,Sn=a}break;case 30:break;default:aa(e,n)}}function US(e){var t=e.alternate;t!==null&&(e.alternate=null,US(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&eh(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 Qt=null,cr=!1;function oa(e,t,n){for(n=n.child;n!==null;)jS(e,t,n),n=n.sibling}function jS(e,t,n){if(Tr&&typeof Tr.onCommitFiberUnmount=="function")try{Tr.onCommitFiberUnmount(Pc,n)}catch{}switch(n.tag){case 26:Sn||ko(n,t),oa(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Sn||ko(n,t);var r=Qt,o=cr;ui(n.type)&&(Qt=n.stateNode,cr=!1),oa(e,t,n),wc(n.stateNode),Qt=r,cr=o;break;case 5:Sn||ko(n,t);case 6:if(r=Qt,o=cr,Qt=null,oa(e,t,n),Qt=r,cr=o,Qt!==null)if(cr)try{(Qt.nodeType===9?Qt.body:Qt.nodeName==="HTML"?Qt.ownerDocument.body:Qt).removeChild(n.stateNode)}catch(a){Et(n,t,a)}else try{Qt.removeChild(n.stateNode)}catch(a){Et(n,t,a)}break;case 18:Qt!==null&&(cr?(e=Qt,kx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),fs(e)):kx(Qt,n.stateNode));break;case 4:r=Qt,o=cr,Qt=n.stateNode.containerInfo,cr=!0,oa(e,t,n),Qt=r,cr=o;break;case 0:case 11:case 14:case 15:li(2,n,t),Sn||li(4,n,t),oa(e,t,n);break;case 1:Sn||(ko(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&DS(n,t,r)),oa(e,t,n);break;case 21:oa(e,t,n);break;case 22:Sn=(r=Sn)||n.memoizedState!==null,oa(e,t,n),Sn=r;break;default:oa(e,t,n)}}function VS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{fs(e)}catch(n){Et(t,t.return,n)}}}function FS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{fs(e)}catch(n){Et(t,t.return,n)}}function Ok(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new hx),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new hx),t;default:throw Error(K(435,e.tag))}}function nd(e,t){var n=Ok(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=Uk.bind(null,e,r);r.then(o,o)}})}function lr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(ui(l.type)){Qt=l.stateNode,cr=!1;break e}break;case 5:Qt=l.stateNode,cr=!1;break e;case 3:case 4:Qt=l.stateNode.containerInfo,cr=!0;break e}l=l.return}if(Qt===null)throw Error(K(160));jS(a,i,o),Qt=null,cr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)HS(t,e),t=t.sibling}var po=null;function HS(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:lr(t,e),sr(e),r&4&&(li(3,e,e.return),Kc(3,e),li(5,e,e.return));break;case 1:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&64&&sa&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=po;if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[Vc]||a[Fn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Kn(a,r,n),a[Fn]=e,In(a),r=a;break e;case"link":var i=Px("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Px("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Kn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[Fn]=e,In(a),r=a}e.stateNode=r}else Ux(o,e.type,e.stateNode);else e.stateNode=zx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Ux(o,e.type,e.stateNode):zx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&$p(e,e.memoizedProps,n.memoizedProps)}break;case 27:lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),n!==null&&r&4&&$p(e,e.memoizedProps,n.memoizedProps);break;case 5:if(lr(t,e),sr(e),r&512&&(Sn||n===null||ko(n,n.return)),e.flags&32){o=e.stateNode;try{os(o,"")}catch(b){Et(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,$p(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Gp=!0);break;case 6:if(lr(t,e),sr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Et(e,e.return,b)}}break;case 3:if(xd=null,o=po,po=qd(t.containerInfo),lr(t,e),po=o,sr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{fs(t.containerInfo)}catch(b){Et(e,e.return,b)}Gp&&(Gp=!1,$S(e));break;case 4:r=po,po=qd(e.stateNode.containerInfo),lr(t,e),sr(e),po=r;break;case 12:lr(t,e),sr(e);break;case 31:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 13:lr(t,e),sr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(uf=Er()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=sa,d=Sn;if(sa=c||o,Sn=d||s,lr(t,e),Sn=d,sa=c,sr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||sa||Sn||ji(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(b){Et(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Et(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var p=s.stateNode;o?_x(p,!0):_x(s.stateNode,!1)}catch(b){Et(s,s.return,b)}}}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;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,nd(e,n))));break;case 19:lr(t,e),sr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,nd(e,r)));break;case 30:break;case 21:break;default:lr(t,e),sr(e)}}function sr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(IS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Kp(e);Ud(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(os(i,""),n.flags&=-33);var l=Kp(e);Ud(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Kp(e);Lg(e,c,s);break;default:throw Error(K(161))}}catch(d){Et(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function $S(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;$S(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function aa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)PS(e,t.alternate,t),t=t.sibling}function ji(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:li(4,t,t.return),ji(t);break;case 1:ko(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&DS(t,t.return,n),ji(t);break;case 27:wc(t.stateNode);case 26:case 5:ko(t,t.return),ji(t);break;case 22:t.memoizedState===null&&ji(t);break;case 30:ji(t);break;default:ji(t)}e=e.sibling}}function ia(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:ia(o,a,n),Kc(4,a);break;case 1:if(ia(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Et(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)V0(s[o],l)}catch(c){Et(r,r.return,c)}}n&&i&64&&LS(a),bc(a,a.return);break;case 27:zS(a);case 26:case 5:ia(o,a,n),n&&r===null&&i&4&&BS(a),bc(a,a.return);break;case 12:ia(o,a,n);break;case 31:ia(o,a,n),n&&i&4&&VS(o,a);break;case 13:ia(o,a,n),n&&i&4&&FS(o,a);break;case 22:a.memoizedState===null&&ia(o,a,n),bc(a,a.return);break;case 30:break;default:ia(o,a,n)}t=t.sibling}}function _h(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Hc(n))}function Lh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e))}function mo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)KS(e,t,n,r),t=t.sibling}function KS(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:mo(e,t,n,r),o&2048&&Kc(9,t);break;case 1:mo(e,t,n,r);break;case 3:mo(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Hc(e)));break;case 12:if(o&2048){mo(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){Et(t,t.return,s)}}else mo(e,t,n,r);break;case 31:mo(e,t,n,r);break;case 13:mo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?mo(e,t,n,r):vc(e,t):a._visibility&2?mo(e,t,n,r):(a._visibility|=2,Bl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&_h(i,t);break;case 24:mo(e,t,n,r),o&2048&&Lh(t.alternate,t);break;default:mo(e,t,n,r)}}function Bl(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:Bl(a,i,l,s,o),Kc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?Bl(a,i,l,s,o):vc(a,i):(d._visibility|=2,Bl(a,i,l,s,o)),o&&c&2048&&_h(i.alternate,i);break;case 24:Bl(a,i,l,s,o),o&&c&2048&&Lh(i.alternate,i);break;default:Bl(a,i,l,s,o)}t=t.sibling}}function vc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:vc(n,r),o&2048&&_h(r.alternate,r);break;case 24:vc(n,r),o&2048&&Lh(r.alternate,r);break;default:vc(n,r)}t=t.sibling}}var cc=8192;function Dl(e,t,n){if(e.subtreeFlags&cc)for(e=e.child;e!==null;)GS(e,t,n),e=e.sibling}function GS(e,t,n){switch(e.tag){case 26:Dl(e,t,n),e.flags&cc&&e.memoizedState!==null&&p_(n,po,e.memoizedState,e.memoizedProps);break;case 5:Dl(e,t,n);break;case 3:case 4:var r=po;po=qd(e.stateNode.containerInfo),Dl(e,t,n),po=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=cc,cc=16777216,Dl(e,t,n),cc=r):Dl(e,t,n));break;default:Dl(e,t,n)}}function qS(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 nc(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)WS(e),e=e.sibling}function WS(e){switch(e.tag){case 0:case 11:case 15:nc(e),e.flags&2048&&li(9,e,e.return);break;case 3:nc(e);break;case 12:nc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,bd(e)):nc(e);break;default:nc(e)}}function bd(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Bn=r,YS(r,e)}qS(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:li(8,t,t.return),bd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,bd(t));break;default:bd(t)}e=e.sibling}}function YS(e,t){for(;Bn!==null;){var n=Bn;switch(n.tag){case 0:case 11:case 15:li(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Hc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Bn=r;else e:for(n=e;Bn!==null;){r=Bn;var o=r.sibling,a=r.return;if(US(r),r===n){Bn=null;break e}if(o!==null){o.return=a,Bn=o;break e}Bn=a}}}var kk={getCacheForType:function(e){var t=$n(wn),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return $n(wn).controller.signal}},_k=typeof WeakMap=="function"?WeakMap:Map,wt=0,Pt=null,dt=null,mt=0,Nt=0,Ar=null,qa=!1,ys=!1,Dh=!1,va=0,mn=0,si=0,Ki=0,Bh=0,Nr=0,ss=0,xc=null,ur=null,Dg=!1,uf=0,QS=0,jd=1/0,Vd=null,ei=null,Tn=0,ti=null,cs=null,pa=0,Bg=0,Ig=null,XS=null,Sc=0,zg=null;function Or(){return(wt&2)!==0&&mt!==0?mt&-mt:je.T!==null?zh():i0()}function JS(){if(Nr===0)if((mt&536870912)===0||bt){var e=Gu;Gu<<=1,(Gu&3932160)===0&&(Gu=262144),Nr=e}else Nr=536870912;return e=_r.current,e!==null&&(e.flags|=32),Nr}function dr(e,t,n){(e===Pt&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)&&(us(e,0),Wa(e,mt,Nr,!1)),jc(e,n),((wt&2)===0||e!==Pt)&&(e===Pt&&((wt&2)===0&&(Ki|=n),mn===4&&Wa(e,mt,Nr,!1)),Do(e))}function ZS(e,t,n){if((wt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Uc(e,t),o=r?Bk(e,t):qp(e,t,!0),a=r;do{if(o===0){ys&&!r&&Wa(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Lk(n)){o=qp(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=xc;var s=l.current.memoizedState.isDehydrated;if(s&&(us(l,i).flags|=256),i=qp(l,i,!1),i!==2){if(Dh&&!s){l.errorRecoveryDisabledLanes|=a,Ki|=a,o=4;break e}a=ur,ur=o,a!==null&&(ur===null?ur=a:ur.push.apply(ur,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){us(e,0),Wa(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(K(345));case 4:if((t&4194048)!==t)break;case 6:Wa(r,t,Nr,!qa);break e;case 2:ur=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=uf+300-Er(),10<o)){if(Wa(r,t,Nr,!qa),Jd(r,0,!0)!==0)break e;pa=t,r.timeoutHandle=vw(yx.bind(null,r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,"Throttled",-0,0),o);break e}yx(r,n,ur,Vd,Dg,t,Nr,Ki,ss,qa,a,null,-0,0)}}break}while(!0);Do(e)}function yx(e,t,n,r,o,a,i,l,s,c,d,u,f,p){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ua},GS(t,a,u);var b=(a&62914560)===a?uf-Er():(a&4194048)===a?QS-Er():0;if(b=g_(u,b),b!==null){pa=a,e.cancelPendingCommit=b(vx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,p)),Wa(e,a,i,!c);return}}vx(e,t,a,n,r,o,i,l,s)}function Lk(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!kr(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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 Wa(e,t,n,r){t&=~Bh,t&=~Ki,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Mr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&r0(e,n,t)}function df(){return(wt&6)===0?(Gc(0,!1),!1):!0}function Ih(){if(dt!==null){if(Nt===0)var e=dt.return;else e=dt,da=tl=null,Sh(e),Zl=null,Mc=0,e=dt;for(;e!==null;)_S(e.alternate,e),e=e.return;dt=null}}function us(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Xk(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),pa=0,Ih(),Pt=e,dt=n=fa(e.current,null),mt=t,Nt=0,Ar=null,qa=!1,ys=Uc(e,t),Dh=!1,ss=Nr=Bh=Ki=si=mn=0,ur=xc=null,Dg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Mr(r),a=1<<o;t|=e[o],r&=~a}return va=t,nf(),n}function ew(e,t){Qe=null,je.H=kc,t===hs||t===of?(t=Yv(),Nt=3):t===ph?(t=Yv(),Nt=4):Nt=t===Oh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Ar=t,dt===null&&(mn=1,zd(e,qr(t,e.current)))}function tw(){var e=_r.current;return e===null?!0:(mt&4194048)===mt?Yr===null:(mt&62914560)===mt||(mt&536870912)!==0?e===Yr:!1}function nw(){var e=je.H;return je.H=kc,e===null?kc:e}function rw(){var e=je.A;return je.A=kk,e}function Fd(){mn=4,qa||(mt&4194048)!==mt&&_r.current!==null||(ys=!0),(si&134217727)===0&&(Ki&134217727)===0||Pt===null||Wa(Pt,mt,Nr,!1)}function qp(e,t,n){var r=wt;wt|=2;var o=nw(),a=rw();(Pt!==e||mt!==t)&&(Vd=null,us(e,t)),t=!1;var i=mn;e:do try{if(Nt!==0&&dt!==null){var l=dt,s=Ar;switch(Nt){case 8:Ih(),i=6;break e;case 3:case 2:case 9:case 6:_r.current===null&&(t=!0);var c=Nt;if(Nt=0,Ar=null,Wl(e,l,s,c),n&&ys){i=0;break e}break;default:c=Nt,Nt=0,Ar=null,Wl(e,l,s,c)}}Dk(),i=mn;break}catch(d){ew(e,d)}while(!0);return t&&e.shellSuspendCounter++,da=tl=null,wt=r,je.H=o,je.A=a,dt===null&&(Pt=null,mt=0,nf()),i}function Dk(){for(;dt!==null;)ow(dt)}function Bk(e,t){var n=wt;wt|=2;var r=nw(),o=rw();Pt!==e||mt!==t?(Vd=null,jd=Er()+500,us(e,t)):ys=Uc(e,t);e:do try{if(Nt!==0&&dt!==null){t=dt;var a=Ar;t:switch(Nt){case 1:Nt=0,Ar=null,Wl(e,t,a,1);break;case 2:case 9:if(Wv(a)){Nt=0,Ar=null,bx(t);break}t=function(){Nt!==2&&Nt!==9||Pt!==e||(Nt=7),Do(e)},a.then(t,t);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:Wv(a)?(Nt=0,Ar=null,bx(t)):(Nt=0,Ar=null,Wl(e,t,a,7));break;case 5:var i=null;switch(dt.tag){case 26:i=dt.memoizedState;case 5:case 27:var l=dt;if(i?Cw(i):l.stateNode.complete){Nt=0,Ar=null;var s=l.sibling;if(s!==null)dt=s;else{var c=l.return;c!==null?(dt=c,ff(c)):dt=null}break t}}Nt=0,Ar=null,Wl(e,t,a,5);break;case 6:Nt=0,Ar=null,Wl(e,t,a,6);break;case 8:Ih(),mn=6;break e;default:throw Error(K(462))}}Ik();break}catch(d){ew(e,d)}while(!0);return da=tl=null,je.H=r,je.A=o,wt=n,dt!==null?0:(Pt=null,mt=0,nf(),mn)}function Ik(){for(;dt!==null&&!aO();)ow(dt)}function ow(e){var t=kS(e.alternate,e,va);e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function bx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=dx(n,t,t.pendingProps,t.type,void 0,mt);break;case 11:t=dx(n,t,t.pendingProps,t.type.render,t.ref,mt);break;case 5:Sh(t);default:_S(n,t),t=dt=_0(t,va),t=kS(n,t,va)}e.memoizedProps=e.pendingProps,t===null?ff(e):dt=t}function Wl(e,t,n,r){da=tl=null,Sh(t),Zl=null,Mc=0;var o=t.return;try{if(Ck(e,o,t,n,mt)){mn=1,zd(e,qr(n,e.current)),dt=null;return}}catch(a){if(o!==null)throw dt=o,a;mn=1,zd(e,qr(n,e.current)),dt=null;return}t.flags&32768?(bt||r===1?e=!0:ys||(mt&536870912)!==0?e=!1:(qa=e=!0,(r===2||r===9||r===3||r===6)&&(r=_r.current,r!==null&&r.tag===13&&(r.flags|=16384))),aw(t,e)):ff(t)}function ff(e){var t=e;do{if((t.flags&32768)!==0){aw(t,qa);return}e=t.return;var n=Ek(t.alternate,t,va);if(n!==null){dt=n;return}if(t=t.sibling,t!==null){dt=t;return}dt=t=e}while(t!==null);mn===0&&(mn=5)}function aw(e,t){do{var n=Tk(e.alternate,e);if(n!==null){n.flags&=32767,dt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){dt=e;return}dt=e=n}while(e!==null);mn=6,dt=null}function vx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do mf();while(Tn!==0);if((wt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=lh,gO(e,n,a,i,l,s),e===Pt&&(dt=Pt=null,mt=0),cs=t,ti=e,pa=n,Bg=a,Ig=o,XS=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,jk(Nd,function(){return uw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=je.T,je.T=null,o=At.p,At.p=2,i=wt,wt|=4;try{Mk(e,t,n)}finally{wt=i,At.p=o,je.T=r}}Tn=1,iw(),lw(),sw()}}function iw(){if(Tn===1){Tn=0;var e=ti,t=cs,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{HS(t,e);var a=Vg,i=C0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&A0(l.ownerDocument.documentElement,l)){if(s!==null&&ih(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var p=f.getSelection(),b=l.textContent.length,m=Math.min(s.start,b),v=s.end===void 0?m:Math.min(s.end,b);!p.extend&&m>v&&(i=v,v=m,m=i);var h=Vv(l,m),g=Vv(l,v);if(h&&g&&(p.rangeCount!==1||p.anchorNode!==h.node||p.anchorOffset!==h.offset||p.focusNode!==g.node||p.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),p.removeAllRanges(),m>v?(p.addRange(y),p.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),p.addRange(y))}}}}for(u=[],p=l;p=p.parentNode;)p.nodeType===1&&u.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}Qd=!!jg,Vg=jg=null}finally{wt=o,At.p=r,je.T=n}}e.current=t,Tn=2}}function lw(){if(Tn===2){Tn=0;var e=ti,t=cs,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=je.T,je.T=null;var r=At.p;At.p=2;var o=wt;wt|=4;try{PS(e,t.alternate,t)}finally{wt=o,At.p=r,je.T=n}}Tn=3}}function sw(){if(Tn===4||Tn===3){Tn=0,iO();var e=ti,t=cs,n=pa,r=XS;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Tn=5:(Tn=0,cs=ti=null,cw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(ei=null),Zg(n),t=t.stateNode,Tr&&typeof Tr.onCommitFiberRoot=="function")try{Tr.onCommitFiberRoot(Pc,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=je.T,o=At.p,At.p=2,je.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{je.T=t,At.p=o}}(pa&3)!==0&&mf(),Do(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===zg?Sc++:(Sc=0,zg=e):Sc=0,Gc(0,!1)}}function cw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Hc(t)))}function mf(){return iw(),lw(),sw(),uw()}function uw(){if(Tn!==5)return!1;var e=ti,t=Bg;Bg=0;var n=Zg(pa),r=je.T,o=At.p;try{At.p=32>n?32:n,je.T=null,n=Ig,Ig=null;var a=ti,i=pa;if(Tn=0,cs=ti=null,pa=0,(wt&6)!==0)throw Error(K(331));var l=wt;if(wt|=4,WS(a.current),KS(a,a.current,i,n),wt=l,Gc(0,!1),Tr&&typeof Tr.onPostCommitFiberRoot=="function")try{Tr.onPostCommitFiberRoot(Pc,a)}catch{}return!0}finally{At.p=o,je.T=r,cw(e,t)}}function xx(e,t,n){t=qr(n,t),t=Og(e.stateNode,t,2),e=Za(e,t,2),e!==null&&(jc(e,2),Do(e))}function Et(e,t,n){if(e.tag===3)xx(e,e,n);else for(;t!==null;){if(t.tag===3){xx(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(ei===null||!ei.has(r))){e=qr(n,e),n=RS(2),r=Za(t,n,2),r!==null&&(NS(n,r,t,e),jc(r,2),Do(r));break}}t=t.return}}function Wp(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new _k;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Dh=!0,o.add(n),e=zk.bind(null,e,t,n),t.then(e,e))}function zk(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pt===e&&(mt&n)===n&&(mn===4||mn===3&&(mt&62914560)===mt&&300>Er()-uf?(wt&2)===0&&us(e,0):Bh|=n,ss===mt&&(ss=0)),Do(e)}function dw(e,t){t===0&&(t=n0()),e=el(e,t),e!==null&&(jc(e,t),Do(e))}function Pk(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),dw(e,n)}function Uk(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(K(314))}r!==null&&r.delete(t),dw(e,n)}function jk(e,t){return Xg(e,t)}var Hd=null,Il=null,Pg=!1,$d=!1,Yp=!1,Ya=0;function Do(e){e!==Il&&e.next===null&&(Il===null?Hd=Il=e:Il=Il.next=e),$d=!0,Pg||(Pg=!0,Fk())}function Gc(e,t){if(!Yp&&$d){Yp=!0;do for(var n=!1,r=Hd;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Mr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Sx(r,a))}else a=mt,a=Jd(r,r===Pt?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Uc(r,a)||(n=!0,Sx(r,a));r=r.next}while(n);Yp=!1}}function Vk(){fw()}function fw(){$d=Pg=!1;var e=0;Ya!==0&&Qk()&&(e=Ya);for(var t=Er(),n=null,r=Hd;r!==null;){var o=r.next,a=mw(r,t);a===0?(r.next=null,n===null?Hd=o:n.next=o,o===null&&(Il=n)):(n=r,(e!==0||(a&3)!==0)&&($d=!0)),r=o}Tn!==0&&Tn!==5||Gc(e,!1),Ya!==0&&(Ya=0)}function mw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Mr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=pO(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=Pt,n=mt,n=Jd(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Nt===2||Nt===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Cp(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Uc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Cp(r),Zg(n)){case 2:case 8:n=e0;break;case 32:n=Nd;break;case 268435456:n=t0;break;default:n=Nd}return r=pw.bind(null,e),n=Xg(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Cp(r),e.callbackPriority=2,e.callbackNode=null,2}function pw(e,t){if(Tn!==0&&Tn!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(mf()&&e.callbackNode!==n)return null;var r=mt;return r=Jd(e,e===Pt?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(ZS(e,r,t),mw(e,Er()),e.callbackNode!=null&&e.callbackNode===n?pw.bind(null,e):null)}function Sx(e,t){if(mf())return null;ZS(e,t,!0)}function Fk(){Jk(function(){(wt&6)!==0?Xg(Zx,Vk):fw()})}function zh(){if(Ya===0){var e=as;e===0&&(e=Ku,Ku<<=1,(Ku&261888)===0&&(Ku=256)),Ya=e}return Ya}function wx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:cd(""+e)}function Ax(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function Hk(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=wx((o[fr]||null).action),i=r.submitter;i&&(t=(t=i[fr]||null)?wx(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new Zd("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Ya!==0){var s=i?Ax(o,i):new FormData(o);Tg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Ax(o,i):new FormData(o),Tg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(rd=0;rd<hg.length;rd++)od=hg[rd],Cx=od.toLowerCase(),Rx=od[0].toUpperCase()+od.slice(1),go(Cx,"on"+Rx);var od,Cx,Rx,rd;go(N0,"onAnimationEnd");go(E0,"onAnimationIteration");go(T0,"onAnimationStart");go("dblclick","onDoubleClick");go("focusin","onFocus");go("focusout","onBlur");go(lk,"onTransitionRun");go(sk,"onTransitionStart");go(ck,"onTransitionCancel");go(M0,"onTransitionEnd");rs("onMouseEnter",["mouseout","mouseover"]);rs("onMouseLeave",["mouseout","mouseover"]);rs("onPointerEnter",["pointerout","pointerover"]);rs("onPointerLeave",["pointerout","pointerover"]);Xi("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Xi("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Xi("onBeforeInput",["compositionend","keypress","textInput","paste"]);Xi("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Xi("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var _c="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(" "),$k=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(_c));function gw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Td(d)}o.currentTarget=null,a=s}}}}function ut(e,t){var n=t[sg];n===void 0&&(n=t[sg]=new Set);var r=e+"__bubble";n.has(r)||(hw(t,e,2,!1),n.add(r))}function Qp(e,t,n){var r=0;t&&(r|=4),hw(n,e,r,t)}var ad="_reactListening"+Math.random().toString(36).slice(2);function Ph(e){if(!e[ad]){e[ad]=!0,l0.forEach(function(n){n!=="selectionchange"&&($k.has(n)||Qp(n,!1,e),Qp(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[ad]||(t[ad]=!0,Qp("selectionchange",!1,t))}}function hw(e,t,n,r){switch(Mw(t)){case 2:var o=b_;break;case 8:o=v_;break;default:o=Fh}n=o.bind(null,t,n,e),o=void 0,!mg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function Xp(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=Ul(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}g0(function(){var c=a,d=nh(n),u=[];e:{var f=O0.get(e);if(f!==void 0){var p=Zd,b=e;switch(e){case"keypress":if(dd(n)===0)break e;case"keydown":case"keyup":p=UO;break;case"focusin":b="focus",p=Mp;break;case"focusout":b="blur",p=Mp;break;case"beforeblur":case"afterblur":p=Mp;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":p=_v;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":p=EO;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":p=FO;break;case N0:case E0:case T0:p=OO;break;case M0:p=$O;break;case"scroll":case"scrollend":p=RO;break;case"wheel":p=GO;break;case"copy":case"cut":case"paste":p=_O;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":p=Dv;break;case"toggle":case"beforetoggle":p=WO}var m=(t&4)!==0,v=!m&&(e==="scroll"||e==="scrollend"),h=m?f!==null?f+"Capture":null:f;m=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=Cc(g,h),x!=null&&m.push(Lc(g,x,y))),v)break;g=g.return}0<m.length&&(f=new p(f,b,null,n,d),u.push({event:f,listeners:m}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",p=e==="mouseout"||e==="pointerout",f&&n!==fg&&(b=n.relatedTarget||n.fromElement)&&(Ul(b)||b[ms]))break e;if((p||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,p?(b=n.relatedTarget||n.toElement,p=c,b=b?Ul(b):null,b!==null&&(v=zc(b),m=b.tag,b!==v||m!==5&&m!==27&&m!==6)&&(b=null)):(p=null,b=c),p!==b)){if(m=_v,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(m=Dv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=p==null?f:lc(p),y=b==null?f:lc(b),f=new m(x,g+"leave",p,n,d),f.target=v,f.relatedTarget=y,x=null,Ul(d)===c&&(m=new m(h,g+"enter",b,n,d),m.target=y,m.relatedTarget=v,x=m),v=x,p&&b)t:{for(m=Kk,h=p,g=b,y=0,x=h;x;x=m(x))y++;x=0;for(var A=g;A;A=m(A))x++;for(;0<y-x;)h=m(h),y--;for(;0<x-y;)g=m(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){m=h;break t}h=m(h),g=m(g)}m=null}else m=null;p!==null&&Nx(u,f,p,m,!1),b!==null&&v!==null&&Nx(u,v,b,m,!0)}}e:{if(f=c?lc(c):window,p=f.nodeName&&f.nodeName.toLowerCase(),p==="select"||p==="input"&&f.type==="file")var N=Pv;else if(zv(f))if(S0)N=ok;else{N=nk;var E=tk}else p=f.nodeName,!p||p.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&th(c.elementType)&&(N=Pv):N=rk;if(N&&(N=N(e,c))){x0(u,N,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&dg(f,"number",f.value)}switch(E=c?lc(c):window,e){case"focusin":(zv(E)||E.contentEditable==="true")&&(Fl=E,pg=c,fc=null);break;case"focusout":fc=pg=Fl=null;break;case"mousedown":gg=!0;break;case"contextmenu":case"mouseup":case"dragend":gg=!1,Fv(u,n,d);break;case"selectionchange":if(ik)break;case"keydown":case"keyup":Fv(u,n,d)}var C;if(ah)e:{switch(e){case"compositionstart":var O="onCompositionStart";break e;case"compositionend":O="onCompositionEnd";break e;case"compositionupdate":O="onCompositionUpdate";break e}O=void 0}else Vl?b0(e,n)&&(O="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(O="onCompositionStart");O&&(y0&&n.locale!=="ko"&&(Vl||O!=="onCompositionStart"?O==="onCompositionEnd"&&Vl&&(C=h0()):(Ga=d,rh="value"in Ga?Ga.value:Ga.textContent,Vl=!0)),E=Kd(c,O),0<E.length&&(O=new Lv(O,e,null,n,d),u.push({event:O,listeners:E}),C?O.data=C:(C=v0(n),C!==null&&(O.data=C)))),(C=QO?XO(e,n):JO(e,n))&&(O=Kd(c,"onBeforeInput"),0<O.length&&(E=new Lv("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:O}),E.data=C)),Hk(u,e,c,n,d)}gw(u,t)})}function Lc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Kd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=Cc(e,n),o!=null&&r.unshift(Lc(e,o,a)),o=Cc(e,t),o!=null&&r.push(Lc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function Kk(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Nx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=Cc(n,a),c!=null&&i.unshift(Lc(n,c,s))):o||(c=Cc(n,a),c!=null&&i.push(Lc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var Gk=/\r\n?/g,qk=/\u0000|\uFFFD/g;function Ex(e){return(typeof e=="string"?e:""+e).replace(Gk,`
|
|
9
|
-
`).replace(qk,"")}function yw(e,t){return t=Ex(t),Ex(e)===t}function kt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||os(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&os(e,""+r);break;case"className":Wu(e,"class",r);break;case"tabIndex":Wu(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":Wu(e,n,r);break;case"style":p0(e,r,a);break;case"data":if(t!=="object"){Wu(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"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 a=="function"&&(n==="formAction"?(t!=="input"&&kt(e,t,"name",o.name,o,null),kt(e,t,"formEncType",o.formEncType,o,null),kt(e,t,"formMethod",o.formMethod,o,null),kt(e,t,"formTarget",o.formTarget,o,null)):(kt(e,t,"encType",o.encType,o,null),kt(e,t,"method",o.method,o,null),kt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=cd(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ua);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=cd(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);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":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":ut("beforetoggle",e),ut("toggle",e),sd(e,"popover",r);break;case"xlinkActuate":na(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":na(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":na(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":na(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":na(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":na(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":na(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":na(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":na(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":sd(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=AO.get(n)||n,sd(e,n,r))}}function Ug(e,t,n,r,o,a){switch(n){case"style":p0(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"children":typeof r=="string"?os(e,r):(typeof r=="number"||typeof r=="bigint")&&os(e,""+r);break;case"onScroll":r!=null&&ut("scroll",e);break;case"onScrollEnd":r!=null&&ut("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ua);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!s0.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[fr]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):sd(e,n,r)}}}function Kn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ut("error",e),ut("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,a,i,n,null)}}o&&kt(e,t,"srcSet",n.srcSet,n,null),r&&kt(e,t,"src",n.src,n,null);return;case"input":ut("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(K(137,t));break;default:kt(e,t,r,d,n,null)}}d0(e,a,l,s,c,i,o,!1);return;case"select":ut("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:kt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?Ql(e,!!r,t,!1):n!=null&&Ql(e,!!r,n,!0);return;case"textarea":ut("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(K(91));break;default:kt(e,t,i,l,n,null)}m0(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":kt(e,t,s,r,n,null));return;case"dialog":ut("beforetoggle",e),ut("toggle",e),ut("cancel",e),ut("close",e);break;case"iframe":case"object":ut("load",e);break;case"video":case"audio":for(r=0;r<_c.length;r++)ut(_c[r],e);break;case"image":ut("error",e),ut("load",e);break;case"details":ut("toggle",e);break;case"embed":case"source":case"link":ut("error",e),ut("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(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:kt(e,t,c,r,n,null)}return;default:if(th(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Ug(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&kt(e,t,l,r,n,null))}function Wk(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(p in n){var u=n[p];if(n.hasOwnProperty(p)&&u!=null)switch(p){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(p)||kt(e,t,p,null,r,u)}}for(var f in r){var p=r[f];if(u=n[f],r.hasOwnProperty(f)&&(p!=null||u!=null))switch(f){case"type":a=p;break;case"name":o=p;break;case"checked":c=p;break;case"defaultChecked":d=p;break;case"value":i=p;break;case"defaultValue":l=p;break;case"children":case"dangerouslySetInnerHTML":if(p!=null)throw Error(K(137,t));break;default:p!==u&&kt(e,t,f,p,r,u)}}ug(e,i,l,s,c,d,a,o);return;case"select":p=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":p=s;default:r.hasOwnProperty(a)||kt(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&kt(e,t,o,a,r,s)}t=l,n=i,r=p,f!=null?Ql(e,!!n,f,!1):!!r!=!!n&&(t!=null?Ql(e,!!n,t,!0):Ql(e,!!n,n?[]:"",!1));return;case"textarea":p=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:kt(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":p=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&kt(e,t,i,o,r,a)}f0(e,f,p);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:kt(e,t,b,null,r,f));for(s in r)f=r[s],p=n[s],r.hasOwnProperty(s)&&f!==p&&(f!=null||p!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":kt(e,t,s,f,r,p));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 m in n)f=n[m],n.hasOwnProperty(m)&&f!=null&&!r.hasOwnProperty(m)&&kt(e,t,m,null,r,f);for(c in r)if(f=r[c],p=n[c],r.hasOwnProperty(c)&&f!==p&&(f!=null||p!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:kt(e,t,c,f,r,p)}return;default:if(th(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&Ug(e,t,v,void 0,r,f);for(d in r)f=r[d],p=n[d],!r.hasOwnProperty(d)||f===p||f===void 0&&p===void 0||Ug(e,t,d,f,r,p);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&kt(e,t,h,null,r,f);for(u in r)f=r[u],p=n[u],!r.hasOwnProperty(u)||f===p||f==null&&p==null||kt(e,t,u,f,r,p)}function Tx(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function Yk(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&Tx(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&Tx(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(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 jg=null,Vg=null;function Gd(e){return e.nodeType===9?e:e.ownerDocument}function Mx(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 bw(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 Fg(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 Jp=null;function Qk(){var e=window.event;return e&&e.type==="popstate"?e===Jp?!1:(Jp=e,!0):(Jp=null,!1)}var vw=typeof setTimeout=="function"?setTimeout:void 0,Xk=typeof clearTimeout=="function"?clearTimeout:void 0,Ox=typeof Promise=="function"?Promise:void 0,Jk=typeof queueMicrotask=="function"?queueMicrotask:typeof Ox<"u"?function(e){return Ox.resolve(null).then(e).catch(Zk)}:vw;function Zk(e){setTimeout(function(){throw e})}function ui(e){return e==="head"}function kx(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),fs(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")wc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,wc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[Vc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&wc(e.ownerDocument.body);n=o}while(n);fs(t)}function _x(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function Hg(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Hg(n),eh(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function e_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[Vc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==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(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=Qr(e.nextSibling),e===null)break}return null}function t_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=Qr(e.nextSibling),e===null))return null;return e}function xw(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=Qr(e.nextSibling),e===null))return null;return e}function $g(e){return e.data==="$?"||e.data==="$~"}function Kg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function n_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function Qr(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 Gg=null;function Lx(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return Qr(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Dx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function Sw(e,t,n){switch(t=Gd(n),e){case"html":if(e=t.documentElement,!e)throw Error(K(452));return e;case"head":if(e=t.head,!e)throw Error(K(453));return e;case"body":if(e=t.body,!e)throw Error(K(454));return e;default:throw Error(K(451))}}function wc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);eh(e)}var Xr=new Map,Bx=new Set;function qd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var xa=At.d;At.d={f:r_,r:o_,D:a_,C:i_,L:l_,m:s_,X:u_,S:c_,M:d_};function r_(){var e=xa.f(),t=df();return e||t}function o_(e){var t=ps(e);t!==null&&t.tag===5&&t.type==="form"?pS(t):xa.r(e)}var bs=typeof document>"u"?null:document;function ww(e,t,n){var r=bs;if(r&&typeof t=="string"&&t){var o=Gr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Bx.has(o)||(Bx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function a_(e){xa.D(e),ww("dns-prefetch",e,null)}function i_(e,t){xa.C(e,t),ww("preconnect",e,t)}function l_(e,t,n){xa.L(e,t,n);var r=bs;if(r&&e&&t){var o='link[rel="preload"][as="'+Gr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Gr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Gr(n.imageSizes)+'"]')):o+='[href="'+Gr(e)+'"]';var a=o;switch(t){case"style":a=ds(e);break;case"script":a=vs(e)}Xr.has(a)||(e=Gt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),Xr.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(qc(a))||t==="script"&&r.querySelector(Wc(a))||(t=r.createElement("link"),Kn(t,"link",e),In(t),r.head.appendChild(t)))}}function s_(e,t){xa.m(e,t);var n=bs;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Gr(r)+'"][href="'+Gr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vs(e)}if(!Xr.has(a)&&(e=Gt({rel:"modulepreload",href:e},t),Xr.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Wc(a)))return}r=n.createElement("link"),Kn(r,"link",e),In(r),n.head.appendChild(r)}}}function c_(e,t,n){xa.S(e,t,n);var r=bs;if(r&&e){var o=Yl(r).hoistableStyles,a=ds(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(qc(a)))l.loading=5;else{e=Gt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Xr.get(a))&&Uh(e,n);var s=i=r.createElement("link");In(s),Kn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,vd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function u_(e,t){xa.X(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function d_(e,t){xa.M(e,t);var n=bs;if(n&&e){var r=Yl(n).hoistableScripts,o=vs(e),a=r.get(o);a||(a=n.querySelector(Wc(o)),a||(e=Gt({src:e,async:!0,type:"module"},t),(t=Xr.get(o))&&jh(e,t),a=n.createElement("script"),In(a),Kn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function Ix(e,t,n,r){var o=(o=Qa.current)?qd(o):null;if(!o)throw Error(K(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=ds(n.href),n=Yl(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=ds(n.href);var a=Yl(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(qc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Xr.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Xr.set(e,n),a||f_(o,e,n,i.state))),t&&r===null)throw Error(K(528,""));return i}if(t&&r!==null)throw Error(K(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vs(n),n=Yl(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(K(444,e))}}function ds(e){return'href="'+Gr(e)+'"'}function qc(e){return'link[rel="stylesheet"]['+e+"]"}function Aw(e){return Gt({},e,{"data-precedence":e.precedence,precedence:null})}function f_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Kn(t,"link",n),In(t),e.head.appendChild(t))}function vs(e){return'[src="'+Gr(e)+'"]'}function Wc(e){return"script[async]"+e}function zx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Gr(n.href)+'"]');if(r)return t.instance=r,In(r),r;var o=Gt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),In(r),Kn(r,"style",o),vd(r,n.precedence,e),t.instance=r;case"stylesheet":o=ds(n.href);var a=e.querySelector(qc(o));if(a)return t.state.loading|=4,t.instance=a,In(a),a;r=Aw(n),(o=Xr.get(o))&&Uh(r,o),a=(e.ownerDocument||e).createElement("link"),In(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),t.state.loading|=4,vd(a,n.precedence,e),t.instance=a;case"script":return a=vs(n.src),(o=e.querySelector(Wc(a)))?(t.instance=o,In(o),o):(r=n,(o=Xr.get(a))&&(r=Gt({},n),jh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),In(o),Kn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(K(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,vd(r,n.precedence,e));return t.instance}function vd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Uh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function jh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var xd=null;function Px(e,t,n){if(xd===null){var r=new Map,o=xd=new Map;o.set(n,r)}else o=xd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[Vc]||a[Fn]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function Ux(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function m_(e,t,n){if(n===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 Cw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function p_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=ds(r.href),a=t.querySelector(qc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Wd.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,In(a);return}a=t.ownerDocument||t,r=Aw(r),(o=Xr.get(o))&&Uh(r,o),a=a.createElement("link"),In(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Kn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=Wd.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var Zp=0;function g_(e,t){return e.stylesheets&&e.count===0&&Sd(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&Zp===0&&(Zp=62500*Yk());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Sd(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>Zp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function Wd(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Sd(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Yd=null;function Sd(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Yd=new Map,t.forEach(h_,e),Yd=null,Wd.call(e))}function h_(e,t){if(!(t.state.loading&4)){var n=Yd.get(e);if(n)var r=n.get(null);else{n=new Map,Yd.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=Wd.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var Dc={$$typeof:ca,Provider:null,Consumer:null,_currentValue:Vi,_currentValue2:Vi,_threadCount:0};function y_(e,t,n,r,o,a,i,l,s){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=Rp(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rp(0),this.hiddenUpdates=Rp(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function Rw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new y_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Rr(3,null,null,t),e.current=a,a.stateNode=e,t=fh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},gh(a),e}function Nw(e){return e?(e=Kl,e):Kl}function Ew(e,t,n,r,o,a){o=Nw(o),r.context===null?r.context=o:r.pendingContext=o,r=Ja(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Za(e,r,t),n!==null&&(dr(n,e,t),pc(n,e,t))}function jx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Vh(e,t){jx(e,t),(e=e.alternate)&&jx(e,t)}function Tw(e){if(e.tag===13||e.tag===31){var t=el(e,67108864);t!==null&&dr(t,e,67108864),Vh(e,67108864)}}function Vx(e){if(e.tag===13||e.tag===31){var t=Or();t=Jg(t);var n=el(e,t);n!==null&&dr(n,e,t),Vh(e,t)}}var Qd=!0;function b_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=2,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function v_(e,t,n,r){var o=je.T;je.T=null;var a=At.p;try{At.p=8,Fh(e,t,n,r)}finally{At.p=a,je.T=o}}function Fh(e,t,n,r){if(Qd){var o=qg(r);if(o===null)Xp(e,t,r,Xd,n),Fx(e,r);else if(S_(o,e,t,n,r))r.stopPropagation();else if(Fx(e,r),t&4&&-1<x_.indexOf(e)){for(;o!==null;){var a=ps(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Pi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Mr(i);l.entanglements[1]|=s,i&=~s}Do(a),(wt&6)===0&&(jd=Er()+500,Gc(0,!1))}}break;case 31:case 13:l=el(a,2),l!==null&&dr(l,a,2),df(),Vh(a,2)}if(a=qg(r),a===null&&Xp(e,t,r,Xd,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else Xp(e,t,r,null,n)}}function qg(e){return e=nh(e),Hh(e)}var Xd=null;function Hh(e){if(Xd=null,e=Ul(e),e!==null){var t=zc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=Wx(t),e!==null)return e;e=null}else if(n===31){if(e=Yx(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return Xd=e,null}function Mw(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(lO()){case Zx:return 2;case e0:return 8;case Nd:case sO:return 32;case t0:return 268435456;default:return 32}default:return 32}}var Wg=!1,ni=null,ri=null,oi=null,Bc=new Map,Ic=new Map,$a=[],x_="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 Fx(e,t){switch(e){case"focusin":case"focusout":ni=null;break;case"dragenter":case"dragleave":ri=null;break;case"mouseover":case"mouseout":oi=null;break;case"pointerover":case"pointerout":Bc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ic.delete(t.pointerId)}}function rc(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=ps(t),t!==null&&Tw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function S_(e,t,n,r,o){switch(t){case"focusin":return ni=rc(ni,e,t,n,r,o),!0;case"dragenter":return ri=rc(ri,e,t,n,r,o),!0;case"mouseover":return oi=rc(oi,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Bc.set(a,rc(Bc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Ic.set(a,rc(Ic.get(a)||null,e,t,n,r,o)),!0}return!1}function Ow(e){var t=Ul(e.target);if(t!==null){var n=zc(t);if(n!==null){if(t=n.tag,t===13){if(t=Wx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===31){if(t=Yx(n),t!==null){e.blockedOn=t,Rv(e.priority,function(){Vx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wd(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=qg(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);fg=r,n.target.dispatchEvent(r),fg=null}else return t=ps(n),t!==null&&Tw(t),e.blockedOn=n,!1;t.shift()}return!0}function Hx(e,t,n){wd(e)&&n.delete(t)}function w_(){Wg=!1,ni!==null&&wd(ni)&&(ni=null),ri!==null&&wd(ri)&&(ri=null),oi!==null&&wd(oi)&&(oi=null),Bc.forEach(Hx),Ic.forEach(Hx)}function id(e,t){e.blockedOn===t&&(e.blockedOn=null,Wg||(Wg=!0,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,w_)))}var ld=null;function $x(e){ld!==e&&(ld=e,Mn.unstable_scheduleCallback(Mn.unstable_NormalPriority,function(){ld===e&&(ld=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if(Hh(r||n)===null)continue;break}var a=ps(n);a!==null&&(e.splice(t,3),t-=3,Tg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function fs(e){function t(s){return id(s,e)}ni!==null&&id(ni,e),ri!==null&&id(ri,e),oi!==null&&id(oi,e),Bc.forEach(t),Ic.forEach(t);for(var n=0;n<$a.length;n++){var r=$a[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<$a.length&&(n=$a[0],n.blockedOn===null);)Ow(n),n.blockedOn===null&&$a.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[fr]||null;if(typeof a=="function")i||$x(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[fr]||null)l=i.formAction;else if(Hh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),$x(n)}}}function kw(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function $h(e){this._internalRoot=e}pf.prototype.render=$h.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Or();Ew(n,r,e,t,null,null)};pf.prototype.unmount=$h.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Ew(e.current,2,null,e,null,null),df(),t[ms]=null}};function pf(e){this._internalRoot=e}pf.prototype.unstable_scheduleHydration=function(e){if(e){var t=i0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<$a.length&&t!==0&&t<$a[n].priority;n++);$a.splice(n,0,e),n===0&&Ow(e)}};var Kx=Gx.version;if(Kx!=="19.2.4")throw Error(K(527,Kx,"19.2.4"));At.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=eO(t),e=e!==null?Qx(e):null,e=e===null?null:e.stateNode,e};var A_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:je,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(oc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!oc.isDisabled&&oc.supportsFiber))try{Pc=oc.inject(A_),Tr=oc}catch{}var oc;gf.createRoot=function(e,t){if(!qx(e))throw Error(K(299));var n=!1,r="",o=wS,a=AS,i=CS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Rw(e,1,!1,null,null,n,r,null,o,a,i,kw),e[ms]=t.current,Ph(e),new $h(t)};gf.hydrateRoot=function(e,t,n){if(!qx(e))throw Error(K(299));var r=!1,o="",a=wS,i=AS,l=CS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=Rw(e,1,!0,t,n??null,r,o,s,a,i,l,kw),t.context=Nw(null),n=t.current,r=Or(),r=Jg(r),o=Ja(r),o.callback=null,Za(n,o,r),n=r,t.current.lanes=n,jc(t,n),Do(t),e[ms]=t.current,Ph(e),new pf(t)};gf.version="19.2.4"});var Bw=Eo((JB,Dw)=>{"use strict";function Lw(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Lw)}catch(e){console.error(e)}}Lw(),Dw.exports=_w()});var iA=Eo(xf=>{"use strict";var f2=Symbol.for("react.transitional.element"),m2=Symbol.for("react.fragment");function aA(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:f2,type:e,key:r,ref:t!==void 0?t:null,props:n}}xf.Fragment=m2;xf.jsx=aA;xf.jsxs=aA});var te=Eo((lI,lA)=>{"use strict";lA.exports=iA()});var dT=B(Bw(),1);var ye=B(xe(),1);function Iw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=Iw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function hf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=Iw(e))&&(r&&(r+=" "),r+=t);return r}var zw=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Pw=hf,yf=(e,t)=>n=>{var r;if(t?.variants==null)return Pw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=zw(d)||zw(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...p}=d;return Object.entries(p).every(b=>{let[m,v]=b;return Array.isArray(v)?v.includes({...a,...l}[m]):{...a,...l}[m]===v})?[...c,u,f]:c},[]);return Pw(e,i,s,n?.class,n?.className)};var C_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},R_=(e,t)=>({classGroupId:e,validator:t}),$w=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var Uw=[],N_="arbitrary..",E_=e=>{let t=M_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return T_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return Kw(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?C_(c,s):s:c||Uw}return n[i]||Uw}}},Kw=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=Kw(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},T_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?N_+r:void 0})(),M_=e=>{let{theme:t,classGroups:n}=e;return O_(n,t)},O_=(e,t)=>{let n=$w();for(let r in e){let o=e[r];Gh(o,n,r,t)}return n},Gh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];k_(i,t,n,r)}},k_=(e,t,n,r)=>{if(typeof e=="string"){__(e,t,n);return}if(typeof e=="function"){L_(e,t,n,r);return}D_(e,t,n,r)},__=(e,t,n)=>{let r=e===""?t:Gw(t,e);r.classGroupId=n},L_=(e,t,n,r)=>{if(B_(e)){Gh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(R_(n,e))},D_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Gh(s,Gw(t,l),n,r)}},Gw=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=$w(),n.nextPart.set(i,l)),n=l}return n},B_=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,I_=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var z_=[],jw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),P_=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let m=0;m<d;m++){let v=o[m];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,m)),s=m+1;continue}if(v==="/"){c=m;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,p=!1;u.endsWith("!")?(f=u.slice(0,-1),p=!0):u.startsWith("!")&&(f=u.slice(1),p=!0);let b=c&&c>s?c-s:void 0;return jw(a,p,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):jw(z_,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},U_=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},j_=e=>({cache:I_(e.cacheSize),parseClassName:P_(e),sortModifiers:U_(e),...E_(e)}),V_=/\s+/,F_=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(V_),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:p,baseClassName:b,maybePostfixModifierPosition:m}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!m,h=r(v?b.substring(0,m):b);if(!h){if(!v){s=d+(s.length>0?" "+s:s);continue}if(h=r(b),!h){s=d+(s.length>0?" "+s:s);continue}v=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=p?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let A=o(h,v);for(let N=0;N<A.length;++N){let E=A[N];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},H_=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=qw(n))&&(o&&(o+=" "),o+=r);return o},qw=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=qw(e[r]))&&(n&&(n+=" "),n+=t);return n},$_=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=j_(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=F_(s,n);return o(s,d),d};return a=i,(...s)=>a(H_(...s))},K_=[],On=e=>{let t=n=>n[e]||K_;return t.isThemeGetter=!0,t},Ww=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Yw=/^\((?:(\w[\w-]*):)?(.+)\)$/i,G_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,q_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,W_=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Y_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Q_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,di=e=>G_.test(e),ot=e=>!!e&&!Number.isNaN(Number(e)),fi=e=>!!e&&Number.isInteger(Number(e)),Kh=e=>e.endsWith("%")&&ot(e.slice(0,-1)),Sa=e=>q_.test(e),Qw=()=>!0,J_=e=>W_.test(e)&&!Y_.test(e),qh=()=>!1,Z_=e=>Q_.test(e),e2=e=>X_.test(e),t2=e=>!Ae(e)&&!Ce(e),n2=e=>mi(e,Zw,qh),Ae=e=>Ww.test(e),nl=e=>mi(e,eA,J_),Vw=e=>mi(e,u2,ot),r2=e=>mi(e,nA,Qw),o2=e=>mi(e,tA,qh),Fw=e=>mi(e,Xw,qh),a2=e=>mi(e,Jw,e2),bf=e=>mi(e,rA,Z_),Ce=e=>Yw.test(e),Yc=e=>rl(e,eA),i2=e=>rl(e,tA),Hw=e=>rl(e,Xw),l2=e=>rl(e,Zw),s2=e=>rl(e,Jw),vf=e=>rl(e,rA,!0),c2=e=>rl(e,nA,!0),mi=(e,t,n)=>{let r=Ww.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},rl=(e,t,n=!1)=>{let r=Yw.exec(e);return r?r[1]?t(r[1]):n:!1},Xw=e=>e==="position"||e==="percentage",Jw=e=>e==="image"||e==="url",Zw=e=>e==="length"||e==="size"||e==="bg-size",eA=e=>e==="length",u2=e=>e==="number",tA=e=>e==="family-name",nA=e=>e==="number"||e==="weight",rA=e=>e==="shadow";var d2=()=>{let e=On("color"),t=On("font"),n=On("text"),r=On("font-weight"),o=On("tracking"),a=On("leading"),i=On("breakpoint"),l=On("container"),s=On("spacing"),c=On("radius"),d=On("shadow"),u=On("inset-shadow"),f=On("text-shadow"),p=On("drop-shadow"),b=On("blur"),m=On("perspective"),v=On("aspect"),h=On("ease"),g=On("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],A=()=>[...x(),Ce,Ae],N=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[Ce,Ae,s],O=()=>[di,"full","auto",...C()],L=()=>[fi,"none","subgrid",Ce,Ae],V=()=>["auto",{span:["full",fi,Ce,Ae]},fi,Ce,Ae],z=()=>[fi,"auto",Ce,Ae],G=()=>["auto","min","max","fr",Ce,Ae],Z=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],ue=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],oe=()=>[di,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],ee=()=>[di,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[di,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],j=()=>[e,Ce,Ae],Ie=()=>[...x(),Hw,Fw,{position:[Ce,Ae]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ve=()=>["auto","cover","contain",l2,n2,{size:[Ce,Ae]}],ae=()=>[Kh,Yc,nl],Se=()=>["","none","full",c,Ce,Ae],ze=()=>["",ot,Yc,nl],U=()=>["solid","dashed","dotted","double"],fe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],ve=()=>[ot,Kh,Hw,Fw],ke=()=>["","none",b,Ce,Ae],we=()=>["none",ot,Ce,Ae],Ee=()=>["none",ot,Ce,Ae],qe=()=>[ot,Ce,Ae],We=()=>[di,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Sa],breakpoint:[Sa],color:[Qw],container:[Sa],"drop-shadow":[Sa],ease:["in","out","in-out"],font:[t2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Sa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Sa],shadow:[Sa],spacing:["px",ot],text:[Sa],"text-shadow":[Sa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",di,Ae,Ce,v]}],container:["container"],columns:[{columns:[ot,Ae,Ce,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:A()}],overflow:[{overflow:N()}],"overflow-x":[{"overflow-x":N()}],"overflow-y":[{"overflow-y":N()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:O()}],"inset-x":[{"inset-x":O()}],"inset-y":[{"inset-y":O()}],start:[{"inset-s":O(),start:O()}],end:[{"inset-e":O(),end:O()}],"inset-bs":[{"inset-bs":O()}],"inset-be":[{"inset-be":O()}],top:[{top:O()}],right:[{right:O()}],bottom:[{bottom:O()}],left:[{left:O()}],visibility:["visible","invisible","collapse"],z:[{z:[fi,"auto",Ce,Ae]}],basis:[{basis:[di,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ot,di,"auto","initial","none",Ae]}],grow:[{grow:["",ot,Ce,Ae]}],shrink:[{shrink:["",ot,Ce,Ae]}],order:[{order:[fi,"first","last","none",Ce,Ae]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...Z(),"normal"]}],"justify-items":[{"justify-items":[...ue(),"normal"]}],"justify-self":[{"justify-self":["auto",...ue()]}],"align-content":[{content:["normal",...Z()]}],"align-items":[{items:[...ue(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...ue(),{baseline:["","last"]}]}],"place-content":[{"place-content":Z()}],"place-items":[{"place-items":[...ue(),"baseline"]}],"place-self":[{"place-self":["auto",...ue()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:oe()}],"inline-size":[{inline:["auto",...ee()]}],"min-inline-size":[{"min-inline":["auto",...ee()]}],"max-inline-size":[{"max-inline":["none",...ee()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...oe()]}],"min-w":[{"min-w":[l,"screen","none",...oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...oe()]}],h:[{h:["screen","lh",...oe()]}],"min-h":[{"min-h":["screen","lh","none",...oe()]}],"max-h":[{"max-h":["screen","lh",...oe()]}],"font-size":[{text:["base",n,Yc,nl]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,c2,r2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Kh,Ae]}],"font-family":[{font:[i2,o2,t]}],"font-features":[{"font-features":[Ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Ce,Ae]}],"line-clamp":[{"line-clamp":[ot,"none",Ce,Vw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Ce,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ce,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...U(),"wavy"]}],"text-decoration-thickness":[{decoration:[ot,"from-font","auto",Ce,nl]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[ot,"auto",Ce,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ce,Ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Ce,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Ie()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:Ve()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},fi,Ce,Ae],radial:["",Ce,Ae],conic:[fi,Ce,Ae]},s2,a2]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:ae()}],"gradient-via-pos":[{via:ae()}],"gradient-to-pos":[{to:ae()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:Se()}],"rounded-s":[{"rounded-s":Se()}],"rounded-e":[{"rounded-e":Se()}],"rounded-t":[{"rounded-t":Se()}],"rounded-r":[{"rounded-r":Se()}],"rounded-b":[{"rounded-b":Se()}],"rounded-l":[{"rounded-l":Se()}],"rounded-ss":[{"rounded-ss":Se()}],"rounded-se":[{"rounded-se":Se()}],"rounded-ee":[{"rounded-ee":Se()}],"rounded-es":[{"rounded-es":Se()}],"rounded-tl":[{"rounded-tl":Se()}],"rounded-tr":[{"rounded-tr":Se()}],"rounded-br":[{"rounded-br":Se()}],"rounded-bl":[{"rounded-bl":Se()}],"border-w":[{border:ze()}],"border-w-x":[{"border-x":ze()}],"border-w-y":[{"border-y":ze()}],"border-w-s":[{"border-s":ze()}],"border-w-e":[{"border-e":ze()}],"border-w-bs":[{"border-bs":ze()}],"border-w-be":[{"border-be":ze()}],"border-w-t":[{"border-t":ze()}],"border-w-r":[{"border-r":ze()}],"border-w-b":[{"border-b":ze()}],"border-w-l":[{"border-l":ze()}],"divide-x":[{"divide-x":ze()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ze()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...U(),"hidden","none"]}],"divide-style":[{divide:[...U(),"hidden","none"]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...U(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ot,Ce,Ae]}],"outline-w":[{outline:["",ot,Yc,nl]}],"outline-color":[{outline:j()}],shadow:[{shadow:["","none",d,vf,bf]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":["none",u,vf,bf]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:ze()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[ot,nl]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":ze()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":["none",f,vf,bf]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[ot,Ce,Ae]}],"mix-blend":[{"mix-blend":[...fe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":fe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ot]}],"mask-image-linear-from-pos":[{"mask-linear-from":ve()}],"mask-image-linear-to-pos":[{"mask-linear-to":ve()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":ve()}],"mask-image-t-to-pos":[{"mask-t-to":ve()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":ve()}],"mask-image-r-to-pos":[{"mask-r-to":ve()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":ve()}],"mask-image-b-to-pos":[{"mask-b-to":ve()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":ve()}],"mask-image-l-to-pos":[{"mask-l-to":ve()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":ve()}],"mask-image-x-to-pos":[{"mask-x-to":ve()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":ve()}],"mask-image-y-to-pos":[{"mask-y-to":ve()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[Ce,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":ve()}],"mask-image-radial-to-pos":[{"mask-radial-to":ve()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[ot]}],"mask-image-conic-from-pos":[{"mask-conic-from":ve()}],"mask-image-conic-to-pos":[{"mask-conic-to":ve()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Ie()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:Ve()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ce,Ae]}],filter:[{filter:["","none",Ce,Ae]}],blur:[{blur:ke()}],brightness:[{brightness:[ot,Ce,Ae]}],contrast:[{contrast:[ot,Ce,Ae]}],"drop-shadow":[{"drop-shadow":["","none",p,vf,bf]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:["",ot,Ce,Ae]}],"hue-rotate":[{"hue-rotate":[ot,Ce,Ae]}],invert:[{invert:["",ot,Ce,Ae]}],saturate:[{saturate:[ot,Ce,Ae]}],sepia:[{sepia:["",ot,Ce,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Ce,Ae]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[ot,Ce,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[ot,Ce,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ot,Ce,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ot,Ce,Ae]}],"backdrop-invert":[{"backdrop-invert":["",ot,Ce,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[ot,Ce,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[ot,Ce,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ot,Ce,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ce,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ot,"initial",Ce,Ae]}],ease:[{ease:["linear","initial",h,Ce,Ae]}],delay:[{delay:[ot,Ce,Ae]}],animate:[{animate:["none",g,Ce,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,Ce,Ae]}],"perspective-origin":[{"perspective-origin":A()}],rotate:[{rotate:we()}],"rotate-x":[{"rotate-x":we()}],"rotate-y":[{"rotate-y":we()}],"rotate-z":[{"rotate-z":we()}],scale:[{scale:Ee()}],"scale-x":[{"scale-x":Ee()}],"scale-y":[{"scale-y":Ee()}],"scale-z":[{"scale-z":Ee()}],"scale-3d":["scale-3d"],skew:[{skew:qe()}],"skew-x":[{"skew-x":qe()}],"skew-y":[{"skew-y":qe()}],transform:[{transform:[Ce,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:A()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:We()}],"translate-x":[{"translate-x":We()}],"translate-y":[{"translate-y":We()}],"translate-z":[{"translate-z":We()}],"translate-none":["translate-none"],accent:[{accent:j()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Ce,Ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Ce,Ae]}],fill:[{fill:["none",...j()]}],"stroke-w":[{stroke:[ot,Yc,nl,Vw]}],stroke:[{stroke:["none",...j()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var oA=$_(d2);function Q(...e){return oA(hf(e))}var sA=B(te(),1),p2=yf("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function _e({className:e,variant:t,...n}){return(0,sA.jsx)("span",{className:Q(p2({variant:t}),e),...n})}var cA=B(te(),1),g2=yf("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function H({className:e,variant:t,size:n,type:r="button",...o}){return(0,cA.jsx)("button",{className:Q(g2({variant:t,size:n}),e),type:r,...o})}var xs=B(te(),1);function Lt({className:e,...t}){return(0,xs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function Jr({className:e,...t}){return(0,xs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Bo({className:e,...t}){return(0,xs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function pi({className:e,...t}){return(0,xs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function Dt({className:e,...t}){return(0,xs.jsx)("div",{className:Q("p-5",e),...t})}var ho=B(xe(),1);var hI=!!(typeof window<"u"&&window.document&&window.document.createElement);function vt(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var dA=B(xe(),1);function uA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Wh(...e){return t=>{let n=!1,r=e.map(o=>{let a=uA(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():uA(e[o],null)}}}}function Tt(...e){return dA.useCallback(Wh(...e),e)}var wa=B(xe(),1),fA=B(te(),1);function Zr(e,t=[]){let n=[];function r(a,i){let l=wa.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:p,...b}=u,m=f?.[e]?.[s]||l,v=wa.useMemo(()=>b,Object.values(b));return(0,fA.jsx)(m.Provider,{value:v,children:p})};c.displayName=a+"Provider";function d(u,f){let p=f?.[e]?.[s]||l,b=wa.useContext(p);if(b)return b;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>wa.createContext(i));return function(l){let s=l?.[e]||a;return wa.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,h2(o,...t)]}function h2(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return wa.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var eo=B(xe(),1);var mA=B(xe(),1),on=globalThis?.document?mA.useLayoutEffect:()=>{};var Sf=B(xe(),1);var y2=eo[" useInsertionEffect ".trim().toString()]||on;function Aa({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=b2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=eo.useRef(e!==void 0);eo.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,r])}let c=eo.useCallback(d=>{if(l){let u=v2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function b2({defaultProp:e,onChange:t}){let[n,r]=eo.useState(e),o=eo.useRef(n),a=eo.useRef(t);return y2(()=>{a.current=t},[t]),eo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function v2(e){return typeof e=="function"}var wf=B(xe(),1);function Af(e){let t=wf.useRef({value:e,previous:e});return wf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var pA=B(xe(),1);function Cf(e){let[t,n]=pA.useState(void 0);return on(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var gA=B(xe(),1),hA=B(Bi(),1);var kn=B(xe(),1);var Rf=B(te(),1);function ol(e){let t=x2(e),n=kn.forwardRef((r,o)=>{let{children:a,...i}=r,l=kn.Children.toArray(a),s=l.find(w2);if(s){let c=s.props.children,d=l.map(u=>u===s?kn.Children.count(c)>1?kn.Children.only(null):kn.isValidElement(c)?c.props.children:null:u);return(0,Rf.jsx)(t,{...i,ref:o,children:kn.isValidElement(c)?kn.cloneElement(c,void 0,d):null})}return(0,Rf.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function x2(e){let t=kn.forwardRef((n,r)=>{let{children:o,...a}=n;if(kn.isValidElement(o)){let i=C2(o),l=A2(a,o.props);return o.type!==kn.Fragment&&(l.ref=r?Wh(r,i):i),kn.cloneElement(o,l)}return kn.Children.count(o)>1?kn.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var S2=Symbol("radix.slottable");function w2(e){return kn.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===S2}function A2(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function C2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var yA=B(te(),1),R2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],at=R2.reduce((e,t)=>{let n=ol(`Primitive.${t}`),r=gA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,yA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function bA(e,t){e&&hA.flushSync(()=>e.dispatchEvent(t))}var al=B(te(),1),Nf="Switch",[N2,zI]=Zr(Nf),[E2,T2]=N2(Nf),vA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,p]=ho.useState(null),b=Tt(t,y=>p(y)),m=ho.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=Aa({prop:o,defaultProp:a??!1,onChange:c,caller:Nf});return(0,al.jsxs)(E2,{scope:n,checked:h,disabled:l,children:[(0,al.jsx)(at.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":AA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:vt(e.onClick,y=>{g(x=>!x),v&&(m.current=y.isPropagationStopped(),m.current||y.stopPropagation())})}),v&&(0,al.jsx)(wA,{control:f,bubbles:!m.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});vA.displayName=Nf;var xA="SwitchThumb",SA=ho.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=T2(xA,n);return(0,al.jsx)(at.span,{"data-state":AA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});SA.displayName=xA;var M2="SwitchBubbleInput",wA=ho.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=ho.useRef(null),l=Tt(i,a),s=Af(n),c=Cf(t);return ho.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,p=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&p){let b=new Event("click",{bubbles:r});p.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,al.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});wA.displayName=M2;function AA(e){return e?"checked":"unchecked"}var CA=vA,RA=SA;var Yh=B(te(),1);function Io({className:e,...t}){return(0,Yh.jsx)(CA,{className:Q("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,Yh.jsx)(RA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var Ra=B(xe(),1);var Pn=B(xe(),1);var gi=B(xe(),1);var Ef=B(te(),1),k2=B(xe(),1);var _2=B(te(),1);function Tf(e){let t=e+"CollectionProvider",[n,r]=Zr(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=m=>{let{scope:v,children:h}=m,g=gi.default.useRef(null),y=gi.default.useRef(new Map).current;return(0,Ef.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=ol(l),c=gi.default.forwardRef((m,v)=>{let{scope:h,children:g}=m,y=a(l,h),x=Tt(v,y.collectionRef);return(0,Ef.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=ol(d),p=gi.default.forwardRef((m,v)=>{let{scope:h,children:g,...y}=m,x=gi.default.useRef(null),A=Tt(v,x),N=a(d,h);return gi.default.useEffect(()=>(N.itemMap.set(x,{ref:x,...y}),()=>{N.itemMap.delete(x)})),(0,Ef.jsx)(f,{[u]:"",ref:A,children:g})});p.displayName=d;function b(m){let v=a(e+"CollectionConsumer",m);return gi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((N,E)=>y.indexOf(N.ref.current)-y.indexOf(E.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:p},b,r]}var Qh=B(xe(),1);var L2=Qh[" useId ".trim().toString()]||(()=>{}),D2=0;function hi(e){let[t,n]=Qh.useState(L2());return on(()=>{e||n(r=>r??String(D2++))},[e]),e||(t?`radix-${t}`:"")}var Ss=B(xe(),1);function pr(e){let t=Ss.useRef(e);return Ss.useEffect(()=>{t.current=e}),Ss.useMemo(()=>(...n)=>t.current?.(...n),[])}var Mf=B(xe(),1),B2=B(te(),1),I2=Mf.createContext(void 0);function ws(e){let t=Mf.useContext(I2);return e||t||"ltr"}var yi=B(te(),1),Xh="rovingFocusGroup.onEntryFocus",z2={bubbles:!1,cancelable:!0},Qc="RovingFocusGroup",[Jh,NA,P2]=Tf(Qc),[U2,Zh]=Zr(Qc,[P2]),[j2,V2]=U2(Qc),EA=Pn.forwardRef((e,t)=>(0,yi.jsx)(Jh.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(Jh.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,yi.jsx)(F2,{...e,ref:t})})}));EA.displayName=Qc;var F2=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Pn.useRef(null),p=Tt(t,f),b=ws(a),[m,v]=Aa({prop:i,defaultProp:l??null,onChange:s,caller:Qc}),[h,g]=Pn.useState(!1),y=pr(c),x=NA(n),A=Pn.useRef(!1),[N,E]=Pn.useState(0);return Pn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(Xh,y),()=>C.removeEventListener(Xh,y)},[y]),(0,yi.jsx)(j2,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:m,onItemFocus:Pn.useCallback(C=>v(C),[v]),onItemShiftTab:Pn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Pn.useCallback(()=>E(C=>C+1),[]),onFocusableItemRemove:Pn.useCallback(()=>E(C=>C-1),[]),children:(0,yi.jsx)(at.div,{tabIndex:h||N===0?-1:0,"data-orientation":r,...u,ref:p,style:{outline:"none",...e.style},onMouseDown:vt(e.onMouseDown,()=>{A.current=!0}),onFocus:vt(e.onFocus,C=>{let O=!A.current;if(C.target===C.currentTarget&&O&&!h){let L=new CustomEvent(Xh,z2);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let V=x().filter(q=>q.focusable),z=V.find(q=>q.active),G=V.find(q=>q.id===m),ue=[z,G,...V].filter(Boolean).map(q=>q.ref.current);OA(ue,d)}}A.current=!1}),onBlur:vt(e.onBlur,()=>g(!1))})})}),TA="RovingFocusGroupItem",MA=Pn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=hi(),c=a||s,d=V2(TA,n),u=d.currentTabStopId===c,f=NA(n),{onFocusableItemAdd:p,onFocusableItemRemove:b,currentTabStopId:m}=d;return Pn.useEffect(()=>{if(r)return p(),()=>b()},[r,p,b]),(0,yi.jsx)(Jh.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,yi.jsx)(at.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:vt(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:vt(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:vt(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=K2(v,d.orientation,d.dir);if(h!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(v.currentTarget);y=d.loop?G2(y,x+1):y.slice(x+1)}setTimeout(()=>OA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:m!=null}):i})})});MA.displayName=TA;var H2={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function $2(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function K2(e,t,n){let r=$2(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return H2[r]}function OA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function G2(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var kA=EA,_A=MA;var gr=B(xe(),1);var LA=B(xe(),1);function W2(e,t){return LA.useReducer((n,r)=>t[n][r]??n,e)}var ey=e=>{let{present:t,children:n}=e,r=Y2(t),o=typeof n=="function"?n({present:r.isPresent}):gr.Children.only(n),a=Tt(r.ref,Q2(o));return typeof n=="function"||r.isPresent?gr.cloneElement(o,{ref:a}):null};ey.displayName="Presence";function Y2(e){let[t,n]=gr.useState(),r=gr.useRef(null),o=gr.useRef(e),a=gr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=W2(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return gr.useEffect(()=>{let c=Of(r.current);a.current=l==="mounted"?c:"none"},[l]),on(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,p=Of(c);e?s("MOUNT"):p==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==p?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),on(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=p=>{let m=Of(r.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(s("ANIMATION_END"),!o.current)){let v=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},f=p=>{p.target===t&&(a.current=Of(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:gr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function Of(e){return e?.animationName||"none"}function Q2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Ca=B(te(),1),kf="Tabs",[X2,bz]=Zr(kf,[Zh]),DA=Zh(),[J2,ty]=X2(kf),BA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=ws(l),[u,f]=Aa({prop:r,onChange:o,defaultProp:a??"",caller:kf});return(0,Ca.jsx)(J2,{scope:n,baseId:hi(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Ca.jsx)(at.div,{dir:d,"data-orientation":i,...c,ref:t})})});BA.displayName=kf;var IA="TabsList",zA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=ty(IA,n),i=DA(n);return(0,Ca.jsx)(kA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Ca.jsx)(at.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});zA.displayName=IA;var PA="TabsTrigger",UA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=ty(PA,n),l=DA(n),s=FA(i.baseId,r),c=HA(i.baseId,r),d=r===i.value;return(0,Ca.jsx)(_A,{asChild:!0,...l,focusable:!o,active:d,children:(0,Ca.jsx)(at.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:vt(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:vt(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:vt(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});UA.displayName=PA;var jA="TabsContent",VA=Ra.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=ty(jA,n),s=FA(l.baseId,r),c=HA(l.baseId,r),d=r===l.value,u=Ra.useRef(d);return Ra.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Ca.jsx)(ey,{present:o||d,children:({present:f})=>(0,Ca.jsx)(at.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});VA.displayName=jA;function FA(e,t){return`${e}-trigger-${t}`}function HA(e,t){return`${e}-content-${t}`}var $A=BA,KA=zA,GA=UA,qA=VA;var Xc=B(te(),1);function bi(e){return(0,Xc.jsx)($A,{...e})}function vi({className:e,...t}){return(0,Xc.jsx)(KA,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function Gn({className:e,...t}){return(0,Xc.jsx)(GA,{className:Q("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function qn({className:e,...t}){return(0,Xc.jsx)(qA,{className:Q("mt-4 outline-none",e),...t})}var Tz=Object.freeze({web_search_requests:0,web_fetch_requests:0}),Mz=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var ny=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),ry=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),Uz=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),jz=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var tL="127.0.0.1";var Jc=`http://${tL}:8376`,Fz=`${Jc}/openai/v1`,Hz=`${Jc}/anthropic`,$z=Object.freeze({enabled:!0});var Mt="default",nL="AICodeClient",rL="1.0.0",n3=aL();var r3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var o3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function oL(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function aL(){let{runtime:e,platform:t,arch:n}=oL();return`${nL}/${rL} (${t}; ${n}) ${e}`}var a3=Object.freeze(["brave","tavily","exa","searxng"]),i3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var _f=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),Zc=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),l3=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var oy=["second","minute","hour","day","week","month"];function zo(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function il(e,t=""){let n=String(e||"").trim().toLowerCase();return oy.includes(n)?n:t}function WA(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function yo(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function eu({requests:e,windowValue:t,windowUnit:n}){let r=zo(e,0),o=zo(t,0),a=il(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${WA(a,o)}`}function YA(e={}){let t=zo(e?.requests??e?.limit,0),n=zo(e?.window?.size??e?.window?.value??e?.windowValue,0),r=il(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${WA(r,n)}`}function Po(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=yo(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=zo(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=zo(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=il(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=eu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function tu(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=zo(a?.requests,zo(s?.requests??s?.limit,n)),d=zo(a?.windowValue,zo(s?.window?.size??s?.window?.value,r)),u=il(a?.windowUnit,il(s?.window?.unit,o)||o),f=yo(a?.models||[]),p=f.length>0?f:["all"],b={...s,id:eu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:p,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete b.name,delete b.limit,b.window&&typeof b.window=="object"&&delete b.window.value,b})}function nu(e){return JSON.parse(JSON.stringify(e??{}))}function Lf(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function XA(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function iL(e={},t={}){let n=t?.[Mt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Mt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:hr(n.targets||[],a=>a),fallbackTargets:hr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Mt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=XA(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Mt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:hr(a.targets||[],i=>i),fallbackTargets:hr(a.fallbackTargets||[],i=>i)}}return{id:Mt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function lL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Mt]=iL(e,e.modelAliases),e}function sL(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function cL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Mt))return Mt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function Df(e={}){lL(e);let t=sL(e);if(e.defaultModel=Mt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(XA(n))){let r=String(e.defaultModel||"").trim()||cL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function As(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function Cs(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function JA(e=[]){return Lf(Array.isArray(e)?e:[e])}function uL(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function dL(e={},t=[]){let n={...e},r=JA(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function fL(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function mL(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?nu(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:fL(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=tu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Uo(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function hr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function ru(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function ZA(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=hr(o?.targets||[],l=>l),i=hr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,ru(e,r=>r),Df(e)}function pL(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function QA(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function ay(e={},t,n=[]){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(v=>v?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(v=>[String(v?.id||"").trim(),v])),c=pL(n),d=new Set,u=new Map,f=[];for(let v of c){let h=v.sourceId&&s.has(v.sourceId)&&!d.has(v.sourceId)?v.sourceId:"",g=!h&&s.has(v.id)&&!d.has(v.id)?v.id:"",y=h||g;if(y){d.add(y),y!==v.id&&u.set(y,v.id);let x={...s.get(y),id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{}};v.contextWindow||delete x.contextWindow,v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?x.capabilities=v.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{},...v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?{capabilities:v.capabilities}:{}})}let p=new Set(f.map(v=>String(v?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(v=>{let h=Array.isArray(v?.models)?v.models:[];return{...v,models:Lf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return p.has(y)?y:""}))}}),r.providers=o.map((v,h)=>h===a?i:v).map(v=>({...v,models:(Array.isArray(v?.models)?v.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Lf(h.fallbackModels.map(g=>As(g,t,u,p)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},m={};for(let[v,h]of Object.entries(b)){let g=hr(h?.targets||[],x=>As(x,t,u,p)),y=hr(h?.fallbackTargets||[],x=>As(x,t,u,p));m[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=m,r.defaultModel=As(r.defaultModel,t,u,p),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=As(r.amp.defaultRoute,t,u,p)),ru(r,v=>As(v,t,u,p)),Df(r)}function iy(e={},t="",n={}){let r=nu(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(p=>p?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=JA(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=uL(f,n),f=dL(f,c),f=mL(f,n,u)),o[a]=f,r.providers=o.map(p=>({...p,models:(Array.isArray(p?.models)?p.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Lf(b.fallbackModels.map(m=>Cs(m,t,u)))}:b)})),u!==t){let p=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[m,v]of Object.entries(p))b[m]={...v,targets:hr(v?.targets||[],h=>Cs(h,t,u)),fallbackTargets:hr(v?.fallbackTargets||[],h=>Cs(h,t,u))};r.modelAliases=b,r.defaultModel=Cs(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Cs(r.amp.defaultRoute,t,u)),ru(r,m=>Cs(m,t,u))}return Df(r)}function eC(e={},t="",n={}){let r=nu(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Mt?Mt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(p=>[String(p?.ref||"").trim(),p])),s=new Map((a?.fallbackTargets||[]).map(p=>[String(p?.ref||"").trim(),p])),c=new Set,d=QA(n?.targets).map(p=>{let b=p.sourceRef&&l.has(p.sourceRef)&&!c.has(p.sourceRef)?p.sourceRef:l.has(p.ref)&&!c.has(p.ref)?p.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}}),u=new Set,f=QA(n?.fallbackTargets).map(p=>{let b=p.sourceRef&&s.has(p.sourceRef)&&!u.has(p.sourceRef)?p.sourceRef:s.has(p.ref)&&!u.has(p.ref)?p.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:p.ref,...p.weight!==void 0?{weight:p.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[p,b]of Object.entries(o))p!==i&&(b.targets=hr(b?.targets||[],m=>Uo(m,t,i)),b.fallbackTargets=hr(b?.fallbackTargets||[],m=>Uo(m,t,i)));r.defaultModel=Uo(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Uo(r.amp.defaultRoute,t,i)),ru(r,p=>Uo(p,t,i))}return ZA(r)}function tC(e={},t=""){let n=nu(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===Mt)return o[r]={...o[r],id:Mt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,Df(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=hr(a?.targets||[],i=>Uo(i,r)),a.fallbackTargets=hr(a?.fallbackTargets||[],i=>Uo(i,r));return n.defaultModel=Uo(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Uo(n.amp.defaultRoute,r)),ru(n,a=>Uo(a,r)),ZA(n)}function nC(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function rC(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var ly="__codex_cli_inherit__",m3=Object.freeze(["minimal","low","medium","high","xhigh"]),gL=Object.freeze(["low","medium","high","xhigh","max"]),p3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Bf(e){return String(e||"").trim()===ly}function hL(e){let t=String(e||"").trim().toLowerCase();return gL.includes(t)?t:""}var oC=hL;var yL=Object.freeze(["off","none","low","medium","high"]);function bL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function If(e){let t=bL(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function aC(e){let t=String(e||"").trim().toLowerCase();return yL.includes(t)?t:""}var Xe={"content-type":"application/json"},sy={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},iC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],ou={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},lC="https://github.com/khanglvm/llm-router",sC="https://github.com/sponsors/khanglvm",no="AICodeClient/1.0.0",cC=3e3,zf=4e3,uC=100,dC=6,ll=/^[a-z][a-z0-9-]*$/,fC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,mC=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],Pf=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],Uf=Object.fromEntries(Pf.map(e=>[e.value,e.label])),pC=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),gC=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),hC=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),cy=oy;var yC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),jf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),Na=Object.fromEntries(jf.map(e=>[e.id,e])),xi=5,au=1,iu=20,Rs="w-[5.5rem] justify-self-end",uy=["border-primary/45","bg-primary/5"],dy=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var nt=B(te(),1);function Ns({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,nt.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function bC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,nt.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function vC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function xC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function SC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function wC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,nt.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function AC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,nt.jsx)("path",{d:"M2.75 8h14.5"})]})}function CC({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,nt.jsx)("path",{d:"M10 3.25v5"}),(0,nt.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function Es({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M12 20h9"}),(0,nt.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function RC({className:e=""}){return(0,nt.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,nt.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function lu({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("path",{d:"M3 6h18"}),(0,nt.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,nt.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,nt.jsx)("path",{d:"M10 10.5v5"}),(0,nt.jsx)("path",{d:"M14 10.5v5"})]})}function Vf({className:e=""}){return(0,nt.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,nt.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,nt.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function su(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Xe,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var cu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:su("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:su("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:su("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:su("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:ny,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:ry,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),bo=Object.freeze(Object.fromEntries(cu.map(e=>[e.key,e])));function Lr(e){return bo[e]||bo.custom}function NC(e){return cu.find(t=>t.freeTierRpm?.host===e)||null}function EC(e){return cu.filter(t=>t.category===e)}var fy=Object.freeze(Object.fromEntries(cu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),uu=new Map,Ff=null;function TC(){return Ff||(Ff=Promise.allSettled(cu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&uu.set(e.key,t)}catch{}})),Ff)}function Hf(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Si(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function rr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...Hf(t)]))}function $f(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ts(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Kf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function my(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function MC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function py(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function Ea(e,t){if(e?.classList){if(t){e.classList.add(...uy);return}e.classList.remove(...uy)}}function Ms(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Gf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(Uf,t)?t:"ordered"}function qf(e){let t=Gf(e);return Uf[t]||Uf.ordered}function yr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Os(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function OC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function kC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function _C(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function du(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function vo(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Dr(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function gy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function fu(e={}){return yr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function mu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=bo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:yo(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function pu(e=[],{keyPrefix:t="rate-limit",defaults:n=bo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>mu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function Wf(e={}){return yo(rr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function br(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:yo(rr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:il(t?.windowUnit,"minute")})).filter((t,n)=>!Wf({...e?.[n]||{},...t}))}function hy(e=[]){return br(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function LC(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?YA(t[0]):`${t.length} rate limits`}function jo(e){return JSON.parse(JSON.stringify(e??{}))}function yy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function DC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function ks(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function BC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function Yf(e=no){return[{name:"User-Agent",value:String(e||no)}]}function Qf(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function vL(e,t=no){if(!e||typeof e!="object"||Array.isArray(e))return Yf(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:Yf(t)}function Xf(e=[]){let t={};for(let n of Qf(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function vy(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:Xf(e?.headerRows||[])})}function _s(e,t){return String(e||"").trim().startsWith(`${t}/`)}function gu(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Mt))return Mt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function PC(e,t){let n=jo(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!_s(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!_s(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=Mt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||gu(n)}),n}function Ta(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function xL(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function xy(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?vo(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return xL(t)}function xo(e={}){return e?.type==="subscription"?"subscription":"api"}function UC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ta(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=NC(r);if(o)return o.key}catch{}return"custom"}function jC(e={}){let t=Ta(e),n=xo(e),r=UC(e),o=Jf(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?pu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function VC(e){return Lr(e).label||"API Key"}function Sy(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(fy[n])return n}catch{}return null}function FC(e,t){let n=fy[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>mu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function HC(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function wy(e,t="openai"){let n=uu.get(e);if(n?.length)return[...n];let o=Lr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function Jf(e){return Lr(e).rateLimitDefaults||bo.custom.rateLimitDefaults}function SL(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function by(e,t="openai"){let n=Lr(e),r=Jf(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:wy(e,t),rateLimitRows:o?pu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function $C(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=no}={}){let a=Lr(r),i=n==="api",l=e.selectedConnection||"custom",s=Lr(l),c=by(l),d=Array.isArray(t?.providers)?t.providers:[],u=SL(a.providerId,a.providerName,d),f=e.connectionType==="api"?Yf(o):[],p=i?Yf(o):[],b=Qf(e.headerRows||[]),m=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Dr(e.providerName||""),v=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(b)===JSON.stringify(f),A=rr(e.endpoints,e.endpointDraft),N=Array.isArray(c.endpoints)?c.endpoints:[],E=A.length===0||JSON.stringify(A)===JSON.stringify(N),C=String(e.apiKeyEnv||"").trim(),O=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],V=by(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:m?u.providerId:e.providerId,endpoints:i?E?[...V.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?O?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?V.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:V.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?pu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||bo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?p:b:[]}}function wL(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>_s(c?.ref,t)))return{aliasId:a,alias:i}}return null}function AL(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!_s(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function Zf(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function IC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!_s(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function CL(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>IC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>IC(a,t)).filter(Boolean)),n}function RL(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!_s(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function NL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function KC(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=no}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?xo(l):"api",c=i?UC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=by(c,d),f=Jf(c),p=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Dr(l?.name||u.providerName||"my-provider")||"my-provider"),m=i?wL(e,b,{aliasId:Mt}):null,v=p.length>0?p:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),A=Number(y?.contextWindow);return!x||!Number.isFinite(A)||A<=0?null:[x,Math.floor(A)]}).filter(Boolean)),g=s==="api"?vL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ta(l).length>0?Ta(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:AL(m,b,v),headerRows:g,rateLimitRows:s==="api"?pu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Mt,sourceAliasId:m?.aliasId||"",useAliasAsDefault:i?!!m:!0}}function zC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function Ay(e={}){let t=Dr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function GC(e={},t,n=null,{targetProviderId:r=""}={}){let o=jo(e&&typeof e=="object"?e:{}),a=Dr(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(z=>String(z||"").trim()).filter(Boolean):[],s=Zf(t?.aliasModelIds,l),c=Jf(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,p=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),m;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map(Ve=>String(Ve||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],Z=n?.preferredFormat||G[0]||"openai",ue=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[Z]:z[0]}:void 0,q=Z&&ue?.[Z]||ue?.openai||ue?.claude||z[0]||"",oe=Array.isArray(n?.models)&&n.models.length>0?s.filter(Ve=>n.models.includes(Ve)):s,ee=oe.length>0?oe:s,W=z.length>1?{endpointCandidates:z}:void 0,j=String(t?.apiKeyEnv||"").trim(),Ie=vo(j)?{apiKeyEnv:j}:j?{apiKey:j}:{},ne=Xf(t?.headerRows||[]);m={id:a,name:i,baseUrl:q,baseUrlByFormat:ue,...Ie,...Object.keys(ne).length>0?{headers:ne}:{},format:Z,formats:G.length>0?G:[Z],models:zC(ee,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=Lr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",Z=z.format||"openai";m={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:Ay(t),format:Z,formats:[Z],models:zC(s,{},t?.modelContextWindows||{})}}m.rateLimits=t?.connectionType==="api"?tu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):tu([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=du()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=p?v.findIndex(z=>z?.id===p):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,m]:v.map((z,G)=>G===h?m:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((m.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,A={};for(let[z,G]of Object.entries(g)){let Z=p?CL(G,{fromProviderId:p,toProviderId:a,allowedModelIds:y}):G;A[z]=Z}let N=m.models?.[0]?.id?`${a}/${m.models[0].id}`:"",E=(s.length>0?s:(m.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Mt,O=A[C]&&typeof A[C]=="object"?A[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};A[C]=x?{...O,id:C,strategy:"ordered",targets:E.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...O,id:C,strategy:String(O.strategy||"ordered").trim()||"ordered",targets:Array.isArray(O.targets)?O.targets:[],fallbackTargets:Array.isArray(O.fallbackTargets)?O.fallbackTargets:[]},o.modelAliases=A;let L=NL(o.providers);o.defaultModel=Mt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let V=String(o.amp.defaultRoute||"").trim();return p&&(V=RL(V,{fromProviderId:p,toProviderId:a,allowedModelIds:y})),(x||!V||!o.modelAliases?.[V]&&!L.has(V))&&(V=Mt),V&&(o.amp.defaultRoute=V),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function em(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function qC(e,t,n={},{targetProviderId:r=""}={}){let o=Dr(t?.providerId||t?.providerName||""),a=rr(t?.modelIds,t?.modelDraft),i=Zf(t?.aliasModelIds,a),l=br(t?.rateLimitRows),s=t?.connectionType==="api"?rr(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!ll.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=Po(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Mt).trim())===!1,""}function WC(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function YC(e){let t=String(e||"").trim();if(!t)return"";let n=_f.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=Zc.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>_f.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function QC(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function or(e={}){let t=jo(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||gu(t)||"").trim()),t}function Vo(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function EL(){return new Set([...Zc.map(e=>e.id),..._f.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var TL=EL();function hu(e){return TL.has(String(e||"").trim())}function tm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function XC(e={}){return String(e?.sourceRouteKey||"").trim()}function Cy(e={}){let n=or(e).amp;tm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=XC(s);if(c&&hu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=Zc.map(l=>{let s=String(l.id||"").trim(),c=YC(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:WC(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!Zc.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=YC(c),u=hu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:WC(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function JC(e,t){return Cy(e).find(n=>n.id===t)||null}function Ry(e={},t,{inbound:n,outbound:r}={}){let o=or(e),a=o.amp;tm(a);let i=JC(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(b=>XC(b)===c):-1,f=c&&hu(c),p=hu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),p)return s&&(a.routes[p]=s),o;if(f){let b=d||c;return s&&(a.routes[c]=s),l&&l!==b&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function ZC(e={},{inbound:t,outbound:n}={}){let r=or(e),o=r.amp;tm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=hu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function e1(e={},t){let n=or(e),r=n.amp;tm(r);let o=JC(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function Ai(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?jo(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=Vo(t.webSearch.count,xi,{min:au,max:iu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function t1(e=""){return String(e||"").trim().includes("/")}function Cn(e=""){let t=String(e||"").trim();return t1(t)?t:t.toLowerCase()}function wi(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function ML(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function OL(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function n1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":ML(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function kL(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function _L(e={},t={}){if(!n1(e))return!1;let n=OL(e,t);return n.length===0||n.includes("openai")}function Fo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function yu(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=Na[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Fo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Fo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Fo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=Vo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],xi,{min:au,max:iu}),f=Vo(e?.limit,d,{min:0}),p=f>0?f:0,b=Vo(e?.remaining,p,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==xi?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function LL(e={},t=""){let n=String(t||e?.id||wi(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!t1(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=wi(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function DL(e={},t=""){return LL(e,t)||yu(e,t)}function r1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!n1(r)||!kL(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=wi(o,l);return!l||!s||t.has(s)||!_L(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function o1(e={},t=null){let n=or(e),r=Ai(n),o=Array.isArray(r.providers)?r.providers.map(u=>DL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Cn(u.id))),i=[...o,...jf.filter(u=>!a.has(u.id)).map(u=>yu({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Cn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=Vo(r?.count,xi,{min:au,max:iu});return i.map(u=>{let f=Cn(u.id),p=s.get(f)||null,b=o.findIndex(N=>Cn(N.id)===f),m=i.findIndex(N=>Cn(N.id)===f),v=u.kind==="hosted"?p?.ready!==!1:!!u?.[Na[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let N=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(N?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}}let h=Na[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Fo(u,["count"]),A=Vo(u?.count,d,{min:au,max:iu});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:A,resultPerCallInput:x?String(A):d!==xi?String(d):"",limit:Vo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:Vo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:m,displayCount:i.length,active:v,runtimeState:p}})}function a1(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=Cn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=Cn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function i1(e={},t={}){let n=or(e),r=Ai(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=Vo(t.count,r.count,{min:1,max:20})),n}function l1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!Na[r])return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Cn(g?.id)===r),s=l>=0?i[l]:null,c=yu(s||{id:r},r)||yu({id:r},r),u=Na[r].credentialField,f=yu({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),p=!!String(f?.[u]||"").trim(),b=Fo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==xi:Fo(s,["count"])&&Number(f?.count)!==xi,m=p||Fo(n,["limit"])||Fo(s,["limit"]),v=p||Fo(n,["remaining"])||Fo(s,["remaining"]),h={id:r,...p?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...m&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...v&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function s1(e={},t,n){let r=wi(t,n);if(!r)return or(e);let o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Cn(r);return i.some(s=>Cn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function c1(e={},t){let n=Cn(t),r=or(e),o=Ai(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Cn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function u1(e={},t,n="up"){let r=Cn(t),o=or(e),a=Ai(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(m=>[Cn(m?.id),m]).filter(([m])=>!!m)),s=i.findIndex(m=>Cn(m?.id)===r);if(s!==-1){let m=n==="down"?s+1:s-1;if(m<0||m>=i.length)return o;let[v]=i.splice(s,1);return i.splice(m,0,v),a.providers=i,o}if(!Na[r])return o;let c=[...i.map(m=>Cn(m?.id)).filter(Boolean),...jf.map(m=>m.id).filter(m=>!l.has(m))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[p]=f.splice(d,1);f.splice(u,0,p);let b=new Set(l.keys());b.add(r);for(let m of f.slice(0,u+1))Na[m]&&b.add(m);return a.providers=f.filter(m=>b.has(m)).map(m=>l.get(m)||{id:m}),o}function d1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=Na[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Ho(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function g1(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function bu(e){let t=$o(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function BL(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function IL(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=BL(t),o=new Set,a=new Set,i=[],l=[];function s(p){let b=String(p||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let m=b.startsWith("alias:")?b.slice(6).trim():b;if(!m||!Object.prototype.hasOwnProperty.call(n,m)){l.includes(b)||l.push(b);return}if(o.has(m))return;o.add(m);let v=n[m];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(p=>Number.isFinite(p?.contextWindow)),d=[...new Set(c.map(p=>p.contextWindow))].sort((p,b)=>p-b),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function h1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>IL(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function nm(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(nm.canvas||(nm.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function f1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function zL(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function $o(e){let t=zL(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function m1(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function p1(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Ls(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=m1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>m1(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${f1(r)}`,label:p1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:f1(d),label:p1(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function rm(e={}){let t=Ls(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function y1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ls(n);r.query&&t.set(r.query,r)}return t}function b1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=rm(n);!r||!o||(t[r]=Number(o))}return t}async function Ze(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function vu(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
|
|
10
|
-
`);for(;u>=0;){let f=i.slice(0,u).trim();if(i=i.slice(u+1),f){let
|
|
11
|
-
`)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function v1(e,t,n){let r=HC(n);if(r.length===0)return null;try{let o=await Ze("/api/config/probe-free-tier-models",{method:"POST",headers:Xe,body:JSON.stringify({baseUrl:e,...vo(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function xu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Ze("/api/config/litellm-context-lookup",{method:"POST",headers:Xe,body:JSON.stringify({models:t,limit:dC})});return Array.isArray(n?.result)?n.result:[]}async function x1(e={}){let t=await Ze("/api/local-models/search-huggingface",{method:"POST",headers:Xe,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function S1(e,{onMessage:t}={}){return vu("/api/local-models/download-managed",{method:"POST",headers:Xe,body:JSON.stringify(e)},{onMessage:t})}async function w1(e){return(await Ze("/api/local-models/variants/save",{method:"POST",headers:Xe,body:JSON.stringify({variant:e})}))?.variants||{}}async function A1(e){return await Ze("/api/local-models/attach",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function C1(e){return await Ze("/api/local-models/locate",{method:"POST",headers:Xe,body:JSON.stringify(e)})}async function R1(e){return await Ze("/api/local-models/remove",{method:"POST",headers:Xe,body:JSON.stringify({baseModelId:e})})}async function N1(){return await Ze("/api/local-models/reconcile",{method:"POST",headers:Xe,body:"{}"})}async function Ny(){return Ze("/api/local-models/runtime/discover",{method:"POST",headers:Xe,body:"{}"})}async function E1(e){return Ze("/api/local-models/runtime/select",{method:"POST",headers:Xe,body:JSON.stringify({command:e})})}async function om(e="file"){return Ze("/api/local-models/browse",{method:"POST",headers:Xe,body:JSON.stringify({selection:e})})}async function T1(e){return Ze("/api/local-models/scan-path",{method:"POST",headers:Xe,body:JSON.stringify({path:e})})}var D4=B(xe(),1);var pt=B(xe(),1);var le=B(xe(),1),gb=B(Bi(),1);function Ey(e,[t,n]){return Math.min(n,Math.max(t,e))}var an=B(xe(),1);var M1=B(xe(),1);function O1(e,t=globalThis?.document){let n=pr(e);M1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var My=B(te(),1),PL="DismissableLayer",Ty="dismissableLayer.update",UL="dismissableLayer.pointerDownOutside",jL="dismissableLayer.focusOutside",k1,L1=an.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Oy=an.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=an.useContext(L1),[d,u]=an.useState(null),f=d?.ownerDocument??globalThis?.document,[,p]=an.useState({}),b=Tt(t,E=>u(E)),m=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=m.indexOf(v),g=d?m.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,A=HL(E=>{let C=E.target,O=[...c.branches].some(L=>L.contains(C));!x||O||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),N=$L(E=>{let C=E.target;[...c.branches].some(L=>L.contains(C))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return O1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),an.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&(k1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),_1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=k1)}},[d,f,n,c]),an.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),_1())},[d,c]),an.useEffect(()=>{let E=()=>p({});return document.addEventListener(Ty,E),()=>document.removeEventListener(Ty,E)},[]),(0,My.jsx)(at.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:vt(e.onFocusCapture,N.onFocusCapture),onBlurCapture:vt(e.onBlurCapture,N.onBlurCapture),onPointerDownCapture:vt(e.onPointerDownCapture,A.onPointerDownCapture)})});Oy.displayName=PL;var VL="DismissableLayerBranch",FL=an.forwardRef((e,t)=>{let n=an.useContext(L1),r=an.useRef(null),o=Tt(t,r);return an.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,My.jsx)(at.div,{...e,ref:o})});FL.displayName=VL;function HL(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1),o=an.useRef(()=>{});return an.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){D1(UL,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function $L(e,t=globalThis?.document){let n=pr(e),r=an.useRef(!1);return an.useEffect(()=>{let o=a=>{a.target&&!r.current&&D1(jL,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function _1(){let e=new CustomEvent(Ty);document.dispatchEvent(e)}function D1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?bA(o,a):o.dispatchEvent(a)}var I1=B(xe(),1),ky=0;function z1(){I1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??B1()),document.body.insertAdjacentElement("beforeend",e[1]??B1()),ky++,()=>{ky===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),ky--}},[])}function B1(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var ro=B(xe(),1);var F1=B(te(),1),_y="focusScope.autoFocusOnMount",Ly="focusScope.autoFocusOnUnmount",P1={bubbles:!1,cancelable:!0},KL="FocusScope",Dy=ro.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=ro.useState(null),c=pr(o),d=pr(a),u=ro.useRef(null),f=Tt(t,m=>s(m)),p=ro.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ro.useEffect(()=>{if(r){let g=function(N){if(p.paused||!l)return;let E=N.target;l.contains(E)?u.current=E:Ci(u.current,{select:!0})},y=function(N){if(p.paused||!l)return;let E=N.relatedTarget;E!==null&&(l.contains(E)||Ci(u.current,{select:!0}))},x=function(N){if(document.activeElement===document.body)for(let C of N)C.removedNodes.length>0&&Ci(l)};var m=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let A=new MutationObserver(x);return l&&A.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),A.disconnect()}}},[r,l,p.paused]),ro.useEffect(()=>{if(l){j1.add(p);let m=document.activeElement;if(!l.contains(m)){let h=new CustomEvent(_y,P1);l.addEventListener(_y,c),l.dispatchEvent(h),h.defaultPrevented||(GL(XL(H1(l)),{select:!0}),document.activeElement===m&&Ci(l))}return()=>{l.removeEventListener(_y,c),setTimeout(()=>{let h=new CustomEvent(Ly,P1);l.addEventListener(Ly,d),l.dispatchEvent(h),h.defaultPrevented||Ci(m??document.body,{select:!0}),l.removeEventListener(Ly,d),j1.remove(p)},0)}}},[l,c,d,p]);let b=ro.useCallback(m=>{if(!n&&!r||p.paused)return;let v=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,h=document.activeElement;if(v&&h){let g=m.currentTarget,[y,x]=qL(g);y&&x?!m.shiftKey&&h===x?(m.preventDefault(),n&&Ci(y,{select:!0})):m.shiftKey&&h===y&&(m.preventDefault(),n&&Ci(x,{select:!0})):h===g&&m.preventDefault()}},[n,r,p.paused]);return(0,F1.jsx)(at.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});Dy.displayName=KL;function GL(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Ci(r,{select:t}),document.activeElement!==n)return}function qL(e){let t=H1(e),n=U1(t,e),r=U1(t.reverse(),e);return[n,r]}function H1(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function U1(e,t){for(let n of e)if(!WL(n,{upTo:t}))return n}function WL(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function YL(e){return e instanceof HTMLInputElement&&"select"in e}function Ci(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&YL(e)&&t&&e.select()}}var j1=QL();function QL(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=V1(e,t),e.unshift(t)},remove(t){e=V1(e,t),e[0]?.resume()}}}function V1(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function XL(e){return e.filter(t=>t.tagName!=="A")}var xr=B(xe(),1);var G1=["top","right","bottom","left"];var Ko=Math.min,ar=Math.max,wu=Math.round,Au=Math.floor,So=e=>({x:e,y:e}),JL={left:"right",right:"left",bottom:"top",top:"bottom"};function im(e,t,n){return ar(e,Ko(t,n))}function Go(e,t){return typeof e=="function"?e(t):e}function qo(e){return e.split("-")[0]}function sl(e){return e.split("-")[1]}function lm(e){return e==="x"?"y":"x"}function sm(e){return e==="y"?"height":"width"}function wo(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function cm(e){return lm(wo(e))}function q1(e,t,n){n===void 0&&(n=!1);let r=sl(e),o=cm(e),a=sm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Su(i)),[i,Su(i)]}function W1(e){let t=Su(e);return[am(e),t,am(t)]}function am(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var $1=["left","right"],K1=["right","left"],ZL=["top","bottom"],eD=["bottom","top"];function tD(e,t,n){switch(e){case"top":case"bottom":return n?t?K1:$1:t?$1:K1;case"left":case"right":return t?ZL:eD;default:return[]}}function Y1(e,t,n,r){let o=sl(e),a=tD(qo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(am)))),a}function Su(e){let t=qo(e);return JL[t]+e.slice(t.length)}function nD(e){return{top:0,right:0,bottom:0,left:0,...e}}function By(e){return typeof e!="number"?nD(e):{top:e,right:e,bottom:e,left:e}}function cl(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function Q1(e,t,n){let{reference:r,floating:o}=e,a=wo(t),i=cm(t),l=sm(i),s=qo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,p;switch(s){case"top":p={x:d,y:r.y-o.height};break;case"bottom":p={x:d,y:r.y+r.height};break;case"right":p={x:r.x+r.width,y:u};break;case"left":p={x:r.x-o.width,y:u};break;default:p={x:r.x,y:r.y}}switch(sl(t)){case"start":p[i]-=f*(n&&c?-1:1);break;case"end":p[i]+=f*(n&&c?-1:1);break}return p}async function Z1(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:p=0}=Go(t,e),b=By(p),v=l[f?u==="floating"?"reference":"floating":u],h=cl(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(v)))==null||n?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},A=cl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-A.top+b.top)/x.y,bottom:(A.bottom-h.bottom+b.bottom)/x.y,left:(h.left-A.left+b.left)/x.x,right:(A.right-h.right+b.right)/x.x}}var rD=50,eR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:Z1},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=Q1(c,r,s),f=r,p=0,b={};for(let m=0;m<a.length;m++){let v=a[m];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:A,reset:N}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:b,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,b[h]={...b[h],...A},N&&p<rD&&(p++,typeof N=="object"&&(N.placement&&(f=N.placement),N.rects&&(c=N.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):N.rects),{x:d,y:u}=Q1(c,f,s)),m=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},tR=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Go(e,t)||{};if(c==null)return{};let u=By(d),f={x:n,y:r},p=cm(o),b=sm(p),m=await i.getDimensions(c),v=p==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[p]-f[p]-a.floating[b],A=f[p]-a.reference[p],N=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=N?N[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(N)))&&(E=l.floating[y]||a.floating[b]);let C=x/2-A/2,O=E/2-m[b]/2-1,L=Ko(u[h],O),V=Ko(u[g],O),z=L,G=E-m[b]-V,Z=E/2-m[b]/2+C,ue=im(z,Z,G),q=!s.arrow&&sl(o)!=null&&Z!==ue&&a.reference[b]/2-(Z<z?L:V)-m[b]/2<0,oe=q?Z<z?Z-z:Z-G:0;return{[p]:f[p]+oe,data:{[p]:ue,centerOffset:Z-ue-oe,...q&&{alignmentOffset:oe}},reset:q}}});var nR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:p="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:m=!0,...v}=Go(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=qo(o),g=wo(l),y=qo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),A=f||(y||!m?[Su(l)]:W1(l)),N=b!=="none";!f&&N&&A.push(...Y1(l,m,b,x));let E=[l,...A],C=await s.detectOverflow(t,v),O=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&O.push(C[h]),u){let Z=q1(o,i,x);O.push(C[Z[0]],C[Z[1]])}if(L=[...L,{placement:o,overflows:O}],!O.every(Z=>Z<=0)){var V,z;let Z=(((V=a.flip)==null?void 0:V.index)||0)+1,ue=E[Z];if(ue&&(!(u==="alignment"?g!==wo(ue):!1)||L.every(ee=>wo(ee.placement)===g?ee.overflows[0]>0:!0)))return{data:{index:Z,overflows:L},reset:{placement:ue}};let q=(z=L.filter(oe=>oe.overflows[0]<=0).sort((oe,ee)=>oe.overflows[1]-ee.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(p){case"bestFit":{var G;let oe=(G=L.filter(ee=>{if(N){let W=wo(ee.placement);return W===g||W==="y"}return!0}).map(ee=>[ee.placement,ee.overflows.filter(W=>W>0).reduce((W,j)=>W+j,0)]).sort((ee,W)=>ee[1]-W[1])[0])==null?void 0:G[0];oe&&(q=oe);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function X1(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function J1(e){return G1.some(t=>e[t]>=0)}var rR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Go(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=X1(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:J1(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=X1(i,n.floating);return{data:{escapedOffsets:l,escaped:J1(l)}}}default:return{}}}}};var oR=new Set(["left","top"]);async function oD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=qo(n),l=sl(n),s=wo(n)==="y",c=oR.has(i)?-1:1,d=a&&s?-1:1,u=Go(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(p=l==="end"?b*-1:b),s?{x:p*d,y:f*c}:{x:f*c,y:p*d}}var aR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await oD(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},iR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Go(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=wo(qo(o)),p=lm(f),b=d[p],m=d[f];if(i){let h=p==="y"?"top":"left",g=p==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=im(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=m+u[h],x=m-u[g];m=im(y,m,x)}let v=s.fn({...t,[p]:b,[f]:m});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[p]:i,[f]:l}}}}}},lR=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Go(e,t),d={x:n,y:r},u=wo(o),f=lm(u),p=d[f],b=d[u],m=Go(l,t),v=typeof m=="number"?{mainAxis:m,crossAxis:0}:{mainAxis:0,crossAxis:0,...m};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,A=a.reference[f]+a.reference[y]-v.mainAxis;p<x?p=x:p>A&&(p=A)}if(c){var h,g;let y=f==="y"?"width":"height",x=oR.has(qo(o)),A=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),N=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<A?b=A:b>N&&(b=N)}return{[f]:p,[u]:b}}}},sR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Go(e,t),d=await i.detectOverflow(t,c),u=qo(o),f=sl(o),p=wo(o)==="y",{width:b,height:m}=a.floating,v,h;u==="top"||u==="bottom"?(v=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,v=f==="end"?"top":"bottom");let g=m-d.top-d.bottom,y=b-d.left-d.right,x=Ko(m-d[v],g),A=Ko(b-d[h],y),N=!t.middlewareData.shift,E=x,C=A;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),N&&!f){let L=ar(d.left,0),V=ar(d.right,0),z=ar(d.top,0),G=ar(d.bottom,0);p?C=b-2*(L!==0||V!==0?L+V:ar(d.left,d.right)):E=m-2*(z!==0||G!==0?z+G:ar(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:E});let O=await i.getDimensions(l.floating);return b!==O.width||m!==O.height?{reset:{rects:!0}}:{}}}};function um(){return typeof window<"u"}function fl(e){return uR(e)?(e.nodeName||"").toLowerCase():"#document"}function vr(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ao(e){var t;return(t=(uR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function uR(e){return um()?e instanceof Node||e instanceof vr(e).Node:!1}function oo(e){return um()?e instanceof Element||e instanceof vr(e).Element:!1}function Wo(e){return um()?e instanceof HTMLElement||e instanceof vr(e).HTMLElement:!1}function cR(e){return!um()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof vr(e).ShadowRoot}function Ds(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=ao(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function dR(e){return/^(table|td|th)$/.test(fl(e))}function Cu(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var aD=/transform|translate|scale|rotate|perspective|filter/,iD=/paint|layout|strict|content/,ul=e=>!!e&&e!=="none",Iy;function dm(e){let t=oo(e)?ao(e):e;return ul(t.transform)||ul(t.translate)||ul(t.scale)||ul(t.rotate)||ul(t.perspective)||!fm()&&(ul(t.backdropFilter)||ul(t.filter))||aD.test(t.willChange||"")||iD.test(t.contain||"")}function fR(e){let t=Ma(e);for(;Wo(t)&&!ml(t);){if(dm(t))return t;if(Cu(t))return null;t=Ma(t)}return null}function fm(){return Iy==null&&(Iy=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),Iy}function ml(e){return/^(html|body|#document)$/.test(fl(e))}function ao(e){return vr(e).getComputedStyle(e)}function Ru(e){return oo(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ma(e){if(fl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||cR(e)&&e.host||Ao(e);return cR(t)?t.host:t}function mR(e){let t=Ma(e);return ml(t)?e.ownerDocument?e.ownerDocument.body:e.body:Wo(t)&&Ds(t)?t:mR(t)}function dl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=mR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=vr(o);if(a){let l=mm(i);return t.concat(i,i.visualViewport||[],Ds(o)?o:[],l&&n?dl(l):[])}else return t.concat(o,dl(o,[],n))}function mm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function yR(e){let t=ao(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=Wo(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=wu(n)!==a||wu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Py(e){return oo(e)?e:e.contextElement}function Bs(e){let t=Py(e);if(!Wo(t))return So(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=yR(t),i=(a?wu(n.width):n.width)/r,l=(a?wu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var lD=So(0);function bR(e){let t=vr(e);return!fm()||!t.visualViewport?lD:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function sD(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==vr(e)?!1:t}function pl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Py(e),i=So(1);t&&(r?oo(r)&&(i=Bs(r)):i=Bs(e));let l=sD(a,n,r)?bR(a):So(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=vr(a),p=r&&oo(r)?vr(r):r,b=f,m=mm(b);for(;m&&r&&p!==b;){let v=Bs(m),h=m.getBoundingClientRect(),g=ao(m),y=h.left+(m.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(m.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=vr(m),m=mm(b)}}return cl({width:d,height:u,x:s,y:c})}function pm(e,t){let n=Ru(e).scrollLeft;return t?t.left+n:pl(Ao(e)).left+n}function vR(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-pm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function cD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Ao(r),l=t?Cu(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=So(1),d=So(0),u=Wo(r);if((u||!u&&!a)&&((fl(r)!=="body"||Ds(i))&&(s=Ru(r)),u)){let p=pl(r);c=Bs(r),d.x=p.x+r.clientLeft,d.y=p.y+r.clientTop}let f=i&&!u&&!a?vR(i,s):So(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function uD(e){return Array.from(e.getClientRects())}function dD(e){let t=Ao(e),n=Ru(e),r=e.ownerDocument.body,o=ar(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=ar(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+pm(e),l=-n.scrollTop;return ao(r).direction==="rtl"&&(i+=ar(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var pR=25;function fD(e,t){let n=vr(e),r=Ao(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=fm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=pm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),p=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-p);b<=pR&&(a-=b)}else c<=pR&&(a+=c);return{width:a,height:i,x:l,y:s}}function mD(e,t){let n=pl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=Wo(e)?Bs(e):So(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function gR(e,t,n){let r;if(t==="viewport")r=fD(e,n);else if(t==="document")r=dD(Ao(e));else if(oo(t))r=mD(t,n);else{let o=bR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return cl(r)}function xR(e,t){let n=Ma(e);return n===t||!oo(n)||ml(n)?!1:ao(n).position==="fixed"||xR(n,t)}function pD(e,t){let n=t.get(e);if(n)return n;let r=dl(e,[],!1).filter(l=>oo(l)&&fl(l)!=="body"),o=null,a=ao(e).position==="fixed",i=a?Ma(e):e;for(;oo(i)&&!ml(i);){let l=ao(i),s=dm(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Ds(i)&&!s&&xR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ma(i)}return t.set(e,r),r}function gD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?Cu(t)?[]:pD(t,this._c):[].concat(n),r],l=gR(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let p=gR(t,i[f],o);s=ar(p.top,s),c=Ko(p.right,c),d=Ko(p.bottom,d),u=ar(p.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function hD(e){let{width:t,height:n}=yR(e);return{width:t,height:n}}function yD(e,t,n){let r=Wo(t),o=Ao(t),a=n==="fixed",i=pl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=So(0);function c(){s.x=pm(o)}if(r||!r&&!a)if((fl(t)!=="body"||Ds(o))&&(l=Ru(t)),r){let p=pl(t,!0,a,t);s.x=p.x+t.clientLeft,s.y=p.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?vR(o,l):So(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function zy(e){return ao(e).position==="static"}function hR(e,t){if(!Wo(e)||ao(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ao(e)===n&&(n=n.ownerDocument.body),n}function SR(e,t){let n=vr(e);if(Cu(e))return n;if(!Wo(e)){let o=Ma(e);for(;o&&!ml(o);){if(oo(o)&&!zy(o))return o;o=Ma(o)}return n}let r=hR(e,t);for(;r&&dR(r)&&zy(r);)r=hR(r,t);return r&&ml(r)&&zy(r)&&!dm(r)?n:r||fR(e)||n}var bD=async function(e){let t=this.getOffsetParent||SR,n=this.getDimensions,r=await n(e.floating);return{reference:yD(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function vD(e){return ao(e).direction==="rtl"}var wR={convertOffsetParentRelativeRectToViewportRelativeRect:cD,getDocumentElement:Ao,getClippingRect:gD,getOffsetParent:SR,getElementRects:bD,getClientRects:uD,getDimensions:hD,getScale:Bs,isElement:oo,isRTL:vD};function AR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function xD(e,t){let n=null,r,o=Ao(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:p}=c;if(l||t(),!f||!p)return;let b=Au(u),m=Au(o.clientWidth-(d+f)),v=Au(o.clientHeight-(u+p)),h=Au(d),y={rootMargin:-b+"px "+-m+"px "+-v+"px "+-h+"px",threshold:ar(0,Ko(1,s))||1},x=!0;function A(N){let E=N[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!AR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(A,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(A,y)}n.observe(e)}return i(!0),a}function Uy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Py(e),d=o||a?[...c?dl(c):[],...t?dl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?xD(c,n):null,f=-1,p=null;i&&(p=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=p)==null||y.observe(t)})),n()}),c&&!s&&p.observe(c),t&&p.observe(t));let b,m=s?pl(e):null;s&&v();function v(){let h=pl(e);m&&!AR(m,h)&&n(),m=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=p)==null||h.disconnect(),p=null,s&&cancelAnimationFrame(b)}}var CR=aR;var RR=iR,NR=nR,ER=sR,TR=rR,jy=tR;var MR=lR,Vy=(e,t,n)=>{let r=new Map,o={platform:wR,...n},a={...o.platform,_c:r};return eR(e,t,{...o,platform:a})};var Rn=B(xe(),1),kR=B(xe(),1),_R=B(Bi(),1),SD=typeof document<"u",wD=function(){},gm=SD?kR.useLayoutEffect:wD;function hm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!hm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!hm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function LR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function OR(e,t){let n=LR(e);return Math.round(t*n)/n}function Fy(e){let t=Rn.useRef(e);return gm(()=>{t.current=e}),t}function DR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=Rn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=Rn.useState(r);hm(f,r)||p(r);let[b,m]=Rn.useState(null),[v,h]=Rn.useState(null),g=Rn.useCallback(ee=>{ee!==N.current&&(N.current=ee,m(ee))},[]),y=Rn.useCallback(ee=>{ee!==E.current&&(E.current=ee,h(ee))},[]),x=a||b,A=i||v,N=Rn.useRef(null),E=Rn.useRef(null),C=Rn.useRef(d),O=s!=null,L=Fy(s),V=Fy(o),z=Fy(c),G=Rn.useCallback(()=>{if(!N.current||!E.current)return;let ee={placement:t,strategy:n,middleware:f};V.current&&(ee.platform=V.current),Vy(N.current,E.current,ee).then(W=>{let j={...W,isPositioned:z.current!==!1};Z.current&&!hm(C.current,j)&&(C.current=j,_R.flushSync(()=>{u(j)}))})},[f,t,n,V,z]);gm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(ee=>({...ee,isPositioned:!1})))},[c]);let Z=Rn.useRef(!1);gm(()=>(Z.current=!0,()=>{Z.current=!1}),[]),gm(()=>{if(x&&(N.current=x),A&&(E.current=A),x&&A){if(L.current)return L.current(x,A,G);G()}},[x,A,G,L,O]);let ue=Rn.useMemo(()=>({reference:N,floating:E,setReference:g,setFloating:y}),[g,y]),q=Rn.useMemo(()=>({reference:x,floating:A}),[x,A]),oe=Rn.useMemo(()=>{let ee={position:n,left:0,top:0};if(!q.floating)return ee;let W=OR(q.floating,d.x),j=OR(q.floating,d.y);return l?{...ee,transform:"translate("+W+"px, "+j+"px)",...LR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:j}},[n,l,q.floating,d.x,d.y]);return Rn.useMemo(()=>({...d,update:G,refs:ue,elements:q,floatingStyles:oe}),[d,G,ue,q,oe])}var AD=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?jy({element:r.current,padding:o}).fn(n):{}:r?jy({element:r,padding:o}).fn(n):{}}}},BR=(e,t)=>{let n=CR(e);return{name:n.name,fn:n.fn,options:[e,t]}},IR=(e,t)=>{let n=RR(e);return{name:n.name,fn:n.fn,options:[e,t]}},zR=(e,t)=>({fn:MR(e).fn,options:[e,t]}),PR=(e,t)=>{let n=NR(e);return{name:n.name,fn:n.fn,options:[e,t]}},UR=(e,t)=>{let n=ER(e);return{name:n.name,fn:n.fn,options:[e,t]}};var jR=(e,t)=>{let n=TR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var VR=(e,t)=>{let n=AD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var FR=B(xe(),1);var Hy=B(te(),1),CD="Arrow",HR=FR.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,Hy.jsx)(at.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,Hy.jsx)("polygon",{points:"0,0 30,0 15,10"})})});HR.displayName=CD;var $R=HR;var Ri=B(te(),1);var $y="Popper",[KR,Ky]=Zr($y),[ND,GR]=KR($y),qR=e=>{let{__scopePopper:t,children:n}=e,[r,o]=xr.useState(null);return(0,Ri.jsx)(ND,{scope:t,anchor:r,onAnchorChange:o,children:n})};qR.displayName=$y;var WR="PopperAnchor",YR=xr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=GR(WR,n),i=xr.useRef(null),l=Tt(t,i),s=xr.useRef(null);return xr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,Ri.jsx)(at.div,{...o,ref:l})});YR.displayName=WR;var Gy="PopperContent",[ED,TD]=KR(Gy),QR=xr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:p="optimized",onPlaced:b,...m}=e,v=GR(Gy,n),[h,g]=xr.useState(null),y=Tt(t,U=>g(U)),[x,A]=xr.useState(null),N=Cf(x),E=N?.width??0,C=N?.height??0,O=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},V=Array.isArray(c)?c:[c],z=V.length>0,G={padding:L,boundary:V.filter(OD),altBoundary:z},{refs:Z,floatingStyles:ue,placement:q,isPositioned:oe,middlewareData:ee}=DR({strategy:"fixed",placement:O,whileElementsMounted:(...U)=>Uy(...U,{animationFrame:p==="always"}),elements:{reference:v.anchor},middleware:[BR({mainAxis:o+C,alignmentAxis:i}),s&&IR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?zR():void 0,...G}),s&&PR({...G}),UR({...G,apply:({elements:U,rects:fe,availableWidth:ve,availableHeight:ke})=>{let{width:we,height:Ee}=fe.reference,qe=U.floating.style;qe.setProperty("--radix-popper-available-width",`${ve}px`),qe.setProperty("--radix-popper-available-height",`${ke}px`),qe.setProperty("--radix-popper-anchor-width",`${we}px`),qe.setProperty("--radix-popper-anchor-height",`${Ee}px`)}}),x&&VR({element:x,padding:l}),kD({arrowWidth:E,arrowHeight:C}),f&&jR({strategy:"referenceHidden",...G})]}),[W,j]=ZR(q),Ie=pr(b);on(()=>{oe&&Ie?.()},[oe,Ie]);let ne=ee.arrow?.x,Ve=ee.arrow?.y,ae=ee.arrow?.centerOffset!==0,[Se,ze]=xr.useState();return on(()=>{h&&ze(window.getComputedStyle(h).zIndex)},[h]),(0,Ri.jsx)("div",{ref:Z.setFloating,"data-radix-popper-content-wrapper":"",style:{...ue,transform:oe?ue.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:Se,"--radix-popper-transform-origin":[ee.transformOrigin?.x,ee.transformOrigin?.y].join(" "),...ee.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,Ri.jsx)(ED,{scope:n,placedSide:W,onArrowChange:A,arrowX:ne,arrowY:Ve,shouldHideArrow:ae,children:(0,Ri.jsx)(at.div,{"data-side":W,"data-align":j,...m,ref:y,style:{...m.style,animation:oe?void 0:"none"}})})})});QR.displayName=Gy;var XR="PopperArrow",MD={top:"bottom",right:"left",bottom:"top",left:"right"},JR=xr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=TD(XR,r),i=MD[a.placedSide];return(0,Ri.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,Ri.jsx)($R,{...o,ref:n,style:{...o.style,display:"block"}})})});JR.displayName=XR;function OD(e){return e!==null}var kD=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=ZR(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,p=(o.arrow?.y??0)+s/2,b="",m="";return c==="bottom"?(b=i?u:`${f}px`,m=`${-s}px`):c==="top"?(b=i?u:`${f}px`,m=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,m=i?u:`${p}px`):c==="left"&&(b=`${r.floating.width+s}px`,m=i?u:`${p}px`),{data:{x:b,y:m}}}});function ZR(e){let[t,n="center"]=e.split("-");return[t,n]}var eN=qR,tN=YR,nN=QR,rN=JR;var ym=B(xe(),1),oN=B(Bi(),1);var aN=B(te(),1),LD="Portal",qy=ym.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=ym.useState(!1);on(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?oN.default.createPortal((0,aN.jsx)(at.div,{...r,ref:t}),i):null});qy.displayName=LD;var iN=B(xe(),1);var lN=B(te(),1),Wy=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),DD="VisuallyHidden",BD=iN.forwardRef((e,t)=>(0,lN.jsx)(at.span,{...e,ref:t,style:{...Wy,...e.style}}));BD.displayName=DD;var ID=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Is=new WeakMap,bm=new WeakMap,vm={},Yy=0,sN=function(e){return e&&(e.host||sN(e.parentNode))},zD=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=sN(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},PD=function(e,t,n,r){var o=zD(t,Array.isArray(e)?e:[e]);vm[n]||(vm[n]=new WeakMap);var a=vm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var p=f.getAttribute(r),b=p!==null&&p!=="false",m=(Is.get(f)||0)+1,v=(a.get(f)||0)+1;Is.set(f,m),a.set(f,v),i.push(f),m===1&&b&&bm.set(f,!0),v===1&&f.setAttribute(n,"true"),b||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),Yy++,function(){i.forEach(function(u){var f=Is.get(u)-1,p=a.get(u)-1;Is.set(u,f),a.set(u,p),f||(bm.has(u)||u.removeAttribute(r),bm.delete(u)),p||u.removeAttribute(n)}),Yy--,Yy||(Is=new WeakMap,Is=new WeakMap,bm=new WeakMap,vm={})}},cN=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||ID(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),PD(r,o,n,"aria-hidden")):function(){return null}};var Sr=function(){return Sr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Sr.apply(this,arguments)};function xm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function uN(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Rm=B(xe());var Jn=B(xe());var gl="right-scroll-bar-position",hl="width-before-scroll-bar",Qy="with-scroll-bars-hidden",Xy="--removed-body-scroll-bar-size";function Sm(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var dN=B(xe());function fN(e,t){var n=(0,dN.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var wm=B(xe());var UD=typeof window<"u"?wm.useLayoutEffect:wm.useEffect,mN=new WeakMap;function Jy(e,t){var n=fN(t||null,function(r){return e.forEach(function(o){return Sm(o,r)})});return UD(function(){var r=mN.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||Sm(l,null)}),a.forEach(function(l){o.has(l)||Sm(l,i)})}mN.set(n,e)},[e]),n}function jD(e){return e}function VD(e,t){t===void 0&&(t=jD);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function Zy(e){e===void 0&&(e={});var t=VD(null);return t.options=Sr({async:!0,ssr:!1},e),t}var pN=B(xe()),gN=function(e){var t=e.sideCar,n=xm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return pN.createElement(r,Sr({},n))};gN.isSideCarExport=!0;function eb(e,t){return e.useMedium(t),gN}var Am=Zy();var tb=function(){},Nu=Jn.forwardRef(function(e,t){var n=Jn.useRef(null),r=Jn.useState({onScrollCapture:tb,onWheelCapture:tb,onTouchMoveCapture:tb}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,p=e.noRelative,b=e.noIsolation,m=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=xm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),A=f,N=Jy([n,t]),E=Sr(Sr({},x),o);return Jn.createElement(Jn.Fragment,null,d&&Jn.createElement(A,{sideCar:Am,removeScrollBar:c,shards:u,noRelative:p,noIsolation:b,inert:m,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?Jn.cloneElement(Jn.Children.only(l),Sr(Sr({},E),{ref:N})):Jn.createElement(g,Sr({},E,{className:s,ref:N}),l))});Nu.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Nu.classNames={fullWidth:hl,zeroRight:gl};var qt=B(xe());var Ps=B(xe());var bN=B(xe());var hN;var yN=function(){if(hN)return hN;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function FD(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=yN();return t&&e.setAttribute("nonce",t),e}function HD(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function $D(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var nb=function(){var e=0,t=null;return{add:function(n){e==0&&(t=FD())&&(HD(t,n),$D(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var rb=function(){var e=nb();return function(t,n){bN.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Eu=function(){var e=rb(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var KD={left:0,top:0,right:0,gap:0},ob=function(e){return parseInt(e||"",10)||0},GD=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[ob(n),ob(r),ob(o)]},ab=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return KD;var t=GD(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}};var qD=Eu(),zs="data-scroll-locked",WD=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
12
|
-
.`.concat(
|
|
8
|
+
`+r.stack}}var pg=Object.prototype.hasOwnProperty,oh=Dn.unstable_scheduleCallback,Op=Dn.unstable_cancelCallback,Ck=Dn.unstable_shouldYield,Rk=Dn.unstable_requestPaint,Or=Dn.unstable_now,Nk=Dn.unstable_getCurrentPriorityLevel,u0=Dn.unstable_ImmediatePriority,d0=Dn.unstable_UserBlockingPriority,_d=Dn.unstable_NormalPriority,Ek=Dn.unstable_LowPriority,f0=Dn.unstable_IdlePriority,Tk=Dn.log,Mk=Dn.unstable_setDisableYieldValue,$c=null,_r=null;function Ja(e){if(typeof Tk=="function"&&Mk(e),_r&&typeof _r.setStrictMode=="function")try{_r.setStrictMode($c,e)}catch{}}var Lr=Math.clz32?Math.clz32:_k,kk=Math.log,Ok=Math.LN2;function _k(e){return e>>>=0,e===0?32:31-(kk(e)/Ok|0)|0}var Xu=256,Ju=262144,Zu=4194304;function Hi(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 of(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=r&134217727;return l!==0?(r=l&~a,r!==0?o=Hi(r):(i&=l,i!==0?o=Hi(i):n||(n=l&~e,n!==0&&(o=Hi(n))))):(l=r&~a,l!==0?o=Hi(l):i!==0?o=Hi(i):n||(n=r&~e,n!==0&&(o=Hi(n)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,n=t&-t,a>=n||a===32&&(n&4194048)!==0)?t:o}function Kc(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Lk(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 m0(){var e=Zu;return Zu<<=1,(Zu&62914560)===0&&(Zu=4194304),e}function _p(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Gc(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Dk(e,t,n,r,o,a){var i=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,c=e.hiddenUpdates;for(n=i&~n;0<n;){var d=31-Lr(n),u=1<<d;l[d]=0,s[d]=-1;var f=c[d];if(f!==null)for(c[d]=null,d=0;d<f.length;d++){var m=f[d];m!==null&&(m.lane&=-536870913)}n&=~u}r!==0&&p0(e,r,0),a!==0&&o===0&&e.tag!==0&&(e.suspendedLanes|=a&~(i&~t))}function p0(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Lr(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function g0(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Lr(n),o=1<<r;o&t|e[r]&t&&(e[r]|=t),n&=~o}}function h0(e,t){var n=t&-t;return n=(n&42)!==0?1:ah(n),(n&(e.suspendedLanes|t))!==0?0:n}function ah(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 ih(e){return e&=-e,2<e?8<e?(e&134217727)!==0?32:268435456:8:2}function y0(){var e=Nt.p;return e!==0?e:(e=window.event,e===void 0?32:jw(e.type))}function Iv(e,t){var n=Nt.p;try{return Nt.p=e,t()}finally{Nt.p=n}}var hi=Math.random().toString(36).slice(2),qn="__reactFiber$"+hi,hr="__reactProps$"+hi,bs="__reactContainer$"+hi,gg="__reactEvents$"+hi,Bk="__reactListeners$"+hi,Ik="__reactHandles$"+hi,zv="__reactResources$"+hi,qc="__reactMarker$"+hi;function lh(e){delete e[qn],delete e[hr],delete e[gg],delete e[Bk],delete e[Ik]}function $l(e){var t=e[qn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[bs]||n[qn]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=Kx(e);e!==null;){if(n=e[qn])return n;e=Kx(e)}return t}e=n,n=e.parentNode}return null}function vs(e){if(e=e[qn]||e[bs]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function mc(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(K(33))}function es(e){var t=e[zv];return t||(t=e[zv]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Vn(e){e[qc]=!0}var b0=new Set,v0={};function nl(e,t){ss(e,t),ss(e+"Capture",t)}function ss(e,t){for(v0[e]=t,e=0;e<t.length;e++)b0.add(t[e])}var zk=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]*$"),Pv={},Uv={};function Pk(e){return pg.call(Uv,e)?!0:pg.call(Pv,e)?!1:zk.test(e)?Uv[e]=!0:(Pv[e]=!0,!1)}function pd(e,t,n){if(Pk(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":e.removeAttribute(t);return;case"boolean":var r=t.toLowerCase().slice(0,5);if(r!=="data-"&&r!=="aria-"){e.removeAttribute(t);return}}e.setAttribute(t,""+n)}}function ed(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(t);return}e.setAttribute(t,""+n)}}function ca(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case"undefined":case"function":case"symbol":case"boolean":e.removeAttribute(n);return}e.setAttributeNS(t,n,""+r)}}function qr(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function x0(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function Uk(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,a.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function hg(e){if(!e._valueTracker){var t=x0(e)?"checked":"value";e._valueTracker=Uk(e,t,""+e[t])}}function S0(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=x0(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Ld(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 jk=/[\n"\\]/g;function Qr(e){return e.replace(jk,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function yg(e,t,n,r,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+qr(t)):e.value!==""+qr(t)&&(e.value=""+qr(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?bg(e,i,qr(t)):n!=null?bg(e,i,qr(n)):r!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+qr(l):e.removeAttribute("name")}function w0(e,t,n,r,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||n!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){hg(e);return}n=n!=null?""+qr(n):"",t=t!=null?""+qr(t):n,l||t===e.value||(e.value=t),e.defaultValue=t}r=r??o,r=typeof r!="function"&&typeof r!="symbol"&&!!r,e.checked=l?e.checked:!!r,e.defaultChecked=!!r,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),hg(e)}function bg(e,t,n){t==="number"&&Ld(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function ts(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o<n.length;o++)t["$"+n[o]]=!0;for(n=0;n<e.length;n++)o=t.hasOwnProperty("$"+e[n].value),e[n].selected!==o&&(e[n].selected=o),o&&r&&(e[n].defaultSelected=!0)}else{for(n=""+qr(n),t=null,o=0;o<e.length;o++){if(e[o].value===n){e[o].selected=!0,r&&(e[o].defaultSelected=!0);return}t!==null||e[o].disabled||(t=e[o])}t!==null&&(t.selected=!0)}}function A0(e,t,n){if(t!=null&&(t=""+qr(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n!=null?""+qr(n):""}function C0(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(K(92));if(fc(r)){if(1<r.length)throw Error(K(93));r=r[0]}n=r}n==null&&(n=""),t=n}n=qr(t),e.defaultValue=n,r=e.textContent,r===n&&r!==""&&r!==null&&(e.value=r),hg(e)}function cs(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Vk=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 jv(e,t,n){var r=t.indexOf("--")===0;n==null||typeof n=="boolean"||n===""?r?e.setProperty(t,""):t==="float"?e.cssFloat="":e[t]="":r?e.setProperty(t,n):typeof n!="number"||n===0||Vk.has(t)?t==="float"?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function R0(e,t,n){if(t!=null&&typeof t!="object")throw Error(K(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf("--")===0?e.setProperty(r,""):r==="float"?e.cssFloat="":e[r]="");for(var o in t)r=t[o],t.hasOwnProperty(o)&&n[o]!==r&&jv(e,o,r)}else for(var a in t)t.hasOwnProperty(a)&&jv(e,a,t[a])}function sh(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 Fk=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"]]),Hk=/^[\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 gd(e){return Hk.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function ya(){}var vg=null;function ch(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Kl=null,ns=null;function Vv(e){var t=vs(e);if(t&&(e=t.stateNode)){var n=e[hr]||null;e:switch(e=t.stateNode,t.type){case"input":if(yg(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type==="radio"&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+Qr(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var o=r[hr]||null;if(!o)throw Error(K(90));yg(r,o.value,o.defaultValue,o.defaultValue,o.checked,o.defaultChecked,o.type,o.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&S0(r)}break e;case"textarea":A0(e,n.value,n.defaultValue);break e;case"select":t=n.value,t!=null&&ts(e,!!n.multiple,t,!1)}}}var Lp=!1;function N0(e,t,n){if(Lp)return e(t,n);Lp=!0;try{var r=e(t);return r}finally{if(Lp=!1,(Kl!==null||ns!==null)&&(yf(),Kl&&(t=Kl,e=ns,ns=Kl=null,Vv(t),e)))for(t=0;t<e.length;t++)Vv(e[t])}}function kc(e,t){var n=e.stateNode;if(n===null)return null;var r=n[hr]||null;if(r===null)return null;n=r[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":(r=!r.disabled)||(e=e.type,r=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!r;break e;default:e=!1}if(e)return null;if(n&&typeof n!="function")throw Error(K(231,t,typeof n));return n}var wa=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),xg=!1;if(wa)try{zl={},Object.defineProperty(zl,"passive",{get:function(){xg=!0}}),window.addEventListener("test",zl,zl),window.removeEventListener("test",zl,zl)}catch{xg=!1}var zl,Za=null,uh=null,hd=null;function E0(){if(hd)return hd;var e,t=uh,n=t.length,r,o="value"in Za?Za.value:Za.textContent,a=o.length;for(e=0;e<n&&t[e]===o[e];e++);var i=n-e;for(r=1;r<=i&&t[n-r]===o[a-r];r++);return hd=o.slice(e,1<r?1-r:void 0)}function yd(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 td(){return!0}function Fv(){return!1}function yr(e){function t(n,r,o,a,i){this._reactName=n,this._targetInst=o,this.type=r,this.nativeEvent=a,this.target=i,this.currentTarget=null;for(var l in e)e.hasOwnProperty(l)&&(n=e[l],this[l]=n?n(a):a[l]);return this.isDefaultPrevented=(a.defaultPrevented!=null?a.defaultPrevented:a.returnValue===!1)?td:Fv,this.isPropagationStopped=Fv,this}return Jt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var n=this.nativeEvent;n&&(n.preventDefault?n.preventDefault():typeof n.returnValue!="unknown"&&(n.returnValue=!1),this.isDefaultPrevented=td)},stopPropagation:function(){var n=this.nativeEvent;n&&(n.stopPropagation?n.stopPropagation():typeof n.cancelBubble!="unknown"&&(n.cancelBubble=!0),this.isPropagationStopped=td)},persist:function(){},isPersistent:td}),t}var rl={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},af=yr(rl),Wc=Jt({},rl,{view:0,detail:0}),$k=yr(Wc),Dp,Bp,ac,lf=Jt({},Wc,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:dh,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!==ac&&(ac&&e.type==="mousemove"?(Dp=e.screenX-ac.screenX,Bp=e.screenY-ac.screenY):Bp=Dp=0,ac=e),Dp)},movementY:function(e){return"movementY"in e?e.movementY:Bp}}),Hv=yr(lf),Kk=Jt({},lf,{dataTransfer:0}),Gk=yr(Kk),qk=Jt({},Wc,{relatedTarget:0}),Ip=yr(qk),Wk=Jt({},rl,{animationName:0,elapsedTime:0,pseudoElement:0}),Yk=yr(Wk),Qk=Jt({},rl,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),Xk=yr(Qk),Jk=Jt({},rl,{data:0}),$v=yr(Jk),Zk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},eO={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"},tO={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function nO(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=tO[e])?!!t[e]:!1}function dh(){return nO}var rO=Jt({},Wc,{key:function(e){if(e.key){var t=Zk[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=yd(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?eO[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:dh,charCode:function(e){return e.type==="keypress"?yd(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?yd(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),oO=yr(rO),aO=Jt({},lf,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Kv=yr(aO),iO=Jt({},Wc,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:dh}),lO=yr(iO),sO=Jt({},rl,{propertyName:0,elapsedTime:0,pseudoElement:0}),cO=yr(sO),uO=Jt({},lf,{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}),dO=yr(uO),fO=Jt({},rl,{newState:0,oldState:0}),mO=yr(fO),pO=[9,13,27,32],fh=wa&&"CompositionEvent"in window,hc=null;wa&&"documentMode"in document&&(hc=document.documentMode);var gO=wa&&"TextEvent"in window&&!hc,T0=wa&&(!fh||hc&&8<hc&&11>=hc),Gv=" ",qv=!1;function M0(e,t){switch(e){case"keyup":return pO.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function k0(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Gl=!1;function hO(e,t){switch(e){case"compositionend":return k0(t);case"keypress":return t.which!==32?null:(qv=!0,Gv);case"textInput":return e=t.data,e===Gv&&qv?null:e;default:return null}}function yO(e,t){if(Gl)return e==="compositionend"||!fh&&M0(e,t)?(e=E0(),hd=uh=Za=null,Gl=!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 T0&&t.locale!=="ko"?null:t.data;default:return null}}var bO={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 Wv(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!bO[e.type]:t==="textarea"}function O0(e,t,n,r){Kl?ns?ns.push(r):ns=[r]:Kl=r,t=Xd(t,"onChange"),0<t.length&&(n=new af("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var yc=null,Oc=null;function vO(e){Nw(e,0)}function sf(e){var t=mc(e);if(S0(t))return e}function Yv(e,t){if(e==="change")return t}var _0=!1;wa&&(wa?(rd="oninput"in document,rd||(zp=document.createElement("div"),zp.setAttribute("oninput","return;"),rd=typeof zp.oninput=="function"),nd=rd):nd=!1,_0=nd&&(!document.documentMode||9<document.documentMode));var nd,rd,zp;function Qv(){yc&&(yc.detachEvent("onpropertychange",L0),Oc=yc=null)}function L0(e){if(e.propertyName==="value"&&sf(Oc)){var t=[];O0(t,Oc,e,ch(e)),N0(vO,t)}}function xO(e,t,n){e==="focusin"?(Qv(),yc=t,Oc=n,yc.attachEvent("onpropertychange",L0)):e==="focusout"&&Qv()}function SO(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return sf(Oc)}function wO(e,t){if(e==="click")return sf(t)}function AO(e,t){if(e==="input"||e==="change")return sf(t)}function CO(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Br=typeof Object.is=="function"?Object.is:CO;function _c(e,t){if(Br(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var o=n[r];if(!pg.call(t,o)||!Br(e[o],t[o]))return!1}return!0}function Xv(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Jv(e,t){var n=Xv(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Xv(n)}}function D0(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?D0(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function B0(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ld(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ld(e.document)}return t}function mh(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 RO=wa&&"documentMode"in document&&11>=document.documentMode,ql=null,Sg=null,bc=null,wg=!1;function Zv(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;wg||ql==null||ql!==Ld(r)||(r=ql,"selectionStart"in r&&mh(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),bc&&_c(bc,r)||(bc=r,r=Xd(Sg,"onSelect"),0<r.length&&(t=new af("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=ql)))}function Vi(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Wl={animationend:Vi("Animation","AnimationEnd"),animationiteration:Vi("Animation","AnimationIteration"),animationstart:Vi("Animation","AnimationStart"),transitionrun:Vi("Transition","TransitionRun"),transitionstart:Vi("Transition","TransitionStart"),transitioncancel:Vi("Transition","TransitionCancel"),transitionend:Vi("Transition","TransitionEnd")},Pp={},I0={};wa&&(I0=document.createElement("div").style,"AnimationEvent"in window||(delete Wl.animationend.animation,delete Wl.animationiteration.animation,delete Wl.animationstart.animation),"TransitionEvent"in window||delete Wl.transitionend.transition);function ol(e){if(Pp[e])return Pp[e];if(!Wl[e])return e;var t=Wl[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in I0)return Pp[e]=t[n];return e}var z0=ol("animationend"),P0=ol("animationiteration"),U0=ol("animationstart"),NO=ol("transitionrun"),EO=ol("transitionstart"),TO=ol("transitioncancel"),j0=ol("transitionend"),V0=new Map,Ag="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(" ");Ag.push("scrollEnd");function vo(e,t){V0.set(e,t),nl(t,[e])}var Dd=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)},Gr=[],Yl=0,ph=0;function cf(){for(var e=Yl,t=ph=Yl=0;t<e;){var n=Gr[t];Gr[t++]=null;var r=Gr[t];Gr[t++]=null;var o=Gr[t];Gr[t++]=null;var a=Gr[t];if(Gr[t++]=null,r!==null&&o!==null){var i=r.pending;i===null?o.next=o:(o.next=i.next,i.next=o),r.pending=o}a!==0&&F0(n,o,a)}}function uf(e,t,n,r){Gr[Yl++]=e,Gr[Yl++]=t,Gr[Yl++]=n,Gr[Yl++]=r,ph|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function gh(e,t,n,r){return uf(e,t,n,r),Bd(e)}function al(e,t){return uf(e,null,null,t),Bd(e)}function F0(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var o=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(o=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,o&&t!==null&&(o=31-Lr(n),e=a.hiddenUpdates,r=e[o],r===null?e[o]=[t]:r.push(t),t.lane=n|536870912),a):null}function Bd(e){if(50<Ec)throw Ec=0,$g=null,Error(K(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ql={};function MO(e,t,n,r){this.tag=e,this.key=n,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=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mr(e,t,n,r){return new MO(e,t,n,r)}function hh(e){return e=e.prototype,!(!e||!e.isReactComponent)}function va(e,t){var n=e.alternate;return n===null?(n=Mr(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function H0(e,t){e.flags&=65011714;var n=e.alternate;return n===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=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function bd(e,t,n,r,o,a){var i=0;if(r=e,typeof e=="function")hh(e)&&(i=1);else if(typeof e=="string")i=__(e,n,Io.current)?26:e==="html"||e==="head"||e==="body"?27:5;else e:switch(e){case ug:return e=Mr(31,n,t,o),e.elementType=ug,e.lanes=a,e;case Fl:return qi(n.children,o,a,t);case s0:i=8,o|=24;break;case lg:return e=Mr(12,n,t,o|2),e.elementType=lg,e.lanes=a,e;case sg:return e=Mr(13,n,t,o),e.elementType=sg,e.lanes=a,e;case cg:return e=Mr(19,n,t,o),e.elementType=cg,e.lanes=a,e;default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case ha:i=10;break e;case c0:i=9;break e;case nh:i=11;break e;case rh:i=14;break e;case Ga:i=16,r=null;break e}i=29,n=Error(K(130,e===null?"null":typeof e,"")),r=null}return t=Mr(i,n,t,o),t.elementType=e,t.type=r,t.lanes=a,t}function qi(e,t,n,r){return e=Mr(7,e,r,t),e.lanes=n,e}function Up(e,t,n){return e=Mr(6,e,null,t),e.lanes=n,e}function $0(e){var t=Mr(18,null,null,0);return t.stateNode=e,t}function jp(e,t,n){return t=Mr(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var ex=new WeakMap;function Xr(e,t){if(typeof e=="object"&&e!==null){var n=ex.get(e);return n!==void 0?n:(t={value:e,source:t,stack:Bv(t)},ex.set(e,t),t)}return{value:e,source:t,stack:Bv(t)}}var Xl=[],Jl=0,Id=null,Lc=0,Wr=[],Yr=0,fi=null,Lo=1,Do="";function pa(e,t){Xl[Jl++]=Lc,Xl[Jl++]=Id,Id=e,Lc=t}function K0(e,t,n){Wr[Yr++]=Lo,Wr[Yr++]=Do,Wr[Yr++]=fi,fi=e;var r=Lo;e=Do;var o=32-Lr(r)-1;r&=~(1<<o),n+=1;var a=32-Lr(t)+o;if(30<a){var i=o-o%5;a=(r&(1<<i)-1).toString(32),r>>=i,o-=i,Lo=1<<32-Lr(t)+o|n<<o|r,Do=a+e}else Lo=1<<a|n<<o|r,Do=e}function yh(e){e.return!==null&&(pa(e,1),K0(e,1,0))}function bh(e){for(;e===Id;)Id=Xl[--Jl],Xl[Jl]=null,Lc=Xl[--Jl],Xl[Jl]=null;for(;e===fi;)fi=Wr[--Yr],Wr[Yr]=null,Do=Wr[--Yr],Wr[Yr]=null,Lo=Wr[--Yr],Wr[Yr]=null}function G0(e,t){Wr[Yr++]=Lo,Wr[Yr++]=Do,Wr[Yr++]=fi,Lo=t.id,Do=t.overflow,fi=e}var Wn=null,Xt=null,xt=!1,oi=null,Jr=!1,Cg=Error(K(519));function mi(e){var t=Error(K(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw Dc(Xr(t,e)),Cg}function tx(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[qn]=e,t[hr]=r,n){case"dialog":ft("cancel",t),ft("close",t);break;case"iframe":case"object":case"embed":ft("load",t);break;case"video":case"audio":for(n=0;n<Pc.length;n++)ft(Pc[n],t);break;case"source":ft("error",t);break;case"img":case"image":case"link":ft("error",t),ft("load",t);break;case"details":ft("toggle",t);break;case"input":ft("invalid",t),w0(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case"select":ft("invalid",t);break;case"textarea":ft("invalid",t),C0(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!="string"&&typeof n!="number"&&typeof n!="bigint"||t.textContent===""+n||r.suppressHydrationWarning===!0||Tw(t.textContent,n)?(r.popover!=null&&(ft("beforetoggle",t),ft("toggle",t)),r.onScroll!=null&&ft("scroll",t),r.onScrollEnd!=null&&ft("scrollend",t),r.onClick!=null&&(t.onclick=ya),t=!0):t=!1,t||mi(e,!0)}function nx(e){for(Wn=e.return;Wn;)switch(Wn.tag){case 5:case 31:case 13:Jr=!1;return;case 27:case 3:Jr=!0;return;default:Wn=Wn.return}}function Pl(e){if(e!==Wn)return!1;if(!xt)return nx(e),xt=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!=="form"&&n!=="button")||Yg(e.type,e.memoizedProps)),n=!n),n&&Xt&&mi(e),nx(e),t===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Xt=$x(e)}else if(t===31){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(317));Xt=$x(e)}else t===27?(t=Xt,yi(e.type)?(e=Zg,Zg=null,Xt=e):Xt=t):Xt=Wn?eo(e.stateNode.nextSibling):null;return!0}function Xi(){Xt=Wn=null,xt=!1}function Vp(){var e=oi;return e!==null&&(pr===null?pr=e:pr.push.apply(pr,e),oi=null),e}function Dc(e){oi===null?oi=[e]:oi.push(e)}var Rg=zo(null),il=null,ba=null;function Wa(e,t,n){Gt(Rg,t._currentValue),t._currentValue=n}function xa(e){e._currentValue=Rg.current,Fn(Rg)}function Ng(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,r!==null&&(r.childLanes|=t)):r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Eg(e,t,n,r){var o=e.child;for(o!==null&&(o.return=e);o!==null;){var a=o.dependencies;if(a!==null){var i=o.child;a=a.firstContext;e:for(;a!==null;){var l=a;a=o;for(var s=0;s<t.length;s++)if(l.context===t[s]){a.lanes|=n,l=a.alternate,l!==null&&(l.lanes|=n),Ng(a.return,n,e),r||(i=null);break e}a=l.next}}else if(o.tag===18){if(i=o.return,i===null)throw Error(K(341));i.lanes|=n,a=i.alternate,a!==null&&(a.lanes|=n),Ng(i,n,e),i=null}else i=o.child;if(i!==null)i.return=o;else for(i=o;i!==null;){if(i===e){i=null;break}if(o=i.sibling,o!==null){o.return=i.return,i=o;break}i=i.return}o=i}}function xs(e,t,n,r){e=null;for(var o=t,a=!1;o!==null;){if(!a){if((o.flags&524288)!==0)a=!0;else if((o.flags&262144)!==0)break}if(o.tag===10){var i=o.alternate;if(i===null)throw Error(K(387));if(i=i.memoizedProps,i!==null){var l=o.type;Br(o.pendingProps.value,i.value)||(e!==null?e.push(l):e=[l])}}else if(o===Md.current){if(i=o.alternate,i===null)throw Error(K(387));i.memoizedState.memoizedState!==o.memoizedState.memoizedState&&(e!==null?e.push(jc):e=[jc])}o=o.return}e!==null&&Eg(t,e,n,r),t.flags|=262144}function zd(e){for(e=e.firstContext;e!==null;){if(!Br(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Ji(e){il=e,ba=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Yn(e){return q0(il,e)}function od(e,t){return il===null&&Ji(e),q0(e,t)}function q0(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ba===null){if(e===null)throw Error(K(308));ba=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ba=ba.next=t;return n}var kO=typeof AbortController<"u"?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(n,r){e.push(r)}};this.abort=function(){t.aborted=!0,e.forEach(function(n){return n()})}},OO=Dn.unstable_scheduleCallback,_O=Dn.unstable_NormalPriority,En={$$typeof:ha,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function vh(){return{controller:new kO,data:new Map,refCount:0}}function Yc(e){e.refCount--,e.refCount===0&&OO(_O,function(){e.controller.abort()})}var vc=null,Tg=0,us=0,rs=null;function LO(e,t){if(vc===null){var n=vc=[];Tg=0,us=$h(),rs={status:"pending",value:void 0,then:function(r){n.push(r)}}}return Tg++,t.then(rx,rx),t}function rx(){if(--Tg===0&&vc!==null){rs!==null&&(rs.status="fulfilled");var e=vc;vc=null,us=0,rs=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function DO(e,t){var n=[],r={status:"pending",value:null,reason:null,then:function(o){n.push(o)}};return e.then(function(){r.status="fulfilled",r.value=t;for(var o=0;o<n.length;o++)(0,n[o])(t)},function(o){for(r.status="rejected",r.reason=o,o=0;o<n.length;o++)(0,n[o])(void 0)}),r}var ox=Fe.S;Fe.S=function(e,t){lw=Or(),typeof t=="object"&&t!==null&&typeof t.then=="function"&&LO(e,t),ox!==null&&ox(e,t)};var Wi=zo(null);function xh(){var e=Wi.current;return e!==null?e:$t.pooledCache}function vd(e,t){t===null?Gt(Wi,Wi.current):Gt(Wi,t.pool)}function W0(){var e=xh();return e===null?null:{parent:En._currentValue,pool:e}}var Ss=Error(K(460)),Sh=Error(K(474)),df=Error(K(542)),Pd={then:function(){}};function ax(e){return e=e.status,e==="fulfilled"||e==="rejected"}function Y0(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(ya,ya),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,lx(e),e;default:if(typeof t.status=="string")t.then(ya,ya);else{if(e=$t,e!==null&&100<e.shellSuspendCounter)throw Error(K(482));e=t,e.status="pending",e.then(function(r){if(t.status==="pending"){var o=t;o.status="fulfilled",o.value=r}},function(r){if(t.status==="pending"){var o=t;o.status="rejected",o.reason=r}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw e=t.reason,lx(e),e}throw Yi=t,Ss}}function $i(e){try{var t=e._init;return t(e._payload)}catch(n){throw n!==null&&typeof n=="object"&&typeof n.then=="function"?(Yi=n,Ss):n}}var Yi=null;function ix(){if(Yi===null)throw Error(K(459));var e=Yi;return Yi=null,e}function lx(e){if(e===Ss||e===df)throw Error(K(483))}var os=null,Bc=0;function ad(e){var t=Bc;return Bc+=1,os===null&&(os=[]),Y0(os,e,t)}function ic(e,t){t=t.props.ref,e.ref=t!==void 0?t:null}function id(e,t){throw t.$$typeof===xk?Error(K(525)):(e=Object.prototype.toString.call(t),Error(K(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e)))}function Q0(e){function t(h,g){if(e){var y=h.deletions;y===null?(h.deletions=[g],h.flags|=16):y.push(g)}}function n(h,g){if(!e)return null;for(;g!==null;)t(h,g),g=g.sibling;return null}function r(h){for(var g=new Map;h!==null;)h.key!==null?g.set(h.key,h):g.set(h.index,h),h=h.sibling;return g}function o(h,g){return h=va(h,g),h.index=0,h.sibling=null,h}function a(h,g,y){return h.index=y,e?(y=h.alternate,y!==null?(y=y.index,y<g?(h.flags|=67108866,g):y):(h.flags|=67108866,g)):(h.flags|=1048576,g)}function i(h){return e&&h.alternate===null&&(h.flags|=67108866),h}function l(h,g,y,x){return g===null||g.tag!==6?(g=Up(y,h.mode,x),g.return=h,g):(g=o(g,y),g.return=h,g)}function s(h,g,y,x){var R=y.type;return R===Fl?d(h,g,y.props.children,x,y.key):g!==null&&(g.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Ga&&$i(R)===g.type)?(g=o(g,y.props),ic(g,y),g.return=h,g):(g=bd(y.type,y.key,y.props,null,h.mode,x),ic(g,y),g.return=h,g)}function c(h,g,y,x){return g===null||g.tag!==4||g.stateNode.containerInfo!==y.containerInfo||g.stateNode.implementation!==y.implementation?(g=jp(y,h.mode,x),g.return=h,g):(g=o(g,y.children||[]),g.return=h,g)}function d(h,g,y,x,R){return g===null||g.tag!==7?(g=qi(y,h.mode,x,R),g.return=h,g):(g=o(g,y),g.return=h,g)}function u(h,g,y){if(typeof g=="string"&&g!==""||typeof g=="number"||typeof g=="bigint")return g=Up(""+g,h.mode,y),g.return=h,g;if(typeof g=="object"&&g!==null){switch(g.$$typeof){case Qu:return y=bd(g.type,g.key,g.props,null,h.mode,y),ic(y,g),y.return=h,y;case dc:return g=jp(g,h.mode,y),g.return=h,g;case Ga:return g=$i(g),u(h,g,y)}if(fc(g)||oc(g))return g=qi(g,h.mode,y,null),g.return=h,g;if(typeof g.then=="function")return u(h,ad(g),y);if(g.$$typeof===ha)return u(h,od(h,g),y);id(h,g)}return null}function f(h,g,y,x){var R=g!==null?g.key:null;if(typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint")return R!==null?null:l(h,g,""+y,x);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Qu:return y.key===R?s(h,g,y,x):null;case dc:return y.key===R?c(h,g,y,x):null;case Ga:return y=$i(y),f(h,g,y,x)}if(fc(y)||oc(y))return R!==null?null:d(h,g,y,x,null);if(typeof y.then=="function")return f(h,g,ad(y),x);if(y.$$typeof===ha)return f(h,g,od(h,y),x);id(h,y)}return null}function m(h,g,y,x,R){if(typeof x=="string"&&x!==""||typeof x=="number"||typeof x=="bigint")return h=h.get(y)||null,l(g,h,""+x,R);if(typeof x=="object"&&x!==null){switch(x.$$typeof){case Qu:return h=h.get(x.key===null?y:x.key)||null,s(g,h,x,R);case dc:return h=h.get(x.key===null?y:x.key)||null,c(g,h,x,R);case Ga:return x=$i(x),m(h,g,y,x,R)}if(fc(x)||oc(x))return h=h.get(y)||null,d(g,h,x,R,null);if(typeof x.then=="function")return m(h,g,y,ad(x),R);if(x.$$typeof===ha)return m(h,g,y,od(g,x),R);id(g,x)}return null}function b(h,g,y,x){for(var R=null,w=null,E=g,C=g=0,M=null;E!==null&&C<y.length;C++){E.index>C?(M=E,E=null):M=E.sibling;var L=f(h,E,y[C],x);if(L===null){E===null&&(E=M);break}e&&E&&L.alternate===null&&t(h,E),g=a(L,g,C),w===null?R=L:w.sibling=L,w=L,E=M}if(C===y.length)return n(h,E),xt&&pa(h,C),R;if(E===null){for(;C<y.length;C++)E=u(h,y[C],x),E!==null&&(g=a(E,g,C),w===null?R=E:w.sibling=E,w=E);return xt&&pa(h,C),R}for(E=r(E);C<y.length;C++)M=m(E,h,C,y[C],x),M!==null&&(e&&M.alternate!==null&&E.delete(M.key===null?C:M.key),g=a(M,g,C),w===null?R=M:w.sibling=M,w=M);return e&&E.forEach(function(F){return t(h,F)}),xt&&pa(h,C),R}function p(h,g,y,x){if(y==null)throw Error(K(151));for(var R=null,w=null,E=g,C=g=0,M=null,L=y.next();E!==null&&!L.done;C++,L=y.next()){E.index>C?(M=E,E=null):M=E.sibling;var F=f(h,E,L.value,x);if(F===null){E===null&&(E=M);break}e&&E&&F.alternate===null&&t(h,E),g=a(F,g,C),w===null?R=F:w.sibling=F,w=F,E=M}if(L.done)return n(h,E),xt&&pa(h,C),R;if(E===null){for(;!L.done;C++,L=y.next())L=u(h,L.value,x),L!==null&&(g=a(L,g,C),w===null?R=L:w.sibling=L,w=L);return xt&&pa(h,C),R}for(E=r(E);!L.done;C++,L=y.next())L=m(E,h,C,L.value,x),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?C:L.key),g=a(L,g,C),w===null?R=L:w.sibling=L,w=L);return e&&E.forEach(function(z){return t(h,z)}),xt&&pa(h,C),R}function v(h,g,y,x){if(typeof y=="object"&&y!==null&&y.type===Fl&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Qu:e:{for(var R=y.key;g!==null;){if(g.key===R){if(R=y.type,R===Fl){if(g.tag===7){n(h,g.sibling),x=o(g,y.props.children),x.return=h,h=x;break e}}else if(g.elementType===R||typeof R=="object"&&R!==null&&R.$$typeof===Ga&&$i(R)===g.type){n(h,g.sibling),x=o(g,y.props),ic(x,y),x.return=h,h=x;break e}n(h,g);break}else t(h,g);g=g.sibling}y.type===Fl?(x=qi(y.props.children,h.mode,x,y.key),x.return=h,h=x):(x=bd(y.type,y.key,y.props,null,h.mode,x),ic(x,y),x.return=h,h=x)}return i(h);case dc:e:{for(R=y.key;g!==null;){if(g.key===R)if(g.tag===4&&g.stateNode.containerInfo===y.containerInfo&&g.stateNode.implementation===y.implementation){n(h,g.sibling),x=o(g,y.children||[]),x.return=h,h=x;break e}else{n(h,g);break}else t(h,g);g=g.sibling}x=jp(y,h.mode,x),x.return=h,h=x}return i(h);case Ga:return y=$i(y),v(h,g,y,x)}if(fc(y))return b(h,g,y,x);if(oc(y)){if(R=oc(y),typeof R!="function")throw Error(K(150));return y=R.call(y),p(h,g,y,x)}if(typeof y.then=="function")return v(h,g,ad(y),x);if(y.$$typeof===ha)return v(h,g,od(h,y),x);id(h,y)}return typeof y=="string"&&y!==""||typeof y=="number"||typeof y=="bigint"?(y=""+y,g!==null&&g.tag===6?(n(h,g.sibling),x=o(g,y),x.return=h,h=x):(n(h,g),x=Up(y,h.mode,x),x.return=h,h=x),i(h)):n(h,g)}return function(h,g,y,x){try{Bc=0;var R=v(h,g,y,x);return os=null,R}catch(E){if(E===Ss||E===df)throw E;var w=Mr(29,E,null,h.mode);return w.lanes=x,w.return=h,w}}}var Zi=Q0(!0),X0=Q0(!1),qa=!1;function wh(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Mg(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 ai(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function ii(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,(Rt&2)!==0){var o=r.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),r.pending=t,t=Bd(e),F0(e,null,n),t}return uf(e,r,t,n),Bd(e)}function xc(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,(n&4194048)!==0)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,g0(e,n)}}function Fp(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var o=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var i={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,n=n.next}while(n!==null);a===null?o=a=t:a=a.next=t}else o=a=t;n={baseState:r.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var kg=!1;function Sc(){if(kg){var e=rs;if(e!==null)throw e}}function wc(e,t,n,r){kg=!1;var o=e.updateQueue;qa=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,c=s.next;s.next=null,i===null?a=c:i.next=c,i=s;var d=e.alternate;d!==null&&(d=d.updateQueue,l=d.lastBaseUpdate,l!==i&&(l===null?d.firstBaseUpdate=c:l.next=c,d.lastBaseUpdate=s))}if(a!==null){var u=o.baseState;i=0,d=c=s=null,l=a;do{var f=l.lane&-536870913,m=f!==l.lane;if(m?(gt&f)===f:(r&f)===f){f!==0&&f===us&&(kg=!0),d!==null&&(d=d.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var b=e,p=l;f=t;var v=n;switch(p.tag){case 1:if(b=p.payload,typeof b=="function"){u=b.call(v,u,f);break e}u=b;break e;case 3:b.flags=b.flags&-65537|128;case 0:if(b=p.payload,f=typeof b=="function"?b.call(v,u,f):b,f==null)break e;u=Jt({},u,f);break e;case 2:qa=!0}}f=l.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=o.callbacks,m===null?o.callbacks=[f]:m.push(f))}else m={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},d===null?(c=d=m,s=u):d=d.next=m,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;m=l,l=m.next,m.next=null,o.lastBaseUpdate=m,o.shared.pending=null}}while(!0);d===null&&(s=u),o.baseState=s,o.firstBaseUpdate=c,o.lastBaseUpdate=d,a===null&&(o.shared.lanes=0),gi|=i,e.lanes=i,e.memoizedState=u}}function J0(e,t){if(typeof e!="function")throw Error(K(191,e));e.call(t)}function Z0(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)J0(n[e],t)}var ds=zo(null),Ud=zo(0);function sx(e,t){e=Na,Gt(Ud,e),Gt(ds,t),Na=e|t.baseLanes}function Og(){Gt(Ud,Na),Gt(ds,ds.current)}function Ah(){Na=Ud.current,Fn(ds),Fn(Ud)}var Ir=zo(null),Zr=null;function Ya(e){var t=e.alternate;Gt(bn,bn.current&1),Gt(Ir,e),Zr===null&&(t===null||ds.current!==null||t.memoizedState!==null)&&(Zr=e)}function _g(e){Gt(bn,bn.current),Gt(Ir,e),Zr===null&&(Zr=e)}function eS(e){e.tag===22?(Gt(bn,bn.current),Gt(Ir,e),Zr===null&&(Zr=e)):Qa(e)}function Qa(){Gt(bn,bn.current),Gt(Ir,Ir.current)}function Tr(e){Fn(Ir),Zr===e&&(Zr=null),Fn(bn)}var bn=zo(0);function jd(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||Xg(n)||Jg(n)))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 Aa=0,tt=null,Pt=null,Rn=null,Vd=!1,as=!1,el=!1,Fd=0,Ic=0,is=null,BO=0;function pn(){throw Error(K(321))}function Ch(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Br(e[n],t[n]))return!1;return!0}function Rh(e,t,n,r,o,a){return Aa=a,tt=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,Fe.H=e===null||e.memoizedState===null?OS:Ih,el=!1,a=n(r,o),el=!1,as&&(a=nS(t,n,r,o)),tS(e),a}function tS(e){Fe.H=zc;var t=Pt!==null&&Pt.next!==null;if(Aa=0,Rn=Pt=tt=null,Vd=!1,Ic=0,is=null,t)throw Error(K(300));e===null||Tn||(e=e.dependencies,e!==null&&zd(e)&&(Tn=!0))}function nS(e,t,n,r){tt=e;var o=0;do{if(as&&(is=null),Ic=0,as=!1,25<=o)throw Error(K(301));if(o+=1,Rn=Pt=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}Fe.H=_S,a=t(n,r)}while(as);return a}function IO(){var e=Fe.H,t=e.useState()[0];return t=typeof t.then=="function"?Qc(t):t,e=e.useState()[0],(Pt!==null?Pt.memoizedState:null)!==e&&(tt.flags|=1024),t}function Nh(){var e=Fd!==0;return Fd=0,e}function Eh(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function Th(e){if(Vd){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Vd=!1}Aa=0,Rn=Pt=tt=null,as=!1,Ic=Fd=0,is=null}function ir(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Rn===null?tt.memoizedState=Rn=e:Rn=Rn.next=e,Rn}function vn(){if(Pt===null){var e=tt.alternate;e=e!==null?e.memoizedState:null}else e=Pt.next;var t=Rn===null?tt.memoizedState:Rn.next;if(t!==null)Rn=t,Pt=e;else{if(e===null)throw tt.alternate===null?Error(K(467)):Error(K(310));Pt=e,e={memoizedState:Pt.memoizedState,baseState:Pt.baseState,baseQueue:Pt.baseQueue,queue:Pt.queue,next:null},Rn===null?tt.memoizedState=Rn=e:Rn=Rn.next=e}return Rn}function ff(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Qc(e){var t=Ic;return Ic+=1,is===null&&(is=[]),e=Y0(is,e,t),t=tt,(Rn===null?t.memoizedState:Rn.next)===null&&(t=t.alternate,Fe.H=t===null||t.memoizedState===null?OS:Ih),e}function mf(e){if(e!==null&&typeof e=="object"){if(typeof e.then=="function")return Qc(e);if(e.$$typeof===ha)return Yn(e)}throw Error(K(438,String(e)))}function Mh(e){var t=null,n=tt.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=tt.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(o){return o.slice()}),index:0})))}if(t==null&&(t={data:[],index:0}),n===null&&(n=ff(),tt.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=Sk;return t.index++,n}function Ca(e,t){return typeof t=="function"?t(e):t}function xd(e){var t=vn();return kh(t,Pt,e)}function kh(e,t,n){var r=e.queue;if(r===null)throw Error(K(311));r.lastRenderedReducer=n;var o=e.baseQueue,a=r.pending;if(a!==null){if(o!==null){var i=o.next;o.next=a.next,a.next=i}t.baseQueue=o=a,r.pending=null}if(a=e.baseState,o===null)e.memoizedState=a;else{t=o.next;var l=i=null,s=null,c=t,d=!1;do{var u=c.lane&-536870913;if(u!==c.lane?(gt&u)===u:(Aa&u)===u){var f=c.revertLane;if(f===0)s!==null&&(s=s.next={lane:0,revertLane:0,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),u===us&&(d=!0);else if((Aa&f)===f){c=c.next,f===us&&(d=!0);continue}else u={lane:0,revertLane:c.revertLane,gesture:null,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=u,i=a):s=s.next=u,tt.lanes|=f,gi|=f;u=c.action,el&&n(a,u),a=c.hasEagerState?c.eagerState:n(a,u)}else f={lane:u,revertLane:c.revertLane,gesture:c.gesture,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null},s===null?(l=s=f,i=a):s=s.next=f,tt.lanes|=u,gi|=u;c=c.next}while(c!==null&&c!==t);if(s===null?i=a:s.next=l,!Br(a,e.memoizedState)&&(Tn=!0,d&&(n=rs,n!==null)))throw n;e.memoizedState=a,e.baseState=i,e.baseQueue=s,r.lastRenderedState=a}return o===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Hp(e){var t=vn(),n=t.queue;if(n===null)throw Error(K(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,a=t.memoizedState;if(o!==null){n.pending=null;var i=o=o.next;do a=e(a,i.action),i=i.next;while(i!==o);Br(a,t.memoizedState)||(Tn=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function rS(e,t,n){var r=tt,o=vn(),a=xt;if(a){if(n===void 0)throw Error(K(407));n=n()}else n=t();var i=!Br((Pt||o).memoizedState,n);if(i&&(o.memoizedState=n,Tn=!0),o=o.queue,Oh(iS.bind(null,r,o,e),[e]),o.getSnapshot!==t||i||Rn!==null&&Rn.memoizedState.tag&1){if(r.flags|=2048,fs(9,{destroy:void 0},aS.bind(null,r,o,n,t),null),$t===null)throw Error(K(349));a||(Aa&127)!==0||oS(r,t,n)}return n}function oS(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=tt.updateQueue,t===null?(t=ff(),tt.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function aS(e,t,n,r){t.value=n,t.getSnapshot=r,lS(t)&&sS(e)}function iS(e,t,n){return n(function(){lS(t)&&sS(e)})}function lS(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Br(e,n)}catch{return!0}}function sS(e){var t=al(e,2);t!==null&&gr(t,e,2)}function Lg(e){var t=ir();if(typeof e=="function"){var n=e;if(e=n(),el){Ja(!0);try{n()}finally{Ja(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:e},t}function cS(e,t,n,r){return e.baseState=n,kh(e,Pt,typeof r=="function"?r:Ca)}function zO(e,t,n,r,o){if(gf(e))throw Error(K(485));if(e=t.action,e!==null){var a={payload:o,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(i){a.listeners.push(i)}};Fe.T!==null?n(!0):a.isTransition=!1,r(a),n=t.pending,n===null?(a.next=t.pending=a,uS(t,a)):(a.next=n.next,t.pending=n.next=a)}}function uS(e,t){var n=t.action,r=t.payload,o=e.state;if(t.isTransition){var a=Fe.T,i={};Fe.T=i;try{var l=n(o,r),s=Fe.S;s!==null&&s(i,l),cx(e,t,l)}catch(c){Dg(e,t,c)}finally{a!==null&&i.types!==null&&(a.types=i.types),Fe.T=a}}else try{a=n(o,r),cx(e,t,a)}catch(c){Dg(e,t,c)}}function cx(e,t,n){n!==null&&typeof n=="object"&&typeof n.then=="function"?n.then(function(r){ux(e,t,r)},function(r){return Dg(e,t,r)}):ux(e,t,n)}function ux(e,t,n){t.status="fulfilled",t.value=n,dS(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,uS(e,n)))}function Dg(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status="rejected",t.reason=n,dS(t),t=t.next;while(t!==r)}e.action=null}function dS(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function fS(e,t){return t}function dx(e,t){if(xt){var n=$t.formState;if(n!==null){e:{var r=tt;if(xt){if(Xt){t:{for(var o=Xt,a=Jr;o.nodeType!==8;){if(!a){o=null;break t}if(o=eo(o.nextSibling),o===null){o=null;break t}}a=o.data,o=a==="F!"||a==="F"?o:null}if(o){Xt=eo(o.nextSibling),r=o.data==="F!";break e}}mi(r)}r=!1}r&&(t=n[0])}}return n=ir(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:fS,lastRenderedState:t},n.queue=r,n=TS.bind(null,tt,r),r.dispatch=n,r=Lg(!1),a=Bh.bind(null,tt,!1,r.queue),r=ir(),o={state:t,dispatch:null,action:e,pending:null},r.queue=o,n=zO.bind(null,tt,o,a,n),o.dispatch=n,r.memoizedState=e,[t,n,!1]}function fx(e){var t=vn();return mS(t,Pt,e)}function mS(e,t,n){if(t=kh(e,t,fS)[0],e=xd(Ca)[0],typeof t=="object"&&t!==null&&typeof t.then=="function")try{var r=Qc(t)}catch(i){throw i===Ss?df:i}else r=t;t=vn();var o=t.queue,a=o.dispatch;return n!==t.memoizedState&&(tt.flags|=2048,fs(9,{destroy:void 0},PO.bind(null,o,n),null)),[r,a,e]}function PO(e,t){e.action=t}function mx(e){var t=vn(),n=Pt;if(n!==null)return mS(t,n,e);vn(),t=t.memoizedState,n=vn();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function fs(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=tt.updateQueue,t===null&&(t=ff(),tt.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function pS(){return vn().memoizedState}function Sd(e,t,n,r){var o=ir();tt.flags|=e,o.memoizedState=fs(1|t,{destroy:void 0},n,r===void 0?null:r)}function pf(e,t,n,r){var o=vn();r=r===void 0?null:r;var a=o.memoizedState.inst;Pt!==null&&r!==null&&Ch(r,Pt.memoizedState.deps)?o.memoizedState=fs(t,a,n,r):(tt.flags|=e,o.memoizedState=fs(1|t,a,n,r))}function px(e,t){Sd(8390656,8,e,t)}function Oh(e,t){pf(2048,8,e,t)}function UO(e){tt.flags|=4;var t=tt.updateQueue;if(t===null)t=ff(),tt.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function gS(e){var t=vn().memoizedState;return UO({ref:t,nextImpl:e}),function(){if((Rt&2)!==0)throw Error(K(440));return t.impl.apply(void 0,arguments)}}function hS(e,t){return pf(4,2,e,t)}function yS(e,t){return pf(4,4,e,t)}function bS(e,t){if(typeof t=="function"){e=e();var n=t(e);return function(){typeof n=="function"?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function vS(e,t,n){n=n!=null?n.concat([e]):null,pf(4,4,bS.bind(null,t,e),n)}function _h(){}function xS(e,t){var n=vn();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Ch(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function SS(e,t){var n=vn();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Ch(t,r[1]))return r[0];if(r=e(),el){Ja(!0);try{e()}finally{Ja(!1)}}return n.memoizedState=[r,t],r}function Lh(e,t,n){return n===void 0||(Aa&1073741824)!==0&&(gt&261930)===0?e.memoizedState=t:(e.memoizedState=n,e=cw(),tt.lanes|=e,gi|=e,n)}function wS(e,t,n,r){return Br(n,t)?n:ds.current!==null?(e=Lh(e,n,r),Br(e,t)||(Tn=!0),e):(Aa&42)===0||(Aa&1073741824)!==0&&(gt&261930)===0?(Tn=!0,e.memoizedState=n):(e=cw(),tt.lanes|=e,gi|=e,t)}function AS(e,t,n,r,o){var a=Nt.p;Nt.p=a!==0&&8>a?a:8;var i=Fe.T,l={};Fe.T=l,Bh(e,!1,t,n);try{var s=o(),c=Fe.S;if(c!==null&&c(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var d=DO(s,r);Ac(e,t,d,Dr(e))}else Ac(e,t,r,Dr(e))}catch(u){Ac(e,t,{then:function(){},status:"rejected",reason:u},Dr())}finally{Nt.p=a,i!==null&&l.types!==null&&(i.types=l.types),Fe.T=i}}function jO(){}function Bg(e,t,n,r){if(e.tag!==5)throw Error(K(476));var o=CS(e).queue;AS(e,o,t,Gi,n===null?jO:function(){return RS(e),n(r)})}function CS(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Gi,baseState:Gi,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:Gi},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ca,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function RS(e){var t=CS(e);t.next===null&&(t=e.alternate.memoizedState),Ac(e,t.next.queue,{},Dr())}function Dh(){return Yn(jc)}function NS(){return vn().memoizedState}function ES(){return vn().memoizedState}function VO(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Dr();e=ai(n);var r=ii(t,e,n);r!==null&&(gr(r,t,n),xc(r,t,n)),t={cache:vh()},e.payload=t;return}t=t.return}}function FO(e,t,n){var r=Dr();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},gf(e)?MS(t,n):(n=gh(e,t,n,r),n!==null&&(gr(n,e,r),kS(n,t,r)))}function TS(e,t,n){var r=Dr();Ac(e,t,n,r)}function Ac(e,t,n,r){var o={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(gf(e))MS(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,n);if(o.hasEagerState=!0,o.eagerState=l,Br(l,i))return uf(e,t,o,0),$t===null&&cf(),!1}catch{}if(n=gh(e,t,o,r),n!==null)return gr(n,e,r),kS(n,t,r),!0}return!1}function Bh(e,t,n,r){if(r={lane:2,revertLane:$h(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},gf(e)){if(t)throw Error(K(479))}else t=gh(e,n,r,2),t!==null&&gr(t,e,2)}function gf(e){var t=e.alternate;return e===tt||t!==null&&t===tt}function MS(e,t){as=Vd=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function kS(e,t,n){if((n&4194048)!==0){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,g0(e,n)}}var zc={readContext:Yn,use:mf,useCallback:pn,useContext:pn,useEffect:pn,useImperativeHandle:pn,useLayoutEffect:pn,useInsertionEffect:pn,useMemo:pn,useReducer:pn,useRef:pn,useState:pn,useDebugValue:pn,useDeferredValue:pn,useTransition:pn,useSyncExternalStore:pn,useId:pn,useHostTransitionStatus:pn,useFormState:pn,useActionState:pn,useOptimistic:pn,useMemoCache:pn,useCacheRefresh:pn};zc.useEffectEvent=pn;var OS={readContext:Yn,use:mf,useCallback:function(e,t){return ir().memoizedState=[e,t===void 0?null:t],e},useContext:Yn,useEffect:px,useImperativeHandle:function(e,t,n){n=n!=null?n.concat([e]):null,Sd(4194308,4,bS.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Sd(4194308,4,e,t)},useInsertionEffect:function(e,t){Sd(4,2,e,t)},useMemo:function(e,t){var n=ir();t=t===void 0?null:t;var r=e();if(el){Ja(!0);try{e()}finally{Ja(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ir();if(n!==void 0){var o=n(t);if(el){Ja(!0);try{n(t)}finally{Ja(!1)}}}else o=t;return r.memoizedState=r.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},r.queue=e,e=e.dispatch=FO.bind(null,tt,e),[r.memoizedState,e]},useRef:function(e){var t=ir();return e={current:e},t.memoizedState=e},useState:function(e){e=Lg(e);var t=e.queue,n=TS.bind(null,tt,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:_h,useDeferredValue:function(e,t){var n=ir();return Lh(n,e,t)},useTransition:function(){var e=Lg(!1);return e=AS.bind(null,tt,e.queue,!0,!1),ir().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=tt,o=ir();if(xt){if(n===void 0)throw Error(K(407));n=n()}else{if(n=t(),$t===null)throw Error(K(349));(gt&127)!==0||oS(r,t,n)}o.memoizedState=n;var a={value:n,getSnapshot:t};return o.queue=a,px(iS.bind(null,r,a,e),[e]),r.flags|=2048,fs(9,{destroy:void 0},aS.bind(null,r,a,n,t),null),n},useId:function(){var e=ir(),t=$t.identifierPrefix;if(xt){var n=Do,r=Lo;n=(r&~(1<<32-Lr(r)-1)).toString(32)+n,t="_"+t+"R_"+n,n=Fd++,0<n&&(t+="H"+n.toString(32)),t+="_"}else n=BO++,t="_"+t+"r_"+n.toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:Dh,useFormState:dx,useActionState:dx,useOptimistic:function(e){var t=ir();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Bh.bind(null,tt,!0,n),n.dispatch=t,[e,t]},useMemoCache:Mh,useCacheRefresh:function(){return ir().memoizedState=VO.bind(null,tt)},useEffectEvent:function(e){var t=ir(),n={impl:e};return t.memoizedState=n,function(){if((Rt&2)!==0)throw Error(K(440));return n.impl.apply(void 0,arguments)}}},Ih={readContext:Yn,use:mf,useCallback:xS,useContext:Yn,useEffect:Oh,useImperativeHandle:vS,useInsertionEffect:hS,useLayoutEffect:yS,useMemo:SS,useReducer:xd,useRef:pS,useState:function(){return xd(Ca)},useDebugValue:_h,useDeferredValue:function(e,t){var n=vn();return wS(n,Pt.memoizedState,e,t)},useTransition:function(){var e=xd(Ca)[0],t=vn().memoizedState;return[typeof e=="boolean"?e:Qc(e),t]},useSyncExternalStore:rS,useId:NS,useHostTransitionStatus:Dh,useFormState:fx,useActionState:fx,useOptimistic:function(e,t){var n=vn();return cS(n,Pt,e,t)},useMemoCache:Mh,useCacheRefresh:ES};Ih.useEffectEvent=gS;var _S={readContext:Yn,use:mf,useCallback:xS,useContext:Yn,useEffect:Oh,useImperativeHandle:vS,useInsertionEffect:hS,useLayoutEffect:yS,useMemo:SS,useReducer:Hp,useRef:pS,useState:function(){return Hp(Ca)},useDebugValue:_h,useDeferredValue:function(e,t){var n=vn();return Pt===null?Lh(n,e,t):wS(n,Pt.memoizedState,e,t)},useTransition:function(){var e=Hp(Ca)[0],t=vn().memoizedState;return[typeof e=="boolean"?e:Qc(e),t]},useSyncExternalStore:rS,useId:NS,useHostTransitionStatus:Dh,useFormState:mx,useActionState:mx,useOptimistic:function(e,t){var n=vn();return Pt!==null?cS(n,Pt,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:Mh,useCacheRefresh:ES};_S.useEffectEvent=gS;function $p(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:Jt({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ig={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Dr(),o=ai(r);o.payload=t,n!=null&&(o.callback=n),t=ii(e,o,r),t!==null&&(gr(t,e,r),xc(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Dr(),o=ai(r);o.tag=1,o.payload=t,n!=null&&(o.callback=n),t=ii(e,o,r),t!==null&&(gr(t,e,r),xc(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Dr(),r=ai(n);r.tag=2,t!=null&&(r.callback=t),t=ii(e,r,n),t!==null&&(gr(t,e,n),xc(t,e,n))}};function gx(e,t,n,r,o,a,i){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(r,a,i):t.prototype&&t.prototype.isPureReactComponent?!_c(n,r)||!_c(o,a):!0}function hx(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ig.enqueueReplaceState(t,t.state,null)}function tl(e,t){var n=t;if("ref"in t){n={};for(var r in t)r!=="ref"&&(n[r]=t[r])}if(e=e.defaultProps){n===t&&(n=Jt({},n));for(var o in e)n[o]===void 0&&(n[o]=e[o])}return n}function LS(e){Dd(e)}function DS(e){console.error(e)}function BS(e){Dd(e)}function Hd(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(r){setTimeout(function(){throw r})}}function yx(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(o){setTimeout(function(){throw o})}}function zg(e,t,n){return n=ai(n),n.tag=3,n.payload={element:null},n.callback=function(){Hd(e,t)},n}function IS(e){return e=ai(e),e.tag=3,e}function zS(e,t,n,r){var o=n.type.getDerivedStateFromError;if(typeof o=="function"){var a=r.value;e.payload=function(){return o(a)},e.callback=function(){yx(t,n,r)}}var i=n.stateNode;i!==null&&typeof i.componentDidCatch=="function"&&(e.callback=function(){yx(t,n,r),typeof o!="function"&&(li===null?li=new Set([this]):li.add(this));var l=r.stack;this.componentDidCatch(r.value,{componentStack:l!==null?l:""})})}function HO(e,t,n,r,o){if(n.flags|=32768,r!==null&&typeof r=="object"&&typeof r.then=="function"){if(t=n.alternate,t!==null&&xs(t,n,o,!0),n=Ir.current,n!==null){switch(n.tag){case 31:case 13:return Zr===null?Wd():n.alternate===null&&gn===0&&(gn=3),n.flags&=-257,n.flags|=65536,n.lanes=o,r===Pd?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),tg(e,r,o)),!1;case 22:return n.flags|=65536,r===Pd?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),tg(e,r,o)),!1}throw Error(K(435,n.tag))}return tg(e,r,o),Wd(),!1}if(xt)return t=Ir.current,t!==null?((t.flags&65536)===0&&(t.flags|=256),t.flags|=65536,t.lanes=o,r!==Cg&&(e=Error(K(422),{cause:r}),Dc(Xr(e,n)))):(r!==Cg&&(t=Error(K(423),{cause:r}),Dc(Xr(t,n))),e=e.current.alternate,e.flags|=65536,o&=-o,e.lanes|=o,r=Xr(r,n),o=zg(e.stateNode,r,o),Fp(e,o),gn!==4&&(gn=2)),!1;var a=Error(K(520),{cause:r});if(a=Xr(a,n),Nc===null?Nc=[a]:Nc.push(a),gn!==4&&(gn=2),t===null)return!0;r=Xr(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=o&-o,n.lanes|=e,e=zg(n.stateNode,r,e),Fp(n,e),!1;case 1:if(t=n.type,a=n.stateNode,(n.flags&128)===0&&(typeof t.getDerivedStateFromError=="function"||a!==null&&typeof a.componentDidCatch=="function"&&(li===null||!li.has(a))))return n.flags|=65536,o&=-o,n.lanes|=o,o=IS(o),zS(o,e,n,r),Fp(n,o),!1}n=n.return}while(n!==null);return!1}var zh=Error(K(461)),Tn=!1;function Gn(e,t,n,r){t.child=e===null?X0(t,null,n,r):Zi(t,e.child,n,r)}function bx(e,t,n,r,o){n=n.render;var a=t.ref;if("ref"in r){var i={};for(var l in r)l!=="ref"&&(i[l]=r[l])}else i=r;return Ji(t),r=Rh(e,t,n,i,a,o),l=Nh(),e!==null&&!Tn?(Eh(e,t,o),Ra(e,t,o)):(xt&&l&&yh(t),t.flags|=1,Gn(e,t,r,o),t.child)}function vx(e,t,n,r,o){if(e===null){var a=n.type;return typeof a=="function"&&!hh(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,PS(e,t,a,r,o)):(e=bd(n.type,null,r,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Ph(e,o)){var i=a.memoizedProps;if(n=n.compare,n=n!==null?n:_c,n(i,r)&&e.ref===t.ref)return Ra(e,t,o)}return t.flags|=1,e=va(a,r),e.ref=t.ref,e.return=t,t.child=e}function PS(e,t,n,r,o){if(e!==null){var a=e.memoizedProps;if(_c(a,r)&&e.ref===t.ref)if(Tn=!1,t.pendingProps=r=a,Ph(e,o))(e.flags&131072)!==0&&(Tn=!0);else return t.lanes=e.lanes,Ra(e,t,o)}return Pg(e,t,n,r,o)}function US(e,t,n,r){var o=r.children,a=e!==null?e.memoizedState:null;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode==="hidden"){if((t.flags&128)!==0){if(a=a!==null?a.baseLanes|n:n,e!==null){for(r=t.child=e.child,o=0;r!==null;)o=o|r.lanes|r.childLanes,r=r.sibling;r=o&~a}else r=0,t.child=null;return xx(e,t,a,n,r)}if((n&536870912)!==0)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&vd(t,a!==null?a.cachePool:null),a!==null?sx(t,a):Og(),eS(t);else return r=t.lanes=536870912,xx(e,t,a!==null?a.baseLanes|n:n,n,r)}else a!==null?(vd(t,a.cachePool),sx(t,a),Qa(t),t.memoizedState=null):(e!==null&&vd(t,null),Og(),Qa(t));return Gn(e,t,o,n),t.child}function pc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function xx(e,t,n,r,o){var a=xh();return a=a===null?null:{parent:En._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&vd(t,null),Og(),eS(t),e!==null&&xs(e,t,r,!0),t.childLanes=o,null}function wd(e,t){return t=$d({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Sx(e,t,n){return Zi(t,e.child,null,n),e=wd(t,t.pendingProps),e.flags|=2,Tr(t),t.memoizedState=null,e}function $O(e,t,n){var r=t.pendingProps,o=(t.flags&128)!==0;if(t.flags&=-129,e===null){if(xt){if(r.mode==="hidden")return e=wd(t,r),t.lanes=536870912,pc(null,e);if(_g(t),(e=Xt)?(e=Ow(e,Jr),e=e!==null&&e.data==="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fi!==null?{id:Lo,overflow:Do}:null,retryLane:536870912,hydrationErrors:null},n=$0(e),n.return=t,t.child=n,Wn=t,Xt=null)):e=null,e===null)throw mi(t);return t.lanes=536870912,null}return wd(t,r)}var a=e.memoizedState;if(a!==null){var i=a.dehydrated;if(_g(t),o)if(t.flags&256)t.flags&=-257,t=Sx(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(K(558));else if(Tn||xs(e,t,n,!1),o=(n&e.childLanes)!==0,Tn||o){if(r=$t,r!==null&&(i=h0(r,n),i!==0&&i!==a.retryLane))throw a.retryLane=i,al(e,i),gr(r,e,i),zh;Wd(),t=Sx(e,t,n)}else e=a.treeContext,Xt=eo(i.nextSibling),Wn=t,xt=!0,oi=null,Jr=!1,e!==null&&G0(t,e),t=wd(t,r),t.flags|=4096;return t}return e=va(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Ad(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!="function"&&typeof n!="object")throw Error(K(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Pg(e,t,n,r,o){return Ji(t),n=Rh(e,t,n,r,void 0,o),r=Nh(),e!==null&&!Tn?(Eh(e,t,o),Ra(e,t,o)):(xt&&r&&yh(t),t.flags|=1,Gn(e,t,n,o),t.child)}function wx(e,t,n,r,o,a){return Ji(t),t.updateQueue=null,n=nS(t,r,n,o),tS(e),r=Nh(),e!==null&&!Tn?(Eh(e,t,a),Ra(e,t,a)):(xt&&r&&yh(t),t.flags|=1,Gn(e,t,n,a),t.child)}function Ax(e,t,n,r,o){if(Ji(t),t.stateNode===null){var a=Ql,i=n.contextType;typeof i=="object"&&i!==null&&(a=Yn(i)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ig,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},wh(t),i=n.contextType,a.context=typeof i=="object"&&i!==null?Yn(i):Ql,a.state=t.memoizedState,i=n.getDerivedStateFromProps,typeof i=="function"&&($p(t,n,i,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps=="function"||typeof a.getSnapshotBeforeUpdate=="function"||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(i=a.state,typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount(),i!==a.state&&Ig.enqueueReplaceState(a,a.state,null),wc(t,r,a,o),Sc(),a.state=t.memoizedState),typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var l=t.memoizedProps,s=tl(n,l);a.props=s;var c=a.context,d=n.contextType;i=Ql,typeof d=="object"&&d!==null&&(i=Yn(d));var u=n.getDerivedStateFromProps;d=typeof u=="function"||typeof a.getSnapshotBeforeUpdate=="function",l=t.pendingProps!==l,d||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(l||c!==i)&&hx(t,a,r,i),qa=!1;var f=t.memoizedState;a.state=f,wc(t,r,a,o),Sc(),c=t.memoizedState,l||f!==c||qa?(typeof u=="function"&&($p(t,n,u,r),c=t.memoizedState),(s=qa||gx(t,n,s,r,f,c,i))?(d||typeof a.UNSAFE_componentWillMount!="function"&&typeof a.componentWillMount!="function"||(typeof a.componentWillMount=="function"&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount=="function"&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount=="function"&&(t.flags|=4194308)):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=c),a.props=r,a.state=c,a.context=i,r=s):(typeof a.componentDidMount=="function"&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Mg(e,t),i=t.memoizedProps,d=tl(n,i),a.props=d,u=t.pendingProps,f=a.context,c=n.contextType,s=Ql,typeof c=="object"&&c!==null&&(s=Yn(c)),l=n.getDerivedStateFromProps,(c=typeof l=="function"||typeof a.getSnapshotBeforeUpdate=="function")||typeof a.UNSAFE_componentWillReceiveProps!="function"&&typeof a.componentWillReceiveProps!="function"||(i!==u||f!==s)&&hx(t,a,r,s),qa=!1,f=t.memoizedState,a.state=f,wc(t,r,a,o),Sc();var m=t.memoizedState;i!==u||f!==m||qa||e!==null&&e.dependencies!==null&&zd(e.dependencies)?(typeof l=="function"&&($p(t,n,l,r),m=t.memoizedState),(d=qa||gx(t,n,d,r,f,m,s)||e!==null&&e.dependencies!==null&&zd(e.dependencies))?(c||typeof a.UNSAFE_componentWillUpdate!="function"&&typeof a.componentWillUpdate!="function"||(typeof a.componentWillUpdate=="function"&&a.componentWillUpdate(r,m,s),typeof a.UNSAFE_componentWillUpdate=="function"&&a.UNSAFE_componentWillUpdate(r,m,s)),typeof a.componentDidUpdate=="function"&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),a.props=r,a.state=m,a.context=s,r=d):(typeof a.componentDidUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!="function"||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Ad(e,t),r=(t.flags&128)!==0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!="function"?null:a.render(),t.flags|=1,e!==null&&r?(t.child=Zi(t,e.child,null,o),t.child=Zi(t,null,n,o)):Gn(e,t,n,o),t.memoizedState=a.state,e=t.child):e=Ra(e,t,o),e}function Cx(e,t,n,r){return Xi(),t.flags|=256,Gn(e,t,n,r),t.child}var Kp={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Gp(e){return{baseLanes:e,cachePool:W0()}}function qp(e,t,n){return e=e!==null?e.childLanes&~n:0,t&&(e|=kr),e}function jS(e,t,n){var r=t.pendingProps,o=!1,a=(t.flags&128)!==0,i;if((i=a)||(i=e!==null&&e.memoizedState===null?!1:(bn.current&2)!==0),i&&(o=!0,t.flags&=-129),i=(t.flags&32)!==0,t.flags&=-33,e===null){if(xt){if(o?Ya(t):Qa(t),(e=Xt)?(e=Ow(e,Jr),e=e!==null&&e.data!=="&"?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:fi!==null?{id:Lo,overflow:Do}:null,retryLane:536870912,hydrationErrors:null},n=$0(e),n.return=t,t.child=n,Wn=t,Xt=null)):e=null,e===null)throw mi(t);return Jg(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(Qa(t),o=t.mode,l=$d({mode:"hidden",children:l},o),r=qi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,r=t.child,r.memoizedState=Gp(n),r.childLanes=qp(e,i,n),t.memoizedState=Kp,pc(null,r)):(Ya(t),Ug(t,l))}var s=e.memoizedState;if(s!==null&&(l=s.dehydrated,l!==null)){if(a)t.flags&256?(Ya(t),t.flags&=-257,t=Wp(e,t,n)):t.memoizedState!==null?(Qa(t),t.child=e.child,t.flags|=128,t=null):(Qa(t),l=r.fallback,o=t.mode,r=$d({mode:"visible",children:r.children},o),l=qi(l,o,n,null),l.flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,Zi(t,e.child,null,n),r=t.child,r.memoizedState=Gp(n),r.childLanes=qp(e,i,n),t.memoizedState=Kp,t=pc(null,r));else if(Ya(t),Jg(l)){if(i=l.nextSibling&&l.nextSibling.dataset,i)var c=i.dgst;i=c,r=Error(K(419)),r.stack="",r.digest=i,Dc({value:r,source:null,stack:null}),t=Wp(e,t,n)}else if(Tn||xs(e,t,n,!1),i=(n&e.childLanes)!==0,Tn||i){if(i=$t,i!==null&&(r=h0(i,n),r!==0&&r!==s.retryLane))throw s.retryLane=r,al(e,r),gr(i,e,r),zh;Xg(l)||Wd(),t=Wp(e,t,n)}else Xg(l)?(t.flags|=192,t.child=e.child,t=null):(e=s.treeContext,Xt=eo(l.nextSibling),Wn=t,xt=!0,oi=null,Jr=!1,e!==null&&G0(t,e),t=Ug(t,r.children),t.flags|=4096);return t}return o?(Qa(t),l=r.fallback,o=t.mode,s=e.child,c=s.sibling,r=va(s,{mode:"hidden",children:r.children}),r.subtreeFlags=s.subtreeFlags&65011712,c!==null?l=va(c,l):(l=qi(l,o,n,null),l.flags|=2),l.return=t,r.return=t,r.sibling=l,t.child=r,pc(null,r),r=t.child,l=e.child.memoizedState,l===null?l=Gp(n):(o=l.cachePool,o!==null?(s=En._currentValue,o=o.parent!==s?{parent:s,pool:s}:o):o=W0(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=qp(e,i,n),t.memoizedState=Kp,pc(e.child,r)):(Ya(t),n=e.child,e=n.sibling,n=va(n,{mode:"visible",children:r.children}),n.return=t,n.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function Ug(e,t){return t=$d({mode:"visible",children:t},e.mode),t.return=e,e.child=t}function $d(e,t){return e=Mr(22,e,null,t),e.lanes=0,e}function Wp(e,t,n){return Zi(t,e.child,null,n),e=Ug(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Rx(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Ng(e.return,t,n)}function Yp(e,t,n,r,o,a){var i=e.memoizedState;i===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:o,treeForkCount:a}:(i.isBackwards=t,i.rendering=null,i.renderingStartTime=0,i.last=r,i.tail=n,i.tailMode=o,i.treeForkCount=a)}function VS(e,t,n){var r=t.pendingProps,o=r.revealOrder,a=r.tail;r=r.children;var i=bn.current,l=(i&2)!==0;if(l?(i=i&1|2,t.flags|=128):i&=1,Gt(bn,i),Gn(e,t,r,n),r=xt?Lc:0,!l&&e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Rx(e,n,t);else if(e.tag===19)Rx(e,n,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(n=t.child,o=null;n!==null;)e=n.alternate,e!==null&&jd(e)===null&&(o=n),n=n.sibling;n=o,n===null?(o=t.child,t.child=null):(o=n.sibling,n.sibling=null),Yp(t,!1,o,n,a,r);break;case"backwards":case"unstable_legacy-backwards":for(n=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&jd(e)===null){t.child=o;break}e=o.sibling,o.sibling=n,n=o,o=e}Yp(t,!0,n,null,a,r);break;case"together":Yp(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ra(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),gi|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(xs(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(K(153));if(t.child!==null){for(e=t.child,n=va(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=va(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Ph(e,t){return(e.lanes&t)!==0?!0:(e=e.dependencies,!!(e!==null&&zd(e)))}function KO(e,t,n){switch(t.tag){case 3:kd(t,t.stateNode.containerInfo),Wa(t,En,e.memoizedState.cache),Xi();break;case 27:case 5:mg(t);break;case 4:kd(t,t.stateNode.containerInfo);break;case 10:Wa(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,_g(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated!==null?(Ya(t),t.flags|=128,null):(n&t.child.childLanes)!==0?jS(e,t,n):(Ya(t),e=Ra(e,t,n),e!==null?e.sibling:null);Ya(t);break;case 19:var o=(e.flags&128)!==0;if(r=(n&t.childLanes)!==0,r||(xs(e,t,n,!1),r=(n&t.childLanes)!==0),o){if(r)return VS(e,t,n);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),Gt(bn,bn.current),r)break;return null;case 22:return t.lanes=0,US(e,t,n,t.pendingProps);case 24:Wa(t,En,e.memoizedState.cache)}return Ra(e,t,n)}function FS(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Tn=!0;else{if(!Ph(e,n)&&(t.flags&128)===0)return Tn=!1,KO(e,t,n);Tn=(e.flags&131072)!==0}else Tn=!1,xt&&(t.flags&1048576)!==0&&K0(t,Lc,t.index);switch(t.lanes=0,t.tag){case 16:e:{var r=t.pendingProps;if(e=$i(t.elementType),t.type=e,typeof e=="function")hh(e)?(r=tl(e,r),t.tag=1,t=Ax(null,t,e,r,n)):(t.tag=0,t=Pg(null,t,e,r,n));else{if(e!=null){var o=e.$$typeof;if(o===nh){t.tag=11,t=bx(null,t,e,r,n);break e}else if(o===rh){t.tag=14,t=vx(null,t,e,r,n);break e}}throw t=dg(e)||e,Error(K(306,t,""))}}return t;case 0:return Pg(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,o=tl(r,t.pendingProps),Ax(e,t,r,o,n);case 3:e:{if(kd(t,t.stateNode.containerInfo),e===null)throw Error(K(387));r=t.pendingProps;var a=t.memoizedState;o=a.element,Mg(e,t),wc(t,r,null,n);var i=t.memoizedState;if(r=i.cache,Wa(t,En,r),r!==a.cache&&Eg(t,[En],n,!0),Sc(),r=i.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:i.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=Cx(e,t,r,n);break e}else if(r!==o){o=Xr(Error(K(424)),t),Dc(o),t=Cx(e,t,r,n);break e}else for(e=t.stateNode.containerInfo,e.nodeType===9?e=e.body:e=e.nodeName==="HTML"?e.ownerDocument.body:e,Xt=eo(e.firstChild),Wn=t,xt=!0,oi=null,Jr=!0,n=X0(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Xi(),r===o){t=Ra(e,t,n);break e}Gn(e,t,r,n)}t=t.child}return t;case 26:return Ad(e,t),e===null?(n=qx(t.type,null,t.pendingProps,null))?t.memoizedState=n:xt||(n=t.type,e=t.pendingProps,r=Jd(ri.current).createElement(n),r[qn]=t,r[hr]=e,Qn(r,n,e),Vn(r),t.stateNode=r):t.memoizedState=qx(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return mg(t),e===null&&xt&&(r=t.stateNode=_w(t.type,t.pendingProps,ri.current),Wn=t,Jr=!0,o=Xt,yi(t.type)?(Zg=o,Xt=eo(r.firstChild)):Xt=o),Gn(e,t,t.pendingProps.children,n),Ad(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&xt&&((o=r=Xt)&&(r=v_(r,t.type,t.pendingProps,Jr),r!==null?(t.stateNode=r,Wn=t,Xt=eo(r.firstChild),Jr=!1,o=!0):o=!1),o||mi(t)),mg(t),o=t.type,a=t.pendingProps,i=e!==null?e.memoizedProps:null,r=a.children,Yg(o,a)?r=null:i!==null&&Yg(o,i)&&(t.flags|=32),t.memoizedState!==null&&(o=Rh(e,t,IO,null,null,n),jc._currentValue=o),Ad(e,t),Gn(e,t,r,n),t.child;case 6:return e===null&&xt&&((e=n=Xt)&&(n=x_(n,t.pendingProps,Jr),n!==null?(t.stateNode=n,Wn=t,Xt=null,e=!0):e=!1),e||mi(t)),null;case 13:return jS(e,t,n);case 4:return kd(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Zi(t,null,r,n):Gn(e,t,r,n),t.child;case 11:return bx(e,t,t.type,t.pendingProps,n);case 7:return Gn(e,t,t.pendingProps,n),t.child;case 8:return Gn(e,t,t.pendingProps.children,n),t.child;case 12:return Gn(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,Wa(t,t.type,r.value),Gn(e,t,r.children,n),t.child;case 9:return o=t.type._context,r=t.pendingProps.children,Ji(t),o=Yn(o),r=r(o),t.flags|=1,Gn(e,t,r,n),t.child;case 14:return vx(e,t,t.type,t.pendingProps,n);case 15:return PS(e,t,t.type,t.pendingProps,n);case 19:return VS(e,t,n);case 31:return $O(e,t,n);case 22:return US(e,t,n,t.pendingProps);case 24:return Ji(t),r=Yn(En),e===null?(o=xh(),o===null&&(o=$t,a=vh(),o.pooledCache=a,a.refCount++,a!==null&&(o.pooledCacheLanes|=n),o=a),t.memoizedState={parent:r,cache:o},wh(t),Wa(t,En,o)):((e.lanes&n)!==0&&(Mg(e,t),wc(t,null,null,n),Sc()),o=e.memoizedState,a=t.memoizedState,o.parent!==r?(o={parent:r,cache:r},t.memoizedState=o,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=o),Wa(t,En,r)):(r=a.cache,Wa(t,En,r),r!==o.cache&&Eg(t,[En],n,!0))),Gn(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(K(156,t.tag))}function ua(e){e.flags|=4}function Qp(e,t,n,r,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(fw())e.flags|=8192;else throw Yi=Pd,Sh}else e.flags&=-16777217}function Nx(e,t){if(t.type!=="stylesheet"||(t.state.loading&4)!==0)e.flags&=-16777217;else if(e.flags|=16777216,!Bw(t))if(fw())e.flags|=8192;else throw Yi=Pd,Sh}function ld(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag!==22?m0():536870912,e.lanes|=t,ms|=t)}function lc(e,t){if(!xt)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Qt(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags&65011712,r|=o.flags&65011712,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)n|=o.lanes|o.childLanes,r|=o.subtreeFlags,r|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function GO(e,t,n){var r=t.pendingProps;switch(bh(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qt(t),null;case 1:return Qt(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),xa(En),ls(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Pl(t)?ua(t):e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Vp())),Qt(t),null;case 26:var o=t.type,a=t.memoizedState;return e===null?(ua(t),a!==null?(Qt(t),Nx(t,a)):(Qt(t),Qp(t,o,null,r,n))):a?a!==e.memoizedState?(ua(t),Qt(t),Nx(t,a)):(Qt(t),t.flags&=-16777217):(e=e.memoizedProps,e!==r&&ua(t),Qt(t),Qp(t,o,e,r,n)),null;case 27:if(Od(t),n=ri.current,o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return Qt(t),null}e=Io.current,Pl(t)?tx(t,e):(e=_w(o,r,n),t.stateNode=e,ua(t))}return Qt(t),null;case 5:if(Od(t),o=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(!r){if(t.stateNode===null)throw Error(K(166));return Qt(t),null}if(a=Io.current,Pl(t))tx(t,a);else{var i=Jd(ri.current);switch(a){case 1:a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case 2:a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;default:switch(o){case"svg":a=i.createElementNS("http://www.w3.org/2000/svg",o);break;case"math":a=i.createElementNS("http://www.w3.org/1998/Math/MathML",o);break;case"script":a=i.createElement("div"),a.innerHTML="<script><\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof r.is=="string"?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is=="string"?i.createElement(o,{is:r.is}):i.createElement(o)}}a[qn]=t,a[hr]=r;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(Qn(a,o,r),o){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break e;case"img":r=!0;break e;default:r=!1}r&&ua(t)}}return Qt(t),Qp(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&ua(t);else{if(typeof r!="string"&&t.stateNode===null)throw Error(K(166));if(e=ri.current,Pl(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,o=Wn,o!==null)switch(o.tag){case 27:case 5:r=o.memoizedProps}e[qn]=t,e=!!(e.nodeValue===n||r!==null&&r.suppressHydrationWarning===!0||Tw(e.nodeValue,n)),e||mi(t,!0)}else e=Jd(e).createTextNode(r),e[qn]=t,t.stateNode=e}return Qt(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Pl(t),n!==null){if(e===null){if(!r)throw Error(K(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(K(557));e[qn]=t}else Xi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qt(t),e=!1}else n=Vp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Tr(t),t):(Tr(t),null);if((t.flags&128)!==0)throw Error(K(558))}return Qt(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Pl(t),r!==null&&r.dehydrated!==null){if(e===null){if(!o)throw Error(K(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(K(317));o[qn]=t}else Xi(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Qt(t),o=!1}else o=Vp(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(Tr(t),t):(Tr(t),null)}return Tr(t),(t.flags&128)!==0?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,o=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(o=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==o&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),ld(t,t.updateQueue),Qt(t),null);case 4:return ls(),e===null&&Kh(t.stateNode.containerInfo),Qt(t),null;case 10:return xa(t.type),Qt(t),null;case 19:if(Fn(bn),r=t.memoizedState,r===null)return Qt(t),null;if(o=(t.flags&128)!==0,a=r.rendering,a===null)if(o)lc(r,!1);else{if(gn!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=jd(e),a!==null){for(t.flags|=128,lc(r,!1),e=a.updateQueue,t.updateQueue=e,ld(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)H0(n,e),n=n.sibling;return Gt(bn,bn.current&1|2),xt&&pa(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Or()>Gd&&(t.flags|=128,o=!0,lc(r,!1),t.lanes=4194304)}else{if(!o)if(e=jd(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,ld(t,e),lc(r,!0),r.tail===null&&r.tailMode==="hidden"&&!a.alternate&&!xt)return Qt(t),null}else 2*Or()-r.renderingStartTime>Gd&&n!==536870912&&(t.flags|=128,o=!0,lc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e!==null?e.sibling=a:t.child=a,r.last=a)}return r.tail!==null?(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Or(),e.sibling=null,n=bn.current,Gt(bn,o?n&1|2:n&1),xt&&pa(t,r.treeForkCount),e):(Qt(t),null);case 22:case 23:return Tr(t),Ah(),r=t.memoizedState!==null,e!==null?e.memoizedState!==null!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?(n&536870912)!==0&&(t.flags&128)===0&&(Qt(t),t.subtreeFlags&6&&(t.flags|=8192)):Qt(t),n=t.updateQueue,n!==null&&ld(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Fn(Wi),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),xa(En),Qt(t),null;case 25:return null;case 30:return null}throw Error(K(156,t.tag))}function qO(e,t){switch(bh(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return xa(En),ls(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Od(t),null;case 31:if(t.memoizedState!==null){if(Tr(t),t.alternate===null)throw Error(K(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Tr(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(K(340));Xi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Fn(bn),null;case 4:return ls(),null;case 10:return xa(t.type),null;case 22:case 23:return Tr(t),Ah(),e!==null&&Fn(Wi),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return xa(En),null;case 25:return null;default:return null}}function HS(e,t){switch(bh(t),t.tag){case 3:xa(En),ls();break;case 26:case 27:case 5:Od(t);break;case 4:ls();break;case 31:t.memoizedState!==null&&Tr(t);break;case 13:Tr(t);break;case 19:Fn(bn);break;case 10:xa(t.type);break;case 22:case 23:Tr(t),Ah(),e!==null&&Fn(Wi);break;case 24:xa(En)}}function Xc(e,t){try{var n=t.updateQueue,r=n!==null?n.lastEffect:null;if(r!==null){var o=r.next;n=o;do{if((n.tag&e)===e){r=void 0;var a=n.create,i=n.inst;r=a(),i.destroy=r}n=n.next}while(n!==o)}}catch(l){Lt(t,t.return,l)}}function pi(e,t,n){try{var r=t.updateQueue,o=r!==null?r.lastEffect:null;if(o!==null){var a=o.next;r=a;do{if((r.tag&e)===e){var i=r.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=n,c=l;try{c()}catch(d){Lt(o,s,d)}}}r=r.next}while(r!==a)}}catch(d){Lt(t,t.return,d)}}function $S(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Z0(t,n)}catch(r){Lt(e,e.return,r)}}}function KS(e,t,n){n.props=tl(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(r){Lt(e,t,r)}}function Cc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n=="function"?e.refCleanup=n(r):n.current=r}}catch(o){Lt(e,t,o)}}function Bo(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r=="function")try{r()}catch(o){Lt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n=="function")try{n(null)}catch(o){Lt(e,t,o)}else n.current=null}function GS(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&r.focus();break e;case"img":n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(o){Lt(e,e.return,o)}}function Xp(e,t,n){try{var r=e.stateNode;m_(r,e.type,n,t),r[hr]=t}catch(o){Lt(e,e.return,o)}}function qS(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&yi(e.type)||e.tag===4}function Jp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||qS(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&&yi(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 jg(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName==="HTML"?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=ya));else if(r!==4&&(r===27&&yi(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(jg(e,t,n),e=e.sibling;e!==null;)jg(e,t,n),e=e.sibling}function Kd(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&yi(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kd(e,t,n),e=e.sibling;e!==null;)Kd(e,t,n),e=e.sibling}function WS(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);Qn(t,r,n),t[qn]=e,t[hr]=n}catch(a){Lt(e,e.return,a)}}var ga=!1,Nn=!1,Zp=!1,Ex=typeof WeakSet=="function"?WeakSet:Set,jn=null;function WO(e,t){if(e=e.containerInfo,qg=nf,e=B0(e),mh(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var o=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break e}var i=0,l=-1,s=-1,c=0,d=0,u=e,f=null;t:for(;;){for(var m;u!==n||o!==0&&u.nodeType!==3||(l=i+o),u!==a||r!==0&&u.nodeType!==3||(s=i+r),u.nodeType===3&&(i+=u.nodeValue.length),(m=u.firstChild)!==null;)f=u,u=m;for(;;){if(u===e)break t;if(f===n&&++c===o&&(l=i),f===a&&++d===r&&(s=i),(m=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=m}n=l===-1||s===-1?null:{start:l,end:s}}else n=null}n=n||{start:0,end:0}}else n=null;for(Wg={focusedElem:e,selectionRange:n},nf=!1,jn=t;jn!==null;)if(t=jn,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,jn=e;else for(;jn!==null;){switch(t=jn,a=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(n=0;n<e.length;n++)o=e[n],o.ref.impl=o.nextImpl;break;case 11:case 15:break;case 1:if((e&1024)!==0&&a!==null){e=void 0,n=t,o=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var b=tl(n.type,o);e=r.getSnapshotBeforeUpdate(b,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(p){Lt(n,n.return,p)}}break;case 3:if((e&1024)!==0){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)Qg(e);else if(n===1)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Qg(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(K(163))}if(e=t.sibling,e!==null){e.return=t.return,jn=e;break}jn=t.return}}function YS(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:fa(e,n),r&4&&Xc(5,n);break;case 1:if(fa(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(i){Lt(n,n.return,i)}else{var o=tl(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(o,t,e.__reactInternalSnapshotBeforeUpdate)}catch(i){Lt(n,n.return,i)}}r&64&&$S(n),r&512&&Cc(n,n.return);break;case 3:if(fa(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Z0(e,t)}catch(i){Lt(n,n.return,i)}}break;case 27:t===null&&r&4&&WS(n);case 26:case 5:fa(e,n),t===null&&r&4&&GS(n),r&512&&Cc(n,n.return);break;case 12:fa(e,n);break;case 31:fa(e,n),r&4&&JS(e,n);break;case 13:fa(e,n),r&4&&ZS(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=r_.bind(null,n),S_(e,n))));break;case 22:if(r=n.memoizedState!==null||ga,!r){t=t!==null&&t.memoizedState!==null||Nn,o=ga;var a=Nn;ga=r,(Nn=t)&&!a?ma(e,n,(n.subtreeFlags&8772)!==0):fa(e,n),ga=o,Nn=a}break;case 30:break;default:fa(e,n)}}function QS(e){var t=e.alternate;t!==null&&(e.alternate=null,QS(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&lh(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 nn=null,mr=!1;function da(e,t,n){for(n=n.child;n!==null;)XS(e,t,n),n=n.sibling}function XS(e,t,n){if(_r&&typeof _r.onCommitFiberUnmount=="function")try{_r.onCommitFiberUnmount($c,n)}catch{}switch(n.tag){case 26:Nn||Bo(n,t),da(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Nn||Bo(n,t);var r=nn,o=mr;yi(n.type)&&(nn=n.stateNode,mr=!1),da(e,t,n),Tc(n.stateNode),nn=r,mr=o;break;case 5:Nn||Bo(n,t);case 6:if(r=nn,o=mr,nn=null,da(e,t,n),nn=r,mr=o,nn!==null)if(mr)try{(nn.nodeType===9?nn.body:nn.nodeName==="HTML"?nn.ownerDocument.body:nn).removeChild(n.stateNode)}catch(a){Lt(n,t,a)}else try{nn.removeChild(n.stateNode)}catch(a){Lt(n,t,a)}break;case 18:nn!==null&&(mr?(e=nn,Fx(e.nodeType===9?e.body:e.nodeName==="HTML"?e.ownerDocument.body:e,n.stateNode),ys(e)):Fx(nn,n.stateNode));break;case 4:r=nn,o=mr,nn=n.stateNode.containerInfo,mr=!0,da(e,t,n),nn=r,mr=o;break;case 0:case 11:case 14:case 15:pi(2,n,t),Nn||pi(4,n,t),da(e,t,n);break;case 1:Nn||(Bo(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"&&KS(n,t,r)),da(e,t,n);break;case 21:da(e,t,n);break;case 22:Nn=(r=Nn)||n.memoizedState!==null,da(e,t,n),Nn=r;break;default:da(e,t,n)}}function JS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{ys(e)}catch(n){Lt(t,t.return,n)}}}function ZS(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{ys(e)}catch(n){Lt(t,t.return,n)}}function YO(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Ex),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Ex),t;default:throw Error(K(435,e.tag))}}function sd(e,t){var n=YO(e);t.forEach(function(r){if(!n.has(r)){n.add(r);var o=o_.bind(null,e,r);r.then(o,o)}})}function dr(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var o=n[r],a=e,i=t,l=i;e:for(;l!==null;){switch(l.tag){case 27:if(yi(l.type)){nn=l.stateNode,mr=!1;break e}break;case 5:nn=l.stateNode,mr=!1;break e;case 3:case 4:nn=l.stateNode.containerInfo,mr=!0;break e}l=l.return}if(nn===null)throw Error(K(160));XS(a,i,o),nn=null,mr=!1,a=o.alternate,a!==null&&(a.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ew(t,e),t=t.sibling}var bo=null;function ew(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:dr(t,e),fr(e),r&4&&(pi(3,e,e.return),Xc(3,e),pi(5,e,e.return));break;case 1:dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),r&64&&ga&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var o=bo;if(dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),r&4){var a=n!==null?n.memoizedState:null;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){e:{r=e.type,n=e.memoizedProps,o=o.ownerDocument||o;t:switch(r){case"title":a=o.getElementsByTagName("title")[0],(!a||a[qc]||a[qn]||a.namespaceURI==="http://www.w3.org/2000/svg"||a.hasAttribute("itemprop"))&&(a=o.createElement(r),o.head.insertBefore(a,o.querySelector("head > title"))),Qn(a,r,n),a[qn]=e,Vn(a),r=a;break e;case"link":var i=Yx("link","href",o).get(r+(n.href||""));if(i){for(var l=0;l<i.length;l++)if(a=i[l],a.getAttribute("href")===(n.href==null||n.href===""?null:n.href)&&a.getAttribute("rel")===(n.rel==null?null:n.rel)&&a.getAttribute("title")===(n.title==null?null:n.title)&&a.getAttribute("crossorigin")===(n.crossOrigin==null?null:n.crossOrigin)){i.splice(l,1);break t}}a=o.createElement(r),Qn(a,r,n),o.head.appendChild(a);break;case"meta":if(i=Yx("meta","content",o).get(r+(n.content||""))){for(l=0;l<i.length;l++)if(a=i[l],a.getAttribute("content")===(n.content==null?null:""+n.content)&&a.getAttribute("name")===(n.name==null?null:n.name)&&a.getAttribute("property")===(n.property==null?null:n.property)&&a.getAttribute("http-equiv")===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute("charset")===(n.charSet==null?null:n.charSet)){i.splice(l,1);break t}}a=o.createElement(r),Qn(a,r,n),o.head.appendChild(a);break;default:throw Error(K(468,r))}a[qn]=e,Vn(a),r=a}e.stateNode=r}else Qx(o,e.type,e.stateNode);else e.stateNode=Wx(o,r,e.memoizedProps);else a!==r?(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Qx(o,e.type,e.stateNode):Wx(o,r,e.memoizedProps)):r===null&&e.stateNode!==null&&Xp(e,e.memoizedProps,n.memoizedProps)}break;case 27:dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),n!==null&&r&4&&Xp(e,e.memoizedProps,n.memoizedProps);break;case 5:if(dr(t,e),fr(e),r&512&&(Nn||n===null||Bo(n,n.return)),e.flags&32){o=e.stateNode;try{cs(o,"")}catch(b){Lt(e,e.return,b)}}r&4&&e.stateNode!=null&&(o=e.memoizedProps,Xp(e,o,n!==null?n.memoizedProps:o)),r&1024&&(Zp=!0);break;case 6:if(dr(t,e),fr(e),r&4){if(e.stateNode===null)throw Error(K(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(b){Lt(e,e.return,b)}}break;case 3:if(Nd=null,o=bo,bo=Zd(t.containerInfo),dr(t,e),bo=o,fr(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{ys(t.containerInfo)}catch(b){Lt(e,e.return,b)}Zp&&(Zp=!1,tw(e));break;case 4:r=bo,bo=Zd(e.stateNode.containerInfo),dr(t,e),fr(e),bo=r;break;case 12:dr(t,e),fr(e);break;case 31:dr(t,e),fr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 13:dr(t,e),fr(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(hf=Or()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 22:o=e.memoizedState!==null;var s=n!==null&&n.memoizedState!==null,c=ga,d=Nn;if(ga=c||o,Nn=d||s,dr(t,e),Nn=d,ga=c,fr(e),r&8192)e:for(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,o&&(n===null||s||ga||Nn||Ki(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){s=n=t;try{if(a=s.stateNode,o)i=a.style,typeof i.setProperty=="function"?i.setProperty("display","none","important"):i.display="none";else{l=s.stateNode;var u=s.memoizedProps.style,f=u!=null&&u.hasOwnProperty("display")?u.display:null;l.style.display=f==null||typeof f=="boolean"?"":(""+f).trim()}}catch(b){Lt(s,s.return,b)}}}else if(t.tag===6){if(n===null){s=t;try{s.stateNode.nodeValue=o?"":s.memoizedProps}catch(b){Lt(s,s.return,b)}}}else if(t.tag===18){if(n===null){s=t;try{var m=s.stateNode;o?Hx(m,!0):Hx(s.stateNode,!1)}catch(b){Lt(s,s.return,b)}}}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;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,sd(e,n))));break;case 19:dr(t,e),fr(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,sd(e,r)));break;case 30:break;case 21:break;default:dr(t,e),fr(e)}}function fr(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(qS(r)){n=r;break}r=r.return}if(n==null)throw Error(K(160));switch(n.tag){case 27:var o=n.stateNode,a=Jp(e);Kd(e,a,o);break;case 5:var i=n.stateNode;n.flags&32&&(cs(i,""),n.flags&=-33);var l=Jp(e);Kd(e,l,i);break;case 3:case 4:var s=n.stateNode.containerInfo,c=Jp(e);jg(e,c,s);break;default:throw Error(K(161))}}catch(d){Lt(e,e.return,d)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function tw(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;tw(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function fa(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)YS(e,t.alternate,t),t=t.sibling}function Ki(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:pi(4,t,t.return),Ki(t);break;case 1:Bo(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount=="function"&&KS(t,t.return,n),Ki(t);break;case 27:Tc(t.stateNode);case 26:case 5:Bo(t,t.return),Ki(t);break;case 22:t.memoizedState===null&&Ki(t);break;case 30:Ki(t);break;default:Ki(t)}e=e.sibling}}function ma(e,t,n){for(n=n&&(t.subtreeFlags&8772)!==0,t=t.child;t!==null;){var r=t.alternate,o=e,a=t,i=a.flags;switch(a.tag){case 0:case 11:case 15:ma(o,a,n),Xc(4,a);break;case 1:if(ma(o,a,n),r=a,o=r.stateNode,typeof o.componentDidMount=="function")try{o.componentDidMount()}catch(c){Lt(r,r.return,c)}if(r=a,o=r.updateQueue,o!==null){var l=r.stateNode;try{var s=o.shared.hiddenCallbacks;if(s!==null)for(o.shared.hiddenCallbacks=null,o=0;o<s.length;o++)J0(s[o],l)}catch(c){Lt(r,r.return,c)}}n&&i&64&&$S(a),Cc(a,a.return);break;case 27:WS(a);case 26:case 5:ma(o,a,n),n&&r===null&&i&4&&GS(a),Cc(a,a.return);break;case 12:ma(o,a,n);break;case 31:ma(o,a,n),n&&i&4&&JS(o,a);break;case 13:ma(o,a,n),n&&i&4&&ZS(o,a);break;case 22:a.memoizedState===null&&ma(o,a,n),Cc(a,a.return);break;case 30:break;default:ma(o,a,n)}t=t.sibling}}function Uh(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Yc(n))}function jh(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yc(e))}function yo(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)nw(e,t,n,r),t=t.sibling}function nw(e,t,n,r){var o=t.flags;switch(t.tag){case 0:case 11:case 15:yo(e,t,n,r),o&2048&&Xc(9,t);break;case 1:yo(e,t,n,r);break;case 3:yo(e,t,n,r),o&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Yc(e)));break;case 12:if(o&2048){yo(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,i=a.id,l=a.onPostCommit;typeof l=="function"&&l(i,t.alternate===null?"mount":"update",e.passiveEffectDuration,-0)}catch(s){Lt(t,t.return,s)}}else yo(e,t,n,r);break;case 31:yo(e,t,n,r);break;case 13:yo(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,i=t.alternate,t.memoizedState!==null?a._visibility&2?yo(e,t,n,r):Rc(e,t):a._visibility&2?yo(e,t,n,r):(a._visibility|=2,jl(e,t,n,r,(t.subtreeFlags&10256)!==0||!1)),o&2048&&Uh(i,t);break;case 24:yo(e,t,n,r),o&2048&&jh(t.alternate,t);break;default:yo(e,t,n,r)}}function jl(e,t,n,r,o){for(o=o&&((t.subtreeFlags&10256)!==0||!1),t=t.child;t!==null;){var a=e,i=t,l=n,s=r,c=i.flags;switch(i.tag){case 0:case 11:case 15:jl(a,i,l,s,o),Xc(8,i);break;case 23:break;case 22:var d=i.stateNode;i.memoizedState!==null?d._visibility&2?jl(a,i,l,s,o):Rc(a,i):(d._visibility|=2,jl(a,i,l,s,o)),o&&c&2048&&Uh(i.alternate,i);break;case 24:jl(a,i,l,s,o),o&&c&2048&&jh(i.alternate,i);break;default:jl(a,i,l,s,o)}t=t.sibling}}function Rc(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,o=r.flags;switch(r.tag){case 22:Rc(n,r),o&2048&&Uh(r.alternate,r);break;case 24:Rc(n,r),o&2048&&jh(r.alternate,r);break;default:Rc(n,r)}t=t.sibling}}var gc=8192;function Ul(e,t,n){if(e.subtreeFlags&gc)for(e=e.child;e!==null;)rw(e,t,n),e=e.sibling}function rw(e,t,n){switch(e.tag){case 26:Ul(e,t,n),e.flags&gc&&e.memoizedState!==null&&L_(n,bo,e.memoizedState,e.memoizedProps);break;case 5:Ul(e,t,n);break;case 3:case 4:var r=bo;bo=Zd(e.stateNode.containerInfo),Ul(e,t,n),bo=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=gc,gc=16777216,Ul(e,t,n),gc=r):Ul(e,t,n));break;default:Ul(e,t,n)}}function ow(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 sc(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];jn=r,iw(r,e)}ow(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)aw(e),e=e.sibling}function aw(e){switch(e.tag){case 0:case 11:case 15:sc(e),e.flags&2048&&pi(9,e,e.return);break;case 3:sc(e);break;case 12:sc(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Cd(e)):sc(e);break;default:sc(e)}}function Cd(e){var t=e.deletions;if((e.flags&16)!==0){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];jn=r,iw(r,e)}ow(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:pi(8,t,t.return),Cd(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Cd(t));break;default:Cd(t)}e=e.sibling}}function iw(e,t){for(;jn!==null;){var n=jn;switch(n.tag){case 0:case 11:case 15:pi(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Yc(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,jn=r;else e:for(n=e;jn!==null;){r=jn;var o=r.sibling,a=r.return;if(QS(r),r===n){jn=null;break e}if(o!==null){o.return=a,jn=o;break e}jn=a}}}var QO={getCacheForType:function(e){var t=Yn(En),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Yn(En).controller.signal}},XO=typeof WeakMap=="function"?WeakMap:Map,Rt=0,$t=null,mt=null,gt=0,_t=0,Er=null,ei=!1,ws=!1,Vh=!1,Na=0,gn=0,gi=0,Qi=0,Fh=0,kr=0,ms=0,Nc=null,pr=null,Vg=!1,hf=0,lw=0,Gd=1/0,qd=null,li=null,Ln=0,si=null,ps=null,Sa=0,Fg=0,Hg=null,sw=null,Ec=0,$g=null;function Dr(){return(Rt&2)!==0&>!==0?gt&-gt:Fe.T!==null?$h():y0()}function cw(){if(kr===0)if((gt&536870912)===0||xt){var e=Ju;Ju<<=1,(Ju&3932160)===0&&(Ju=262144),kr=e}else kr=536870912;return e=Ir.current,e!==null&&(e.flags|=32),kr}function gr(e,t,n){(e===$t&&(_t===2||_t===9)||e.cancelPendingCommit!==null)&&(gs(e,0),ti(e,gt,kr,!1)),Gc(e,n),((Rt&2)===0||e!==$t)&&(e===$t&&((Rt&2)===0&&(Qi|=n),gn===4&&ti(e,gt,kr,!1)),Po(e))}function uw(e,t,n){if((Rt&6)!==0)throw Error(K(327));var r=!n&&(t&127)===0&&(t&e.expiredLanes)===0||Kc(e,t),o=r?e_(e,t):eg(e,t,!0),a=r;do{if(o===0){ws&&!r&&ti(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!JO(n)){o=eg(e,t,!1),a=!1;continue}if(o===2){if(a=t,e.errorRecoveryDisabledLanes&a)var i=0;else i=e.pendingLanes&-536870913,i=i!==0?i:i&536870912?536870912:0;if(i!==0){t=i;e:{var l=e;o=Nc;var s=l.current.memoizedState.isDehydrated;if(s&&(gs(l,i).flags|=256),i=eg(l,i,!1),i!==2){if(Vh&&!s){l.errorRecoveryDisabledLanes|=a,Qi|=a,o=4;break e}a=pr,pr=o,a!==null&&(pr===null?pr=a:pr.push.apply(pr,a))}o=i}if(a=!1,o!==2)continue}}if(o===1){gs(e,0),ti(e,t,0,!0);break}e:{switch(r=e,a=o,a){case 0:case 1:throw Error(K(345));case 4:if((t&4194048)!==t)break;case 6:ti(r,t,kr,!ei);break e;case 2:pr=null;break;case 3:case 5:break;default:throw Error(K(329))}if((t&62914560)===t&&(o=hf+300-Or(),10<o)){if(ti(r,t,kr,!ei),of(r,0,!0)!==0)break e;Sa=t,r.timeoutHandle=kw(Tx.bind(null,r,n,pr,qd,Vg,t,kr,Qi,ms,ei,a,"Throttled",-0,0),o);break e}Tx(r,n,pr,qd,Vg,t,kr,Qi,ms,ei,a,null,-0,0)}}break}while(!0);Po(e)}function Tx(e,t,n,r,o,a,i,l,s,c,d,u,f,m){if(e.timeoutHandle=-1,u=t.subtreeFlags,u&8192||(u&16785408)===16785408){u={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:ya},rw(t,a,u);var b=(a&62914560)===a?hf-Or():(a&4194048)===a?lw-Or():0;if(b=D_(u,b),b!==null){Sa=a,e.cancelPendingCommit=b(kx.bind(null,e,t,a,n,r,o,i,l,s,d,u,null,f,m)),ti(e,a,i,!c);return}}kx(e,t,a,n,r,o,i,l,s)}function JO(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var o=n[r],a=o.getSnapshot;o=o.value;try{if(!Br(a(),o))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;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 ti(e,t,n,r){t&=~Fh,t&=~Qi,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var o=t;0<o;){var a=31-Lr(o),i=1<<a;r[a]=-1,o&=~i}n!==0&&p0(e,n,t)}function yf(){return(Rt&6)===0?(Jc(0,!1),!1):!0}function Hh(){if(mt!==null){if(_t===0)var e=mt.return;else e=mt,ba=il=null,Th(e),os=null,Bc=0,e=mt;for(;e!==null;)HS(e.alternate,e),e=e.return;mt=null}}function gs(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,h_(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),Sa=0,Hh(),$t=e,mt=n=va(e.current,null),gt=t,_t=0,Er=null,ei=!1,ws=Kc(e,t),Vh=!1,ms=kr=Fh=Qi=gi=gn=0,pr=Nc=null,Vg=!1,(t&8)!==0&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var o=31-Lr(r),a=1<<o;t|=e[o],r&=~a}return Na=t,cf(),n}function dw(e,t){tt=null,Fe.H=zc,t===Ss||t===df?(t=ix(),_t=3):t===Sh?(t=ix(),_t=4):_t=t===zh?8:t!==null&&typeof t=="object"&&typeof t.then=="function"?6:1,Er=t,mt===null&&(gn=1,Hd(e,Xr(t,e.current)))}function fw(){var e=Ir.current;return e===null?!0:(gt&4194048)===gt?Zr===null:(gt&62914560)===gt||(gt&536870912)!==0?e===Zr:!1}function mw(){var e=Fe.H;return Fe.H=zc,e===null?zc:e}function pw(){var e=Fe.A;return Fe.A=QO,e}function Wd(){gn=4,ei||(gt&4194048)!==gt&&Ir.current!==null||(ws=!0),(gi&134217727)===0&&(Qi&134217727)===0||$t===null||ti($t,gt,kr,!1)}function eg(e,t,n){var r=Rt;Rt|=2;var o=mw(),a=pw();($t!==e||gt!==t)&&(qd=null,gs(e,t)),t=!1;var i=gn;e:do try{if(_t!==0&&mt!==null){var l=mt,s=Er;switch(_t){case 8:Hh(),i=6;break e;case 3:case 2:case 9:case 6:Ir.current===null&&(t=!0);var c=_t;if(_t=0,Er=null,Zl(e,l,s,c),n&&ws){i=0;break e}break;default:c=_t,_t=0,Er=null,Zl(e,l,s,c)}}ZO(),i=gn;break}catch(d){dw(e,d)}while(!0);return t&&e.shellSuspendCounter++,ba=il=null,Rt=r,Fe.H=o,Fe.A=a,mt===null&&($t=null,gt=0,cf()),i}function ZO(){for(;mt!==null;)gw(mt)}function e_(e,t){var n=Rt;Rt|=2;var r=mw(),o=pw();$t!==e||gt!==t?(qd=null,Gd=Or()+500,gs(e,t)):ws=Kc(e,t);e:do try{if(_t!==0&&mt!==null){t=mt;var a=Er;t:switch(_t){case 1:_t=0,Er=null,Zl(e,t,a,1);break;case 2:case 9:if(ax(a)){_t=0,Er=null,Mx(t);break}t=function(){_t!==2&&_t!==9||$t!==e||(_t=7),Po(e)},a.then(t,t);break e;case 3:_t=7;break e;case 4:_t=5;break e;case 7:ax(a)?(_t=0,Er=null,Mx(t)):(_t=0,Er=null,Zl(e,t,a,7));break;case 5:var i=null;switch(mt.tag){case 26:i=mt.memoizedState;case 5:case 27:var l=mt;if(i?Bw(i):l.stateNode.complete){_t=0,Er=null;var s=l.sibling;if(s!==null)mt=s;else{var c=l.return;c!==null?(mt=c,bf(c)):mt=null}break t}}_t=0,Er=null,Zl(e,t,a,5);break;case 6:_t=0,Er=null,Zl(e,t,a,6);break;case 8:Hh(),gn=6;break e;default:throw Error(K(462))}}t_();break}catch(d){dw(e,d)}while(!0);return ba=il=null,Fe.H=r,Fe.A=o,Rt=n,mt!==null?0:($t=null,gt=0,cf(),gn)}function t_(){for(;mt!==null&&!Ck();)gw(mt)}function gw(e){var t=FS(e.alternate,e,Na);e.memoizedProps=e.pendingProps,t===null?bf(e):mt=t}function Mx(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=wx(n,t,t.pendingProps,t.type,void 0,gt);break;case 11:t=wx(n,t,t.pendingProps,t.type.render,t.ref,gt);break;case 5:Th(t);default:HS(n,t),t=mt=H0(t,Na),t=FS(n,t,Na)}e.memoizedProps=e.pendingProps,t===null?bf(e):mt=t}function Zl(e,t,n,r){ba=il=null,Th(t),os=null,Bc=0;var o=t.return;try{if(HO(e,o,t,n,gt)){gn=1,Hd(e,Xr(n,e.current)),mt=null;return}}catch(a){if(o!==null)throw mt=o,a;gn=1,Hd(e,Xr(n,e.current)),mt=null;return}t.flags&32768?(xt||r===1?e=!0:ws||(gt&536870912)!==0?e=!1:(ei=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ir.current,r!==null&&r.tag===13&&(r.flags|=16384))),hw(t,e)):bf(t)}function bf(e){var t=e;do{if((t.flags&32768)!==0){hw(t,ei);return}e=t.return;var n=GO(t.alternate,t,Na);if(n!==null){mt=n;return}if(t=t.sibling,t!==null){mt=t;return}mt=t=e}while(t!==null);gn===0&&(gn=5)}function hw(e,t){do{var n=qO(e.alternate,e);if(n!==null){n.flags&=32767,mt=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){mt=e;return}mt=e=n}while(e!==null);gn=6,mt=null}function kx(e,t,n,r,o,a,i,l,s){e.cancelPendingCommit=null;do vf();while(Ln!==0);if((Rt&6)!==0)throw Error(K(327));if(t!==null){if(t===e.current)throw Error(K(177));if(a=t.lanes|t.childLanes,a|=ph,Dk(e,n,a,i,l,s),e===$t&&(mt=$t=null,gt=0),ps=t,si=e,Sa=n,Fg=a,Hg=o,sw=r,(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?(e.callbackNode=null,e.callbackPriority=0,a_(_d,function(){return Sw(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!==0,(t.subtreeFlags&13878)!==0||r){r=Fe.T,Fe.T=null,o=Nt.p,Nt.p=2,i=Rt,Rt|=4;try{WO(e,t,n)}finally{Rt=i,Nt.p=o,Fe.T=r}}Ln=1,yw(),bw(),vw()}}function yw(){if(Ln===1){Ln=0;var e=si,t=ps,n=(t.flags&13878)!==0;if((t.subtreeFlags&13878)!==0||n){n=Fe.T,Fe.T=null;var r=Nt.p;Nt.p=2;var o=Rt;Rt|=4;try{ew(t,e);var a=Wg,i=B0(e.containerInfo),l=a.focusedElem,s=a.selectionRange;if(i!==l&&l&&l.ownerDocument&&D0(l.ownerDocument.documentElement,l)){if(s!==null&&mh(l)){var c=s.start,d=s.end;if(d===void 0&&(d=c),"selectionStart"in l)l.selectionStart=c,l.selectionEnd=Math.min(d,l.value.length);else{var u=l.ownerDocument||document,f=u&&u.defaultView||window;if(f.getSelection){var m=f.getSelection(),b=l.textContent.length,p=Math.min(s.start,b),v=s.end===void 0?p:Math.min(s.end,b);!m.extend&&p>v&&(i=v,v=p,p=i);var h=Jv(l,p),g=Jv(l,v);if(h&&g&&(m.rangeCount!==1||m.anchorNode!==h.node||m.anchorOffset!==h.offset||m.focusNode!==g.node||m.focusOffset!==g.offset)){var y=u.createRange();y.setStart(h.node,h.offset),m.removeAllRanges(),p>v?(m.addRange(y),m.extend(g.node,g.offset)):(y.setEnd(g.node,g.offset),m.addRange(y))}}}}for(u=[],m=l;m=m.parentNode;)m.nodeType===1&&u.push({element:m,left:m.scrollLeft,top:m.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<u.length;l++){var x=u[l];x.element.scrollLeft=x.left,x.element.scrollTop=x.top}}nf=!!qg,Wg=qg=null}finally{Rt=o,Nt.p=r,Fe.T=n}}e.current=t,Ln=2}}function bw(){if(Ln===2){Ln=0;var e=si,t=ps,n=(t.flags&8772)!==0;if((t.subtreeFlags&8772)!==0||n){n=Fe.T,Fe.T=null;var r=Nt.p;Nt.p=2;var o=Rt;Rt|=4;try{YS(e,t.alternate,t)}finally{Rt=o,Nt.p=r,Fe.T=n}}Ln=3}}function vw(){if(Ln===4||Ln===3){Ln=0,Rk();var e=si,t=ps,n=Sa,r=sw;(t.subtreeFlags&10256)!==0||(t.flags&10256)!==0?Ln=5:(Ln=0,ps=si=null,xw(e,e.pendingLanes));var o=e.pendingLanes;if(o===0&&(li=null),ih(n),t=t.stateNode,_r&&typeof _r.onCommitFiberRoot=="function")try{_r.onCommitFiberRoot($c,t,void 0,(t.current.flags&128)===128)}catch{}if(r!==null){t=Fe.T,o=Nt.p,Nt.p=2,Fe.T=null;try{for(var a=e.onRecoverableError,i=0;i<r.length;i++){var l=r[i];a(l.value,{componentStack:l.stack})}}finally{Fe.T=t,Nt.p=o}}(Sa&3)!==0&&vf(),Po(e),o=e.pendingLanes,(n&261930)!==0&&(o&42)!==0?e===$g?Ec++:(Ec=0,$g=e):Ec=0,Jc(0,!1)}}function xw(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Yc(t)))}function vf(){return yw(),bw(),vw(),Sw()}function Sw(){if(Ln!==5)return!1;var e=si,t=Fg;Fg=0;var n=ih(Sa),r=Fe.T,o=Nt.p;try{Nt.p=32>n?32:n,Fe.T=null,n=Hg,Hg=null;var a=si,i=Sa;if(Ln=0,ps=si=null,Sa=0,(Rt&6)!==0)throw Error(K(331));var l=Rt;if(Rt|=4,aw(a.current),nw(a,a.current,i,n),Rt=l,Jc(0,!1),_r&&typeof _r.onPostCommitFiberRoot=="function")try{_r.onPostCommitFiberRoot($c,a)}catch{}return!0}finally{Nt.p=o,Fe.T=r,xw(e,t)}}function Ox(e,t,n){t=Xr(n,t),t=zg(e.stateNode,t,2),e=ii(e,t,2),e!==null&&(Gc(e,2),Po(e))}function Lt(e,t,n){if(e.tag===3)Ox(e,e,n);else for(;t!==null;){if(t.tag===3){Ox(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof r.componentDidCatch=="function"&&(li===null||!li.has(r))){e=Xr(n,e),n=IS(2),r=ii(t,n,2),r!==null&&(zS(n,r,t,e),Gc(r,2),Po(r));break}}t=t.return}}function tg(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new XO;var o=new Set;r.set(t,o)}else o=r.get(t),o===void 0&&(o=new Set,r.set(t,o));o.has(n)||(Vh=!0,o.add(n),e=n_.bind(null,e,t,n),t.then(e,e))}function n_(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,$t===e&&(gt&n)===n&&(gn===4||gn===3&&(gt&62914560)===gt&&300>Or()-hf?(Rt&2)===0&&gs(e,0):Fh|=n,ms===gt&&(ms=0)),Po(e)}function ww(e,t){t===0&&(t=m0()),e=al(e,t),e!==null&&(Gc(e,t),Po(e))}function r_(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ww(e,n)}function o_(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,o=e.memoizedState;o!==null&&(n=o.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(K(314))}r!==null&&r.delete(t),ww(e,n)}function a_(e,t){return oh(e,t)}var Yd=null,Vl=null,Kg=!1,Qd=!1,ng=!1,ni=0;function Po(e){e!==Vl&&e.next===null&&(Vl===null?Yd=Vl=e:Vl=Vl.next=e),Qd=!0,Kg||(Kg=!0,l_())}function Jc(e,t){if(!ng&&Qd){ng=!0;do for(var n=!1,r=Yd;r!==null;){if(!t)if(e!==0){var o=r.pendingLanes;if(o===0)var a=0;else{var i=r.suspendedLanes,l=r.pingedLanes;a=(1<<31-Lr(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,_x(r,a))}else a=gt,a=of(r,r===$t?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),(a&3)===0||Kc(r,a)||(n=!0,_x(r,a));r=r.next}while(n);ng=!1}}function i_(){Aw()}function Aw(){Qd=Kg=!1;var e=0;ni!==0&&g_()&&(e=ni);for(var t=Or(),n=null,r=Yd;r!==null;){var o=r.next,a=Cw(r,t);a===0?(r.next=null,n===null?Yd=o:n.next=o,o===null&&(Vl=n)):(n=r,(e!==0||(a&3)!==0)&&(Qd=!0)),r=o}Ln!==0&&Ln!==5||Jc(e,!1),ni!==0&&(ni=0)}function Cw(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var i=31-Lr(a),l=1<<i,s=o[i];s===-1?((l&n)===0||(l&r)!==0)&&(o[i]=Lk(l,t)):s<=t&&(e.expiredLanes|=l),a&=~l}if(t=$t,n=gt,n=of(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(_t===2||_t===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Op(r),e.callbackNode=null,e.callbackPriority=0;if((n&3)===0||Kc(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Op(r),ih(n)){case 2:case 8:n=d0;break;case 32:n=_d;break;case 268435456:n=f0;break;default:n=_d}return r=Rw.bind(null,e),n=oh(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Op(r),e.callbackPriority=2,e.callbackNode=null,2}function Rw(e,t){if(Ln!==0&&Ln!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(vf()&&e.callbackNode!==n)return null;var r=gt;return r=of(e,e===$t?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(uw(e,r,t),Cw(e,Or()),e.callbackNode!=null&&e.callbackNode===n?Rw.bind(null,e):null)}function _x(e,t){if(vf())return null;uw(e,t,!0)}function l_(){y_(function(){(Rt&6)!==0?oh(u0,i_):Aw()})}function $h(){if(ni===0){var e=us;e===0&&(e=Xu,Xu<<=1,(Xu&261888)===0&&(Xu=256)),ni=e}return ni}function Lx(e){return e==null||typeof e=="symbol"||typeof e=="boolean"?null:typeof e=="function"?e:gd(""+e)}function Dx(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function s_(e,t,n,r,o){if(t==="submit"&&n&&n.stateNode===o){var a=Lx((o[hr]||null).action),i=r.submitter;i&&(t=(t=i[hr]||null)?Lx(t.formAction):i.getAttribute("formAction"),t!==null&&(a=t,i=null));var l=new af("action","action",null,r,o);e.push({event:l,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ni!==0){var s=i?Dx(o,i):new FormData(o);Bg(n,{pending:!0,data:s,method:o.method,action:a},null,s)}}else typeof a=="function"&&(l.preventDefault(),s=i?Dx(o,i):new FormData(o),Bg(n,{pending:!0,data:s,method:o.method,action:a},a,s))},currentTarget:o}]})}}for(cd=0;cd<Ag.length;cd++)ud=Ag[cd],Bx=ud.toLowerCase(),Ix=ud[0].toUpperCase()+ud.slice(1),vo(Bx,"on"+Ix);var ud,Bx,Ix,cd;vo(z0,"onAnimationEnd");vo(P0,"onAnimationIteration");vo(U0,"onAnimationStart");vo("dblclick","onDoubleClick");vo("focusin","onFocus");vo("focusout","onBlur");vo(NO,"onTransitionRun");vo(EO,"onTransitionStart");vo(TO,"onTransitionCancel");vo(j0,"onTransitionEnd");ss("onMouseEnter",["mouseout","mouseover"]);ss("onMouseLeave",["mouseout","mouseover"]);ss("onPointerEnter",["pointerout","pointerover"]);ss("onPointerLeave",["pointerout","pointerover"]);nl("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));nl("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));nl("onBeforeInput",["compositionend","keypress","textInput","paste"]);nl("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));nl("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));nl("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Pc="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(" "),c_=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Pc));function Nw(e,t){t=(t&4)!==0;for(var n=0;n<e.length;n++){var r=e[n],o=r.event;r=r.listeners;e:{var a=void 0;if(t)for(var i=r.length-1;0<=i;i--){var l=r[i],s=l.instance,c=l.currentTarget;if(l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Dd(d)}o.currentTarget=null,a=s}else for(i=0;i<r.length;i++){if(l=r[i],s=l.instance,c=l.currentTarget,l=l.listener,s!==a&&o.isPropagationStopped())break e;a=l,o.currentTarget=c;try{a(o)}catch(d){Dd(d)}o.currentTarget=null,a=s}}}}function ft(e,t){var n=t[gg];n===void 0&&(n=t[gg]=new Set);var r=e+"__bubble";n.has(r)||(Ew(t,e,2,!1),n.add(r))}function rg(e,t,n){var r=0;t&&(r|=4),Ew(n,e,r,t)}var dd="_reactListening"+Math.random().toString(36).slice(2);function Kh(e){if(!e[dd]){e[dd]=!0,b0.forEach(function(n){n!=="selectionchange"&&(c_.has(n)||rg(n,!1,e),rg(n,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[dd]||(t[dd]=!0,rg("selectionchange",!1,t))}}function Ew(e,t,n,r){switch(jw(t)){case 2:var o=z_;break;case 8:o=P_;break;default:o=Yh}n=o.bind(null,t,n,e),o=void 0,!xg||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(o=!0),r?o!==void 0?e.addEventListener(t,n,{capture:!0,passive:o}):e.addEventListener(t,n,!0):o!==void 0?e.addEventListener(t,n,{passive:o}):e.addEventListener(t,n,!1)}function og(e,t,n,r,o){var a=r;if((t&1)===0&&(t&2)===0&&r!==null)e:for(;;){if(r===null)return;var i=r.tag;if(i===3||i===4){var l=r.stateNode.containerInfo;if(l===o)break;if(i===4)for(i=r.return;i!==null;){var s=i.tag;if((s===3||s===4)&&i.stateNode.containerInfo===o)return;i=i.return}for(;l!==null;){if(i=$l(l),i===null)return;if(s=i.tag,s===5||s===6||s===26||s===27){r=a=i;continue e}l=l.parentNode}}r=r.return}N0(function(){var c=a,d=ch(n),u=[];e:{var f=V0.get(e);if(f!==void 0){var m=af,b=e;switch(e){case"keypress":if(yd(n)===0)break e;case"keydown":case"keyup":m=oO;break;case"focusin":b="focus",m=Ip;break;case"focusout":b="blur",m=Ip;break;case"beforeblur":case"afterblur":m=Ip;break;case"click":if(n.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":m=Hv;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":m=Gk;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":m=lO;break;case z0:case P0:case U0:m=Yk;break;case j0:m=cO;break;case"scroll":case"scrollend":m=$k;break;case"wheel":m=dO;break;case"copy":case"cut":case"paste":m=Xk;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":m=Kv;break;case"toggle":case"beforetoggle":m=mO}var p=(t&4)!==0,v=!p&&(e==="scroll"||e==="scrollend"),h=p?f!==null?f+"Capture":null:f;p=[];for(var g=c,y;g!==null;){var x=g;if(y=x.stateNode,x=x.tag,x!==5&&x!==26&&x!==27||y===null||h===null||(x=kc(g,h),x!=null&&p.push(Uc(g,x,y))),v)break;g=g.return}0<p.length&&(f=new m(f,b,null,n,d),u.push({event:f,listeners:p}))}}if((t&7)===0){e:{if(f=e==="mouseover"||e==="pointerover",m=e==="mouseout"||e==="pointerout",f&&n!==vg&&(b=n.relatedTarget||n.fromElement)&&($l(b)||b[bs]))break e;if((m||f)&&(f=d.window===d?d:(f=d.ownerDocument)?f.defaultView||f.parentWindow:window,m?(b=n.relatedTarget||n.toElement,m=c,b=b?$l(b):null,b!==null&&(v=Hc(b),p=b.tag,b!==v||p!==5&&p!==27&&p!==6)&&(b=null)):(m=null,b=c),m!==b)){if(p=Hv,x="onMouseLeave",h="onMouseEnter",g="mouse",(e==="pointerout"||e==="pointerover")&&(p=Kv,x="onPointerLeave",h="onPointerEnter",g="pointer"),v=m==null?f:mc(m),y=b==null?f:mc(b),f=new p(x,g+"leave",m,n,d),f.target=v,f.relatedTarget=y,x=null,$l(d)===c&&(p=new p(h,g+"enter",b,n,d),p.target=y,p.relatedTarget=v,x=p),v=x,m&&b)t:{for(p=u_,h=m,g=b,y=0,x=h;x;x=p(x))y++;x=0;for(var R=g;R;R=p(R))x++;for(;0<y-x;)h=p(h),y--;for(;0<x-y;)g=p(g),x--;for(;y--;){if(h===g||g!==null&&h===g.alternate){p=h;break t}h=p(h),g=p(g)}p=null}else p=null;m!==null&&zx(u,f,m,p,!1),b!==null&&v!==null&&zx(u,v,b,p,!0)}}e:{if(f=c?mc(c):window,m=f.nodeName&&f.nodeName.toLowerCase(),m==="select"||m==="input"&&f.type==="file")var w=Yv;else if(Wv(f))if(_0)w=AO;else{w=SO;var E=xO}else m=f.nodeName,!m||m.toLowerCase()!=="input"||f.type!=="checkbox"&&f.type!=="radio"?c&&sh(c.elementType)&&(w=Yv):w=wO;if(w&&(w=w(e,c))){O0(u,w,n,d);break e}E&&E(e,f,c),e==="focusout"&&c&&f.type==="number"&&c.memoizedProps.value!=null&&bg(f,"number",f.value)}switch(E=c?mc(c):window,e){case"focusin":(Wv(E)||E.contentEditable==="true")&&(ql=E,Sg=c,bc=null);break;case"focusout":bc=Sg=ql=null;break;case"mousedown":wg=!0;break;case"contextmenu":case"mouseup":case"dragend":wg=!1,Zv(u,n,d);break;case"selectionchange":if(RO)break;case"keydown":case"keyup":Zv(u,n,d)}var C;if(fh)e:{switch(e){case"compositionstart":var M="onCompositionStart";break e;case"compositionend":M="onCompositionEnd";break e;case"compositionupdate":M="onCompositionUpdate";break e}M=void 0}else Gl?M0(e,n)&&(M="onCompositionEnd"):e==="keydown"&&n.keyCode===229&&(M="onCompositionStart");M&&(T0&&n.locale!=="ko"&&(Gl||M!=="onCompositionStart"?M==="onCompositionEnd"&&Gl&&(C=E0()):(Za=d,uh="value"in Za?Za.value:Za.textContent,Gl=!0)),E=Xd(c,M),0<E.length&&(M=new $v(M,e,null,n,d),u.push({event:M,listeners:E}),C?M.data=C:(C=k0(n),C!==null&&(M.data=C)))),(C=gO?hO(e,n):yO(e,n))&&(M=Xd(c,"onBeforeInput"),0<M.length&&(E=new $v("onBeforeInput","beforeinput",null,n,d),u.push({event:E,listeners:M}),E.data=C)),s_(u,e,c,n,d)}Nw(u,t)})}function Uc(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Xd(e,t){for(var n=t+"Capture",r=[];e!==null;){var o=e,a=o.stateNode;if(o=o.tag,o!==5&&o!==26&&o!==27||a===null||(o=kc(e,n),o!=null&&r.unshift(Uc(e,o,a)),o=kc(e,t),o!=null&&r.push(Uc(e,o,a))),e.tag===3)return r;e=e.return}return[]}function u_(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function zx(e,t,n,r,o){for(var a=t._reactName,i=[];n!==null&&n!==r;){var l=n,s=l.alternate,c=l.stateNode;if(l=l.tag,s!==null&&s===r)break;l!==5&&l!==26&&l!==27||c===null||(s=c,o?(c=kc(n,a),c!=null&&i.unshift(Uc(n,c,s))):o||(c=kc(n,a),c!=null&&i.push(Uc(n,c,s)))),n=n.return}i.length!==0&&e.push({event:t,listeners:i})}var d_=/\r\n?/g,f_=/\u0000|\uFFFD/g;function Px(e){return(typeof e=="string"?e:""+e).replace(d_,`
|
|
9
|
+
`).replace(f_,"")}function Tw(e,t){return t=Px(t),Px(e)===t}function zt(e,t,n,r,o,a){switch(n){case"children":typeof r=="string"?t==="body"||t==="textarea"&&r===""||cs(e,r):(typeof r=="number"||typeof r=="bigint")&&t!=="body"&&cs(e,""+r);break;case"className":ed(e,"class",r);break;case"tabIndex":ed(e,"tabindex",r);break;case"dir":case"role":case"viewBox":case"width":case"height":ed(e,n,r);break;case"style":R0(e,r,a);break;case"data":if(t!=="object"){ed(e,"data",r);break}case"src":case"href":if(r===""&&(t!=="a"||n!=="href")){e.removeAttribute(n);break}if(r==null||typeof r=="function"||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=gd(""+r),e.setAttribute(n,r);break;case"action":case"formAction":if(typeof r=="function"){e.setAttribute(n,"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 a=="function"&&(n==="formAction"?(t!=="input"&&zt(e,t,"name",o.name,o,null),zt(e,t,"formEncType",o.formEncType,o,null),zt(e,t,"formMethod",o.formMethod,o,null),zt(e,t,"formTarget",o.formTarget,o,null)):(zt(e,t,"encType",o.encType,o,null),zt(e,t,"method",o.method,o,null),zt(e,t,"target",o.target,o,null)));if(r==null||typeof r=="symbol"||typeof r=="boolean"){e.removeAttribute(n);break}r=gd(""+r),e.setAttribute(n,r);break;case"onClick":r!=null&&(e.onclick=ya);break;case"onScroll":r!=null&&ft("scroll",e);break;case"onScrollEnd":r!=null&&ft("scrollend",e);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"multiple":e.multiple=r&&typeof r!="function"&&typeof r!="symbol";break;case"muted":e.muted=r&&typeof r!="function"&&typeof r!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(r==null||typeof r=="function"||typeof r=="boolean"||typeof r=="symbol"){e.removeAttribute("xlink:href");break}n=gd(""+r),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""+r):e.removeAttribute(n);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":r&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":r===!0?e.setAttribute(n,""):r!==!1&&r!=null&&typeof r!="function"&&typeof r!="symbol"?e.setAttribute(n,r):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":r!=null&&typeof r!="function"&&typeof r!="symbol"&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case"rowSpan":case"start":r==null||typeof r=="function"||typeof r=="symbol"||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case"popover":ft("beforetoggle",e),ft("toggle",e),pd(e,"popover",r);break;case"xlinkActuate":ca(e,"http://www.w3.org/1999/xlink","xlink:actuate",r);break;case"xlinkArcrole":ca(e,"http://www.w3.org/1999/xlink","xlink:arcrole",r);break;case"xlinkRole":ca(e,"http://www.w3.org/1999/xlink","xlink:role",r);break;case"xlinkShow":ca(e,"http://www.w3.org/1999/xlink","xlink:show",r);break;case"xlinkTitle":ca(e,"http://www.w3.org/1999/xlink","xlink:title",r);break;case"xlinkType":ca(e,"http://www.w3.org/1999/xlink","xlink:type",r);break;case"xmlBase":ca(e,"http://www.w3.org/XML/1998/namespace","xml:base",r);break;case"xmlLang":ca(e,"http://www.w3.org/XML/1998/namespace","xml:lang",r);break;case"xmlSpace":ca(e,"http://www.w3.org/XML/1998/namespace","xml:space",r);break;case"is":pd(e,"is",r);break;case"innerText":case"textContent":break;default:(!(2<n.length)||n[0]!=="o"&&n[0]!=="O"||n[1]!=="n"&&n[1]!=="N")&&(n=Fk.get(n)||n,pd(e,n,r))}}function Gg(e,t,n,r,o,a){switch(n){case"style":R0(e,r,a);break;case"dangerouslySetInnerHTML":if(r!=null){if(typeof r!="object"||!("__html"in r))throw Error(K(61));if(n=r.__html,n!=null){if(o.children!=null)throw Error(K(60));e.innerHTML=n}}break;case"children":typeof r=="string"?cs(e,r):(typeof r=="number"||typeof r=="bigint")&&cs(e,""+r);break;case"onScroll":r!=null&&ft("scroll",e);break;case"onScrollEnd":r!=null&&ft("scrollend",e);break;case"onClick":r!=null&&(e.onclick=ya);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!v0.hasOwnProperty(n))e:{if(n[0]==="o"&&n[1]==="n"&&(o=n.endsWith("Capture"),t=n.slice(2,o?n.length-7:void 0),a=e[hr]||null,a=a!=null?a[n]:null,typeof a=="function"&&e.removeEventListener(t,a,o),typeof r=="function")){typeof a!="function"&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,o);break e}n in e?e[n]=r:r===!0?e.setAttribute(n,""):pd(e,n,r)}}}function Qn(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":ft("error",e),ft("load",e);var r=!1,o=!1,a;for(a in n)if(n.hasOwnProperty(a)){var i=n[a];if(i!=null)switch(a){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:zt(e,t,a,i,n,null)}}o&&zt(e,t,"srcSet",n.srcSet,n,null),r&&zt(e,t,"src",n.src,n,null);return;case"input":ft("invalid",e);var l=a=i=o=null,s=null,c=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case"name":o=d;break;case"type":i=d;break;case"checked":s=d;break;case"defaultChecked":c=d;break;case"value":a=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(d!=null)throw Error(K(137,t));break;default:zt(e,t,r,d,n,null)}}w0(e,a,l,s,c,i,o,!1);return;case"select":ft("invalid",e),r=i=a=null;for(o in n)if(n.hasOwnProperty(o)&&(l=n[o],l!=null))switch(o){case"value":a=l;break;case"defaultValue":i=l;break;case"multiple":r=l;default:zt(e,t,o,l,n,null)}t=a,n=i,e.multiple=!!r,t!=null?ts(e,!!r,t,!1):n!=null&&ts(e,!!r,n,!0);return;case"textarea":ft("invalid",e),a=o=r=null;for(i in n)if(n.hasOwnProperty(i)&&(l=n[i],l!=null))switch(i){case"value":r=l;break;case"defaultValue":o=l;break;case"children":a=l;break;case"dangerouslySetInnerHTML":if(l!=null)throw Error(K(91));break;default:zt(e,t,i,l,n,null)}C0(e,r,o,a);return;case"option":for(s in n)n.hasOwnProperty(s)&&(r=n[s],r!=null)&&(s==="selected"?e.selected=r&&typeof r!="function"&&typeof r!="symbol":zt(e,t,s,r,n,null));return;case"dialog":ft("beforetoggle",e),ft("toggle",e),ft("cancel",e),ft("close",e);break;case"iframe":case"object":ft("load",e);break;case"video":case"audio":for(r=0;r<Pc.length;r++)ft(Pc[r],e);break;case"image":ft("error",e),ft("load",e);break;case"details":ft("toggle",e);break;case"embed":case"source":case"link":ft("error",e),ft("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(c in n)if(n.hasOwnProperty(c)&&(r=n[c],r!=null))switch(c){case"children":case"dangerouslySetInnerHTML":throw Error(K(137,t));default:zt(e,t,c,r,n,null)}return;default:if(sh(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Gg(e,t,d,r,n,void 0));return}}for(l in n)n.hasOwnProperty(l)&&(r=n[l],r!=null&&zt(e,t,l,r,n,null))}function m_(e,t,n,r){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var o=null,a=null,i=null,l=null,s=null,c=null,d=null;for(m in n){var u=n[m];if(n.hasOwnProperty(m)&&u!=null)switch(m){case"checked":break;case"value":break;case"defaultValue":s=u;default:r.hasOwnProperty(m)||zt(e,t,m,null,r,u)}}for(var f in r){var m=r[f];if(u=n[f],r.hasOwnProperty(f)&&(m!=null||u!=null))switch(f){case"type":a=m;break;case"name":o=m;break;case"checked":c=m;break;case"defaultChecked":d=m;break;case"value":i=m;break;case"defaultValue":l=m;break;case"children":case"dangerouslySetInnerHTML":if(m!=null)throw Error(K(137,t));break;default:m!==u&&zt(e,t,f,m,r,u)}}yg(e,i,l,s,c,d,a,o);return;case"select":m=i=l=f=null;for(a in n)if(s=n[a],n.hasOwnProperty(a)&&s!=null)switch(a){case"value":break;case"multiple":m=s;default:r.hasOwnProperty(a)||zt(e,t,a,null,r,s)}for(o in r)if(a=r[o],s=n[o],r.hasOwnProperty(o)&&(a!=null||s!=null))switch(o){case"value":f=a;break;case"defaultValue":l=a;break;case"multiple":i=a;default:a!==s&&zt(e,t,o,a,r,s)}t=l,n=i,r=m,f!=null?ts(e,!!n,f,!1):!!r!=!!n&&(t!=null?ts(e,!!n,t,!0):ts(e,!!n,n?[]:"",!1));return;case"textarea":m=f=null;for(l in n)if(o=n[l],n.hasOwnProperty(l)&&o!=null&&!r.hasOwnProperty(l))switch(l){case"value":break;case"children":break;default:zt(e,t,l,null,r,o)}for(i in r)if(o=r[i],a=n[i],r.hasOwnProperty(i)&&(o!=null||a!=null))switch(i){case"value":f=o;break;case"defaultValue":m=o;break;case"children":break;case"dangerouslySetInnerHTML":if(o!=null)throw Error(K(91));break;default:o!==a&&zt(e,t,i,o,r,a)}A0(e,f,m);return;case"option":for(var b in n)f=n[b],n.hasOwnProperty(b)&&f!=null&&!r.hasOwnProperty(b)&&(b==="selected"?e.selected=!1:zt(e,t,b,null,r,f));for(s in r)f=r[s],m=n[s],r.hasOwnProperty(s)&&f!==m&&(f!=null||m!=null)&&(s==="selected"?e.selected=f&&typeof f!="function"&&typeof f!="symbol":zt(e,t,s,f,r,m));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 p in n)f=n[p],n.hasOwnProperty(p)&&f!=null&&!r.hasOwnProperty(p)&&zt(e,t,p,null,r,f);for(c in r)if(f=r[c],m=n[c],r.hasOwnProperty(c)&&f!==m&&(f!=null||m!=null))switch(c){case"children":case"dangerouslySetInnerHTML":if(f!=null)throw Error(K(137,t));break;default:zt(e,t,c,f,r,m)}return;default:if(sh(t)){for(var v in n)f=n[v],n.hasOwnProperty(v)&&f!==void 0&&!r.hasOwnProperty(v)&&Gg(e,t,v,void 0,r,f);for(d in r)f=r[d],m=n[d],!r.hasOwnProperty(d)||f===m||f===void 0&&m===void 0||Gg(e,t,d,f,r,m);return}}for(var h in n)f=n[h],n.hasOwnProperty(h)&&f!=null&&!r.hasOwnProperty(h)&&zt(e,t,h,null,r,f);for(u in r)f=r[u],m=n[u],!r.hasOwnProperty(u)||f===m||f==null&&m==null||zt(e,t,u,f,r,m)}function Ux(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function p_(){if(typeof performance.getEntriesByType=="function"){for(var e=0,t=0,n=performance.getEntriesByType("resource"),r=0;r<n.length;r++){var o=n[r],a=o.transferSize,i=o.initiatorType,l=o.duration;if(a&&l&&Ux(i)){for(i=0,l=o.responseEnd,r+=1;r<n.length;r++){var s=n[r],c=s.startTime;if(c>l)break;var d=s.transferSize,u=s.initiatorType;d&&Ux(u)&&(s=s.responseEnd,i+=d*(s<l?1:(l-c)/(s-c)))}if(--r,t+=8*(a+i)/(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 qg=null,Wg=null;function Jd(e){return e.nodeType===9?e:e.ownerDocument}function jx(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 Mw(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 Yg(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 ag=null;function g_(){var e=window.event;return e&&e.type==="popstate"?e===ag?!1:(ag=e,!0):(ag=null,!1)}var kw=typeof setTimeout=="function"?setTimeout:void 0,h_=typeof clearTimeout=="function"?clearTimeout:void 0,Vx=typeof Promise=="function"?Promise:void 0,y_=typeof queueMicrotask=="function"?queueMicrotask:typeof Vx<"u"?function(e){return Vx.resolve(null).then(e).catch(b_)}:kw;function b_(e){setTimeout(function(){throw e})}function yi(e){return e==="head"}function Fx(e,t){var n=t,r=0;do{var o=n.nextSibling;if(e.removeChild(n),o&&o.nodeType===8)if(n=o.data,n==="/$"||n==="/&"){if(r===0){e.removeChild(o),ys(t);return}r--}else if(n==="$"||n==="$?"||n==="$~"||n==="$!"||n==="&")r++;else if(n==="html")Tc(e.ownerDocument.documentElement);else if(n==="head"){n=e.ownerDocument.head,Tc(n);for(var a=n.firstChild;a;){var i=a.nextSibling,l=a.nodeName;a[qc]||l==="SCRIPT"||l==="STYLE"||l==="LINK"&&a.rel.toLowerCase()==="stylesheet"||n.removeChild(a),a=i}}else n==="body"&&Tc(e.ownerDocument.body);n=o}while(n);ys(t)}function Hx(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",n.getAttribute("style")===""&&n.removeAttribute("style")):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),r&&r.nodeType===8)if(n=r.data,n==="/$"){if(e===0)break;e--}else n!=="$"&&n!=="$?"&&n!=="$~"&&n!=="$!"||e++;n=r}while(n)}function Qg(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Qg(n),lh(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(n.rel.toLowerCase()==="stylesheet")continue}e.removeChild(n)}}function v_(e,t,n,r){for(;e.nodeType===1;){var o=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!=="INPUT"||e.type!=="hidden"))break}else if(r){if(!e[qc])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if(a=e.getAttribute("rel"),a==="stylesheet"&&e.hasAttribute("data-precedence"))break;if(a!==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(a=e.getAttribute("src"),(a!==(o.src==null?null:o.src)||e.getAttribute("type")!==(o.type==null?null:o.type)||e.getAttribute("crossorigin")!==(o.crossOrigin==null?null:o.crossOrigin))&&a&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else if(t==="input"&&e.type==="hidden"){var a=o.name==null?null:""+o.name;if(o.type==="hidden"&&e.getAttribute("name")===a)return e}else return e;if(e=eo(e.nextSibling),e===null)break}return null}function x_(e,t,n){if(t==="")return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!n||(e=eo(e.nextSibling),e===null))return null;return e}function Ow(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!=="INPUT"||e.type!=="hidden")&&!t||(e=eo(e.nextSibling),e===null))return null;return e}function Xg(e){return e.data==="$?"||e.data==="$~"}function Jg(e){return e.data==="$!"||e.data==="$?"&&e.ownerDocument.readyState!=="loading"}function S_(e,t){var n=e.ownerDocument;if(e.data==="$~")e._reactRetry=t;else if(e.data!=="$?"||n.readyState!=="loading")t();else{var r=function(){t(),n.removeEventListener("DOMContentLoaded",r)};n.addEventListener("DOMContentLoaded",r),e._reactRetry=r}}function eo(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 Zg=null;function $x(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="/$"||n==="/&"){if(t===0)return eo(e.nextSibling);t--}else n!=="$"&&n!=="$!"&&n!=="$?"&&n!=="$~"&&n!=="&"||t++}e=e.nextSibling}return null}function Kx(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n==="$"||n==="$!"||n==="$?"||n==="$~"||n==="&"){if(t===0)return e;t--}else n!=="/$"&&n!=="/&"||t++}e=e.previousSibling}return null}function _w(e,t,n){switch(t=Jd(n),e){case"html":if(e=t.documentElement,!e)throw Error(K(452));return e;case"head":if(e=t.head,!e)throw Error(K(453));return e;case"body":if(e=t.body,!e)throw Error(K(454));return e;default:throw Error(K(451))}}function Tc(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);lh(e)}var to=new Map,Gx=new Set;function Zd(e){return typeof e.getRootNode=="function"?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var Ea=Nt.d;Nt.d={f:w_,r:A_,D:C_,C:R_,L:N_,m:E_,X:M_,S:T_,M:k_};function w_(){var e=Ea.f(),t=yf();return e||t}function A_(e){var t=vs(e);t!==null&&t.tag===5&&t.type==="form"?RS(t):Ea.r(e)}var As=typeof document>"u"?null:document;function Lw(e,t,n){var r=As;if(r&&typeof t=="string"&&t){var o=Qr(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof n=="string"&&(o+='[crossorigin="'+n+'"]'),Gx.has(o)||(Gx.add(o),e={rel:e,crossOrigin:n,href:t},r.querySelector(o)===null&&(t=r.createElement("link"),Qn(t,"link",e),Vn(t),r.head.appendChild(t)))}}function C_(e){Ea.D(e),Lw("dns-prefetch",e,null)}function R_(e,t){Ea.C(e,t),Lw("preconnect",e,t)}function N_(e,t,n){Ea.L(e,t,n);var r=As;if(r&&e&&t){var o='link[rel="preload"][as="'+Qr(t)+'"]';t==="image"&&n&&n.imageSrcSet?(o+='[imagesrcset="'+Qr(n.imageSrcSet)+'"]',typeof n.imageSizes=="string"&&(o+='[imagesizes="'+Qr(n.imageSizes)+'"]')):o+='[href="'+Qr(e)+'"]';var a=o;switch(t){case"style":a=hs(e);break;case"script":a=Cs(e)}to.has(a)||(e=Jt({rel:"preload",href:t==="image"&&n&&n.imageSrcSet?void 0:e,as:t},n),to.set(a,e),r.querySelector(o)!==null||t==="style"&&r.querySelector(Zc(a))||t==="script"&&r.querySelector(eu(a))||(t=r.createElement("link"),Qn(t,"link",e),Vn(t),r.head.appendChild(t)))}}function E_(e,t){Ea.m(e,t);var n=As;if(n&&e){var r=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Qr(r)+'"][href="'+Qr(e)+'"]',a=o;switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=Cs(e)}if(!to.has(a)&&(e=Jt({rel:"modulepreload",href:e},t),to.set(a,e),n.querySelector(o)===null)){switch(r){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(eu(a)))return}r=n.createElement("link"),Qn(r,"link",e),Vn(r),n.head.appendChild(r)}}}function T_(e,t,n){Ea.S(e,t,n);var r=As;if(r&&e){var o=es(r).hoistableStyles,a=hs(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=r.querySelector(Zc(a)))l.loading=5;else{e=Jt({rel:"stylesheet",href:e,"data-precedence":t},n),(n=to.get(a))&&Gh(e,n);var s=i=r.createElement("link");Vn(s),Qn(s,"link",e),s._p=new Promise(function(c,d){s.onload=c,s.onerror=d}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,Rd(i,t,r)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function M_(e,t){Ea.X(e,t);var n=As;if(n&&e){var r=es(n).hoistableScripts,o=Cs(e),a=r.get(o);a||(a=n.querySelector(eu(o)),a||(e=Jt({src:e,async:!0},t),(t=to.get(o))&&qh(e,t),a=n.createElement("script"),Vn(a),Qn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function k_(e,t){Ea.M(e,t);var n=As;if(n&&e){var r=es(n).hoistableScripts,o=Cs(e),a=r.get(o);a||(a=n.querySelector(eu(o)),a||(e=Jt({src:e,async:!0,type:"module"},t),(t=to.get(o))&&qh(e,t),a=n.createElement("script"),Vn(a),Qn(a,"link",e),n.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},r.set(o,a))}}function qx(e,t,n,r){var o=(o=ri.current)?Zd(o):null;if(!o)throw Error(K(446));switch(e){case"meta":case"title":return null;case"style":return typeof n.precedence=="string"&&typeof n.href=="string"?(t=hs(n.href),n=es(o).hoistableStyles,r=n.get(t),r||(r={type:"style",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};case"link":if(n.rel==="stylesheet"&&typeof n.href=="string"&&typeof n.precedence=="string"){e=hs(n.href);var a=es(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(Zc(e)))&&!a._p&&(i.instance=a,i.state.loading=5),to.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},to.set(e,n),a||O_(o,e,n,i.state))),t&&r===null)throw Error(K(528,""));return i}if(t&&r!==null)throw Error(K(529,""));return null;case"script":return t=n.async,n=n.src,typeof n=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Cs(n),n=es(o).hoistableScripts,r=n.get(t),r||(r={type:"script",instance:null,count:0,state:null},n.set(t,r)),r):{type:"void",instance:null,count:0,state:null};default:throw Error(K(444,e))}}function hs(e){return'href="'+Qr(e)+'"'}function Zc(e){return'link[rel="stylesheet"]['+e+"]"}function Dw(e){return Jt({},e,{"data-precedence":e.precedence,precedence:null})}function O_(e,t,n,r){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?r.loading=1:(t=e.createElement("link"),r.preload=t,t.addEventListener("load",function(){return r.loading|=1}),t.addEventListener("error",function(){return r.loading|=2}),Qn(t,"link",n),Vn(t),e.head.appendChild(t))}function Cs(e){return'[src="'+Qr(e)+'"]'}function eu(e){return"script[async]"+e}function Wx(e,t,n){if(t.count++,t.instance===null)switch(t.type){case"style":var r=e.querySelector('style[data-href~="'+Qr(n.href)+'"]');if(r)return t.instance=r,Vn(r),r;var o=Jt({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement("style"),Vn(r),Qn(r,"style",o),Rd(r,n.precedence,e),t.instance=r;case"stylesheet":o=hs(n.href);var a=e.querySelector(Zc(o));if(a)return t.state.loading|=4,t.instance=a,Vn(a),a;r=Dw(n),(o=to.get(o))&&Gh(r,o),a=(e.ownerDocument||e).createElement("link"),Vn(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Qn(a,"link",r),t.state.loading|=4,Rd(a,n.precedence,e),t.instance=a;case"script":return a=Cs(n.src),(o=e.querySelector(eu(a)))?(t.instance=o,Vn(o),o):(r=n,(o=to.get(a))&&(r=Jt({},n),qh(r,o)),e=e.ownerDocument||e,o=e.createElement("script"),Vn(o),Qn(o,"link",r),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(K(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(r=t.instance,t.state.loading|=4,Rd(r,n.precedence,e));return t.instance}function Rd(e,t,n){for(var r=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=r.length?r[r.length-1]:null,a=o,i=0;i<r.length;i++){var l=r[i];if(l.dataset.precedence===t)a=l;else if(a!==o)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Gh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.title==null&&(e.title=t.title)}function qh(e,t){e.crossOrigin==null&&(e.crossOrigin=t.crossOrigin),e.referrerPolicy==null&&(e.referrerPolicy=t.referrerPolicy),e.integrity==null&&(e.integrity=t.integrity)}var Nd=null;function Yx(e,t,n){if(Nd===null){var r=new Map,o=Nd=new Map;o.set(n,r)}else o=Nd,r=o.get(n),r||(r=new Map,o.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),o=0;o<n.length;o++){var a=n[o];if(!(a[qc]||a[qn]||e==="link"&&a.getAttribute("rel")==="stylesheet")&&a.namespaceURI!=="http://www.w3.org/2000/svg"){var i=a.getAttribute(t)||"";i=e+i;var l=r.get(i);l?l.push(a):r.set(i,[a])}}return r}function Qx(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t==="title"?e.querySelector("head > title"):null)}function __(e,t,n){if(n===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 Bw(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function L_(e,t,n,r){if(n.type==="stylesheet"&&(typeof r.media!="string"||matchMedia(r.media).matches!==!1)&&(n.state.loading&4)===0){if(n.instance===null){var o=hs(r.href),a=t.querySelector(Zc(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ef.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,Vn(a);return}a=t.ownerDocument||t,r=Dw(r),(o=to.get(o))&&Gh(r,o),a=a.createElement("link"),Vn(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),Qn(a,"link",r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&(n.state.loading&3)===0&&(e.count++,n=ef.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}var ig=0;function D_(e,t){return e.stylesheets&&e.count===0&&Ed(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Ed(e,e.stylesheets),e.unsuspend){var a=e.unsuspend;e.unsuspend=null,a()}},6e4+t);0<e.imgBytes&&ig===0&&(ig=62500*p_());var o=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Ed(e,e.stylesheets),e.unsuspend)){var a=e.unsuspend;e.unsuspend=null,a()}},(e.imgBytes>ig?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(o)}}:null}function ef(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ed(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var tf=null;function Ed(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,tf=new Map,t.forEach(B_,e),tf=null,ef.call(e))}function B_(e,t){if(!(t.state.loading&4)){var n=tf.get(e);if(n)var r=n.get(null);else{n=new Map,tf.set(e,n);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a<o.length;a++){var i=o[a];(i.nodeName==="LINK"||i.getAttribute("media")!=="not all")&&(n.set(i.dataset.precedence,i),r=i)}r&&n.set(null,r)}o=t.instance,i=o.getAttribute("data-precedence"),a=n.get(i)||r,a===r&&n.set(null,o),n.set(i,o),this.count++,r=ef.bind(this),o.addEventListener("load",r),o.addEventListener("error",r),a?a.parentNode.insertBefore(o,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(o,e.firstChild)),t.state.loading|=4}}var jc={$$typeof:ha,Provider:null,Consumer:null,_currentValue:Gi,_currentValue2:Gi,_threadCount:0};function I_(e,t,n,r,o,a,i,l,s){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=_p(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_p(0),this.hiddenUpdates=_p(null),this.identifierPrefix=r,this.onUncaughtError=o,this.onCaughtError=a,this.onRecoverableError=i,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=s,this.incompleteTransitions=new Map}function Iw(e,t,n,r,o,a,i,l,s,c,d,u){return e=new I_(e,t,n,i,s,c,d,u,l),t=1,a===!0&&(t|=24),a=Mr(3,null,null,t),e.current=a,a.stateNode=e,t=vh(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},wh(a),e}function zw(e){return e?(e=Ql,e):Ql}function Pw(e,t,n,r,o,a){o=zw(o),r.context===null?r.context=o:r.pendingContext=o,r=ai(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=ii(e,r,t),n!==null&&(gr(n,e,t),xc(n,e,t))}function Xx(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function Wh(e,t){Xx(e,t),(e=e.alternate)&&Xx(e,t)}function Uw(e){if(e.tag===13||e.tag===31){var t=al(e,67108864);t!==null&&gr(t,e,67108864),Wh(e,67108864)}}function Jx(e){if(e.tag===13||e.tag===31){var t=Dr();t=ah(t);var n=al(e,t);n!==null&&gr(n,e,t),Wh(e,t)}}var nf=!0;function z_(e,t,n,r){var o=Fe.T;Fe.T=null;var a=Nt.p;try{Nt.p=2,Yh(e,t,n,r)}finally{Nt.p=a,Fe.T=o}}function P_(e,t,n,r){var o=Fe.T;Fe.T=null;var a=Nt.p;try{Nt.p=8,Yh(e,t,n,r)}finally{Nt.p=a,Fe.T=o}}function Yh(e,t,n,r){if(nf){var o=eh(r);if(o===null)og(e,t,r,rf,n),Zx(e,r);else if(j_(o,e,t,n,r))r.stopPropagation();else if(Zx(e,r),t&4&&-1<U_.indexOf(e)){for(;o!==null;){var a=vs(o);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var i=Hi(a.pendingLanes);if(i!==0){var l=a;for(l.pendingLanes|=2,l.entangledLanes|=2;i;){var s=1<<31-Lr(i);l.entanglements[1]|=s,i&=~s}Po(a),(Rt&6)===0&&(Gd=Or()+500,Jc(0,!1))}}break;case 31:case 13:l=al(a,2),l!==null&&gr(l,a,2),yf(),Wh(a,2)}if(a=eh(r),a===null&&og(e,t,r,rf,n),a===o)break;o=a}o!==null&&r.stopPropagation()}else og(e,t,r,null,n)}}function eh(e){return e=ch(e),Qh(e)}var rf=null;function Qh(e){if(rf=null,e=$l(e),e!==null){var t=Hc(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=a0(t),e!==null)return e;e=null}else if(n===31){if(e=i0(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return rf=e,null}function jw(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(Nk()){case u0:return 2;case d0:return 8;case _d:case Ek:return 32;case f0:return 268435456;default:return 32}default:return 32}}var th=!1,ci=null,ui=null,di=null,Vc=new Map,Fc=new Map,Xa=[],U_="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 Zx(e,t){switch(e){case"focusin":case"focusout":ci=null;break;case"dragenter":case"dragleave":ui=null;break;case"mouseover":case"mouseout":di=null;break;case"pointerover":case"pointerout":Vc.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Fc.delete(t.pointerId)}}function cc(e,t,n,r,o,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[o]},t!==null&&(t=vs(t),t!==null&&Uw(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,o!==null&&t.indexOf(o)===-1&&t.push(o),e)}function j_(e,t,n,r,o){switch(t){case"focusin":return ci=cc(ci,e,t,n,r,o),!0;case"dragenter":return ui=cc(ui,e,t,n,r,o),!0;case"mouseover":return di=cc(di,e,t,n,r,o),!0;case"pointerover":var a=o.pointerId;return Vc.set(a,cc(Vc.get(a)||null,e,t,n,r,o)),!0;case"gotpointercapture":return a=o.pointerId,Fc.set(a,cc(Fc.get(a)||null,e,t,n,r,o)),!0}return!1}function Vw(e){var t=$l(e.target);if(t!==null){var n=Hc(t);if(n!==null){if(t=n.tag,t===13){if(t=a0(n),t!==null){e.blockedOn=t,Iv(e.priority,function(){Jx(n)});return}}else if(t===31){if(t=i0(n),t!==null){e.blockedOn=t,Iv(e.priority,function(){Jx(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Td(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=eh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);vg=r,n.target.dispatchEvent(r),vg=null}else return t=vs(n),t!==null&&Uw(t),e.blockedOn=n,!1;t.shift()}return!0}function e0(e,t,n){Td(e)&&n.delete(t)}function V_(){th=!1,ci!==null&&Td(ci)&&(ci=null),ui!==null&&Td(ui)&&(ui=null),di!==null&&Td(di)&&(di=null),Vc.forEach(e0),Fc.forEach(e0)}function fd(e,t){e.blockedOn===t&&(e.blockedOn=null,th||(th=!0,Dn.unstable_scheduleCallback(Dn.unstable_NormalPriority,V_)))}var md=null;function t0(e){md!==e&&(md=e,Dn.unstable_scheduleCallback(Dn.unstable_NormalPriority,function(){md===e&&(md=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],o=e[t+2];if(typeof r!="function"){if(Qh(r||n)===null)continue;break}var a=vs(n);a!==null&&(e.splice(t,3),t-=3,Bg(a,{pending:!0,data:o,method:n.method,action:r},r,o))}}))}function ys(e){function t(s){return fd(s,e)}ci!==null&&fd(ci,e),ui!==null&&fd(ui,e),di!==null&&fd(di,e),Vc.forEach(t),Fc.forEach(t);for(var n=0;n<Xa.length;n++){var r=Xa[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Xa.length&&(n=Xa[0],n.blockedOn===null);)Vw(n),n.blockedOn===null&&Xa.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var o=n[r],a=n[r+1],i=o[hr]||null;if(typeof a=="function")i||t0(n);else if(i){var l=null;if(a&&a.hasAttribute("formAction")){if(o=a,i=a[hr]||null)l=i.formAction;else if(Qh(o)!==null)continue}else l=i.action;typeof l=="function"?n[r+1]=l:(n.splice(r,3),r-=3),t0(n)}}}function Fw(){function e(a){a.canIntercept&&a.info==="react-transition"&&a.intercept({handler:function(){return new Promise(function(i){return o=i})},focusReset:"manual",scroll:"manual"})}function t(){o!==null&&(o(),o=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var a=navigation.currentEntry;a&&a.url!=null&&navigation.navigate(a.url,{state:a.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var r=!1,o=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),o!==null&&(o(),o=null)}}}function Xh(e){this._internalRoot=e}xf.prototype.render=Xh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(K(409));var n=t.current,r=Dr();Pw(n,r,e,t,null,null)};xf.prototype.unmount=Xh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;Pw(e.current,2,null,e,null,null),yf(),t[bs]=null}};function xf(e){this._internalRoot=e}xf.prototype.unstable_scheduleHydration=function(e){if(e){var t=y0();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Xa.length&&t!==0&&t<Xa[n].priority;n++);Xa.splice(n,0,e),n===0&&Vw(e)}};var n0=r0.version;if(n0!=="19.2.4")throw Error(K(527,n0,"19.2.4"));Nt.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(K(188)):(e=Object.keys(e).join(","),Error(K(268,e)));return e=vk(t),e=e!==null?l0(e):null,e=e===null?null:e.stateNode,e};var F_={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:Fe,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&(uc=__REACT_DEVTOOLS_GLOBAL_HOOK__,!uc.isDisabled&&uc.supportsFiber))try{$c=uc.inject(F_),_r=uc}catch{}var uc;Sf.createRoot=function(e,t){if(!o0(e))throw Error(K(299));var n=!1,r="",o=LS,a=DS,i=BS;return t!=null&&(t.unstable_strictMode===!0&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(a=t.onCaughtError),t.onRecoverableError!==void 0&&(i=t.onRecoverableError)),t=Iw(e,1,!1,null,null,n,r,null,o,a,i,Fw),e[bs]=t.current,Kh(e),new Xh(t)};Sf.hydrateRoot=function(e,t,n){if(!o0(e))throw Error(K(299));var r=!1,o="",a=LS,i=DS,l=BS,s=null;return n!=null&&(n.unstable_strictMode===!0&&(r=!0),n.identifierPrefix!==void 0&&(o=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(i=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(s=n.formState)),t=Iw(e,1,!0,t,n??null,r,o,s,a,i,l,Fw),t.context=zw(null),n=t.current,r=Dr(),r=ah(r),o=ai(r),o.callback=null,ii(n,o,r),n=r,t.current.lanes=n,Gc(t,n),Po(t),e[bs]=t.current,Kh(e),new xf(t)};Sf.version="19.2.4"});var Gw=Oo((MI,Kw)=>{"use strict";function $w(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE($w)}catch(e){console.error(e)}}$w(),Kw.exports=Hw()});var yA=Oo(Nf=>{"use strict";var O2=Symbol.for("react.transitional.element"),_2=Symbol.for("react.fragment");function hA(e,t,n){var r=null;if(n!==void 0&&(r=""+n),t.key!==void 0&&(r=""+t.key),"key"in t){n={};for(var o in t)o!=="key"&&(n[o]=t[o])}else n=t;return t=n.ref,{$$typeof:O2,type:e,key:r,ref:t!==void 0?t:null,props:n}}Nf.Fragment=_2;Nf.jsx=hA;Nf.jsxs=hA});var J=Oo((PI,bA)=>{"use strict";bA.exports=yA()});var kT=D(Gw(),1);var ve=D(be(),1);function qw(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=qw(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function wf(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=qw(e))&&(r&&(r+=" "),r+=t);return r}var Ww=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,Yw=wf,Af=(e,t)=>n=>{var r;if(t?.variants==null)return Yw(e,n?.class,n?.className);let{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(c=>{let d=n?.[c],u=a?.[c];if(d===null)return null;let f=Ww(d)||Ww(u);return o[c][f]}),l=n&&Object.entries(n).reduce((c,d)=>{let[u,f]=d;return f===void 0||(c[u]=f),c},{}),s=t==null||(r=t.compoundVariants)===null||r===void 0?void 0:r.reduce((c,d)=>{let{class:u,className:f,...m}=d;return Object.entries(m).every(b=>{let[p,v]=b;return Array.isArray(v)?v.includes({...a,...l}[p]):{...a,...l}[p]===v})?[...c,u,f]:c},[]);return Yw(e,i,s,n?.class,n?.className)};var H_=(e,t)=>{let n=new Array(e.length+t.length);for(let r=0;r<e.length;r++)n[r]=e[r];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},$_=(e,t)=>({classGroupId:e,validator:t}),tA=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n});var Qw=[],K_="arbitrary..",G_=e=>{let t=W_(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return q_(i);let l=i.split("-"),s=l[0]===""&&l.length>1?1:0;return nA(l,s,t)},getConflictingClassGroupIds:(i,l)=>{if(l){let s=r[i],c=n[i];return s?c?H_(c,s):s:c||Qw}return n[i]||Qw}}},nA=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let o=e[t],a=n.nextPart.get(o);if(a){let c=nA(e,t+1,a);if(c)return c}let i=n.validators;if(i===null)return;let l=t===0?e.join("-"):e.slice(t).join("-"),s=i.length;for(let c=0;c<s;c++){let d=i[c];if(d.validator(l))return d.classGroupId}},q_=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(":"),r=t.slice(0,n);return r?K_+r:void 0})(),W_=e=>{let{theme:t,classGroups:n}=e;return Y_(n,t)},Y_=(e,t)=>{let n=tA();for(let r in e){let o=e[r];Zh(o,n,r,t)}return n},Zh=(e,t,n,r)=>{let o=e.length;for(let a=0;a<o;a++){let i=e[a];Q_(i,t,n,r)}},Q_=(e,t,n,r)=>{if(typeof e=="string"){X_(e,t,n);return}if(typeof e=="function"){J_(e,t,n,r);return}Z_(e,t,n,r)},X_=(e,t,n)=>{let r=e===""?t:rA(t,e);r.classGroupId=n},J_=(e,t,n,r)=>{if(e2(e)){Zh(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push($_(n,e))},Z_=(e,t,n,r)=>{let o=Object.entries(e),a=o.length;for(let i=0;i<a;i++){let[l,s]=o[i];Zh(s,rA(t,l),n,r)}},rA=(e,t)=>{let n=e,r=t.split("-"),o=r.length;for(let a=0;a<o;a++){let i=r[a],l=n.nextPart.get(i);l||(l=tA(),n.nextPart.set(i,l)),n=l}return n},e2=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,t2=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),o=(a,i)=>{n[a]=i,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(a){let i=n[a];if(i!==void 0)return i;if((i=r[a])!==void 0)return o(a,i),i},set(a,i){a in n?n[a]=i:o(a,i)}}};var n2=[],Xw=(e,t,n,r,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:o}),r2=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=o=>{let a=[],i=0,l=0,s=0,c,d=o.length;for(let p=0;p<d;p++){let v=o[p];if(i===0&&l===0){if(v===":"){a.push(o.slice(s,p)),s=p+1;continue}if(v==="/"){c=p;continue}}v==="["?i++:v==="]"?i--:v==="("?l++:v===")"&&l--}let u=a.length===0?o:o.slice(s),f=u,m=!1;u.endsWith("!")?(f=u.slice(0,-1),m=!0):u.startsWith("!")&&(f=u.slice(1),m=!0);let b=c&&c>s?c-s:void 0;return Xw(a,m,f,b)};if(t){let o=t+":",a=r;r=i=>i.startsWith(o)?a(i.slice(o.length)):Xw(n2,!1,i,void 0,!0)}if(n){let o=r;r=a=>n({className:a,parseClassName:o})}return r},o2=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((n,r)=>{t.set(n,1e6+r)}),n=>{let r=[],o=[];for(let a=0;a<n.length;a++){let i=n[a],l=i[0]==="[",s=t.has(i);l||s?(o.length>0&&(o.sort(),r.push(...o),o=[]),r.push(i)):o.push(i)}return o.length>0&&(o.sort(),r.push(...o)),r}},a2=e=>({cache:t2(e.cacheSize),parseClassName:r2(e),sortModifiers:o2(e),...G_(e)}),i2=/\s+/,l2=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],l=e.trim().split(i2),s="";for(let c=l.length-1;c>=0;c-=1){let d=l[c],{isExternal:u,modifiers:f,hasImportantModifier:m,baseClassName:b,maybePostfixModifierPosition:p}=n(d);if(u){s=d+(s.length>0?" "+s:s);continue}let v=!!p,h=r(v?b.substring(0,p):b);if(!h){if(!v){s=d+(s.length>0?" "+s:s);continue}if(h=r(b),!h){s=d+(s.length>0?" "+s:s);continue}v=!1}let g=f.length===0?"":f.length===1?f[0]:a(f).join(":"),y=m?g+"!":g,x=y+h;if(i.indexOf(x)>-1)continue;i.push(x);let R=o(h,v);for(let w=0;w<R.length;++w){let E=R[w];i.push(y+E)}s=d+(s.length>0?" "+s:s)}return s},s2=(...e)=>{let t=0,n,r,o="";for(;t<e.length;)(n=e[t++])&&(r=oA(n))&&(o&&(o+=" "),o+=r);return o},oA=e=>{if(typeof e=="string")return e;let t,n="";for(let r=0;r<e.length;r++)e[r]&&(t=oA(e[r]))&&(n&&(n+=" "),n+=t);return n},c2=(e,...t)=>{let n,r,o,a,i=s=>{let c=t.reduce((d,u)=>u(d),e());return n=a2(c),r=n.cache.get,o=n.cache.set,a=l,l(s)},l=s=>{let c=r(s);if(c)return c;let d=l2(s,n);return o(s,d),d};return a=i,(...s)=>a(s2(...s))},u2=[],Bn=e=>{let t=n=>n[e]||u2;return t.isThemeGetter=!0,t},aA=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,iA=/^\((?:(\w[\w-]*):)?(.+)\)$/i,d2=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,f2=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,m2=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,p2=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,g2=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,h2=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,bi=e=>d2.test(e),lt=e=>!!e&&!Number.isNaN(Number(e)),vi=e=>!!e&&Number.isInteger(Number(e)),Jh=e=>e.endsWith("%")&<(e.slice(0,-1)),Ta=e=>f2.test(e),lA=()=>!0,y2=e=>m2.test(e)&&!p2.test(e),ey=()=>!1,b2=e=>g2.test(e),v2=e=>h2.test(e),x2=e=>!Ce(e)&&!Re(e),S2=e=>xi(e,uA,ey),Ce=e=>aA.test(e),ll=e=>xi(e,dA,y2),Jw=e=>xi(e,M2,lt),w2=e=>xi(e,mA,lA),A2=e=>xi(e,fA,ey),Zw=e=>xi(e,sA,ey),C2=e=>xi(e,cA,v2),Cf=e=>xi(e,pA,b2),Re=e=>iA.test(e),tu=e=>sl(e,dA),R2=e=>sl(e,fA),eA=e=>sl(e,sA),N2=e=>sl(e,uA),E2=e=>sl(e,cA),Rf=e=>sl(e,pA,!0),T2=e=>sl(e,mA,!0),xi=(e,t,n)=>{let r=aA.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},sl=(e,t,n=!1)=>{let r=iA.exec(e);return r?r[1]?t(r[1]):n:!1},sA=e=>e==="position"||e==="percentage",cA=e=>e==="image"||e==="url",uA=e=>e==="length"||e==="size"||e==="bg-size",dA=e=>e==="length",M2=e=>e==="number",fA=e=>e==="family-name",mA=e=>e==="number"||e==="weight",pA=e=>e==="shadow";var k2=()=>{let e=Bn("color"),t=Bn("font"),n=Bn("text"),r=Bn("font-weight"),o=Bn("tracking"),a=Bn("leading"),i=Bn("breakpoint"),l=Bn("container"),s=Bn("spacing"),c=Bn("radius"),d=Bn("shadow"),u=Bn("inset-shadow"),f=Bn("text-shadow"),m=Bn("drop-shadow"),b=Bn("blur"),p=Bn("perspective"),v=Bn("aspect"),h=Bn("ease"),g=Bn("animate"),y=()=>["auto","avoid","all","avoid-page","page","left","right","column"],x=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[...x(),Re,Ce],w=()=>["auto","hidden","clip","visible","scroll"],E=()=>["auto","contain","none"],C=()=>[Re,Ce,s],M=()=>[bi,"full","auto",...C()],L=()=>[vi,"none","subgrid",Re,Ce],F=()=>["auto",{span:["full",vi,Re,Ce]},vi,Re,Ce],z=()=>[vi,"auto",Re,Ce],G=()=>["auto","min","max","fr",Re,Ce],ee=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],de=()=>["start","end","center","stretch","center-safe","end-safe"],q=()=>["auto",...C()],ae=()=>[bi,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...C()],te=()=>[bi,"screen","full","dvw","lvw","svw","min","max","fit",...C()],W=()=>[bi,"screen","full","lh","dvh","lvh","svh","min","max","fit",...C()],V=()=>[e,Re,Ce],Pe=()=>[...x(),eA,Zw,{position:[Re,Ce]}],ne=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$e=()=>["auto","cover","contain",N2,S2,{size:[Re,Ce]}],ie=()=>[Jh,tu,ll],we=()=>["","none","full",c,Re,Ce],Ue=()=>["",lt,tu,ll],j=()=>["solid","dashed","dotted","double"],pe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],Se=()=>[lt,Jh,eA,Zw],Le=()=>["","none",b,Re,Ce],Ae=()=>["none",lt,Re,Ce],ke=()=>["none",lt,Re,Ce],Qe=()=>[lt,Re,Ce],Ze=()=>[bi,"full",...C()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ta],breakpoint:[Ta],color:[lA],container:[Ta],"drop-shadow":[Ta],ease:["in","out","in-out"],font:[x2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ta],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ta],shadow:[Ta],spacing:["px",lt],text:[Ta],"text-shadow":[Ta],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",bi,Ce,Re,v]}],container:["container"],columns:[{columns:[lt,Ce,Re,l]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:R()}],overflow:[{overflow:w()}],"overflow-x":[{"overflow-x":w()}],"overflow-y":[{"overflow-y":w()}],overscroll:[{overscroll:E()}],"overscroll-x":[{"overscroll-x":E()}],"overscroll-y":[{"overscroll-y":E()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{"inset-s":M(),start:M()}],end:[{"inset-e":M(),end:M()}],"inset-bs":[{"inset-bs":M()}],"inset-be":[{"inset-be":M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[vi,"auto",Re,Ce]}],basis:[{basis:[bi,"full","auto",l,...C()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[lt,bi,"auto","initial","none",Ce]}],grow:[{grow:["",lt,Re,Ce]}],shrink:[{shrink:["",lt,Re,Ce]}],order:[{order:[vi,"first","last","none",Re,Ce]}],"grid-cols":[{"grid-cols":L()}],"col-start-end":[{col:F()}],"col-start":[{"col-start":z()}],"col-end":[{"col-end":z()}],"grid-rows":[{"grid-rows":L()}],"row-start-end":[{row:F()}],"row-start":[{"row-start":z()}],"row-end":[{"row-end":z()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":G()}],"auto-rows":[{"auto-rows":G()}],gap:[{gap:C()}],"gap-x":[{"gap-x":C()}],"gap-y":[{"gap-y":C()}],"justify-content":[{justify:[...ee(),"normal"]}],"justify-items":[{"justify-items":[...de(),"normal"]}],"justify-self":[{"justify-self":["auto",...de()]}],"align-content":[{content:["normal",...ee()]}],"align-items":[{items:[...de(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...de(),{baseline:["","last"]}]}],"place-content":[{"place-content":ee()}],"place-items":[{"place-items":[...de(),"baseline"]}],"place-self":[{"place-self":["auto",...de()]}],p:[{p:C()}],px:[{px:C()}],py:[{py:C()}],ps:[{ps:C()}],pe:[{pe:C()}],pbs:[{pbs:C()}],pbe:[{pbe:C()}],pt:[{pt:C()}],pr:[{pr:C()}],pb:[{pb:C()}],pl:[{pl:C()}],m:[{m:q()}],mx:[{mx:q()}],my:[{my:q()}],ms:[{ms:q()}],me:[{me:q()}],mbs:[{mbs:q()}],mbe:[{mbe:q()}],mt:[{mt:q()}],mr:[{mr:q()}],mb:[{mb:q()}],ml:[{ml:q()}],"space-x":[{"space-x":C()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":C()}],"space-y-reverse":["space-y-reverse"],size:[{size:ae()}],"inline-size":[{inline:["auto",...te()]}],"min-inline-size":[{"min-inline":["auto",...te()]}],"max-inline-size":[{"max-inline":["none",...te()]}],"block-size":[{block:["auto",...W()]}],"min-block-size":[{"min-block":["auto",...W()]}],"max-block-size":[{"max-block":["none",...W()]}],w:[{w:[l,"screen",...ae()]}],"min-w":[{"min-w":[l,"screen","none",...ae()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...ae()]}],h:[{h:["screen","lh",...ae()]}],"min-h":[{"min-h":["screen","lh","none",...ae()]}],"max-h":[{"max-h":["screen","lh",...ae()]}],"font-size":[{text:["base",n,tu,ll]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,T2,w2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jh,Ce]}],"font-family":[{font:[R2,A2,t]}],"font-features":[{"font-features":[Ce]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,Re,Ce]}],"line-clamp":[{"line-clamp":[lt,"none",Re,Jw]}],leading:[{leading:[a,...C()]}],"list-image":[{"list-image":["none",Re,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Re,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:V()}],"text-color":[{text:V()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...j(),"wavy"]}],"text-decoration-thickness":[{decoration:[lt,"from-font","auto",Re,ll]}],"text-decoration-color":[{decoration:V()}],"underline-offset":[{"underline-offset":[lt,"auto",Re,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:C()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Re,Ce]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",Re,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Pe()}],"bg-repeat":[{bg:ne()}],"bg-size":[{bg:$e()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},vi,Re,Ce],radial:["",Re,Ce],conic:[vi,Re,Ce]},E2,C2]}],"bg-color":[{bg:V()}],"gradient-from-pos":[{from:ie()}],"gradient-via-pos":[{via:ie()}],"gradient-to-pos":[{to:ie()}],"gradient-from":[{from:V()}],"gradient-via":[{via:V()}],"gradient-to":[{to:V()}],rounded:[{rounded:we()}],"rounded-s":[{"rounded-s":we()}],"rounded-e":[{"rounded-e":we()}],"rounded-t":[{"rounded-t":we()}],"rounded-r":[{"rounded-r":we()}],"rounded-b":[{"rounded-b":we()}],"rounded-l":[{"rounded-l":we()}],"rounded-ss":[{"rounded-ss":we()}],"rounded-se":[{"rounded-se":we()}],"rounded-ee":[{"rounded-ee":we()}],"rounded-es":[{"rounded-es":we()}],"rounded-tl":[{"rounded-tl":we()}],"rounded-tr":[{"rounded-tr":we()}],"rounded-br":[{"rounded-br":we()}],"rounded-bl":[{"rounded-bl":we()}],"border-w":[{border:Ue()}],"border-w-x":[{"border-x":Ue()}],"border-w-y":[{"border-y":Ue()}],"border-w-s":[{"border-s":Ue()}],"border-w-e":[{"border-e":Ue()}],"border-w-bs":[{"border-bs":Ue()}],"border-w-be":[{"border-be":Ue()}],"border-w-t":[{"border-t":Ue()}],"border-w-r":[{"border-r":Ue()}],"border-w-b":[{"border-b":Ue()}],"border-w-l":[{"border-l":Ue()}],"divide-x":[{"divide-x":Ue()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":Ue()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...j(),"hidden","none"]}],"divide-style":[{divide:[...j(),"hidden","none"]}],"border-color":[{border:V()}],"border-color-x":[{"border-x":V()}],"border-color-y":[{"border-y":V()}],"border-color-s":[{"border-s":V()}],"border-color-e":[{"border-e":V()}],"border-color-bs":[{"border-bs":V()}],"border-color-be":[{"border-be":V()}],"border-color-t":[{"border-t":V()}],"border-color-r":[{"border-r":V()}],"border-color-b":[{"border-b":V()}],"border-color-l":[{"border-l":V()}],"divide-color":[{divide:V()}],"outline-style":[{outline:[...j(),"none","hidden"]}],"outline-offset":[{"outline-offset":[lt,Re,Ce]}],"outline-w":[{outline:["",lt,tu,ll]}],"outline-color":[{outline:V()}],shadow:[{shadow:["","none",d,Rf,Cf]}],"shadow-color":[{shadow:V()}],"inset-shadow":[{"inset-shadow":["none",u,Rf,Cf]}],"inset-shadow-color":[{"inset-shadow":V()}],"ring-w":[{ring:Ue()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:V()}],"ring-offset-w":[{"ring-offset":[lt,ll]}],"ring-offset-color":[{"ring-offset":V()}],"inset-ring-w":[{"inset-ring":Ue()}],"inset-ring-color":[{"inset-ring":V()}],"text-shadow":[{"text-shadow":["none",f,Rf,Cf]}],"text-shadow-color":[{"text-shadow":V()}],opacity:[{opacity:[lt,Re,Ce]}],"mix-blend":[{"mix-blend":[...pe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":pe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[lt]}],"mask-image-linear-from-pos":[{"mask-linear-from":Se()}],"mask-image-linear-to-pos":[{"mask-linear-to":Se()}],"mask-image-linear-from-color":[{"mask-linear-from":V()}],"mask-image-linear-to-color":[{"mask-linear-to":V()}],"mask-image-t-from-pos":[{"mask-t-from":Se()}],"mask-image-t-to-pos":[{"mask-t-to":Se()}],"mask-image-t-from-color":[{"mask-t-from":V()}],"mask-image-t-to-color":[{"mask-t-to":V()}],"mask-image-r-from-pos":[{"mask-r-from":Se()}],"mask-image-r-to-pos":[{"mask-r-to":Se()}],"mask-image-r-from-color":[{"mask-r-from":V()}],"mask-image-r-to-color":[{"mask-r-to":V()}],"mask-image-b-from-pos":[{"mask-b-from":Se()}],"mask-image-b-to-pos":[{"mask-b-to":Se()}],"mask-image-b-from-color":[{"mask-b-from":V()}],"mask-image-b-to-color":[{"mask-b-to":V()}],"mask-image-l-from-pos":[{"mask-l-from":Se()}],"mask-image-l-to-pos":[{"mask-l-to":Se()}],"mask-image-l-from-color":[{"mask-l-from":V()}],"mask-image-l-to-color":[{"mask-l-to":V()}],"mask-image-x-from-pos":[{"mask-x-from":Se()}],"mask-image-x-to-pos":[{"mask-x-to":Se()}],"mask-image-x-from-color":[{"mask-x-from":V()}],"mask-image-x-to-color":[{"mask-x-to":V()}],"mask-image-y-from-pos":[{"mask-y-from":Se()}],"mask-image-y-to-pos":[{"mask-y-to":Se()}],"mask-image-y-from-color":[{"mask-y-from":V()}],"mask-image-y-to-color":[{"mask-y-to":V()}],"mask-image-radial":[{"mask-radial":[Re,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":Se()}],"mask-image-radial-to-pos":[{"mask-radial-to":Se()}],"mask-image-radial-from-color":[{"mask-radial-from":V()}],"mask-image-radial-to-color":[{"mask-radial-to":V()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":x()}],"mask-image-conic-pos":[{"mask-conic":[lt]}],"mask-image-conic-from-pos":[{"mask-conic-from":Se()}],"mask-image-conic-to-pos":[{"mask-conic-to":Se()}],"mask-image-conic-from-color":[{"mask-conic-from":V()}],"mask-image-conic-to-color":[{"mask-conic-to":V()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Pe()}],"mask-repeat":[{mask:ne()}],"mask-size":[{mask:$e()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Re,Ce]}],filter:[{filter:["","none",Re,Ce]}],blur:[{blur:Le()}],brightness:[{brightness:[lt,Re,Ce]}],contrast:[{contrast:[lt,Re,Ce]}],"drop-shadow":[{"drop-shadow":["","none",m,Rf,Cf]}],"drop-shadow-color":[{"drop-shadow":V()}],grayscale:[{grayscale:["",lt,Re,Ce]}],"hue-rotate":[{"hue-rotate":[lt,Re,Ce]}],invert:[{invert:["",lt,Re,Ce]}],saturate:[{saturate:[lt,Re,Ce]}],sepia:[{sepia:["",lt,Re,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Re,Ce]}],"backdrop-blur":[{"backdrop-blur":Le()}],"backdrop-brightness":[{"backdrop-brightness":[lt,Re,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[lt,Re,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",lt,Re,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[lt,Re,Ce]}],"backdrop-invert":[{"backdrop-invert":["",lt,Re,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[lt,Re,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[lt,Re,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",lt,Re,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":C()}],"border-spacing-x":[{"border-spacing-x":C()}],"border-spacing-y":[{"border-spacing-y":C()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Re,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[lt,"initial",Re,Ce]}],ease:[{ease:["linear","initial",h,Re,Ce]}],delay:[{delay:[lt,Re,Ce]}],animate:[{animate:["none",g,Re,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,Re,Ce]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:Ae()}],"rotate-x":[{"rotate-x":Ae()}],"rotate-y":[{"rotate-y":Ae()}],"rotate-z":[{"rotate-z":Ae()}],scale:[{scale:ke()}],"scale-x":[{"scale-x":ke()}],"scale-y":[{"scale-y":ke()}],"scale-z":[{"scale-z":ke()}],"scale-3d":["scale-3d"],skew:[{skew:Qe()}],"skew-x":[{"skew-x":Qe()}],"skew-y":[{"skew-y":Qe()}],transform:[{transform:[Re,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ze()}],"translate-x":[{"translate-x":Ze()}],"translate-y":[{"translate-y":Ze()}],"translate-z":[{"translate-z":Ze()}],"translate-none":["translate-none"],accent:[{accent:V()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:V()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",Re,Ce]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":C()}],"scroll-mx":[{"scroll-mx":C()}],"scroll-my":[{"scroll-my":C()}],"scroll-ms":[{"scroll-ms":C()}],"scroll-me":[{"scroll-me":C()}],"scroll-mbs":[{"scroll-mbs":C()}],"scroll-mbe":[{"scroll-mbe":C()}],"scroll-mt":[{"scroll-mt":C()}],"scroll-mr":[{"scroll-mr":C()}],"scroll-mb":[{"scroll-mb":C()}],"scroll-ml":[{"scroll-ml":C()}],"scroll-p":[{"scroll-p":C()}],"scroll-px":[{"scroll-px":C()}],"scroll-py":[{"scroll-py":C()}],"scroll-ps":[{"scroll-ps":C()}],"scroll-pe":[{"scroll-pe":C()}],"scroll-pbs":[{"scroll-pbs":C()}],"scroll-pbe":[{"scroll-pbe":C()}],"scroll-pt":[{"scroll-pt":C()}],"scroll-pr":[{"scroll-pr":C()}],"scroll-pb":[{"scroll-pb":C()}],"scroll-pl":[{"scroll-pl":C()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",Re,Ce]}],fill:[{fill:["none",...V()]}],"stroke-w":[{stroke:[lt,tu,ll,Jw]}],stroke:[{stroke:["none",...V()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var gA=c2(k2);function Q(...e){return gA(wf(e))}var vA=D(J(),1),L2=Af("inline-flex items-center rounded-full border px-2.5 py-1 text-[11px] font-medium tracking-wide",{variants:{variant:{default:"border-border bg-secondary text-secondary-foreground",success:"border-emerald-200 bg-emerald-50 text-emerald-700",warning:"border-amber-200 bg-amber-50 text-amber-700",danger:"border-rose-200 bg-rose-50 text-rose-700",info:"border-sky-200 bg-sky-50 text-sky-700",outline:"border-border bg-background/70 text-muted-foreground"}},defaultVariants:{variant:"default"}});function Ne({className:e,variant:t,...n}){return(0,vA.jsx)("span",{className:Q(L2({variant:t}),e),...n})}var xA=D(J(),1),D2=Af("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium uppercase tracking-[0.16em] transition-colors disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-sm hover:bg-primary/92",outline:"border border-border bg-background/80 text-foreground hover:bg-accent hover:text-accent-foreground",ghost:"text-muted-foreground hover:bg-accent hover:text-accent-foreground",danger:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/92"},size:{default:"h-9 px-3.5",sm:"h-8 px-3 text-xs",lg:"h-10 px-4"}},defaultVariants:{variant:"default",size:"default"}});function U({className:e,variant:t,size:n,type:r="button",...o}){return(0,xA.jsx)("button",{className:Q(D2({variant:t,size:n}),e),type:r,...o})}var Rs=D(J(),1);function Ut({className:e,...t}){return(0,Rs.jsx)("section",{className:Q("rounded-2xl border border-border/70 bg-card/92 shadow-sm backdrop-blur",e),...t})}function no({className:e,...t}){return(0,Rs.jsx)("div",{className:Q("flex flex-col gap-1.5 p-5 pb-0",e),...t})}function Uo({className:e,...t}){return(0,Rs.jsx)("h2",{className:Q("text-sm font-semibold tracking-tight text-foreground",e),...t})}function Si({className:e,...t}){return(0,Rs.jsx)("p",{className:Q("text-sm text-muted-foreground",e),...t})}function jt({className:e,...t}){return(0,Rs.jsx)("div",{className:Q("p-5",e),...t})}var xo=D(be(),1);var qI=!!(typeof window<"u"&&window.document&&window.document.createElement);function St(e,t,{checkForDefaultPrevented:n=!0}={}){return function(o){if(e?.(o),n===!1||!o.defaultPrevented)return t?.(o)}}var wA=D(be(),1);function SA(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function ty(...e){return t=>{let n=!1,r=e.map(o=>{let a=SA(o,t);return!n&&typeof a=="function"&&(n=!0),a});if(n)return()=>{for(let o=0;o<r.length;o++){let a=r[o];typeof a=="function"?a():SA(e[o],null)}}}}function Dt(...e){return wA.useCallback(ty(...e),e)}var Ma=D(be(),1),AA=D(J(),1);function ro(e,t=[]){let n=[];function r(a,i){let l=Ma.createContext(i),s=n.length;n=[...n,i];let c=u=>{let{scope:f,children:m,...b}=u,p=f?.[e]?.[s]||l,v=Ma.useMemo(()=>b,Object.values(b));return(0,AA.jsx)(p.Provider,{value:v,children:m})};c.displayName=a+"Provider";function d(u,f){let m=f?.[e]?.[s]||l,b=Ma.useContext(m);if(b)return b;if(i!==void 0)return i;throw new Error(`\`${u}\` must be used within \`${a}\``)}return[c,d]}let o=()=>{let a=n.map(i=>Ma.createContext(i));return function(l){let s=l?.[e]||a;return Ma.useMemo(()=>({[`__scope${e}`]:{...l,[e]:s}}),[l,s])}};return o.scopeName=e,[r,B2(o,...t)]}function B2(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let r=e.map(o=>({useScope:o(),scopeName:o.scopeName}));return function(a){let i=r.reduce((l,{useScope:s,scopeName:c})=>{let u=s(a)[`__scope${c}`];return{...l,...u}},{});return Ma.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}var oo=D(be(),1);var CA=D(be(),1),ln=globalThis?.document?CA.useLayoutEffect:()=>{};var Ef=D(be(),1);var I2=oo[" useInsertionEffect ".trim().toString()]||ln;function ka({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,i]=z2({defaultProp:t,onChange:n}),l=e!==void 0,s=l?e:o;{let d=oo.useRef(e!==void 0);oo.useEffect(()=>{let u=d.current;u!==l&&console.warn(`${r} is changing from ${u?"controlled":"uncontrolled"} to ${l?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=l},[l,r])}let c=oo.useCallback(d=>{if(l){let u=P2(d)?d(e):d;u!==e&&i.current?.(u)}else a(d)},[l,e,a,i]);return[s,c]}function z2({defaultProp:e,onChange:t}){let[n,r]=oo.useState(e),o=oo.useRef(n),a=oo.useRef(t);return I2(()=>{a.current=t},[t]),oo.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}function P2(e){return typeof e=="function"}var Tf=D(be(),1);function Mf(e){let t=Tf.useRef({value:e,previous:e});return Tf.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var RA=D(be(),1);function kf(e){let[t,n]=RA.useState(void 0);return ln(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let r=new ResizeObserver(o=>{if(!Array.isArray(o)||!o.length)return;let a=o[0],i,l;if("borderBoxSize"in a){let s=a.borderBoxSize,c=Array.isArray(s)?s[0]:s;i=c.inlineSize,l=c.blockSize}else i=e.offsetWidth,l=e.offsetHeight;n({width:i,height:l})});return r.observe(e,{box:"border-box"}),()=>r.unobserve(e)}else n(void 0)},[e]),t}var NA=D(be(),1),EA=D(ji(),1);var In=D(be(),1);var Of=D(J(),1);function cl(e){let t=U2(e),n=In.forwardRef((r,o)=>{let{children:a,...i}=r,l=In.Children.toArray(a),s=l.find(V2);if(s){let c=s.props.children,d=l.map(u=>u===s?In.Children.count(c)>1?In.Children.only(null):In.isValidElement(c)?c.props.children:null:u);return(0,Of.jsx)(t,{...i,ref:o,children:In.isValidElement(c)?In.cloneElement(c,void 0,d):null})}return(0,Of.jsx)(t,{...i,ref:o,children:a})});return n.displayName=`${e}.Slot`,n}function U2(e){let t=In.forwardRef((n,r)=>{let{children:o,...a}=n;if(In.isValidElement(o)){let i=H2(o),l=F2(a,o.props);return o.type!==In.Fragment&&(l.ref=r?ty(r,i):i),In.cloneElement(o,l)}return In.Children.count(o)>1?In.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var j2=Symbol("radix.slottable");function V2(e){return In.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===j2}function F2(e,t){let n={...t};for(let r in t){let o=e[r],a=t[r];/^on[A-Z]/.test(r)?o&&a?n[r]=(...l)=>{let s=a(...l);return o(...l),s}:o&&(n[r]=o):r==="style"?n[r]={...o,...a}:r==="className"&&(n[r]=[o,a].filter(Boolean).join(" "))}return{...e,...n}}function H2(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var TA=D(J(),1),$2=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],st=$2.reduce((e,t)=>{let n=cl(`Primitive.${t}`),r=NA.forwardRef((o,a)=>{let{asChild:i,...l}=o,s=i?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),(0,TA.jsx)(s,{...l,ref:a})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function MA(e,t){e&&EA.flushSync(()=>e.dispatchEvent(t))}var ul=D(J(),1),_f="Switch",[K2,pz]=ro(_f),[G2,q2]=K2(_f),kA=xo.forwardRef((e,t)=>{let{__scopeSwitch:n,name:r,checked:o,defaultChecked:a,required:i,disabled:l,value:s="on",onCheckedChange:c,form:d,...u}=e,[f,m]=xo.useState(null),b=Dt(t,y=>m(y)),p=xo.useRef(!1),v=f?d||!!f.closest("form"):!0,[h,g]=ka({prop:o,defaultProp:a??!1,onChange:c,caller:_f});return(0,ul.jsxs)(G2,{scope:n,checked:h,disabled:l,children:[(0,ul.jsx)(st.button,{type:"button",role:"switch","aria-checked":h,"aria-required":i,"data-state":DA(h),"data-disabled":l?"":void 0,disabled:l,value:s,...u,ref:b,onClick:St(e.onClick,y=>{g(x=>!x),v&&(p.current=y.isPropagationStopped(),p.current||y.stopPropagation())})}),v&&(0,ul.jsx)(LA,{control:f,bubbles:!p.current,name:r,value:s,checked:h,required:i,disabled:l,form:d,style:{transform:"translateX(-100%)"}})]})});kA.displayName=_f;var OA="SwitchThumb",_A=xo.forwardRef((e,t)=>{let{__scopeSwitch:n,...r}=e,o=q2(OA,n);return(0,ul.jsx)(st.span,{"data-state":DA(o.checked),"data-disabled":o.disabled?"":void 0,...r,ref:t})});_A.displayName=OA;var W2="SwitchBubbleInput",LA=xo.forwardRef(({__scopeSwitch:e,control:t,checked:n,bubbles:r=!0,...o},a)=>{let i=xo.useRef(null),l=Dt(i,a),s=Mf(n),c=kf(t);return xo.useEffect(()=>{let d=i.current;if(!d)return;let u=window.HTMLInputElement.prototype,m=Object.getOwnPropertyDescriptor(u,"checked").set;if(s!==n&&m){let b=new Event("click",{bubbles:r});m.call(d,n),d.dispatchEvent(b)}},[s,n,r]),(0,ul.jsx)("input",{type:"checkbox","aria-hidden":!0,defaultChecked:n,...o,tabIndex:-1,ref:l,style:{...o.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});LA.displayName=W2;function DA(e){return e?"checked":"unchecked"}var BA=kA,IA=_A;var ny=D(J(),1);function jo({className:e,...t}){return(0,ny.jsx)(BA,{className:Q("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-transparent bg-muted transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50 focus-visible:ring-offset-2 focus-visible:ring-offset-background data-[state=checked]:bg-primary data-[state=unchecked]:bg-secondary",e),...t,children:(0,ny.jsx)(IA,{className:"pointer-events-none block size-4 rounded-full bg-background shadow-sm transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0.5"})})}var _a=D(be(),1);var Hn=D(be(),1);var wi=D(be(),1);var Lf=D(J(),1),Q2=D(be(),1);var X2=D(J(),1);function Df(e){let t=e+"CollectionProvider",[n,r]=ro(t),[o,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),i=p=>{let{scope:v,children:h}=p,g=wi.default.useRef(null),y=wi.default.useRef(new Map).current;return(0,Lf.jsx)(o,{scope:v,itemMap:y,collectionRef:g,children:h})};i.displayName=t;let l=e+"CollectionSlot",s=cl(l),c=wi.default.forwardRef((p,v)=>{let{scope:h,children:g}=p,y=a(l,h),x=Dt(v,y.collectionRef);return(0,Lf.jsx)(s,{ref:x,children:g})});c.displayName=l;let d=e+"CollectionItemSlot",u="data-radix-collection-item",f=cl(d),m=wi.default.forwardRef((p,v)=>{let{scope:h,children:g,...y}=p,x=wi.default.useRef(null),R=Dt(v,x),w=a(d,h);return wi.default.useEffect(()=>(w.itemMap.set(x,{ref:x,...y}),()=>{w.itemMap.delete(x)})),(0,Lf.jsx)(f,{[u]:"",ref:R,children:g})});m.displayName=d;function b(p){let v=a(e+"CollectionConsumer",p);return wi.default.useCallback(()=>{let g=v.collectionRef.current;if(!g)return[];let y=Array.from(g.querySelectorAll(`[${u}]`));return Array.from(v.itemMap.values()).sort((w,E)=>y.indexOf(w.ref.current)-y.indexOf(E.ref.current))},[v.collectionRef,v.itemMap])}return[{Provider:i,Slot:c,ItemSlot:m},b,r]}var ry=D(be(),1);var J2=ry[" useId ".trim().toString()]||(()=>{}),Z2=0;function Ai(e){let[t,n]=ry.useState(J2());return ln(()=>{e||n(r=>r??String(Z2++))},[e]),e||(t?`radix-${t}`:"")}var Ns=D(be(),1);function br(e){let t=Ns.useRef(e);return Ns.useEffect(()=>{t.current=e}),Ns.useMemo(()=>(...n)=>t.current?.(...n),[])}var Bf=D(be(),1),eL=D(J(),1),tL=Bf.createContext(void 0);function Es(e){let t=Bf.useContext(tL);return e||t||"ltr"}var Ci=D(J(),1),oy="rovingFocusGroup.onEntryFocus",nL={bubbles:!1,cancelable:!0},nu="RovingFocusGroup",[ay,zA,rL]=Df(nu),[oL,iy]=ro(nu,[rL]),[aL,iL]=oL(nu),PA=Hn.forwardRef((e,t)=>(0,Ci.jsx)(ay.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,Ci.jsx)(ay.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,Ci.jsx)(lL,{...e,ref:t})})}));PA.displayName=nu;var lL=Hn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,orientation:r,loop:o=!1,dir:a,currentTabStopId:i,defaultCurrentTabStopId:l,onCurrentTabStopIdChange:s,onEntryFocus:c,preventScrollOnEntryFocus:d=!1,...u}=e,f=Hn.useRef(null),m=Dt(t,f),b=Es(a),[p,v]=ka({prop:i,defaultProp:l??null,onChange:s,caller:nu}),[h,g]=Hn.useState(!1),y=br(c),x=zA(n),R=Hn.useRef(!1),[w,E]=Hn.useState(0);return Hn.useEffect(()=>{let C=f.current;if(C)return C.addEventListener(oy,y),()=>C.removeEventListener(oy,y)},[y]),(0,Ci.jsx)(aL,{scope:n,orientation:r,dir:b,loop:o,currentTabStopId:p,onItemFocus:Hn.useCallback(C=>v(C),[v]),onItemShiftTab:Hn.useCallback(()=>g(!0),[]),onFocusableItemAdd:Hn.useCallback(()=>E(C=>C+1),[]),onFocusableItemRemove:Hn.useCallback(()=>E(C=>C-1),[]),children:(0,Ci.jsx)(st.div,{tabIndex:h||w===0?-1:0,"data-orientation":r,...u,ref:m,style:{outline:"none",...e.style},onMouseDown:St(e.onMouseDown,()=>{R.current=!0}),onFocus:St(e.onFocus,C=>{let M=!R.current;if(C.target===C.currentTarget&&M&&!h){let L=new CustomEvent(oy,nL);if(C.currentTarget.dispatchEvent(L),!L.defaultPrevented){let F=x().filter(q=>q.focusable),z=F.find(q=>q.active),G=F.find(q=>q.id===p),de=[z,G,...F].filter(Boolean).map(q=>q.ref.current);VA(de,d)}}R.current=!1}),onBlur:St(e.onBlur,()=>g(!1))})})}),UA="RovingFocusGroupItem",jA=Hn.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:n,focusable:r=!0,active:o=!1,tabStopId:a,children:i,...l}=e,s=Ai(),c=a||s,d=iL(UA,n),u=d.currentTabStopId===c,f=zA(n),{onFocusableItemAdd:m,onFocusableItemRemove:b,currentTabStopId:p}=d;return Hn.useEffect(()=>{if(r)return m(),()=>b()},[r,m,b]),(0,Ci.jsx)(ay.ItemSlot,{scope:n,id:c,focusable:r,active:o,children:(0,Ci.jsx)(st.span,{tabIndex:u?0:-1,"data-orientation":d.orientation,...l,ref:t,onMouseDown:St(e.onMouseDown,v=>{r?d.onItemFocus(c):v.preventDefault()}),onFocus:St(e.onFocus,()=>d.onItemFocus(c)),onKeyDown:St(e.onKeyDown,v=>{if(v.key==="Tab"&&v.shiftKey){d.onItemShiftTab();return}if(v.target!==v.currentTarget)return;let h=uL(v,d.orientation,d.dir);if(h!==void 0){if(v.metaKey||v.ctrlKey||v.altKey||v.shiftKey)return;v.preventDefault();let y=f().filter(x=>x.focusable).map(x=>x.ref.current);if(h==="last")y.reverse();else if(h==="prev"||h==="next"){h==="prev"&&y.reverse();let x=y.indexOf(v.currentTarget);y=d.loop?dL(y,x+1):y.slice(x+1)}setTimeout(()=>VA(y))}}),children:typeof i=="function"?i({isCurrentTabStop:u,hasTabStop:p!=null}):i})})});jA.displayName=UA;var sL={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function cL(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function uL(e,t,n){let r=cL(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return sL[r]}function VA(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function dL(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var FA=PA,HA=jA;var vr=D(be(),1);var $A=D(be(),1);function mL(e,t){return $A.useReducer((n,r)=>t[n][r]??n,e)}var ly=e=>{let{present:t,children:n}=e,r=pL(t),o=typeof n=="function"?n({present:r.isPresent}):vr.Children.only(n),a=Dt(r.ref,gL(o));return typeof n=="function"||r.isPresent?vr.cloneElement(o,{ref:a}):null};ly.displayName="Presence";function pL(e){let[t,n]=vr.useState(),r=vr.useRef(null),o=vr.useRef(e),a=vr.useRef("none"),i=e?"mounted":"unmounted",[l,s]=mL(i,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return vr.useEffect(()=>{let c=If(r.current);a.current=l==="mounted"?c:"none"},[l]),ln(()=>{let c=r.current,d=o.current;if(d!==e){let f=a.current,m=If(c);e?s("MOUNT"):m==="none"||c?.display==="none"?s("UNMOUNT"):s(d&&f!==m?"ANIMATION_OUT":"UNMOUNT"),o.current=e}},[e,s]),ln(()=>{if(t){let c,d=t.ownerDocument.defaultView??window,u=m=>{let p=If(r.current).includes(CSS.escape(m.animationName));if(m.target===t&&p&&(s("ANIMATION_END"),!o.current)){let v=t.style.animationFillMode;t.style.animationFillMode="forwards",c=d.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=v)})}},f=m=>{m.target===t&&(a.current=If(r.current))};return t.addEventListener("animationstart",f),t.addEventListener("animationcancel",u),t.addEventListener("animationend",u),()=>{d.clearTimeout(c),t.removeEventListener("animationstart",f),t.removeEventListener("animationcancel",u),t.removeEventListener("animationend",u)}}else s("ANIMATION_END")},[t,s]),{isPresent:["mounted","unmountSuspended"].includes(l),ref:vr.useCallback(c=>{r.current=c?getComputedStyle(c):null,n(c)},[])}}function If(e){return e?.animationName||"none"}function gL(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var Oa=D(J(),1),zf="Tabs",[hL,Yz]=ro(zf,[iy]),KA=iy(),[yL,sy]=hL(zf),GA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:o,defaultValue:a,orientation:i="horizontal",dir:l,activationMode:s="automatic",...c}=e,d=Es(l),[u,f]=ka({prop:r,onChange:o,defaultProp:a??"",caller:zf});return(0,Oa.jsx)(yL,{scope:n,baseId:Ai(),value:u,onValueChange:f,orientation:i,dir:d,activationMode:s,children:(0,Oa.jsx)(st.div,{dir:d,"data-orientation":i,...c,ref:t})})});GA.displayName=zf;var qA="TabsList",WA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...o}=e,a=sy(qA,n),i=KA(n);return(0,Oa.jsx)(FA,{asChild:!0,...i,orientation:a.orientation,dir:a.dir,loop:r,children:(0,Oa.jsx)(st.div,{role:"tablist","aria-orientation":a.orientation,...o,ref:t})})});WA.displayName=qA;var YA="TabsTrigger",QA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:o=!1,...a}=e,i=sy(YA,n),l=KA(n),s=ZA(i.baseId,r),c=eC(i.baseId,r),d=r===i.value;return(0,Oa.jsx)(HA,{asChild:!0,...l,focusable:!o,active:d,children:(0,Oa.jsx)(st.button,{type:"button",role:"tab","aria-selected":d,"aria-controls":c,"data-state":d?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:s,...a,ref:t,onMouseDown:St(e.onMouseDown,u=>{!o&&u.button===0&&u.ctrlKey===!1?i.onValueChange(r):u.preventDefault()}),onKeyDown:St(e.onKeyDown,u=>{[" ","Enter"].includes(u.key)&&i.onValueChange(r)}),onFocus:St(e.onFocus,()=>{let u=i.activationMode!=="manual";!d&&!o&&u&&i.onValueChange(r)})})})});QA.displayName=YA;var XA="TabsContent",JA=_a.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,forceMount:o,children:a,...i}=e,l=sy(XA,n),s=ZA(l.baseId,r),c=eC(l.baseId,r),d=r===l.value,u=_a.useRef(d);return _a.useEffect(()=>{let f=requestAnimationFrame(()=>u.current=!1);return()=>cancelAnimationFrame(f)},[]),(0,Oa.jsx)(ly,{present:o||d,children:({present:f})=>(0,Oa.jsx)(st.div,{"data-state":d?"active":"inactive","data-orientation":l.orientation,role:"tabpanel","aria-labelledby":s,hidden:!f,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:u.current?"0s":void 0},children:f&&a})})});JA.displayName=XA;function ZA(e,t){return`${e}-trigger-${t}`}function eC(e,t){return`${e}-content-${t}`}var tC=GA,nC=WA,rC=QA,oC=JA;var ru=D(J(),1);function Vo(e){return(0,ru.jsx)(tC,{...e})}function Fo({className:e,...t}){return(0,ru.jsx)(nC,{className:Q("inline-flex h-9 items-center gap-1 rounded-xl border border-border/70 bg-secondary/70 p-1",e),...t})}function xn({className:e,...t}){return(0,ru.jsx)(rC,{className:Q("inline-flex h-7 items-center justify-center rounded-lg px-3 text-sm text-muted-foreground transition data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",e),...t})}function Sn({className:e,...t}){return(0,ru.jsx)(oC,{className:Q("mt-4 outline-none",e),...t})}var a3=Object.freeze({web_search_requests:0,web_fetch_requests:0}),i3=Object.freeze({ephemeral_1h_input_tokens:0,ephemeral_5m_input_tokens:0});var cy=Object.freeze(["gpt-5.3-codex","gpt-5.2-codex","gpt-5.1-codex-mini"]),uy=Object.freeze(["claude-sonnet-4-6","claude-opus-4-6","claude-haiku-4-5"]),h3=Object.freeze({authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",deviceCodeUrl:"https://auth.openai.com/oauth/device/code",callbackPort:1455,callbackPath:"/auth/callback",scopes:"openid profile email offline_access",clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeParams:Object.freeze({id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}),tokenRefreshBufferMs:300*1e3}),y3=Object.freeze({authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://platform.claude.com/v1/oauth/token",callbackPort:1456,callbackPath:"/callback",manualRedirectUrl:"https://platform.claude.com/oauth/code/callback",scopes:"user:profile user:inference user:sessions:claude_code user:mcp_servers",clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeParams:Object.freeze({code:"true"}),oauthBeta:"oauth-2025-04-20",apiBaseUrl:"https://api.anthropic.com",messagesPath:"/v1/messages?beta=true",tokenRefreshBufferMs:300*1e3});var xL="127.0.0.1";var ou=`http://${xL}:8376`,v3=`${ou}/openai/v1`,x3=`${ou}/anthropic`,S3=Object.freeze({enabled:!0});var Bt="default",SL="AICodeClient",wL="1.0.0",I3=CL();var z3=Object.freeze({CHATGPT_CODEX:"chatgpt-codex",CLAUDE_CODE:"claude-code"});var P3=Object.freeze(["5m","10m","30m","1h","24h","-1","0"]);function AL(){if(typeof process>"u"||!process)return{runtime:"runtime/unknown",platform:"unknown",arch:"unknown"};let e=process?.versions?.node?String(process.versions.node):"",t=e?`node/${e}`:"runtime/unknown",n=process?.platform?String(process.platform):"unknown",r=process?.arch?String(process.arch):"unknown";return{runtime:t,platform:n,arch:r}}function CL(){let{runtime:e,platform:t,arch:n}=AL();return`${SL}/${wL} (${t}; ${n}) ${e}`}var U3=Object.freeze(["brave","tavily","exa","searxng"]),j3=Object.freeze({brave:1e3,tavily:1e3,exa:1e3,searxng:0});var Pf=Object.freeze([Object.freeze({id:"@anthropic-opus",description:"Anthropic Opus family used by AMP smart-like flows.",match:[{vendor:"anthropic",family:"opus",variantAbsent:!0}],defaultMatch:"claude-opus-{number}"}),Object.freeze({id:"@anthropic-sonnet",description:"Anthropic Sonnet family used by AMP librarian-like flows.",match:[{vendor:"anthropic",family:"sonnet",variantAbsent:!0}],defaultMatch:"claude-sonnet-{number}"}),Object.freeze({id:"@anthropic-haiku-shared",description:"Anthropic Haiku family shared by AMP rush/title-like flows.",match:[{vendor:"anthropic",family:"haiku",variantAbsent:!0}],defaultMatch:"claude-haiku-{number}"}),Object.freeze({id:"@openai-gpt-base",description:"Base GPT family currently observed for AMP Oracle-like flows.",match:[{vendor:"openai",family:"gpt",variantAbsent:!0}],defaultMatch:"gpt-{number}"}),Object.freeze({id:"@openai-gpt-codex",description:"OpenAI GPT Codex family used by AMP deep-like flows.",match:[{vendor:"openai",family:"gpt",variantPrefix:"codex"},"gpt-*-codex*"],defaultMatch:"gpt-*-codex*"}),Object.freeze({id:"@google-gemini-pro",description:"Google Gemini Pro family used by AMP review-like flows.",match:[{vendor:"google",family:"gemini",variant:"pro"},"gemini-*-pro*"],defaultMatch:"gemini-*-pro*"}),Object.freeze({id:"@google-gemini-pro-image",description:"Google Gemini image family used by AMP painter-like flows.",match:["gemini-3-pro-image","gemini-3-pro-image*","gemini-*-image*"],defaultMatch:"gemini-*-image*"}),Object.freeze({id:"@google-gemini-flash-shared",description:"Google Gemini Flash family shared by AMP search/look-at/handoff-like flows.",match:[{vendor:"google",family:"gemini",variantPrefix:"flash"},"gemini-*-flash*"],defaultMatch:"gemini-*-flash*"})]),au=Object.freeze([Object.freeze({id:"smart",type:"mode",description:"Unconstrained state-of-the-art model use",signatures:["@anthropic-opus"]}),Object.freeze({id:"rush",type:"mode",description:"Faster and cheaper, for small well-defined tasks",signatures:["@anthropic-haiku-shared"]}),Object.freeze({id:"deep",type:"mode",description:"Deep reasoning with extended thinking",signatures:["@openai-gpt-codex"]}),Object.freeze({id:"review",type:"feature",description:"Bug identification and code review assistance",signatures:["@google-gemini-pro"]}),Object.freeze({id:"search",type:"agent",description:"Fast, accurate codebase retrieval",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"oracle",type:"agent",description:"Complex reasoning and planning on code",signatures:["@openai-gpt-base"]}),Object.freeze({id:"librarian",type:"agent",description:"Large-scale retrieval and research on external code",signatures:["@anthropic-sonnet"]}),Object.freeze({id:"look-at",type:"system",description:"Image, PDF, and media file analysis",aliases:["look at","lookat"],signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"painter",type:"system",description:"Image generation and editing",signatures:["@google-gemini-pro-image"]}),Object.freeze({id:"handoff",type:"system",description:"Fallback context analysis for task continuation",signatures:["@google-gemini-flash-shared"]}),Object.freeze({id:"title",type:"system",description:"Fast title generation for threads",aliases:["titling"],signatures:["@anthropic-haiku-shared"]})]),V3=Object.freeze([Object.freeze({id:"oracle",patterns:["/^gpt-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"librarian",patterns:["/^(?:claude-)?sonnet-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"title",patterns:["/^(?:claude-)?haiku-\\d+(?:\\.\\d+)?$/"]}),Object.freeze({id:"painter",patterns:["gemini-3-pro-image","gemini-3-pro-image*"]}),Object.freeze({id:"search",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"look-at",patterns:["gemini-2.5-flash","gemini-2.5-flash*","gemini-3-flash","gemini-3-flash*"]}),Object.freeze({id:"handoff",patterns:["gemini-3-flash","gemini-3-flash*"]})]);var dy=["second","minute","hour","day","week","month"];function Ho(e,t=0){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function dl(e,t=""){let n=String(e||"").trim().toLowerCase();return dy.includes(n)?n:t}function aC(e,t=1){let n=String(e||"").trim().toLowerCase().replace(/s$/,"");return n?Number(t)===1?n:`${n}s`:"windows"}function So(e=[]){let t=[],n=new Set;for(let r of Array.isArray(e)?e:[e]){let o=String(r||"").trim();if(o){if(o.toLowerCase()==="all")return["all"];n.has(o)||(n.add(o),t.push(o))}}return t}function iu({requests:e,windowValue:t,windowUnit:n}){let r=Ho(e,0),o=Ho(t,0),a=dl(n,"");return!r||!o||!a?"":`${r}-req-per-${o}-${aC(a,o)}`}function iC(e={}){let t=Ho(e?.requests??e?.limit,0),n=Ho(e?.window?.size??e?.window?.value??e?.windowValue,0),r=dl(e?.window?.unit??e?.windowUnit,"");return!t||!n||!r?"Unconfigured":`${t}/${n} ${aC(r,n)}`}function $o(e=[],{knownModelIds:t=[],requireAtLeastOne:n=!0}={}){let r=Array.isArray(e)?e:[];if(n&&r.length===0)return"Add at least one rate-limit entity.";let o=new Set((t||[]).map(i=>String(i||"").trim()).filter(Boolean)),a=new Set;for(let i of r){let l=So(i?.models||[]);if(o.size>0&&l.some(f=>f!=="all"&&!o.has(f)))return"Rate-limit model selectors must match the provider model ids.";let s=Ho(i?.requests,0);if(!s)return"Rate-limit requests must be a positive integer.";let c=Ho(i?.windowValue,0);if(!c)return"Rate-limit window size must be a positive integer.";let d=dl(i?.windowUnit,"");if(!d)return"Rate-limit window unit is invalid.";let u=iu({requests:s,windowValue:c,windowUnit:d});if(a.has(u))return"Duplicate rate-limit entities are not allowed.";a.add(u)}return""}function lu(e=[],{existingBucketsBySourceId:t=new Map,fallbackRequests:n=60,fallbackWindowValue:r=1,fallbackWindowUnit:o="minute"}={}){return(Array.isArray(e)?e:[]).map((a,i)=>{let l=String(a?.sourceId||"").trim(),s=l&&t instanceof Map&&t.has(l)?structuredClone(t.get(l)):{},c=Ho(a?.requests,Ho(s?.requests??s?.limit,n)),d=Ho(a?.windowValue,Ho(s?.window?.size??s?.window?.value,r)),u=dl(a?.windowUnit,dl(s?.window?.unit,o)||o),f=So(a?.models||[]),m=f.length>0?f:["all"],b={...s,id:iu({requests:c,windowValue:d,windowUnit:u})||`rate-limit-${i+1}`,models:m,requests:c,window:{...s?.window&&typeof s.window=="object"&&!Array.isArray(s.window)?s.window:{},size:d,unit:u}};return delete b.name,delete b.limit,b.window&&typeof b.window=="object"&&delete b.window.value,b})}function su(e){return JSON.parse(JSON.stringify(e??{}))}function Uf(e=[]){let t=new Set,n=[];for(let r of e){let o=String(r||"").trim();!o||t.has(o)||(t.add(o),n.push(o))}return n}function sC(e){let t=String(e||"").trim();return t?t.startsWith("alias:")?t.slice(6).trim():t:""}function RL(e={},t={}){let n=t?.[Bt];if(n&&typeof n=="object"&&!Array.isArray(n))return{...n,id:Bt,strategy:String(n.strategy||"ordered").trim()||"ordered",targets:xr(n.targets||[],a=>a),fallbackTargets:xr(n.fallbackTargets||[],a=>a)};let r=String(e?.defaultModel||"").trim();if(!r||r==="smart")return{id:Bt,strategy:"ordered",targets:[],fallbackTargets:[]};let o=sC(r);if(o&&t?.[o]){let a=t[o];return{...a,id:Bt,strategy:String(a.strategy||"ordered").trim()||"ordered",targets:xr(a.targets||[],i=>i),fallbackTargets:xr(a.fallbackTargets||[],i=>i)}}return{id:Bt,strategy:"ordered",targets:r?[{ref:r}]:[],fallbackTargets:[]}}function NL(e={}){return(!e.modelAliases||typeof e.modelAliases!="object"||Array.isArray(e.modelAliases))&&(e.modelAliases={}),e.modelAliases[Bt]=RL(e,e.modelAliases),e}function EL(e={}){let t=new Set;for(let n of Object.keys(e?.modelAliases||{})){let r=String(n||"").trim();r&&t.add(r)}for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();a&&t.add(`${r}/${a}`)}}return t}function TL(e={}){let t=Object.keys(e?.modelAliases||{}).map(n=>String(n||"").trim()).filter(Boolean);if(t.includes(Bt))return Bt;if(t.length>0)return t[0];for(let n of e?.providers||[]){let r=String(n?.id||"").trim();if(r)for(let o of n?.models||[]){let a=String(o?.id||"").trim();if(a)return`${r}/${a}`}}return""}function jf(e={}){NL(e);let t=EL(e);if(e.defaultModel=Bt,!e.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=String(e.amp.defaultRoute||"").trim();if(!n||!t.has(sC(n))){let r=String(e.defaultModel||"").trim()||TL(e);r?e.amp.defaultRoute=r:delete e.amp.defaultRoute}return e}function Ts(e,t,n,r){let o=String(e||"").trim();if(!o)return"";let a=`${t}/`;if(!o.startsWith(a))return o;let i=o.slice(a.length),l=n.get(i)||i;return r.has(l)?`${t}/${l}`:""}function Ms(e,t,n=""){let r=String(e||"").trim();if(!r)return"";let o=`${t}/`;return r.startsWith(o)?n?`${n}/${r.slice(o.length)}`:"":r}function cC(e=[]){return Uf(Array.isArray(e)?e:[e])}function ML(e={},t={}){let n={...e};if(!Object.prototype.hasOwnProperty.call(t||{},"credentialInput"))return n;let o=String(t?.credentialInput||"").trim();return delete n.apiKey,delete n.apiKeyEnv,delete n.credential,o?/^[A-Z][A-Z0-9_]*$/.test(o)?(n.apiKeyEnv=o,n):(n.apiKey=o,n):n}function kL(e={},t=[]){let n={...e},r=cC(t),o=String(r[0]||"").trim(),a=n.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{...n.metadata}:null,i=r.length>1||!!(a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates"));if(!o)delete n.baseUrl,delete n.baseUrlByFormat,a&&Object.prototype.hasOwnProperty.call(a,"endpointCandidates")&&delete a.endpointCandidates;else{n.baseUrl=o;let l=n.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"&&!Array.isArray(n.baseUrlByFormat)?n.baseUrlByFormat:null;l&&Object.keys(l).length>0&&(n.baseUrlByFormat=Object.fromEntries(Object.keys(l).map(s=>[s,o]))),i&&(a=a||{},a.endpointCandidates=r)}return a&&Object.keys(a).length>0?n.metadata=a:a&&delete n.metadata,n}function OL(e={}){return e?.rateLimitLimit!==void 0||e?.rateLimitWindowValue!==void 0||e?.rateLimitWindowUnit!==void 0?[{sourceId:String(e?.rateLimitSourceId||"").trim(),models:["all"],requests:e?.rateLimitLimit,windowValue:e?.rateLimitWindowValue,windowUnit:e?.rateLimitWindowUnit}]:[]}function _L(e={},t={},n=""){let r={...e},o=Array.isArray(r.rateLimits)?r.rateLimits.map(u=>u&&typeof u=="object"?su(u):u).filter(Boolean):[],a=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:OL(t),i=o[0]&&typeof o[0]=="object"?o[0]:null,l=Number(i?.requests??i?.limit)||60,s=Number(i?.window?.size??i?.window?.value)||1,c=String(i?.window?.unit||"minute").trim()||"minute",d=new Map(o.map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u));return r.rateLimits=lu(a,{existingBucketsBySourceId:d,fallbackRequests:l,fallbackWindowValue:s,fallbackWindowUnit:c}),r}function Ko(e,t,n=""){let r=String(e||"").trim();return r?r===t?n:r===`alias:${t}`?n?`alias:${n}`:"":r:""}function xr(e=[],t){let n=new Set,r=[];for(let o of Array.isArray(e)?e:[]){let a=String(o?.ref||"").trim();if(!a)continue;let i=String(t(a)||"").trim();!i||n.has(i)||(n.add(i),r.push({...o,ref:i}))}return r}function cu(e={},t){if(!e?.amp||typeof e.amp!="object"||Array.isArray(e.amp))return e;let n=e.amp,r={};for(let[o,a]of Object.entries(n.routes&&typeof n.routes=="object"&&!Array.isArray(n.routes)?n.routes:{})){let i=String(t(a)||"").trim();i&&(r[o]=i)}return n.routes=r,n.rawModelRoutes=(Array.isArray(n.rawModelRoutes)?n.rawModelRoutes:[]).map(o=>{if(!o||typeof o!="object")return null;if(!Object.prototype.hasOwnProperty.call(o,"to"))return{...o};let a=String(t(o.to)||"").trim();return a?{...o,to:a}:null}).filter(Boolean),e}function uC(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},n={};for(let[r,o]of Object.entries(t)){let a=xr(o?.targets||[],l=>l),i=xr(o?.fallbackTargets||[],l=>l);n[r]={...o,targets:a,fallbackTargets:i}}return e.modelAliases=n,cu(e,r=>r),jf(e)}function LL(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.id||"").trim(),a=String(r?.sourceId||r?.originalId||"").trim();if(!o||t.has(o))continue;t.add(o);let i=Number.parseInt(String(r?.contextWindow||"").trim(),10),l=r?.capabilities&&typeof r.capabilities=="object"&&Object.keys(r.capabilities).length>0?r.capabilities:void 0;n.push({id:o,sourceId:a,contextWindow:Number.isFinite(i)&&i>0?i:null,...l?{capabilities:l}:{}})}return n}function lC(e=[]){let t=new Set,n=[];for(let r of Array.isArray(e)?e:[]){let o=String(r?.ref||"").trim(),a=String(r?.sourceRef||r?.originalRef||"").trim(),i=String(r?.weight??"").trim(),l=Math.floor(Number(i));!o||t.has(o)||(t.add(o),n.push({ref:o,sourceRef:a,...i?{weight:Number.isFinite(l)&&l>0?l:1}:{}}))}return n}function fy(e={},t,n=[]){let r=su(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(v=>v?.id===t);if(a===-1)return r;let i=o[a],l=Array.isArray(i?.models)?i.models:[],s=new Map(l.map(v=>[String(v?.id||"").trim(),v])),c=LL(n),d=new Set,u=new Map,f=[];for(let v of c){let h=v.sourceId&&s.has(v.sourceId)&&!d.has(v.sourceId)?v.sourceId:"",g=!h&&s.has(v.id)&&!d.has(v.id)?v.id:"",y=h||g;if(y){d.add(y),y!==v.id&&u.set(y,v.id);let x={...s.get(y),id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{}};v.contextWindow||delete x.contextWindow,v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?x.capabilities=v.capabilities:delete x.capabilities,f.push(x);continue}f.push({id:v.id,...v.contextWindow?{contextWindow:v.contextWindow}:{},...v.capabilities&&typeof v.capabilities=="object"&&Object.keys(v.capabilities).length>0?{capabilities:v.capabilities}:{}})}let m=new Set(f.map(v=>String(v?.id||"").trim()).filter(Boolean));i.models=f,i.rateLimits=(Array.isArray(i.rateLimits)?i.rateLimits:[]).map(v=>{let h=Array.isArray(v?.models)?v.models:[];return{...v,models:Uf(h.map(g=>{if(String(g||"").trim()==="all")return"all";let y=u.get(String(g||"").trim())||String(g||"").trim();return m.has(y)?y:""}))}}),r.providers=o.map((v,h)=>h===a?i:v).map(v=>({...v,models:(Array.isArray(v?.models)?v.models:[]).map(h=>Array.isArray(h?.fallbackModels)?{...h,fallbackModels:Uf(h.fallbackModels.map(g=>Ts(g,t,u,m)))}:h)}));let b=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},p={};for(let[v,h]of Object.entries(b)){let g=xr(h?.targets||[],x=>Ts(x,t,u,m)),y=xr(h?.fallbackTargets||[],x=>Ts(x,t,u,m));p[v]={...h,targets:g,fallbackTargets:y}}return r.modelAliases=p,r.defaultModel=Ts(r.defaultModel,t,u,m),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ts(r.amp.defaultRoute,t,u,m)),cu(r,v=>Ts(v,t,u,m)),jf(r)}function my(e={},t="",n={}){let r=su(e),o=Array.isArray(r.providers)?r.providers:[],a=o.findIndex(m=>m?.id===t);if(a===-1)return r;let i=o[a]||{},l=String(n?.id||t||"").trim(),s=String(n?.name??i?.name??"").trim(),c=cC(Array.isArray(n?.endpoints)?n.endpoints:[n?.endpoint]),d=i?.type==="subscription",u=l||t,f={...i,id:u,name:s||u};if(d||(f=ML(f,n),f=kL(f,c),f=_L(f,n,u)),o[a]=f,r.providers=o.map(m=>({...m,models:(Array.isArray(m?.models)?m.models:[]).map(b=>Array.isArray(b?.fallbackModels)?{...b,fallbackModels:Uf(b.fallbackModels.map(p=>Ms(p,t,u)))}:b)})),u!==t){let m=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},b={};for(let[p,v]of Object.entries(m))b[p]={...v,targets:xr(v?.targets||[],h=>Ms(h,t,u)),fallbackTargets:xr(v?.fallbackTargets||[],h=>Ms(h,t,u))};r.modelAliases=b,r.defaultModel=Ms(r.defaultModel,t,u),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ms(r.amp.defaultRoute,t,u)),cu(r,p=>Ms(p,t,u))}return jf(r)}function dC(e={},t="",n={}){let r=su(e),o=r.modelAliases&&typeof r.modelAliases=="object"&&!Array.isArray(r.modelAliases)?r.modelAliases:{},a=t?o[t]:void 0,i=t===Bt?Bt:String(n?.id||t||"").trim();if(!i)return r;let l=new Map((a?.targets||[]).map(m=>[String(m?.ref||"").trim(),m])),s=new Map((a?.fallbackTargets||[]).map(m=>[String(m?.ref||"").trim(),m])),c=new Set,d=lC(n?.targets).map(m=>{let b=m.sourceRef&&l.has(m.sourceRef)&&!c.has(m.sourceRef)?m.sourceRef:l.has(m.ref)&&!c.has(m.ref)?m.ref:"";return b&&c.add(b),{...b?l.get(b):{},ref:m.ref,...m.weight!==void 0?{weight:m.weight}:{}}}),u=new Set,f=lC(n?.fallbackTargets).map(m=>{let b=m.sourceRef&&s.has(m.sourceRef)&&!u.has(m.sourceRef)?m.sourceRef:s.has(m.ref)&&!u.has(m.ref)?m.ref:"";return b&&u.add(b),{...b?s.get(b):{},ref:m.ref,...m.weight!==void 0?{weight:m.weight}:{}}});if(t&&t!==i&&delete o[t],o[i]={...a?.metadata?{metadata:a.metadata}:{},...n?.metadata&&typeof n.metadata=="object"&&!Array.isArray(n.metadata)?{metadata:n.metadata}:{},id:i,strategy:String(n?.strategy||a?.strategy||"ordered").trim()||"ordered",targets:d,fallbackTargets:f},r.modelAliases=o,t&&t!==i){for(let[m,b]of Object.entries(o))m!==i&&(b.targets=xr(b?.targets||[],p=>Ko(p,t,i)),b.fallbackTargets=xr(b?.fallbackTargets||[],p=>Ko(p,t,i)));r.defaultModel=Ko(r.defaultModel,t,i),r?.amp&&typeof r.amp=="object"&&!Array.isArray(r.amp)&&(r.amp.defaultRoute=Ko(r.amp.defaultRoute,t,i)),cu(r,m=>Ko(m,t,i))}return uC(r)}function fC(e={},t=""){let n=su(e),r=String(t||"").trim();if(!r)return n;let o=n.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(!Object.prototype.hasOwnProperty.call(o,r))return n;if(r===Bt)return o[r]={...o[r],id:Bt,strategy:String(o[r]?.strategy||"ordered").trim()||"ordered",targets:[],fallbackTargets:[]},n.modelAliases=o,jf(n);delete o[r],n.modelAliases=o;for(let a of Object.values(o))a.targets=xr(a?.targets||[],i=>Ko(i,r)),a.fallbackTargets=xr(a?.fallbackTargets||[],i=>Ko(i,r));return n.defaultModel=Ko(n.defaultModel,r),n?.amp&&typeof n.amp=="object"&&!Array.isArray(n.amp)&&(n.amp.defaultRoute=Ko(n.amp.defaultRoute,r)),cu(n,a=>Ko(a,r)),uC(n)}function mC(e="",t={}){return{id:String(e||t?.id||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map((n,r)=>({key:`target-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)})),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map((n,r)=>({key:`fallback-${e||"alias"}-${r}-${String(n?.ref||"").trim()||"empty"}`,ref:String(n?.ref||"").trim(),sourceRef:String(n?.ref||"").trim(),weight:String(Number.isFinite(Number(n?.weight))&&Number(n.weight)>0?Math.floor(Number(n.weight)):1)}))}}function pC(e={}){return(Array.isArray(e?.models)?e.models:[]).map((t,n)=>({key:`model-${e?.id||"provider"}-${n}-${String(t?.id||"").trim()||"empty"}`,id:String(t?.id||"").trim(),sourceId:String(t?.id||"").trim(),contextWindow:Number.isFinite(t?.contextWindow)?String(Math.floor(Number(t.contextWindow))):"",...t?.capabilities?{capabilities:{...t.capabilities}}:{}}))}var py="__codex_cli_inherit__",q3=Object.freeze(["minimal","low","medium","high","xhigh"]),DL=Object.freeze(["low","medium","high","xhigh","max"]),W3=Object.freeze({low:4096,medium:12e3,high:24e3,xhigh:28e3,max:31999});function Vf(e){return String(e||"").trim()===py}function BL(e){let t=String(e||"").trim().toLowerCase();return DL.includes(t)?t:""}var gC=BL;var IL=Object.freeze(["off","none","low","medium","high"]);function zL(e){let t=String(e||"").trim();return t.startsWith("custom:")?t.slice(7).trim():t}function Ff(e){let t=zL(e);if(!t.startsWith("llm-"))return null;if(t.startsWith("llm-alias:")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:i}:null}if(t.startsWith("llm-alias-")){let i=t.slice(10).trim();return i?{kind:"alias",aliasId:i,routeRef:""}:null}let n=t.slice(4),r=n.indexOf(":");if(r<=0)return null;let o=n.slice(0,r).trim(),a=n.slice(r+1).trim();return!o||!a?null:{kind:"model",providerId:o,modelId:a,routeRef:`${o}/${a}`}}function hC(e){let t=String(e||"").trim().toLowerCase();return IL.includes(t)?t:""}var Ye={"content-type":"application/json"},gy={info:"bg-sky-50 text-sky-700 ring-sky-100",success:"bg-emerald-50 text-emerald-700 ring-emerald-100",warn:"bg-amber-50 text-amber-700 ring-amber-100",error:"bg-rose-50 text-rose-700 ring-rose-100"},yC=[{value:"usage",label:"Request / response"},{value:"router",label:"LLM Router"},{value:"all",label:"All categories"}],uu={usage:{label:"Request / response",badgeVariant:"info",emptyLabel:"request/response"},router:{label:"LLM Router",badgeVariant:"outline",emptyLabel:"LLM Router"}},bC="https://github.com/khanglvm/llm-router",vC="https://github.com/sponsors/khanglvm",io="AICodeClient/1.0.0",xC=3e3,Hf=4e3,SC=100,wC=6,fl=/^[a-z][a-z0-9-]*$/,AC=/^[A-Za-z0-9][A-Za-z0-9._:\-\[\]]*$/,CC=[{value:"api",label:"API Key",description:"Test endpoint + model candidates with an API key env before saving."},{value:"subscription",label:"Subscription",description:"Use an OAuth subscription login with ChatGPT or Claude models."}],$f=[{value:"auto",label:"Auto"},{value:"ordered",label:"Ordered"},{value:"round-robin",label:"Round robin"},{value:"weighted-rr",label:"Weighted RR"},{value:"quota-aware-weighted-rr",label:"Quota-aware weighted RR"}],Kf=Object.fromEntries($f.map(e=>[e.value,e.label])),RC=Object.freeze([{value:"minimal",label:"Minimal",hint:"Fastest supported reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Deeper reasoning"},{value:"xhigh",label:"XHigh",hint:"Model-dependent extra depth"}]),NC=Object.freeze([{value:"low",label:"Low",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=low"},{value:"medium",label:"Medium",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=medium"},{value:"high",label:"High",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=high"},{value:"xhigh",label:"XHigh",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=xhigh"},{value:"max",label:"Max",hint:"Sets CLAUDE_CODE_EFFORT_LEVEL=max"}]),EC=Object.freeze([{value:"off",label:"Off",hint:"Disable reasoning"},{value:"none",label:"None",hint:"No extended reasoning"},{value:"low",label:"Low",hint:"Lighter reasoning"},{value:"medium",label:"Medium",hint:"Balanced depth"},{value:"high",label:"High",hint:"Maximum reasoning depth"}]),hy=dy;var TC=Object.freeze([{value:"ordered",label:"Ordered"},{value:"quota-balance",label:"Quota balance"}]),Gf=Object.freeze([Object.freeze({id:"brave",label:"Brave",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"brv_...",defaultLimit:1e3}),Object.freeze({id:"tavily",label:"Tavily",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"tvly-...",defaultLimit:1e3}),Object.freeze({id:"exa",label:"Exa",credentialField:"apiKey",credentialLabel:"API key",credentialPlaceholder:"exa_...",defaultLimit:1e3}),Object.freeze({id:"searxng",label:"SearXNG",credentialField:"url",credentialLabel:"Base URL",credentialPlaceholder:"https://searx.example.com",defaultLimit:0})]),La=Object.fromEntries(Gf.map(e=>[e.id,e])),Ri=5,du=1,fu=20,ks="w-[5.5rem] justify-self-end",yy=["border-primary/45","bg-primary/5"],by=[{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"24h",label:"24 hours"},{value:"-1",label:"Forever (blocks eviction)"},{value:"0",label:"Disabled (unload immediately)"}];var at=D(J(),1);function Os({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,at.jsx)("circle",{cx:"5",cy:"4",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"4",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"5",cy:"8",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"8",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"5",cy:"12",r:"1.25",fill:"currentColor"}),(0,at.jsx)("circle",{cx:"11",cy:"12",r:"1.25",fill:"currentColor"})]})}function MC({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,at.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,at.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function kC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.jsx)("path",{d:"M12 .5C5.65.5.5 5.65.5 12c0 5.08 3.29 9.39 7.86 10.91.58.11.79-.25.79-.56 0-.28-.01-1.2-.02-2.18-3.2.69-3.88-1.36-3.88-1.36-.52-1.33-1.28-1.68-1.28-1.68-1.05-.72.08-.71.08-.71 1.16.08 1.77 1.19 1.77 1.19 1.03 1.76 2.69 1.25 3.35.96.1-.74.4-1.25.72-1.54-2.56-.29-5.25-1.28-5.25-5.71 0-1.26.45-2.28 1.18-3.08-.12-.29-.51-1.46.11-3.05 0 0 .97-.31 3.17 1.18a10.9 10.9 0 0 1 5.77 0c2.2-1.49 3.17-1.18 3.17-1.18.62 1.59.23 2.76.11 3.05.74.8 1.18 1.82 1.18 3.08 0 4.44-2.69 5.41-5.26 5.69.41.35.78 1.05.78 2.11 0 1.52-.01 2.75-.01 3.12 0 .31.21.67.8.56A11.5 11.5 0 0 0 23.5 12C23.5 5.65 18.35.5 12 .5Z"})})}function OC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.jsx)("path",{d:"M12 21.3 10.9 20.3C5.4 15.3 2 12.3 2 8.5 2 5.4 4.4 3 7.5 3c1.8 0 3.5.8 4.5 2.1C13 3.8 14.7 3 16.5 3 19.6 3 22 5.4 22 8.5c0 3.8-3.4 6.8-8.9 11.8L12 21.3Z"})})}function _C({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.jsx)("path",{d:"M6.25 4.7a.75.75 0 0 1 1.14-.64l8.1 5.05a1.05 1.05 0 0 1 0 1.78l-8.1 5.05a.75.75 0 0 1-1.14-.64V4.7Z"})})}function LC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true",className:e,children:(0,at.jsx)("path",{d:"M6.25 4.5A1.25 1.25 0 0 1 7.5 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 8 16.75h-.5a1.25 1.25 0 0 1-1.25-1.25v-11Zm4.5 0A1.25 1.25 0 0 1 12 3.25h.5a1.25 1.25 0 0 1 1.25 1.25v11A1.25 1.25 0 0 1 12.5 16.75H12a1.25 1.25 0 0 1-1.25-1.25v-11Z"})})}function DC({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,at.jsx)("path",{d:"M2.75 6.5A1.75 1.75 0 0 1 4.5 4.75h3L9.4 6.4h6.1a1.75 1.75 0 0 1 1.75 1.75v6.35a1.75 1.75 0 0 1-1.75 1.75h-11A1.75 1.75 0 0 1 2.75 14.5v-8Z"}),(0,at.jsx)("path",{d:"M2.75 8h14.5"})]})}function BC({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",className:e,children:[(0,at.jsx)("path",{d:"M10 3.25v5"}),(0,at.jsx)("path",{d:"M6.1 5.15a6.25 6.25 0 1 0 7.8 0"})]})}function _s({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,at.jsx)("path",{d:"M12 20h9"}),(0,at.jsx)("path",{d:"M16.5 3.5a2.121 2.121 0 1 1 3 3L7 19l-4 1 1-4 12.5-12.5Z"})]})}function IC({className:e=""}){return(0,at.jsx)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:(0,at.jsx)("path",{d:"m5 12 4.25 4.25L19 6.5"})})}function mu({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,at.jsx)("path",{d:"M3 6h18"}),(0,at.jsx)("path",{d:"M8 6V4.75A1.75 1.75 0 0 1 9.75 3h4.5A1.75 1.75 0 0 1 16 4.75V6"}),(0,at.jsx)("path",{d:"M18 6v12.25A1.75 1.75 0 0 1 16.25 20h-8.5A1.75 1.75 0 0 1 6 18.25V6"}),(0,at.jsx)("path",{d:"M10 10.5v5"}),(0,at.jsx)("path",{d:"M14 10.5v5"})]})}function qf({className:e=""}){return(0,at.jsxs)("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,at.jsx)("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),(0,at.jsx)("path",{d:"M5 15V6a2 2 0 0 1 2-2h9"})]})}function pu(e,{requiresAuth:t=!0}={}){return Object.freeze({requiresAuth:t,fetchModels:async({apiKey:n,apiKeyEnv:r}={})=>{let o={endpoints:[e]};return n&&(o.apiKey=n),r&&(o.apiKeyEnv=r),((await fetchJson("/api/config/discover-provider-models",{method:"POST",headers:Ye,body:JSON.stringify(o)})).result?.models||[]).map(i=>String(i||"").trim()).filter(Boolean)}})}var gu=Object.freeze([Object.freeze({key:"custom",category:"api",label:"Custom",description:"Generic OpenAI-compatible API provider.",providerName:"My Provider",providerId:"my-provider",endpoint:"",apiKeyEnv:"",defaultModels:Object.freeze({openai:Object.freeze(["gpt-4o-mini","gpt-4.1-mini"]),claude:Object.freeze(["claude-3-5-sonnet","claude-3-5-haiku"])}),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"})}),Object.freeze({key:"groq",category:"api",label:"Groq",description:"Groq cloud inference with Llama, Qwen, and GPT-OSS models.",providerName:"Groq",providerId:"groq",endpoint:"https://api.groq.com/openai/v1",apiKeyEnv:"",defaultModels:Object.freeze(["llama-3.3-70b-versatile","llama-3.1-8b-instant"]),rateLimitDefaults:Object.freeze({limit:30,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"api.groq.com",models:Object.freeze({"llama-3.1-8b-instant":30,"llama-3.3-70b-versatile":30,"openai/gpt-oss-20b":30,"openai/gpt-oss-120b":15,"qwen/qwen3-32b":30,"meta-llama/llama-4-scout-17b-16e-instruct":15,"moonshotai/kimi-k2-instruct":15,_default:30})}),discover:pu("https://api.groq.com/openai/v1")}),Object.freeze({key:"gemini",category:"api",label:"Google Gemini",description:"Google Gemini models via OpenAI-compatible endpoint.",providerName:"Google Gemini",providerId:"gemini",endpoint:"https://generativelanguage.googleapis.com/v1beta/openai",apiKeyEnv:"",defaultModels:Object.freeze(["gemini-3-flash-preview","gemini-3.1-flash-lite-preview"]),rateLimitDefaults:Object.freeze({limit:10,windowValue:1,windowUnit:"minute"}),freeTierRpm:Object.freeze({host:"generativelanguage.googleapis.com",models:Object.freeze({"gemini-3-flash-preview":15,"gemini-3.1-flash-lite-preview":15,"gemini-3.1-pro-preview":5,"gemini-2.5-flash":15,"gemini-2.5-flash-lite":15,"gemini-2.5-pro":5,_default:10})}),discover:pu("https://generativelanguage.googleapis.com/v1beta/openai")}),Object.freeze({key:"zai-global",category:"api",label:"Z.AI Coding (Global)",description:"Z.AI coding models via the global coding endpoint.",providerName:"Z.AI Coding",providerId:"zai-coding",endpoint:"https://api.z.ai/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:pu("https://api.z.ai/api/coding/paas/v4")}),Object.freeze({key:"zai-china",category:"api",label:"Z.AI Coding (China)",description:"Z.AI coding models via the China mainland coding endpoint.",providerName:"Z.AI Coding CN",providerId:"zai-coding-cn",endpoint:"https://open.bigmodel.cn/api/coding/paas/v4",apiKeyEnv:"",defaultModels:Object.freeze(["glm-5.1","glm-5V-turbo","glm-4.7","glm-4.7-flash"]),rateLimitDefaults:Object.freeze({limit:60,windowValue:1,windowUnit:"minute"}),discover:pu("https://open.bigmodel.cn/api/coding/paas/v4")}),Object.freeze({key:"openrouter",category:"api",label:"OpenRouter",description:"300+ models from multiple providers, including free tier models.",providerName:"OpenRouter",providerId:"openrouter",endpoint:"https://openrouter.ai/api/v1",apiKeyEnv:"",defaultModels:Object.freeze(["qwen/qwen3.6-plus:free","google/gemma-4-26b-a4b-it"]),rateLimitDefaults:Object.freeze({limit:200,windowValue:1,windowUnit:"minute"}),discover:pu("https://openrouter.ai/api/v1",{requiresAuth:!1})}),Object.freeze({key:"oauth-gpt",category:"subscription",label:"ChatGPT",description:"Use ChatGPT subscription login with GPT models.",providerName:"ChatGPT Subscription",providerId:"chatgpt-sub",subscriptionType:"chatgpt-codex",format:"openai",defaultModels:cy,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"chatgpt-tos"}),Object.freeze({key:"oauth-claude",category:"subscription",label:"Claude",description:"Use Claude Code subscription login with Claude models.",providerName:"Claude Subscription",providerId:"claude-sub",subscriptionType:"claude-code",format:"claude",defaultModels:uy,rateLimitDefaults:Object.freeze({limit:999999,windowValue:1,windowUnit:"month"}),warning:"claude-extra-usage"})]),wo=Object.freeze(Object.fromEntries(gu.map(e=>[e.key,e])));function zr(e){return wo[e]||wo.custom}function zC(e){return gu.find(t=>t.freeTierRpm?.host===e)||null}function PC(e){return gu.filter(t=>t.category===e)}var vy=Object.freeze(Object.fromEntries(gu.filter(e=>e.freeTierRpm?.host&&e.freeTierRpm?.models).map(e=>[e.freeTierRpm.host,e.freeTierRpm.models]))),hu=new Map,Wf=null;function UC(){return Wf||(Wf=Promise.allSettled(gu.filter(e=>e.discover&&!e.discover.requiresAuth).map(async e=>{try{let t=await e.discover.fetchModels();t.length&&hu.set(e.key,t)}catch{}})),Wf)}function Yf(e){return Array.from(new Set(String(e||"").split(/[\s,]+/).map(t=>t.trim()).filter(Boolean)))}function Ni(e){let t=String(e||"").trim();if(!t)return!1;try{let n=new URL(t);return n.protocol==="http:"||n.protocol==="https:"}catch{return!1}}function lr(e=[],t=""){return Array.from(new Set([...(Array.isArray(e)?e:[]).map(n=>String(n||"").trim()).filter(Boolean),...Yf(t)]))}function Qf(e=[],t,n){if(!t||!n||t===n)return e;let r=[...e],o=r.findIndex(l=>l?.key===t),a=r.findIndex(l=>l?.key===n);if(o===-1||a===-1)return e;let[i]=r.splice(o,1);return r.splice(a,0,i),r}function Ls(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r<=0)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r-1,0,a),o}function Xf(e=[],t,n=r=>r?.key){if(!t)return e;let r=e.findIndex(i=>n(i)===t);if(r===-1||r>=e.length-1)return e;let o=[...e],[a]=o.splice(r,1);return o.splice(r+1,0,a),o}function xy(e,t=[]){let n=e?.getBoundingClientRect?.();return{top:Number.isFinite(n?.top)?Number(n.top):Number.NaN,left:Number.isFinite(n?.left)?Number(n.left):Number.NaN,windowX:typeof window>"u"?0:Number(window.scrollX||window.pageXOffset||0),windowY:typeof window>"u"?0:Number(window.scrollY||window.pageYOffset||0),containers:t.map(r=>({top:Number(r?.scrollTop||0),left:Number(r?.scrollLeft||0)}))}}function jC(e,t,n=.5){return!e||!t||!Number.isFinite(t.top)||!Number.isFinite(t.left)||Math.abs(t.top-e.top)>n||Math.abs(t.left-e.left)>n||Math.abs(t.windowX-e.windowX)>n||Math.abs(t.windowY-e.windowY)>n||(e.containers?.length||0)!==(t.containers?.length||0)?!1:t.containers.every((r,o)=>{let a=e.containers[o];return a?Math.abs(r.top-a.top)<=n&&Math.abs(r.left-a.left)<=n:!1})}function Sy(e){let t=String(e?.category||"").trim().toLowerCase();if(t==="usage"||t==="router")return t;let n=String(e?.source||"").trim().toLowerCase(),r=String(e?.kind||"").trim().toLowerCase();return n==="runtime"||r.startsWith("request")||r.startsWith("fallback")?"usage":"router"}function Da(e,t){if(e?.classList){if(t){e.classList.add(...yy);return}e.classList.remove(...yy)}}function Ds(e){return typeof e?.closest=="function"?e.closest("[data-reorder-row='true']"):null}function Jf(e){let t=String(e||"").trim().toLowerCase();return t==="automatic"||t==="smart"?"auto":t==="rr"?"round-robin":t==="weighted-round-robin"||t==="weighted_rr"?"weighted-rr":t==="quota-aware-weighted-round-robin"?"quota-aware-weighted-rr":Object.prototype.hasOwnProperty.call(Kf,t)?t:"ordered"}function Zf(e){let t=Jf(e);return Kf[t]||Kf.ordered}function Sr(e=[]){return Array.from(new Set((e||[]).map(t=>String(t||"").trim()).filter(Boolean)))}function Bs(e=[]){let t=new Set;for(let n of(e||[]).map(r=>String(r||"").trim()).filter(Boolean)){if(t.has(n))return!0;t.add(n)}return!1}function VC(e=[],t="",n=-1){let r=String(t||"").trim().toLowerCase();return r?(e||[]).some((o,a)=>a!==n&&String(o?.name||"").trim().toLowerCase()===r):!1}function FC(){return{id:"",strategy:"auto",targets:[{ref:""}],fallbackTargets:[]}}function HC(e="",t={},{isNew:n=!1}={}){return JSON.stringify({aliasId:n?"":String(e||"").trim(),id:String(t?.id||(n?"":e)||"").trim(),strategy:String(t?.strategy||"ordered").trim()||"ordered",targets:(Array.isArray(t?.targets)?t.targets:[]).map(r=>String(r?.ref||"").trim()),fallbackTargets:(Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(r=>String(r?.ref||"").trim())})}function yu(){if(typeof globalThis<"u"&&globalThis.crypto?.getRandomValues){let t=new Uint8Array(18);return globalThis.crypto.getRandomValues(t),`gw_${Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}`}return`gw_${Math.random().toString(36).slice(2)}${Date.now().toString(36)}`}function Ao(e){return/^[A-Z][A-Z0-9_]*$/.test(String(e||"").trim())}function Pr(e){let t=String(e||"").toLowerCase().replace(/[^a-z0-9-]+/g,"-").replace(/^-+|-+$/g,"").replace(/-{2,}/g,"-");return t?/^[a-z]/.test(t)?t:`provider-${t}`:""}function wy(e,t){let n=Number.parseInt(String(e||""),10);return Number.isFinite(n)&&n>0?n:t}function bu(e={}){return Sr((Array.isArray(e?.models)?e.models:[]).map(t=>t?.id))}function vu(e={},{keyPrefix:t="rate-limit",index:n=0,defaults:r=wo.custom.rateLimitDefaults,useDefaults:o=!0}={}){let a=String(e?.sourceId||e?.id||"").trim(),i=e?.requests??e?.limit,l=e?.windowValue??e?.window?.size??e?.window?.value,s=e?.windowUnit??e?.window?.unit;return{key:String(e?.key||"").trim()||`${t}-${a||n+1}`,sourceId:a,models:So(Array.isArray(e?.models)?e.models:[]),modelsDraft:String(e?.modelsDraft||""),requests:i!==void 0?String(i):o?String(r.limit??""):"",windowValue:l!==void 0?String(l):o?String(r.windowValue??""):"",windowUnit:String(s!==void 0?s:o?r.windowUnit:"minute").trim()||"minute"}}function xu(e=[],{keyPrefix:t="rate-limit",defaults:n=wo.custom.rateLimitDefaults,includeDefault:r=!0}={}){return(Array.isArray(e)&&e.length>0?e:r?[{models:["all"],requests:n.limit,window:{size:n.windowValue,unit:n.windowUnit}}]:[]).map((a,i)=>vu(a,{keyPrefix:t,index:i,defaults:n,useDefaults:!0}))}function em(e={}){return So(lr(e?.models,e?.modelsDraft||"")).length===0&&!String(e?.requests??"").trim()&&!String(e?.windowValue??"").trim()}function wr(e=[]){return(Array.isArray(e)?e:[]).map((t,n)=>({key:String(t?.key||`rate-limit-${n+1}`).trim()||`rate-limit-${n+1}`,sourceId:String(t?.sourceId||"").trim(),models:So(lr(t?.models,t?.modelsDraft||"")),requests:String(t?.requests??"").trim(),windowValue:String(t?.windowValue??"").trim(),windowUnit:dl(t?.windowUnit,"minute")})).filter((t,n)=>!em({...e?.[n]||{},...t}))}function Ay(e=[]){return wr(e).map(t=>({sourceId:t.sourceId,models:t.models,requests:t.requests,windowValue:t.windowValue,windowUnit:t.windowUnit}))}function $C(e=[]){let t=Array.isArray(e)?e.filter(Boolean):[];return t.length===0?"":t.length===1?iC(t[0]):`${t.length} rate limits`}function Go(e){return JSON.parse(JSON.stringify(e??{}))}function Cy(e,t={}){try{let n=JSON.parse(String(e||"{}"));return n&&typeof n=="object"&&!Array.isArray(n)?n:t}catch{return t}}function KC(e,t={}){try{let n=String(e||"").trim()?JSON.parse(e):{};return!n||typeof n!="object"||Array.isArray(n)?{value:t,parseError:"Config root must be a JSON object."}:{value:n,parseError:""}}catch(n){return{value:t,parseError:n instanceof Error?n.message:String(n)}}}function Is(e){return e?new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"}):"\u2014"}function GC(e){return e?.parseError?"danger":(e?.validationErrors||[]).length>0?"warning":"success"}function tm(e=io){return[{name:"User-Agent",value:String(e||io)}]}function nm(e=[]){return(Array.isArray(e)?e:[]).map(t=>({name:String(t?.name||""),value:t?.value===void 0||t?.value===null?"":String(t.value)}))}function PL(e,t=io){if(!e||typeof e!="object"||Array.isArray(e))return tm(t);let n=Object.entries(e).map(([r,o])=>({name:String(r||""),value:o==null?"":String(o)})).filter(r=>r.name.trim());return n.length>0?n:tm(t)}function rm(e=[]){let t={};for(let n of nm(e)){let r=String(n.name||"").trim();if(!r)continue;let o=r.toLowerCase()==="user-agent",a=String(n.value||"").trim();!a&&!o||(t[r]=a)}return t}function Ny(e={}){return JSON.stringify({connectionType:String(e?.connectionType||""),endpoints:Array.isArray(e?.endpoints)?e.endpoints.map(t=>String(t||"").trim()).filter(Boolean):[],apiKeyEnv:String(e?.apiKeyEnv||"").trim(),headers:rm(e?.headerRows||[])})}function zs(e,t){return String(e||"").trim().startsWith(`${t}/`)}function Su(e){let t=Object.keys(e?.modelAliases||{});if(t.includes(Bt))return Bt;if(t.length>0)return t[0];let n=(e?.providers||[]).find(r=>(r?.models||[]).length>0);return n?.models?.[0]?.id?`${n.id}/${n.models[0].id}`:void 0}function YC(e,t){let n=Go(e&&typeof e=="object"?e:{});n.providers=(Array.isArray(n.providers)?n.providers:[]).filter(i=>i?.id!==t);let r=new Set((n.providers||[]).flatMap(i=>(i.models||[]).map(l=>`${i.id}/${l.id}`))),o=n.modelAliases&&typeof n.modelAliases=="object"?n.modelAliases:{},a={};for(let[i,l]of Object.entries(o)){let s=Array.isArray(l?.targets)?l.targets.filter(d=>!zs(d?.ref,t)):[],c=Array.isArray(l?.fallbackTargets)?l.fallbackTargets.filter(d=>!zs(d?.ref,t)):[];a[i]={...l,...Array.isArray(l?.targets)?{targets:s}:{},...Array.isArray(l?.fallbackTargets)?{fallbackTargets:c}:{}}}return n.modelAliases=a,n.defaultModel&&!n.modelAliases?.[n.defaultModel]&&!r.has(n.defaultModel)&&(n.defaultModel=Bt),n?.amp?.defaultRoute&&!n.modelAliases?.[n.amp.defaultRoute]&&!r.has(n.amp.defaultRoute)&&(n.amp={...n.amp,defaultRoute:n.defaultModel||Su(n)}),n}function Ba(e={}){let t=Array.isArray(e?.metadata?.endpointCandidates)?e.metadata.endpointCandidates:[],n=[e?.baseUrl,...Object.values(e?.baseUrlByFormat||{})];return Array.from(new Set((t.length>0?t:n).map(r=>String(r||"").trim()).filter(Boolean)))}function UL(e={}){let t=String(e?.apiKeyEnv||"").trim();if(t)return{apiKeyEnv:t};let n=String(e?.apiKey||e?.credential||"").trim();return n?{apiKey:n}:{}}function Ey(e={},t={}){if(e&&Object.prototype.hasOwnProperty.call(e,"credentialInput")){let n=String(e?.credentialInput||"").trim();return n?Ao(n)?{apiKeyEnv:n}:{apiKey:n}:{}}return UL(t)}function Co(e={}){return e?.type==="subscription"?"subscription":"api"}function QC(e={}){if(e?.type==="subscription")return e?.subscriptionType==="claude-code"?"oauth-claude":"oauth-gpt";let t=Ba(e);for(let n of t)try{let r=new URL(String(n||"")).hostname,o=zC(r);if(o)return o.key}catch{}return"custom"}function XC(e={}){let t=Ba(e),n=Co(e),r=QC(e),o=om(r);return{id:String(e?.id||"").trim(),name:String(e?.name||e?.id||"").trim(),credentialInput:n==="api"?String(e?.apiKeyEnv||e?.apiKey||e?.credential||"").trim():"",endpoints:n==="api"?t:[],endpointDraft:"",rateLimitRows:n==="api"?xu(e?.rateLimits,{keyPrefix:`provider-${e?.id||"new"}-rate-limit`,defaults:o,includeDefault:!0}):[]}}function JC(e){return zr(e).label||"API Key"}function Ty(e){for(let t of e||[])try{let n=new URL(String(t||"")).hostname;if(vy[n])return n}catch{}return null}function ZC(e,t){let n=vy[e];if(!n||!Array.isArray(t)||t.length===0)return null;let r=n._default||30;return t.map((o,a)=>vu({models:[String(o)],requests:n[o]||r,window:{size:1,unit:"minute"}},{keyPrefix:"preset-rl",index:a}))}function e1(e){let t=new Map;for(let n of e){let r=n.toLowerCase(),o=r.includes("flash-lite")?"flash-lite":r.includes("flash")?"flash":r.includes("pro")?"pro":r;t.has(o)||t.set(o,n)}return[...t.values()]}function My(e,t="openai"){let n=hu.get(e);if(n?.length)return[...n];let o=zr(e).defaultModels;return o&&typeof o=="object"&&!Array.isArray(o)?[...o[t]||o.openai||[]]:Array.isArray(o)?[...o]:[]}function om(e){return zr(e).rateLimitDefaults||wo.custom.rateLimitDefaults}function jL(e,t,n=[]){let r=new Set((n||[]).map(a=>a?.id).filter(Boolean));if(!r.has(e))return{providerId:e,providerName:t};let o=2;for(;r.has(`${e}-${o}`);)o++;return{providerId:`${e}-${o}`,providerName:`${t} ${o}`}}function Ry(e,t="openai"){let n=zr(e),r=om(e),o=n.category==="api";return{providerName:n.providerName,providerId:n.providerId,endpoints:o&&n.endpoint?[n.endpoint]:[],apiKeyEnv:o&&n.apiKeyEnv||"",subscriptionProfile:"",modelIds:e==="custom"?[]:My(e,t),rateLimitRows:o?xu([],{keyPrefix:`quick-start-${e}-rate-limit`,defaults:r,includeDefault:!0}):[]}}function t1(e={},{baseConfig:t={},nextCategory:n,nextPresetKey:r,defaultProviderUserAgent:o=io}={}){let a=zr(r),i=n==="api",l=e.selectedConnection||"custom",s=zr(l),c=Ry(l),d=Array.isArray(t?.providers)?t.providers:[],u=jL(a.providerId,a.providerName,d),f=e.connectionType==="api"?tm(o):[],m=i?tm(o):[],b=nm(e.headerRows||[]),p=!e.providerId||e.providerId===s.providerId||e.providerId===c.providerId||e.providerId===Pr(e.providerName||""),v=!e.providerName||e.providerName===s.providerName||e.providerName===c.providerName,h=!e.subscriptionProfile||e.subscriptionProfile===c.subscriptionProfile,g=Array.isArray(s.defaultModels)?s.defaultModels:[],y=(e.modelIds||[]).length===0||JSON.stringify(e.modelIds||[])===JSON.stringify(g)||JSON.stringify(e.modelIds||[])===JSON.stringify(c.modelIds||[]),x=JSON.stringify(b)===JSON.stringify(f),R=lr(e.endpoints,e.endpointDraft),w=Array.isArray(c.endpoints)?c.endpoints:[],E=R.length===0||JSON.stringify(R)===JSON.stringify(w),C=String(e.apiKeyEnv||"").trim(),M=!C||C===String(s.apiKeyEnv||"").trim()||C===String(c.apiKeyEnv||"").trim(),L=Array.isArray(a.defaultModels)?[...a.defaultModels]:[],F=Ry(r);return{...e,connectionType:n,selectedConnection:r,providerName:v?u.providerName:e.providerName,providerId:p?u.providerId:e.providerId,endpoints:i?E?[...F.endpoints]:Array.isArray(e.endpoints)?e.endpoints:[]:[],endpointDraft:i?E?"":String(e.endpointDraft||""):"",apiKeyEnv:i?M?a.apiKeyEnv||"":e.apiKeyEnv:"",subscriptionProfile:i?"":h?F.subscriptionProfile:e.subscriptionProfile,modelIds:y?L.length>0?L:F.modelIds:e.modelIds,modelContextWindows:y?{}:e.modelContextWindows||{},modelDraft:"",rateLimitRows:i?xu([],{keyPrefix:`quick-start-${r}-rate-limit`,defaults:a.rateLimitDefaults||wo.custom.rateLimitDefaults,includeDefault:!0}):[],headerRows:i?b.length===0||x?m:b:[]}}function VL(e={},t="",{aliasId:n=""}={}){if(!t)return null;let r=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{},o=n?[[n,r[n]]]:Object.entries(r);for(let[a,i]of o){if(!i||typeof i!="object")continue;let l=Array.isArray(i?.targets)?i.targets:[],s=Array.isArray(i?.fallbackTargets)?i.fallbackTargets:[];if([...l,...s].some(c=>zs(c?.ref,t)))return{aliasId:a,alias:i}}return null}function FL(e,t="",n=[]){let r=Array.from(new Set((n||[]).map(l=>String(l||"").trim()).filter(Boolean)));if(!t||!e?.alias)return r;let o=new Set(r),a=Array.isArray(e.alias?.targets)?e.alias.targets:[],i=[];for(let l of a){let s=String(l?.ref||"").trim();if(!zs(s,t))continue;let c=s.slice(t.length+1);!o.has(c)||i.includes(c)||i.push(c)}return i.length>0?i:r}function am(e=[],t=[]){let n=Array.from(new Set((t||[]).map(a=>String(a||"").trim()).filter(Boolean))),r=new Set(n),o=[];for(let a of(e||[]).map(i=>String(i||"").trim()).filter(Boolean))r.has(a)&&(o.push(a),r.delete(a));return[...o,...n.filter(a=>r.has(a))]}function qC(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){if(!e||typeof e!="object")return e;let o=String(e.ref||"").trim();if(!t||!zs(o,t))return e;let a=o.slice(t.length+1);return r.has(a)?{...e,ref:`${n}/${a}`}:null}function HL(e,t){if(!e||typeof e!="object")return e;let n={...e},r=Array.isArray(e.targets),o=Array.isArray(e.fallbackTargets);return r&&(n.targets=e.targets.map(a=>qC(a,t)).filter(Boolean)),o&&(n.fallbackTargets=e.fallbackTargets.map(a=>qC(a,t)).filter(Boolean)),n}function $L(e,{fromProviderId:t,toProviderId:n,allowedModelIds:r}){let o=String(e||"").trim();if(!o||!t||!zs(o,t))return o;let a=o.slice(t.length+1);return r.has(a)?`${n}/${a}`:""}function KL(e=[]){return new Set((e||[]).flatMap(t=>(t?.models||[]).map(n=>`${t.id}/${n.id}`)))}function n1(e={},{seedMode:t="blank",targetProviderId:n="",defaultProviderUserAgent:r=io}={}){let o=Array.isArray(e?.providers)?e.providers:[],a=n&&o.find(y=>y?.id===n)||null,i=t==="existing"||!!a,l=i?a||o[0]||{}:{},s=i?Co(l):"api",c=i?QC(l):"custom",d=l?.format==="claude"?"claude":"openai",u=Ry(c,d),f=om(c),m=Array.isArray(l?.models)?l.models.map(y=>y?.id).filter(Boolean):[],b=String(l?.id||u.providerId||Pr(l?.name||u.providerName||"my-provider")||"my-provider"),p=i?VL(e,b,{aliasId:Bt}):null,v=m.length>0?m:[...u.modelIds],h=Object.fromEntries((Array.isArray(l?.models)?l.models:[]).map(y=>{let x=String(y?.id||"").trim(),R=Number(y?.contextWindow);return!x||!Number.isFinite(R)||R<=0?null:[x,Math.floor(R)]}).filter(Boolean)),g=s==="api"?PL(l?.headers,r):[];return{connectionType:s,selectedConnection:c,providerName:String(l?.name||u.providerName),providerId:b,endpoints:Ba(l).length>0?Ba(l):u.endpoints,endpointDraft:"",apiKeyEnv:String(l?.apiKeyEnv||l?.apiKey||u.apiKeyEnv),subscriptionProfile:String(l?.subscriptionProfile||u.subscriptionProfile),modelIds:v,modelContextWindows:h,modelDraft:"",aliasModelIds:FL(p,b,v),headerRows:g,rateLimitRows:s==="api"?xu(l?.rateLimits,{keyPrefix:`quick-start-${b}-rate-limit`,defaults:f,includeDefault:!0}):[],enableAlias:!0,aliasId:Bt,sourceAliasId:p?.aliasId||"",useAliasAsDefault:i?!!p:!0}}function WC(e,t={},n={}){return(e||[]).map(r=>{let o=t[r],a=Number(n?.[r]);return{id:r,...o?{formats:[o]}:{},...Number.isFinite(a)&&a>0?{contextWindow:Math.floor(a)}:{}}})}function ky(e={}){let t=Pr(e?.providerId||e?.providerName||"")||"";return String(e?.subscriptionProfile||t||"default").trim()||t||"default"}function r1(e={},t,n=null,{targetProviderId:r=""}={}){let o=Go(e&&typeof e=="object"?e:{}),a=Pr(t?.providerId||t?.providerName||"my-provider")||"my-provider",i=String(t?.providerName||a).trim()||a,l=Array.isArray(t?.modelIds)?t.modelIds.map(z=>String(z||"").trim()).filter(Boolean):[],s=am(t?.aliasModelIds,l),c=om(t?.selectedConnection||t?.connectionType),d=Array.isArray(t?.rateLimitRows)?t.rateLimitRows:[],u=d.length>0?d:[{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],f=Array.isArray(e?.providers)&&e.providers.length>0,m=String(r||"").trim(),b=String(t?.sourceAliasId||"").trim(),p;if(t?.connectionType==="api"){let z=Array.isArray(t?.endpoints)?t.endpoints.map($e=>String($e||"").trim()).filter(Boolean):[],G=Array.isArray(n?.workingFormats)?n.workingFormats.filter(Boolean):[],ee=n?.preferredFormat||G[0]||"openai",de=n?.baseUrlByFormat&&typeof n.baseUrlByFormat=="object"?n.baseUrlByFormat:z[0]?{[ee]:z[0]}:void 0,q=ee&&de?.[ee]||de?.openai||de?.claude||z[0]||"",ae=Array.isArray(n?.models)&&n.models.length>0?s.filter($e=>n.models.includes($e)):s,te=ae.length>0?ae:s,W=z.length>1?{endpointCandidates:z}:void 0,V=String(t?.apiKeyEnv||"").trim(),Pe=Ao(V)?{apiKeyEnv:V}:V?{apiKey:V}:{},ne=rm(t?.headerRows||[]);p={id:a,name:i,baseUrl:q,baseUrlByFormat:de,...Pe,...Object.keys(ne).length>0?{headers:ne}:{},format:ee,formats:G.length>0?G:[ee],models:WC(te,n?.modelPreferredFormat||{},t?.modelContextWindows||{}),...W?{metadata:W}:{}}}else{let z=zr(t?.selectedConnection||"oauth-gpt"),G=z.subscriptionType||"chatgpt-codex",ee=z.format||"openai";p={id:a,name:i,type:"subscription",subscriptionType:G,subscriptionProfile:ky(t),format:ee,formats:[ee],models:WC(s,{},t?.modelContextWindows||{})}}p.rateLimits=t?.connectionType==="api"?lu(u,{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}):lu([{models:["all"],requests:c.limit,windowValue:c.windowValue,windowUnit:c.windowUnit}],{fallbackRequests:c.limit,fallbackWindowValue:c.windowValue,fallbackWindowUnit:c.windowUnit}),String(o.masterKey||"").trim()||(o.masterKey=yu()),o.version=typeof o.version=="number"?o.version:2;let v=Array.isArray(o.providers)?o.providers:[],h=m?v.findIndex(z=>z?.id===m):-1;h===-1&&(h=v.findIndex(z=>z?.id===a)),o.providers=h===-1?[...v,p]:v.map((z,G)=>G===h?p:z);let g=o.modelAliases&&typeof o.modelAliases=="object"&&!Array.isArray(o.modelAliases)?o.modelAliases:{},y=new Set((p.models||[]).map(z=>z.id)),x=!f||t?.useAliasAsDefault===!0,R={};for(let[z,G]of Object.entries(g)){let ee=m?HL(G,{fromProviderId:m,toProviderId:a,allowedModelIds:y}):G;R[z]=ee}let w=p.models?.[0]?.id?`${a}/${p.models[0].id}`:"",E=(s.length>0?s:(p.models||[]).map(z=>z.id)).filter(z=>y.has(z)),C=Bt,M=R[C]&&typeof R[C]=="object"?R[C]:{id:C,strategy:"ordered",targets:[],fallbackTargets:[]};R[C]=x?{...M,id:C,strategy:"ordered",targets:E.map(z=>({ref:`${a}/${z}`})),fallbackTargets:[]}:{...M,id:C,strategy:String(M.strategy||"ordered").trim()||"ordered",targets:Array.isArray(M.targets)?M.targets:[],fallbackTargets:Array.isArray(M.fallbackTargets)?M.fallbackTargets:[]},o.modelAliases=R;let L=KL(o.providers);o.defaultModel=Bt,(!o.amp||typeof o.amp!="object"||Array.isArray(o.amp))&&(o.amp={restrictManagementToLocalhost:!0,overrides:{entities:[]}}),o.amp.restrictManagementToLocalhost===void 0&&(o.amp.restrictManagementToLocalhost=!0),(!o.amp.overrides||typeof o.amp.overrides!="object"||Array.isArray(o.amp.overrides))&&(o.amp.overrides={entities:[]}),Array.isArray(o.amp.overrides.entities)||(o.amp.overrides.entities=[]);let F=String(o.amp.defaultRoute||"").trim();return m&&(F=$L(F,{fromProviderId:m,toProviderId:a,allowedModelIds:y})),(x||!F||!o.modelAliases?.[F]&&!L.has(F))&&(F=Bt),F&&(o.amp.defaultRoute=F),(!o.metadata||typeof o.metadata!="object"||Array.isArray(o.metadata))&&(o.metadata={}),o}function im(e={}){return(Array.isArray(e?.providers)?e.providers:[]).some(n=>{if(n?.enabled===!1)return!1;let r=Array.isArray(n?.models)?n.models.filter(a=>String(a?.id||"").trim()):[],o=Array.isArray(n?.rateLimits)?n.rateLimits:[];return r.length>0&&o.length>0})}function o1(e,t,n={},{targetProviderId:r=""}={}){let o=Pr(t?.providerId||t?.providerName||""),a=lr(t?.modelIds,t?.modelDraft),i=am(t?.aliasModelIds,a),l=wr(t?.rateLimitRows),s=t?.connectionType==="api"?lr(t?.endpoints,t?.endpointDraft):[],c=Array.isArray(n?.providers)?n.providers:[],d=n?.modelAliases&&typeof n.modelAliases=="object"&&!Array.isArray(n.modelAliases)?n.modelAliases:{};if(e===0){if(!String(t?.providerName||"").trim())return"Add a provider name to continue.";if(!o||!fl.test(o))return"Provider id must start with a letter and use lowercase letters, numbers, or hyphens.";if(c.some(u=>u?.id===o&&u?.id!==r))return"Provider id already exists. Choose another id or edit that provider instead.";if(t?.connectionType==="api"){if(s.length===0)return"Add at least one endpoint to continue.";if(!String(t?.apiKeyEnv||"").trim())return"API key or env is required before testing config."}}if(e===1){if(a.length===0)return"Add at least one model id.";if(t?.connectionType==="api"){let u=$o(l,{knownModelIds:a,requireAtLeastOne:!0});if(u)return u}}return e===2&&t?.useAliasAsDefault&&Object.prototype.hasOwnProperty.call(d,String(t?.aliasId||Bt).trim())===!1,""}function a1(e){return String(e||"").split("-").filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}function i1(e){let t=String(e||"").trim();if(!t)return"";let n=Pf.find(a=>a?.id===t);if(n?.defaultMatch)return String(n.defaultMatch).trim();let r=au.find(a=>a?.id===t);if(!r)return"";let o=[...new Set((r.signatures||[]).map(a=>Pf.find(i=>i?.id===a)?.defaultMatch).map(a=>String(a||"").trim()).filter(Boolean))];return o.length===1?o[0]:o.join(" | ")}function l1(e){let t=String(e||"").trim();return t?t.length<=10?`${t.slice(0,2)}\u2026${t.slice(-2)}`:`${t.slice(0,4)}\u2026${t.slice(-4)}`:""}function sr(e={}){let t=Go(e&&typeof e=="object"&&!Array.isArray(e)?e:{});return(!t.amp||typeof t.amp!="object"||Array.isArray(t.amp))&&(t.amp={}),(!t.amp.routes||typeof t.amp.routes!="object"||Array.isArray(t.amp.routes))&&(t.amp.routes={}),Array.isArray(t.amp.rawModelRoutes)||(t.amp.rawModelRoutes=[]),(!t.amp.overrides||typeof t.amp.overrides!="object"||Array.isArray(t.amp.overrides))&&(t.amp.overrides={}),Array.isArray(t.amp.overrides.entities)||(t.amp.overrides.entities=[]),t.amp.restrictManagementToLocalhost===void 0&&(t.amp.restrictManagementToLocalhost=!0),String(t.amp.preset||"").trim()||(t.amp.preset="builtin"),String(t.amp.defaultRoute||"").trim()||(t.amp.defaultRoute=String(t.defaultModel||Su(t)||"").trim()),t}function qo(e,t=0,{min:n=0,max:r=Number.MAX_SAFE_INTEGER}={}){let o=Number.parseInt(String(e??""),10);return Number.isFinite(o)?Math.min(r,Math.max(n,o)):t}function GL(){return new Set([...au.map(e=>e.id),...Pf.map(e=>e.id)].map(e=>String(e||"").trim()).filter(Boolean))}var qL=GL();function wu(e){return qL.has(String(e||"").trim())}function lm(e){(!e.routes||typeof e.routes!="object"||Array.isArray(e.routes))&&(e.routes={}),Array.isArray(e.rawModelRoutes)||(e.rawModelRoutes=[])}function s1(e={}){return String(e?.sourceRouteKey||"").trim()}function Oy(e={}){let n=sr(e).amp;lm(n);let r=new Map,o=[];for(let[l,s]of(n.rawModelRoutes||[]).entries()){let c=s1(s);if(c&&wu(c)){r.set(c,{mapping:s,index:l});continue}o.push({id:`raw:${l}`,source:"raw",index:l,routeKey:"",inbound:String(s?.from||"").trim(),outbound:String(s?.to||"").trim(),label:"Custom mapping",description:`Wildcard/raw match: ${String(s?.from||"").trim()||"(empty)"}`,defaultMatch:"",isCustom:!0,removable:!0})}let a=au.map(l=>{let s=String(l.id||"").trim(),c=i1(s),d=r.get(s)?.mapping||null;return{id:`route:${s}`,source:"route",routeKey:s,inbound:String(d?.from||c||s).trim(),outbound:String(d?.to||n.routes?.[s]||"").trim(),label:a1(s),description:l.description||"",defaultMatch:c,isCustom:!1,removable:!1}}),i=Object.entries(n.routes||{}).filter(([l])=>!au.some(s=>s.id===l)).map(([l,s])=>{let c=String(l||"").trim(),d=i1(c),u=wu(c);return{id:`route:${c}`,source:"route",routeKey:c,inbound:c,outbound:String(s||"").trim(),label:u?d||c:a1(c),description:u?`Route key: ${c}`:`Custom route key: ${c}`,defaultMatch:d,isCustom:!0,removable:!0}});return[...a,...i,...o]}function c1(e,t){return Oy(e).find(n=>n.id===t)||null}function _y(e={},t,{inbound:n,outbound:r}={}){let o=sr(e),a=o.amp;lm(a);let i=c1(o,t);if(!i)return o;let l=String(n??i.inbound??"").trim(),s=String(r??i.outbound??"").trim(),c=i.source==="route"?String(i.routeKey||"").trim():"",d=c?String(i.defaultMatch||"").trim():"",u=c?a.rawModelRoutes.findIndex(b=>s1(b)===c):-1,f=c&&wu(c),m=wu(l)?l:c&&d&&l===d?c:"";if(i.source==="route"&&i.routeKey&&delete a.routes[i.routeKey],i.source==="raw"&&Number.isInteger(i.index)&&a.rawModelRoutes.splice(i.index,1),u>=0&&a.rawModelRoutes.splice(u,1),m)return s&&(a.routes[m]=s),o;if(f){let b=d||c;return s&&(a.routes[c]=s),l&&l!==b&&a.rawModelRoutes.push({from:l,sourceRouteKey:c}),o}return l&&s&&a.rawModelRoutes.push({from:l,to:s}),o}function u1(e={},{inbound:t,outbound:n}={}){let r=sr(e),o=r.amp;lm(o);let a=String(t||"").trim(),i=String(n||"").trim(),l=wu(a)?a:"";return!a||!i?r:l?(o.routes[l]=i,r):(o.rawModelRoutes.push({from:a,to:i}),r)}function d1(e={},t){let n=sr(e),r=n.amp;lm(r);let o=c1(n,t);return o?.removable&&(o.source==="route"&&o.routeKey&&delete r.routes[o.routeKey],o.source==="raw"&&Number.isInteger(o.index)&&r.rawModelRoutes.splice(o.index,1)),n}function Ti(e={}){let t=e&&typeof e=="object"&&!Array.isArray(e)?e:{},n=t.amp?.webSearch&&typeof t.amp.webSearch=="object"&&!Array.isArray(t.amp.webSearch)?Go(t.amp.webSearch):null;(!t.webSearch||typeof t.webSearch!="object"||Array.isArray(t.webSearch))&&(t.webSearch=n||{}),t.amp&&typeof t.amp=="object"&&!Array.isArray(t.amp)&&Object.prototype.hasOwnProperty.call(t.amp,"webSearch")&&delete t.amp.webSearch;let r=String(t.webSearch.strategy||"").trim();return t.webSearch.strategy=r==="quota-balance"?"quota-balance":"ordered",t.webSearch.count!==void 0&&t.webSearch.count!==null&&String(t.webSearch.count).trim()!==""?t.webSearch.count=qo(t.webSearch.count,Ri,{min:du,max:fu}):delete t.webSearch.count,Array.isArray(t.webSearch.providers)||(t.webSearch.providers=[]),t.webSearch}function f1(e=""){return String(e||"").trim().includes("/")}function Mn(e=""){let t=String(e||"").trim();return f1(t)?t:t.toLowerCase()}function Ei(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();return!n||!r?"":`${n}/${r}`}function WL(e={}){return[...new Set([e?.format,...Array.isArray(e?.formats)?e.formats:[]].map(t=>String(t||"").trim().toLowerCase()).filter(t=>t==="openai"||t==="claude"))]}function YL(e={},t={}){let n=String(t?.id||"").trim(),r=n?String(e?.lastProbe?.modelPreferredFormat?.[n]||"").trim().toLowerCase():"";if(r==="openai"||r==="claude")return[r];let o=n?[...new Set((Array.isArray(e?.lastProbe?.modelSupport?.[n])?e.lastProbe.modelSupport[n]:[]).map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]:[];return o.length>0?o:[...new Set([t?.format,...Array.isArray(t?.formats)?t.formats:[]].map(a=>String(a||"").trim().toLowerCase()).filter(a=>a==="openai"||a==="claude"))]}function m1(e={}){let t=String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase();return String(e?.type||"").trim().toLowerCase()==="subscription"?t==="chatgpt-codex":WL(e).includes("openai")?!!String(e?.baseUrlByFormat?.openai||e?.baseUrl||"").trim():!1}function QL(e={}){return String(e?.type||"").trim().toLowerCase()==="subscription"?String(e?.subscriptionType||e?.subscription_type||"").trim().toLowerCase()==="chatgpt-codex":String(e?.apiKey||"").trim()||String(e?.apiKeyEnv||"").trim()||String(e?.auth?.type||"").trim().toLowerCase()==="none"?!0:Object.keys(e?.headers&&typeof e.headers=="object"?e.headers:{}).some(t=>{let n=String(t||"").trim().toLowerCase();return n==="authorization"||n==="x-api-key"})}function XL(e={},t={}){if(!m1(e))return!1;let n=YL(e,t);return n.length===0||n.includes("openai")}function Wo(e={},t=[]){return!e||typeof e!="object"||Array.isArray(e)?!1:t.some(n=>Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==void 0&&e[n]!==null&&String(e[n]).trim()!=="")}function Au(e={},t=""){let n=String(t||e?.id||"").trim().toLowerCase(),r=La[n];if(!r)return null;let o=r.credentialField,a=String(e?.[o]||"").trim(),i=Wo(e,["count","resultCount","result-count","resultsPerCall","results-per-call"]),l=Wo(e,["limit","monthlyLimit","monthly-limit","quota"]),s=Wo(e,["remaining","remainingQuota","remaining-quota","remainingQueries","remaining-queries"]),c=!!a||l||s,d=c&&Number(r.defaultLimit)||0,u=qo(e?.count??e?.resultCount??e?.["result-count"]??e?.resultsPerCall??e?.["results-per-call"],Ri,{min:du,max:fu}),f=qo(e?.limit,d,{min:0}),m=f>0?f:0,b=qo(e?.remaining,m,{min:0});return{kind:"builtin",id:n,[o]:a,...i&&u!==Ri?{count:u}:{},...l||c&&f>0?{limit:f}:{},...s||c&&(f>0||b>0)?{remaining:f>0?Math.min(b,f):b}:{}}}function JL(e={},t=""){let n=String(t||e?.id||Ei(e?.providerId??e?.provider,e?.model??e?.modelId)).trim();if(!f1(n))return null;let r=String(e?.providerId??e?.provider??n.slice(0,n.indexOf("/"))).trim(),o=String(e?.model??e?.modelId??n.slice(n.indexOf("/")+1)).trim(),a=Ei(r,o);return!a||a!==n?null:{kind:"hosted",id:a,providerId:r,model:o}}function ZL(e={},t=""){return JL(e,t)||Au(e,t)}function p1(e={},t=new Set){return(Array.isArray(e?.providers)?e.providers:[]).map(r=>{let o=String(r?.id||"").trim();if(!o||r?.enabled===!1||!m1(r)||!QL(r))return null;let a=(Array.isArray(r?.models)?r.models:[]).map(i=>{let l=String(i?.id||"").trim(),s=Ei(o,l);return!l||!s||t.has(s)||!XL(r,i)||!l.toLowerCase().includes("gpt")?null:{value:l,label:l,routeId:s}}).filter(Boolean);return a.length===0?null:{providerId:o,providerLabel:String(r?.name||o).trim()||o,providerHint:String(r?.subscriptionType||"").trim().toLowerCase()==="chatgpt-codex"?"ChatGPT subscription":String(r?.baseUrlByFormat?.openai||r?.baseUrl||"").trim()||"OpenAI-compatible endpoint",models:a}}).filter(Boolean)}function g1(e={},t=null){let n=sr(e),r=Ti(n),o=Array.isArray(r.providers)?r.providers.map(u=>ZL(u,u?.id)).filter(Boolean):[],a=new Set(o.map(u=>Mn(u.id))),i=[...o,...Gf.filter(u=>!a.has(u.id)).map(u=>Au({id:u.id},u.id)).filter(Boolean)],l=Array.isArray(t?.providers)?t.providers:[],s=new Map(l.map(u=>[Mn(u?.id),u]).filter(([u])=>!!u)),c=new Map((Array.isArray(e?.providers)?e.providers:[]).map(u=>[String(u?.id||"").trim(),u]).filter(([u])=>!!u)),d=qo(r?.count,Ri,{min:du,max:fu});return i.map(u=>{let f=Mn(u.id),m=s.get(f)||null,b=o.findIndex(w=>Mn(w.id)===f),p=i.findIndex(w=>Mn(w.id)===f),v=u.kind==="hosted"?m?.ready!==!1:!!u?.[La[u.id]?.credentialField||"apiKey"];if(u.kind==="hosted"){let w=c.get(u.providerId)||null;return{id:u.id,key:u.id,kind:"hosted",label:String(w?.name||u.providerId).trim()||u.providerId,providerId:u.providerId,modelId:u.model,routeId:u.id,configured:!0,configuredIndex:b,configuredCount:o.length,displayIndex:p,displayCount:i.length,active:v,runtimeState:m}}let h=La[u.id],g=h?.credentialField||"apiKey",y=String(u?.[g]||"").trim(),x=Wo(u,["count"]),R=qo(u?.count,d,{min:du,max:fu});return{id:u.id,key:u.id,kind:"builtin",label:h?.label||u.id,credentialField:g,credentialLabel:h?.credentialLabel||"Credential",credentialPlaceholder:h?.credentialPlaceholder||"",credentialValue:y,resultPerCall:R,resultPerCallInput:x?String(R):d!==Ri?String(d):"",limit:qo(u?.limit,h?.defaultLimit||0,{min:0}),remaining:qo(u?.remaining,h?.defaultLimit||0,{min:0}),configured:!!y,configuredIndex:b,configuredCount:o.length,displayIndex:p,displayCount:i.length,active:v,runtimeState:m}})}function h1(e=[],t=""){let n=[],r=new Set;for(let i of Array.isArray(e)?e:[]){if(!i?.configured)continue;let l=String(i?.id||"").trim(),s=Mn(l);if(!l||!s||r.has(s))continue;let c=i.kind==="hosted"?[String(i?.label||"").trim(),String(i?.modelId||"").trim()].filter(Boolean).join(" \xB7 "):String(i?.label||l).trim()||l,d=i.kind==="hosted"?String(i?.routeId||l).trim()||"Hosted web search route":i.active===!1?"Configured but not ready":"Configured provider";n.push({value:l,label:c,hint:d,groupKey:i.kind==="hosted"?"hosted-web-search-routes":"builtin-web-search-providers",groupLabel:i.kind==="hosted"?"Hosted search routes":"Built-in search providers"}),r.add(s)}let o=String(t||"").trim(),a=Mn(o);return o&&a&&!r.has(a)&&n.unshift({value:o,label:o,hint:"Current config (not configured)",groupKey:"current-claude-selection",groupLabel:"Current selection"}),n}function y1(e={},t={}){let n=sr(e),r=Ti(n);return t.strategy!==void 0&&(r.strategy=String(t.strategy||"").trim()==="quota-balance"?"quota-balance":"ordered"),t.count!==void 0&&(r.count=qo(t.count,r.count,{min:1,max:20})),n}function b1(e={},t,n={}){let r=String(t||"").trim().toLowerCase();if(!La[r])return sr(e);let o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=i.findIndex(g=>Mn(g?.id)===r),s=l>=0?i[l]:null,c=Au(s||{id:r},r)||Au({id:r},r),u=La[r].credentialField,f=Au({...s&&typeof s=="object"&&!Array.isArray(s)?s:{},...c,...n,id:r,[u]:n[u]!==void 0?String(n[u]||"").trim():c?.[u]},r),m=!!String(f?.[u]||"").trim(),b=Wo(n,["count"])?!!String(n?.count||"").trim()&&Number(f?.count)!==Ri:Wo(s,["count"])&&Number(f?.count)!==Ri,p=m||Wo(n,["limit"])||Wo(s,["limit"]),v=m||Wo(n,["remaining"])||Wo(s,["remaining"]),h={id:r,...m?{[u]:String(f?.[u]||"").trim()}:{},...b?{count:Number(f.count)}:{},...p&&Number(f?.limit)>0?{limit:Number(f.limit)}:{},...v&&(Number(f?.limit)>0||Number(f?.remaining)>0)?{remaining:Number(f.remaining)}:{}};return l>=0?i[l]=h:i.push(h),a.providers=i,o}function v1(e={},t,n){let r=Ei(t,n);if(!r)return sr(e);let o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=Mn(r);return i.some(s=>Mn(s?.id)===l)||(i.push({id:r,providerId:String(t||"").trim(),model:String(n||"").trim()}),a.providers=i),o}function x1(e={},t){let n=Mn(t),r=sr(e),o=Ti(r),a=Array.isArray(o.providers)?o.providers.slice():[],i=a.filter(l=>Mn(l?.id)!==n);return i.length===a.length||(o.providers=i),r}function S1(e={},t,n="up"){let r=Mn(t),o=sr(e),a=Ti(o),i=Array.isArray(a.providers)?a.providers.slice():[],l=new Map(i.map(p=>[Mn(p?.id),p]).filter(([p])=>!!p)),s=i.findIndex(p=>Mn(p?.id)===r);if(s!==-1){let p=n==="down"?s+1:s-1;if(p<0||p>=i.length)return o;let[v]=i.splice(s,1);return i.splice(p,0,v),a.providers=i,o}if(!La[r])return o;let c=[...i.map(p=>Mn(p?.id)).filter(Boolean),...Gf.map(p=>p.id).filter(p=>!l.has(p))],d=c.indexOf(r);if(d===-1)return o;let u=n==="down"?d+1:d-1;if(u<0||u>=c.length)return o;let f=c.slice(),[m]=f.splice(d,1);f.splice(u,0,m);let b=new Set(l.keys());b.add(r);for(let p of f.slice(0,u+1))La[p]&&b.add(p);return a.providers=f.filter(p=>b.has(p)).map(p=>l.get(p)||{id:p}),o}function w1(e,t,n){let r=String(e||"").trim().toLowerCase(),o=La[r];return!o||String(t||"").trim()!==o.credentialField?!1:!String(n||"").trim()}function Yo(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"Unknown";if(t>=1e3){let n=t/1e3;return`${Number.isInteger(n)?String(n):n.toFixed(1).replace(/\.0$/,"")}K`}return String(t)}function N1(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=[{suffix:"M",divisor:1e3*1e3},{suffix:"K",divisor:1e3}];for(let r of n){if(t<r.divisor)continue;let o=t/r.divisor;return`${o>=10?String(Math.round(o)):o.toFixed(1).replace(/\.0$/,"")}${r.suffix}`}return String(t)}function Cu(e){let t=Qo(e),n=Number(t);return!Number.isFinite(n)||n<=0?String(e||""):new Intl.NumberFormat().format(n)}function eD(e={}){let t=new Map;for(let n of Array.isArray(e?.providers)?e.providers:[]){let r=String(n?.id||"").trim();if(r)for(let o of Array.isArray(n?.models)?n.models:[]){let a=String(o?.id||"").trim();a&&t.set(`${r}/${a}`,{ref:`${r}/${a}`,providerId:r,providerName:String(n?.name||r).trim()||r,modelId:a,contextWindow:Number.isFinite(o?.contextWindow)?Number(o.contextWindow):null})}}return t}function tD(e="",t={}){let n=t?.modelAliases&&typeof t.modelAliases=="object"&&!Array.isArray(t.modelAliases)?t.modelAliases:{},r=eD(t),o=new Set,a=new Set,i=[],l=[];function s(m){let b=String(m||"").trim();if(!b)return;if(r.has(b)){if(a.has(b))return;a.add(b),i.push(r.get(b));return}let p=b.startsWith("alias:")?b.slice(6).trim():b;if(!p||!Object.prototype.hasOwnProperty.call(n,p)){l.includes(b)||l.push(b);return}if(o.has(p))return;o.add(p);let v=n[p];for(let h of[...v?.targets||[],...v?.fallbackTargets||[]])s(h?.ref)}s(e);let c=i.filter(m=>Number.isFinite(m?.contextWindow)),d=[...new Set(c.map(m=>m.contextWindow))].sort((m,b)=>m-b),u=d[0]??null,f=d[d.length-1]??null;return{aliasId:e,models:i,unknownRefs:l,smallestContextWindow:u,largestContextWindow:f,hasMixedContextWindows:d.length>1}}function E1(e={}){let t=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};return Object.keys(t).map(n=>tD(n,e)).filter(n=>n.hasMixedContextWindows).sort((n,r)=>String(n.aliasId||"").localeCompare(String(r.aliasId||"")))}function sm(e=""){let t=String(e||"Select alias").trim()||"Select alias",n=Math.min(Math.max(Math.ceil(t.length*8.5+62),160),520);if(typeof document>"u")return n;let o=(sm.canvas||(sm.canvas=document.createElement("canvas"))).getContext("2d");return o?(o.font='500 14px "Inter", "SF Pro Display", ui-sans-serif, system-ui, sans-serif',Math.min(Math.max(Math.ceil(o.measureText(t).width+62),160),520)):n}function A1(e={}){return`${String(e?.model||"").trim()}::${String(e?.contextWindow||"").trim()}`}function nD(e){return String(e||"").trim().replace(/[.,\s_'`]/g,"")}function Qo(e){let t=nD(e);if(!t)return"";let n=Number.parseInt(t,10);return Number.isFinite(n)&&n>0?String(n):t}function C1(e={}){let t=String(e?.model||"").trim(),n=String(e?.provider||"").trim(),r=String(e?.mode||"").trim(),o=Number(e?.contextWindow);return!Number.isFinite(o)||o<=0?null:{model:t,provider:n,mode:r,contextWindow:Math.floor(o),...e?.capabilities?{capabilities:e.capabilities}:{}}}function R1(e="",t=""){let n=String(e||"").trim(),r=String(t||"").trim();if(!n||!r)return n;let o=n.toLowerCase(),a=r.toLowerCase(),i=[`${a}/`,`${a}:`];for(let l of i){if(!o.startsWith(l))continue;return n.slice(l.length).trim()||n}return n}function Ps(e={},{fallbackQuery:t=""}={}){let n=String(e?.query||t||"").trim(),r=C1(e?.exactMatch),o=(Array.isArray(e?.suggestions)?e.suggestions:[]).map(d=>C1(d)).filter(Boolean),a=Number(e?.medianContextWindow),i=Number.isFinite(a)&&a>0?Math.floor(a):r?.contextWindow||null,l=[],s=new Set;function c(d){!d?.key||s.has(d.key)||(s.add(d.key),l.push(d))}r&&c({key:`exact::${A1(r)}`,label:R1(r.model,r.provider)||"Exact match",detail:r.provider?`Exact \xB7 ${r.provider}`:"Exact",contextWindow:r.contextWindow});for(let d of o)c({key:A1(d),label:R1(d.model,d.provider)||"Suggestion",detail:d.provider||"Known model",contextWindow:d.contextWindow});return{query:n,exactMatch:r,suggestions:o,medianContextWindow:i,options:l,status:l.length>0?"ready":"miss"}}function cm(e={}){let t=Ps(e);return t.exactMatch?.contextWindow?String(t.exactMatch.contextWindow):t.medianContextWindow?String(t.medianContextWindow):""}function T1(e=[]){let t=new Map;for(let n of Array.isArray(e)?e:[]){let r=Ps(n);r.query&&t.set(r.query,r)}return t}function M1(e=[]){let t={};for(let n of Array.isArray(e)?e:[]){let r=String(n?.query||"").trim(),o=cm(n);!r||!o||(t[r]=Number(o))}return t}async function Xe(e,t={}){let n=await fetch(e,t),r=await n.json().catch(()=>({}));if(!n.ok){let o=new Error(r?.error||`Request failed (${n.status})`);throw o.statusCode=n.status,o.payload=r,o}return r}async function Ru(e,t={},{onMessage:n}={}){let r=await fetch(e,t);if(!r.ok){let c=await r.json().catch(()=>({})),d=new Error(c?.error||`Request failed (${r.status})`);throw d.statusCode=r.status,d.payload=c,d}let o=r.body?.getReader();if(!o)return null;let a=new TextDecoder,i="",l=null;for(;;){let{value:c,done:d}=await o.read();i+=a.decode(c||new Uint8Array,{stream:!d});let u=i.indexOf(`
|
|
10
|
+
`);for(;u>=0;){let f=i.slice(0,u).trim();if(i=i.slice(u+1),f){let m=JSON.parse(f);if(n?.(m),m?.type==="result"&&(l=m.result),m?.type==="error"){let b=new Error(m.error||"Request failed.");throw b.statusCode=m.statusCode||500,b}}u=i.indexOf(`
|
|
11
|
+
`)}if(d)break}let s=i.trim();if(s){let c=JSON.parse(s);if(n?.(c),c?.type==="result"&&(l=c.result),c?.type==="error"){let d=new Error(c.error||"Request failed.");throw d.statusCode=c.statusCode||500,d}}return l}async function k1(e,t,n){let r=e1(n);if(r.length===0)return null;try{let o=await Xe("/api/config/probe-free-tier-models",{method:"POST",headers:Ye,body:JSON.stringify({baseUrl:e,...Ao(t)?{apiKeyEnv:t}:{apiKey:t},modelIds:r})});if(!o?.result)return null;let a=new Set,i=new Set;for(let[l,s]of Object.entries(o.result)){let c=l.toLowerCase(),d=c.includes("flash-lite")?"flash-lite":c.includes("flash")?"flash":c.includes("pro")?"pro":c;s?.freeTier?a.add(d):i.add(d)}return n.filter(l=>{let s=l.toLowerCase(),c=s.includes("flash-lite")?"flash-lite":s.includes("flash")?"flash":s.includes("pro")?"pro":s;return a.has(c)?!0:!i.has(c)})}catch{return null}}async function Nu(e=[]){let t=[...new Set((Array.isArray(e)?e:[]).map(r=>String(r||"").trim()).filter(Boolean))];if(t.length===0)return[];let n=await Xe("/api/config/litellm-context-lookup",{method:"POST",headers:Ye,body:JSON.stringify({models:t,limit:wC})});return Array.isArray(n?.result)?n.result:[]}async function O1(e={}){let t=await Xe("/api/local-models/search-huggingface",{method:"POST",headers:Ye,body:JSON.stringify(e)});return Array.isArray(t?.results)?t.results:[]}async function _1(e,{onMessage:t}={}){return Ru("/api/local-models/download-managed",{method:"POST",headers:Ye,body:JSON.stringify(e)},{onMessage:t})}async function L1(e){return(await Xe("/api/local-models/variants/save",{method:"POST",headers:Ye,body:JSON.stringify({variant:e})}))?.variants||{}}async function D1(e){return await Xe("/api/local-models/attach",{method:"POST",headers:Ye,body:JSON.stringify(e)})}async function B1(e){return await Xe("/api/local-models/locate",{method:"POST",headers:Ye,body:JSON.stringify(e)})}async function I1(e){return await Xe("/api/local-models/remove",{method:"POST",headers:Ye,body:JSON.stringify({baseModelId:e})})}async function z1(){return await Xe("/api/local-models/reconcile",{method:"POST",headers:Ye,body:"{}"})}async function Ly(){return Xe("/api/local-models/runtime/discover",{method:"POST",headers:Ye,body:"{}"})}async function P1(e){return Xe("/api/local-models/runtime/select",{method:"POST",headers:Ye,body:JSON.stringify({command:e})})}async function um(e="file"){return Xe("/api/local-models/browse",{method:"POST",headers:Ye,body:JSON.stringify({selection:e})})}async function U1(e){return Xe("/api/local-models/scan-path",{method:"POST",headers:Ye,body:JSON.stringify({path:e})})}async function Dy(e,t){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/test`,{method:"POST",headers:Ye,body:JSON.stringify(t)})}async function j1(e){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/refresh`,{method:"POST",headers:Ye})}async function V1(e,t){return Xe(`/api/providers/${encodeURIComponent(e)}/quota-probe/save`,{method:"POST",headers:Ye,body:JSON.stringify({quotaProbe:t})})}var pj=D(be(),1);var ht=D(be(),1);var se=D(be(),1),Ab=D(ji(),1);function By(e,[t,n]){return Math.min(n,Math.max(t,e))}var sn=D(be(),1);var F1=D(be(),1);function H1(e,t=globalThis?.document){let n=br(e);F1.useEffect(()=>{let r=o=>{o.key==="Escape"&&n(o)};return t.addEventListener("keydown",r,{capture:!0}),()=>t.removeEventListener("keydown",r,{capture:!0})},[n,t])}var zy=D(J(),1),rD="DismissableLayer",Iy="dismissableLayer.update",oD="dismissableLayer.pointerDownOutside",aD="dismissableLayer.focusOutside",$1,G1=sn.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Py=sn.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:o,onFocusOutside:a,onInteractOutside:i,onDismiss:l,...s}=e,c=sn.useContext(G1),[d,u]=sn.useState(null),f=d?.ownerDocument??globalThis?.document,[,m]=sn.useState({}),b=Dt(t,E=>u(E)),p=Array.from(c.layers),[v]=[...c.layersWithOutsidePointerEventsDisabled].slice(-1),h=p.indexOf(v),g=d?p.indexOf(d):-1,y=c.layersWithOutsidePointerEventsDisabled.size>0,x=g>=h,R=sD(E=>{let C=E.target,M=[...c.branches].some(L=>L.contains(C));!x||M||(o?.(E),i?.(E),E.defaultPrevented||l?.())},f),w=cD(E=>{let C=E.target;[...c.branches].some(L=>L.contains(C))||(a?.(E),i?.(E),E.defaultPrevented||l?.())},f);return H1(E=>{g===c.layers.size-1&&(r?.(E),!E.defaultPrevented&&l&&(E.preventDefault(),l()))},f),sn.useEffect(()=>{if(d)return n&&(c.layersWithOutsidePointerEventsDisabled.size===0&&($1=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),c.layersWithOutsidePointerEventsDisabled.add(d)),c.layers.add(d),K1(),()=>{n&&c.layersWithOutsidePointerEventsDisabled.size===1&&(f.body.style.pointerEvents=$1)}},[d,f,n,c]),sn.useEffect(()=>()=>{d&&(c.layers.delete(d),c.layersWithOutsidePointerEventsDisabled.delete(d),K1())},[d,c]),sn.useEffect(()=>{let E=()=>m({});return document.addEventListener(Iy,E),()=>document.removeEventListener(Iy,E)},[]),(0,zy.jsx)(st.div,{...s,ref:b,style:{pointerEvents:y?x?"auto":"none":void 0,...e.style},onFocusCapture:St(e.onFocusCapture,w.onFocusCapture),onBlurCapture:St(e.onBlurCapture,w.onBlurCapture),onPointerDownCapture:St(e.onPointerDownCapture,R.onPointerDownCapture)})});Py.displayName=rD;var iD="DismissableLayerBranch",lD=sn.forwardRef((e,t)=>{let n=sn.useContext(G1),r=sn.useRef(null),o=Dt(t,r);return sn.useEffect(()=>{let a=r.current;if(a)return n.branches.add(a),()=>{n.branches.delete(a)}},[n.branches]),(0,zy.jsx)(st.div,{...e,ref:o})});lD.displayName=iD;function sD(e,t=globalThis?.document){let n=br(e),r=sn.useRef(!1),o=sn.useRef(()=>{});return sn.useEffect(()=>{let a=l=>{if(l.target&&!r.current){let c=function(){q1(oD,n,d,{discrete:!0})};var s=c;let d={originalEvent:l};l.pointerType==="touch"?(t.removeEventListener("click",o.current),o.current=c,t.addEventListener("click",o.current,{once:!0})):c()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",a),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function cD(e,t=globalThis?.document){let n=br(e),r=sn.useRef(!1);return sn.useEffect(()=>{let o=a=>{a.target&&!r.current&&q1(aD,n,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",o),()=>t.removeEventListener("focusin",o)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function K1(){let e=new CustomEvent(Iy);document.dispatchEvent(e)}function q1(e,t,n,{discrete:r}){let o=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&o.addEventListener(e,t,{once:!0}),r?MA(o,a):o.dispatchEvent(a)}var Y1=D(be(),1),Uy=0;function Q1(){Y1.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??W1()),document.body.insertAdjacentElement("beforeend",e[1]??W1()),Uy++,()=>{Uy===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Uy--}},[])}function W1(){let e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var lo=D(be(),1);var tR=D(J(),1),jy="focusScope.autoFocusOnMount",Vy="focusScope.autoFocusOnUnmount",X1={bubbles:!1,cancelable:!0},uD="FocusScope",Fy=lo.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:o,onUnmountAutoFocus:a,...i}=e,[l,s]=lo.useState(null),c=br(o),d=br(a),u=lo.useRef(null),f=Dt(t,p=>s(p)),m=lo.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;lo.useEffect(()=>{if(r){let g=function(w){if(m.paused||!l)return;let E=w.target;l.contains(E)?u.current=E:Mi(u.current,{select:!0})},y=function(w){if(m.paused||!l)return;let E=w.relatedTarget;E!==null&&(l.contains(E)||Mi(u.current,{select:!0}))},x=function(w){if(document.activeElement===document.body)for(let C of w)C.removedNodes.length>0&&Mi(l)};var p=g,v=y,h=x;document.addEventListener("focusin",g),document.addEventListener("focusout",y);let R=new MutationObserver(x);return l&&R.observe(l,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",g),document.removeEventListener("focusout",y),R.disconnect()}}},[r,l,m.paused]),lo.useEffect(()=>{if(l){Z1.add(m);let p=document.activeElement;if(!l.contains(p)){let h=new CustomEvent(jy,X1);l.addEventListener(jy,c),l.dispatchEvent(h),h.defaultPrevented||(dD(hD(nR(l)),{select:!0}),document.activeElement===p&&Mi(l))}return()=>{l.removeEventListener(jy,c),setTimeout(()=>{let h=new CustomEvent(Vy,X1);l.addEventListener(Vy,d),l.dispatchEvent(h),h.defaultPrevented||Mi(p??document.body,{select:!0}),l.removeEventListener(Vy,d),Z1.remove(m)},0)}}},[l,c,d,m]);let b=lo.useCallback(p=>{if(!n&&!r||m.paused)return;let v=p.key==="Tab"&&!p.altKey&&!p.ctrlKey&&!p.metaKey,h=document.activeElement;if(v&&h){let g=p.currentTarget,[y,x]=fD(g);y&&x?!p.shiftKey&&h===x?(p.preventDefault(),n&&Mi(y,{select:!0})):p.shiftKey&&h===y&&(p.preventDefault(),n&&Mi(x,{select:!0})):h===g&&p.preventDefault()}},[n,r,m.paused]);return(0,tR.jsx)(st.div,{tabIndex:-1,...i,ref:f,onKeyDown:b})});Fy.displayName=uD;function dD(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Mi(r,{select:t}),document.activeElement!==n)return}function fD(e){let t=nR(e),n=J1(t,e),r=J1(t.reverse(),e);return[n,r]}function nR(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:r=>{let o=r.tagName==="INPUT"&&r.type==="hidden";return r.disabled||r.hidden||o?NodeFilter.FILTER_SKIP:r.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function J1(e,t){for(let n of e)if(!mD(n,{upTo:t}))return n}function mD(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function pD(e){return e instanceof HTMLInputElement&&"select"in e}function Mi(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&pD(e)&&t&&e.select()}}var Z1=gD();function gD(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=eR(e,t),e.unshift(t)},remove(t){e=eR(e,t),e[0]?.resume()}}}function eR(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function hD(e){return e.filter(t=>t.tagName!=="A")}var Cr=D(be(),1);var aR=["top","right","bottom","left"];var Xo=Math.min,cr=Math.max,Tu=Math.round,Mu=Math.floor,Ro=e=>({x:e,y:e}),yD={left:"right",right:"left",bottom:"top",top:"bottom"};function fm(e,t,n){return cr(e,Xo(t,n))}function Jo(e,t){return typeof e=="function"?e(t):e}function Zo(e){return e.split("-")[0]}function ml(e){return e.split("-")[1]}function mm(e){return e==="x"?"y":"x"}function pm(e){return e==="y"?"height":"width"}function No(e){let t=e[0];return t==="t"||t==="b"?"y":"x"}function gm(e){return mm(No(e))}function iR(e,t,n){n===void 0&&(n=!1);let r=ml(e),o=gm(e),a=pm(o),i=o==="x"?r===(n?"end":"start")?"right":"left":r==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(i=Eu(i)),[i,Eu(i)]}function lR(e){let t=Eu(e);return[dm(e),t,dm(t)]}function dm(e){return e.includes("start")?e.replace("start","end"):e.replace("end","start")}var rR=["left","right"],oR=["right","left"],bD=["top","bottom"],vD=["bottom","top"];function xD(e,t,n){switch(e){case"top":case"bottom":return n?t?oR:rR:t?rR:oR;case"left":case"right":return t?bD:vD;default:return[]}}function sR(e,t,n,r){let o=ml(e),a=xD(Zo(e),n==="start",r);return o&&(a=a.map(i=>i+"-"+o),t&&(a=a.concat(a.map(dm)))),a}function Eu(e){let t=Zo(e);return yD[t]+e.slice(t.length)}function SD(e){return{top:0,right:0,bottom:0,left:0,...e}}function Hy(e){return typeof e!="number"?SD(e):{top:e,right:e,bottom:e,left:e}}function pl(e){let{x:t,y:n,width:r,height:o}=e;return{width:r,height:o,top:n,left:t,right:t+r,bottom:n+o,x:t,y:n}}function cR(e,t,n){let{reference:r,floating:o}=e,a=No(t),i=gm(t),l=pm(i),s=Zo(t),c=a==="y",d=r.x+r.width/2-o.width/2,u=r.y+r.height/2-o.height/2,f=r[l]/2-o[l]/2,m;switch(s){case"top":m={x:d,y:r.y-o.height};break;case"bottom":m={x:d,y:r.y+r.height};break;case"right":m={x:r.x+r.width,y:u};break;case"left":m={x:r.x-o.width,y:u};break;default:m={x:r.x,y:r.y}}switch(ml(t)){case"start":m[i]-=f*(n&&c?-1:1);break;case"end":m[i]+=f*(n&&c?-1:1);break}return m}async function fR(e,t){var n;t===void 0&&(t={});let{x:r,y:o,platform:a,rects:i,elements:l,strategy:s}=e,{boundary:c="clippingAncestors",rootBoundary:d="viewport",elementContext:u="floating",altBoundary:f=!1,padding:m=0}=Jo(t,e),b=Hy(m),v=l[f?u==="floating"?"reference":"floating":u],h=pl(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(v)))==null||n?v:v.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(l.floating)),boundary:c,rootBoundary:d,strategy:s})),g=u==="floating"?{x:r,y:o,width:i.floating.width,height:i.floating.height}:i.reference,y=await(a.getOffsetParent==null?void 0:a.getOffsetParent(l.floating)),x=await(a.isElement==null?void 0:a.isElement(y))?await(a.getScale==null?void 0:a.getScale(y))||{x:1,y:1}:{x:1,y:1},R=pl(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:g,offsetParent:y,strategy:s}):g);return{top:(h.top-R.top+b.top)/x.y,bottom:(R.bottom-h.bottom+b.bottom)/x.y,left:(h.left-R.left+b.left)/x.x,right:(R.right-h.right+b.right)/x.x}}var wD=50,mR=async(e,t,n)=>{let{placement:r="bottom",strategy:o="absolute",middleware:a=[],platform:i}=n,l=i.detectOverflow?i:{...i,detectOverflow:fR},s=await(i.isRTL==null?void 0:i.isRTL(t)),c=await i.getElementRects({reference:e,floating:t,strategy:o}),{x:d,y:u}=cR(c,r,s),f=r,m=0,b={};for(let p=0;p<a.length;p++){let v=a[p];if(!v)continue;let{name:h,fn:g}=v,{x:y,y:x,data:R,reset:w}=await g({x:d,y:u,initialPlacement:r,placement:f,strategy:o,middlewareData:b,rects:c,platform:l,elements:{reference:e,floating:t}});d=y??d,u=x??u,b[h]={...b[h],...R},w&&m<wD&&(m++,typeof w=="object"&&(w.placement&&(f=w.placement),w.rects&&(c=w.rects===!0?await i.getElementRects({reference:e,floating:t,strategy:o}):w.rects),{x:d,y:u}=cR(c,f,s)),p=-1)}return{x:d,y:u,placement:f,strategy:o,middlewareData:b}},pR=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:o,rects:a,platform:i,elements:l,middlewareData:s}=t,{element:c,padding:d=0}=Jo(e,t)||{};if(c==null)return{};let u=Hy(d),f={x:n,y:r},m=gm(o),b=pm(m),p=await i.getDimensions(c),v=m==="y",h=v?"top":"left",g=v?"bottom":"right",y=v?"clientHeight":"clientWidth",x=a.reference[b]+a.reference[m]-f[m]-a.floating[b],R=f[m]-a.reference[m],w=await(i.getOffsetParent==null?void 0:i.getOffsetParent(c)),E=w?w[y]:0;(!E||!await(i.isElement==null?void 0:i.isElement(w)))&&(E=l.floating[y]||a.floating[b]);let C=x/2-R/2,M=E/2-p[b]/2-1,L=Xo(u[h],M),F=Xo(u[g],M),z=L,G=E-p[b]-F,ee=E/2-p[b]/2+C,de=fm(z,ee,G),q=!s.arrow&&ml(o)!=null&&ee!==de&&a.reference[b]/2-(ee<z?L:F)-p[b]/2<0,ae=q?ee<z?ee-z:ee-G:0;return{[m]:f[m]+ae,data:{[m]:de,centerOffset:ee-de-ae,...q&&{alignmentOffset:ae}},reset:q}}});var gR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,r;let{placement:o,middlewareData:a,rects:i,initialPlacement:l,platform:s,elements:c}=t,{mainAxis:d=!0,crossAxis:u=!0,fallbackPlacements:f,fallbackStrategy:m="bestFit",fallbackAxisSideDirection:b="none",flipAlignment:p=!0,...v}=Jo(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let h=Zo(o),g=No(l),y=Zo(l)===l,x=await(s.isRTL==null?void 0:s.isRTL(c.floating)),R=f||(y||!p?[Eu(l)]:lR(l)),w=b!=="none";!f&&w&&R.push(...sR(l,p,b,x));let E=[l,...R],C=await s.detectOverflow(t,v),M=[],L=((r=a.flip)==null?void 0:r.overflows)||[];if(d&&M.push(C[h]),u){let ee=iR(o,i,x);M.push(C[ee[0]],C[ee[1]])}if(L=[...L,{placement:o,overflows:M}],!M.every(ee=>ee<=0)){var F,z;let ee=(((F=a.flip)==null?void 0:F.index)||0)+1,de=E[ee];if(de&&(!(u==="alignment"?g!==No(de):!1)||L.every(te=>No(te.placement)===g?te.overflows[0]>0:!0)))return{data:{index:ee,overflows:L},reset:{placement:de}};let q=(z=L.filter(ae=>ae.overflows[0]<=0).sort((ae,te)=>ae.overflows[1]-te.overflows[1])[0])==null?void 0:z.placement;if(!q)switch(m){case"bestFit":{var G;let ae=(G=L.filter(te=>{if(w){let W=No(te.placement);return W===g||W==="y"}return!0}).map(te=>[te.placement,te.overflows.filter(W=>W>0).reduce((W,V)=>W+V,0)]).sort((te,W)=>te[1]-W[1])[0])==null?void 0:G[0];ae&&(q=ae);break}case"initialPlacement":q=l;break}if(o!==q)return{reset:{placement:q}}}return{}}}};function uR(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function dR(e){return aR.some(t=>e[t]>=0)}var hR=function(e){return e===void 0&&(e={}),{name:"hide",options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:o="referenceHidden",...a}=Jo(e,t);switch(o){case"referenceHidden":{let i=await r.detectOverflow(t,{...a,elementContext:"reference"}),l=uR(i,n.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:dR(l)}}}case"escaped":{let i=await r.detectOverflow(t,{...a,altBoundary:!0}),l=uR(i,n.floating);return{data:{escapedOffsets:l,escaped:dR(l)}}}default:return{}}}}};var yR=new Set(["left","top"]);async function AD(e,t){let{placement:n,platform:r,elements:o}=e,a=await(r.isRTL==null?void 0:r.isRTL(o.floating)),i=Zo(n),l=ml(n),s=No(n)==="y",c=yR.has(i)?-1:1,d=a&&s?-1:1,u=Jo(t,e),{mainAxis:f,crossAxis:m,alignmentAxis:b}=typeof u=="number"?{mainAxis:u,crossAxis:0,alignmentAxis:null}:{mainAxis:u.mainAxis||0,crossAxis:u.crossAxis||0,alignmentAxis:u.alignmentAxis};return l&&typeof b=="number"&&(m=l==="end"?b*-1:b),s?{x:m*d,y:f*c}:{x:f*c,y:m*d}}var bR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,r;let{x:o,y:a,placement:i,middlewareData:l}=t,s=await AD(t,e);return i===((n=l.offset)==null?void 0:n.placement)&&(r=l.arrow)!=null&&r.alignmentOffset?{}:{x:o+s.x,y:a+s.y,data:{...s,placement:i}}}}},vR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:r,placement:o,platform:a}=t,{mainAxis:i=!0,crossAxis:l=!1,limiter:s={fn:h=>{let{x:g,y}=h;return{x:g,y}}},...c}=Jo(e,t),d={x:n,y:r},u=await a.detectOverflow(t,c),f=No(Zo(o)),m=mm(f),b=d[m],p=d[f];if(i){let h=m==="y"?"top":"left",g=m==="y"?"bottom":"right",y=b+u[h],x=b-u[g];b=fm(y,b,x)}if(l){let h=f==="y"?"top":"left",g=f==="y"?"bottom":"right",y=p+u[h],x=p-u[g];p=fm(y,p,x)}let v=s.fn({...t,[m]:b,[f]:p});return{...v,data:{x:v.x-n,y:v.y-r,enabled:{[m]:i,[f]:l}}}}}},xR=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:o,rects:a,middlewareData:i}=t,{offset:l=0,mainAxis:s=!0,crossAxis:c=!0}=Jo(e,t),d={x:n,y:r},u=No(o),f=mm(u),m=d[f],b=d[u],p=Jo(l,t),v=typeof p=="number"?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(s){let y=f==="y"?"height":"width",x=a.reference[f]-a.floating[y]+v.mainAxis,R=a.reference[f]+a.reference[y]-v.mainAxis;m<x?m=x:m>R&&(m=R)}if(c){var h,g;let y=f==="y"?"width":"height",x=yR.has(Zo(o)),R=a.reference[u]-a.floating[y]+(x&&((h=i.offset)==null?void 0:h[u])||0)+(x?0:v.crossAxis),w=a.reference[u]+a.reference[y]+(x?0:((g=i.offset)==null?void 0:g[u])||0)-(x?v.crossAxis:0);b<R?b=R:b>w&&(b=w)}return{[f]:m,[u]:b}}}},SR=function(e){return e===void 0&&(e={}),{name:"size",options:e,async fn(t){var n,r;let{placement:o,rects:a,platform:i,elements:l}=t,{apply:s=()=>{},...c}=Jo(e,t),d=await i.detectOverflow(t,c),u=Zo(o),f=ml(o),m=No(o)==="y",{width:b,height:p}=a.floating,v,h;u==="top"||u==="bottom"?(v=u,h=f===(await(i.isRTL==null?void 0:i.isRTL(l.floating))?"start":"end")?"left":"right"):(h=u,v=f==="end"?"top":"bottom");let g=p-d.top-d.bottom,y=b-d.left-d.right,x=Xo(p-d[v],g),R=Xo(b-d[h],y),w=!t.middlewareData.shift,E=x,C=R;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(C=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(E=g),w&&!f){let L=cr(d.left,0),F=cr(d.right,0),z=cr(d.top,0),G=cr(d.bottom,0);m?C=b-2*(L!==0||F!==0?L+F:cr(d.left,d.right)):E=p-2*(z!==0||G!==0?z+G:cr(d.top,d.bottom))}await s({...t,availableWidth:C,availableHeight:E});let M=await i.getDimensions(l.floating);return b!==M.width||p!==M.height?{reset:{rects:!0}}:{}}}};function hm(){return typeof window<"u"}function yl(e){return AR(e)?(e.nodeName||"").toLowerCase():"#document"}function Ar(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Eo(e){var t;return(t=(AR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function AR(e){return hm()?e instanceof Node||e instanceof Ar(e).Node:!1}function so(e){return hm()?e instanceof Element||e instanceof Ar(e).Element:!1}function ea(e){return hm()?e instanceof HTMLElement||e instanceof Ar(e).HTMLElement:!1}function wR(e){return!hm()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof Ar(e).ShadowRoot}function Us(e){let{overflow:t,overflowX:n,overflowY:r,display:o}=co(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&o!=="inline"&&o!=="contents"}function CR(e){return/^(table|td|th)$/.test(yl(e))}function ku(e){try{if(e.matches(":popover-open"))return!0}catch{}try{return e.matches(":modal")}catch{return!1}}var CD=/transform|translate|scale|rotate|perspective|filter/,RD=/paint|layout|strict|content/,gl=e=>!!e&&e!=="none",$y;function ym(e){let t=so(e)?co(e):e;return gl(t.transform)||gl(t.translate)||gl(t.scale)||gl(t.rotate)||gl(t.perspective)||!bm()&&(gl(t.backdropFilter)||gl(t.filter))||CD.test(t.willChange||"")||RD.test(t.contain||"")}function RR(e){let t=Ia(e);for(;ea(t)&&!bl(t);){if(ym(t))return t;if(ku(t))return null;t=Ia(t)}return null}function bm(){return $y==null&&($y=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),$y}function bl(e){return/^(html|body|#document)$/.test(yl(e))}function co(e){return Ar(e).getComputedStyle(e)}function Ou(e){return so(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ia(e){if(yl(e)==="html")return e;let t=e.assignedSlot||e.parentNode||wR(e)&&e.host||Eo(e);return wR(t)?t.host:t}function NR(e){let t=Ia(e);return bl(t)?e.ownerDocument?e.ownerDocument.body:e.body:ea(t)&&Us(t)?t:NR(t)}function hl(e,t,n){var r;t===void 0&&(t=[]),n===void 0&&(n=!0);let o=NR(e),a=o===((r=e.ownerDocument)==null?void 0:r.body),i=Ar(o);if(a){let l=vm(i);return t.concat(i,i.visualViewport||[],Us(o)?o:[],l&&n?hl(l):[])}else return t.concat(o,hl(o,[],n))}function vm(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function kR(e){let t=co(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,o=ea(e),a=o?e.offsetWidth:n,i=o?e.offsetHeight:r,l=Tu(n)!==a||Tu(r)!==i;return l&&(n=a,r=i),{width:n,height:r,$:l}}function Gy(e){return so(e)?e:e.contextElement}function js(e){let t=Gy(e);if(!ea(t))return Ro(1);let n=t.getBoundingClientRect(),{width:r,height:o,$:a}=kR(t),i=(a?Tu(n.width):n.width)/r,l=(a?Tu(n.height):n.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}var ND=Ro(0);function OR(e){let t=Ar(e);return!bm()||!t.visualViewport?ND:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function ED(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==Ar(e)?!1:t}function vl(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let o=e.getBoundingClientRect(),a=Gy(e),i=Ro(1);t&&(r?so(r)&&(i=js(r)):i=js(e));let l=ED(a,n,r)?OR(a):Ro(0),s=(o.left+l.x)/i.x,c=(o.top+l.y)/i.y,d=o.width/i.x,u=o.height/i.y;if(a){let f=Ar(a),m=r&&so(r)?Ar(r):r,b=f,p=vm(b);for(;p&&r&&m!==b;){let v=js(p),h=p.getBoundingClientRect(),g=co(p),y=h.left+(p.clientLeft+parseFloat(g.paddingLeft))*v.x,x=h.top+(p.clientTop+parseFloat(g.paddingTop))*v.y;s*=v.x,c*=v.y,d*=v.x,u*=v.y,s+=y,c+=x,b=Ar(p),p=vm(b)}}return pl({width:d,height:u,x:s,y:c})}function xm(e,t){let n=Ou(e).scrollLeft;return t?t.left+n:vl(Eo(e)).left+n}function _R(e,t){let n=e.getBoundingClientRect(),r=n.left+t.scrollLeft-xm(e,n),o=n.top+t.scrollTop;return{x:r,y:o}}function TD(e){let{elements:t,rect:n,offsetParent:r,strategy:o}=e,a=o==="fixed",i=Eo(r),l=t?ku(t.floating):!1;if(r===i||l&&a)return n;let s={scrollLeft:0,scrollTop:0},c=Ro(1),d=Ro(0),u=ea(r);if((u||!u&&!a)&&((yl(r)!=="body"||Us(i))&&(s=Ou(r)),u)){let m=vl(r);c=js(r),d.x=m.x+r.clientLeft,d.y=m.y+r.clientTop}let f=i&&!u&&!a?_R(i,s):Ro(0);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+d.x+f.x,y:n.y*c.y-s.scrollTop*c.y+d.y+f.y}}function MD(e){return Array.from(e.getClientRects())}function kD(e){let t=Eo(e),n=Ou(e),r=e.ownerDocument.body,o=cr(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=cr(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),i=-n.scrollLeft+xm(e),l=-n.scrollTop;return co(r).direction==="rtl"&&(i+=cr(t.clientWidth,r.clientWidth)-o),{width:o,height:a,x:i,y:l}}var ER=25;function OD(e,t){let n=Ar(e),r=Eo(e),o=n.visualViewport,a=r.clientWidth,i=r.clientHeight,l=0,s=0;if(o){a=o.width,i=o.height;let d=bm();(!d||d&&t==="fixed")&&(l=o.offsetLeft,s=o.offsetTop)}let c=xm(r);if(c<=0){let d=r.ownerDocument,u=d.body,f=getComputedStyle(u),m=d.compatMode==="CSS1Compat"&&parseFloat(f.marginLeft)+parseFloat(f.marginRight)||0,b=Math.abs(r.clientWidth-u.clientWidth-m);b<=ER&&(a-=b)}else c<=ER&&(a+=c);return{width:a,height:i,x:l,y:s}}function _D(e,t){let n=vl(e,!0,t==="fixed"),r=n.top+e.clientTop,o=n.left+e.clientLeft,a=ea(e)?js(e):Ro(1),i=e.clientWidth*a.x,l=e.clientHeight*a.y,s=o*a.x,c=r*a.y;return{width:i,height:l,x:s,y:c}}function TR(e,t,n){let r;if(t==="viewport")r=OD(e,n);else if(t==="document")r=kD(Eo(e));else if(so(t))r=_D(t,n);else{let o=OR(e);r={x:t.x-o.x,y:t.y-o.y,width:t.width,height:t.height}}return pl(r)}function LR(e,t){let n=Ia(e);return n===t||!so(n)||bl(n)?!1:co(n).position==="fixed"||LR(n,t)}function LD(e,t){let n=t.get(e);if(n)return n;let r=hl(e,[],!1).filter(l=>so(l)&&yl(l)!=="body"),o=null,a=co(e).position==="fixed",i=a?Ia(e):e;for(;so(i)&&!bl(i);){let l=co(i),s=ym(i);!s&&l.position==="fixed"&&(o=null),(a?!s&&!o:!s&&l.position==="static"&&!!o&&(o.position==="absolute"||o.position==="fixed")||Us(i)&&!s&&LR(e,i))?r=r.filter(d=>d!==i):o=l,i=Ia(i)}return t.set(e,r),r}function DD(e){let{element:t,boundary:n,rootBoundary:r,strategy:o}=e,i=[...n==="clippingAncestors"?ku(t)?[]:LD(t,this._c):[].concat(n),r],l=TR(t,i[0],o),s=l.top,c=l.right,d=l.bottom,u=l.left;for(let f=1;f<i.length;f++){let m=TR(t,i[f],o);s=cr(m.top,s),c=Xo(m.right,c),d=Xo(m.bottom,d),u=cr(m.left,u)}return{width:c-u,height:d-s,x:u,y:s}}function BD(e){let{width:t,height:n}=kR(e);return{width:t,height:n}}function ID(e,t,n){let r=ea(t),o=Eo(t),a=n==="fixed",i=vl(e,!0,a,t),l={scrollLeft:0,scrollTop:0},s=Ro(0);function c(){s.x=xm(o)}if(r||!r&&!a)if((yl(t)!=="body"||Us(o))&&(l=Ou(t)),r){let m=vl(t,!0,a,t);s.x=m.x+t.clientLeft,s.y=m.y+t.clientTop}else o&&c();a&&!r&&o&&c();let d=o&&!r&&!a?_R(o,l):Ro(0),u=i.left+l.scrollLeft-s.x-d.x,f=i.top+l.scrollTop-s.y-d.y;return{x:u,y:f,width:i.width,height:i.height}}function Ky(e){return co(e).position==="static"}function MR(e,t){if(!ea(e)||co(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Eo(e)===n&&(n=n.ownerDocument.body),n}function DR(e,t){let n=Ar(e);if(ku(e))return n;if(!ea(e)){let o=Ia(e);for(;o&&!bl(o);){if(so(o)&&!Ky(o))return o;o=Ia(o)}return n}let r=MR(e,t);for(;r&&CR(r)&&Ky(r);)r=MR(r,t);return r&&bl(r)&&Ky(r)&&!ym(r)?n:r||RR(e)||n}var zD=async function(e){let t=this.getOffsetParent||DR,n=this.getDimensions,r=await n(e.floating);return{reference:ID(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function PD(e){return co(e).direction==="rtl"}var BR={convertOffsetParentRelativeRectToViewportRelativeRect:TD,getDocumentElement:Eo,getClippingRect:DD,getOffsetParent:DR,getElementRects:zD,getClientRects:MD,getDimensions:BD,getScale:js,isElement:so,isRTL:PD};function IR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function UD(e,t){let n=null,r,o=Eo(e);function a(){var l;clearTimeout(r),(l=n)==null||l.disconnect(),n=null}function i(l,s){l===void 0&&(l=!1),s===void 0&&(s=1),a();let c=e.getBoundingClientRect(),{left:d,top:u,width:f,height:m}=c;if(l||t(),!f||!m)return;let b=Mu(u),p=Mu(o.clientWidth-(d+f)),v=Mu(o.clientHeight-(u+m)),h=Mu(d),y={rootMargin:-b+"px "+-p+"px "+-v+"px "+-h+"px",threshold:cr(0,Xo(1,s))||1},x=!0;function R(w){let E=w[0].intersectionRatio;if(E!==s){if(!x)return i();E?i(!1,E):r=setTimeout(()=>{i(!1,1e-7)},1e3)}E===1&&!IR(c,e.getBoundingClientRect())&&i(),x=!1}try{n=new IntersectionObserver(R,{...y,root:o.ownerDocument})}catch{n=new IntersectionObserver(R,y)}n.observe(e)}return i(!0),a}function qy(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:o=!0,ancestorResize:a=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:s=!1}=r,c=Gy(e),d=o||a?[...c?hl(c):[],...t?hl(t):[]]:[];d.forEach(h=>{o&&h.addEventListener("scroll",n,{passive:!0}),a&&h.addEventListener("resize",n)});let u=c&&l?UD(c,n):null,f=-1,m=null;i&&(m=new ResizeObserver(h=>{let[g]=h;g&&g.target===c&&m&&t&&(m.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var y;(y=m)==null||y.observe(t)})),n()}),c&&!s&&m.observe(c),t&&m.observe(t));let b,p=s?vl(e):null;s&&v();function v(){let h=vl(e);p&&!IR(p,h)&&n(),p=h,b=requestAnimationFrame(v)}return n(),()=>{var h;d.forEach(g=>{o&&g.removeEventListener("scroll",n),a&&g.removeEventListener("resize",n)}),u?.(),(h=m)==null||h.disconnect(),m=null,s&&cancelAnimationFrame(b)}}var zR=bR;var PR=vR,UR=gR,jR=SR,VR=hR,Wy=pR;var FR=xR,Yy=(e,t,n)=>{let r=new Map,o={platform:BR,...n},a={...o.platform,_c:r};return mR(e,t,{...o,platform:a})};var kn=D(be(),1),$R=D(be(),1),KR=D(ji(),1),jD=typeof document<"u",VD=function(){},Sm=jD?$R.useLayoutEffect:VD;function wm(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,r,o;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!wm(e[r],t[r]))return!1;return!0}if(o=Object.keys(e),n=o.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,o[r]))return!1;for(r=n;r--!==0;){let a=o[r];if(!(a==="_owner"&&e.$$typeof)&&!wm(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function GR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function HR(e,t){let n=GR(e);return Math.round(t*n)/n}function Qy(e){let t=kn.useRef(e);return Sm(()=>{t.current=e}),t}function qR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:r=[],platform:o,elements:{reference:a,floating:i}={},transform:l=!0,whileElementsMounted:s,open:c}=e,[d,u]=kn.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,m]=kn.useState(r);wm(f,r)||m(r);let[b,p]=kn.useState(null),[v,h]=kn.useState(null),g=kn.useCallback(te=>{te!==w.current&&(w.current=te,p(te))},[]),y=kn.useCallback(te=>{te!==E.current&&(E.current=te,h(te))},[]),x=a||b,R=i||v,w=kn.useRef(null),E=kn.useRef(null),C=kn.useRef(d),M=s!=null,L=Qy(s),F=Qy(o),z=Qy(c),G=kn.useCallback(()=>{if(!w.current||!E.current)return;let te={placement:t,strategy:n,middleware:f};F.current&&(te.platform=F.current),Yy(w.current,E.current,te).then(W=>{let V={...W,isPositioned:z.current!==!1};ee.current&&!wm(C.current,V)&&(C.current=V,KR.flushSync(()=>{u(V)}))})},[f,t,n,F,z]);Sm(()=>{c===!1&&C.current.isPositioned&&(C.current.isPositioned=!1,u(te=>({...te,isPositioned:!1})))},[c]);let ee=kn.useRef(!1);Sm(()=>(ee.current=!0,()=>{ee.current=!1}),[]),Sm(()=>{if(x&&(w.current=x),R&&(E.current=R),x&&R){if(L.current)return L.current(x,R,G);G()}},[x,R,G,L,M]);let de=kn.useMemo(()=>({reference:w,floating:E,setReference:g,setFloating:y}),[g,y]),q=kn.useMemo(()=>({reference:x,floating:R}),[x,R]),ae=kn.useMemo(()=>{let te={position:n,left:0,top:0};if(!q.floating)return te;let W=HR(q.floating,d.x),V=HR(q.floating,d.y);return l?{...te,transform:"translate("+W+"px, "+V+"px)",...GR(q.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:W,top:V}},[n,l,q.floating,d.x,d.y]);return kn.useMemo(()=>({...d,update:G,refs:de,elements:q,floatingStyles:ae}),[d,G,de,q,ae])}var FD=e=>{function t(n){return{}.hasOwnProperty.call(n,"current")}return{name:"arrow",options:e,fn(n){let{element:r,padding:o}=typeof e=="function"?e(n):e;return r&&t(r)?r.current!=null?Wy({element:r.current,padding:o}).fn(n):{}:r?Wy({element:r,padding:o}).fn(n):{}}}},WR=(e,t)=>{let n=zR(e);return{name:n.name,fn:n.fn,options:[e,t]}},YR=(e,t)=>{let n=PR(e);return{name:n.name,fn:n.fn,options:[e,t]}},QR=(e,t)=>({fn:FR(e).fn,options:[e,t]}),XR=(e,t)=>{let n=UR(e);return{name:n.name,fn:n.fn,options:[e,t]}},JR=(e,t)=>{let n=jR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var ZR=(e,t)=>{let n=VR(e);return{name:n.name,fn:n.fn,options:[e,t]}};var eN=(e,t)=>{let n=FD(e);return{name:n.name,fn:n.fn,options:[e,t]}};var tN=D(be(),1);var Xy=D(J(),1),HD="Arrow",nN=tN.forwardRef((e,t)=>{let{children:n,width:r=10,height:o=5,...a}=e;return(0,Xy.jsx)(st.svg,{...a,ref:t,width:r,height:o,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,Xy.jsx)("polygon",{points:"0,0 30,0 15,10"})})});nN.displayName=HD;var rN=nN;var ki=D(J(),1);var Jy="Popper",[oN,Zy]=ro(Jy),[KD,aN]=oN(Jy),iN=e=>{let{__scopePopper:t,children:n}=e,[r,o]=Cr.useState(null);return(0,ki.jsx)(KD,{scope:t,anchor:r,onAnchorChange:o,children:n})};iN.displayName=Jy;var lN="PopperAnchor",sN=Cr.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...o}=e,a=aN(lN,n),i=Cr.useRef(null),l=Dt(t,i),s=Cr.useRef(null);return Cr.useEffect(()=>{let c=s.current;s.current=r?.current||i.current,c!==s.current&&a.onAnchorChange(s.current)}),r?null:(0,ki.jsx)(st.div,{...o,ref:l})});sN.displayName=lN;var eb="PopperContent",[GD,qD]=oN(eb),cN=Cr.forwardRef((e,t)=>{let{__scopePopper:n,side:r="bottom",sideOffset:o=0,align:a="center",alignOffset:i=0,arrowPadding:l=0,avoidCollisions:s=!0,collisionBoundary:c=[],collisionPadding:d=0,sticky:u="partial",hideWhenDetached:f=!1,updatePositionStrategy:m="optimized",onPlaced:b,...p}=e,v=aN(eb,n),[h,g]=Cr.useState(null),y=Dt(t,j=>g(j)),[x,R]=Cr.useState(null),w=kf(x),E=w?.width??0,C=w?.height??0,M=r+(a!=="center"?"-"+a:""),L=typeof d=="number"?d:{top:0,right:0,bottom:0,left:0,...d},F=Array.isArray(c)?c:[c],z=F.length>0,G={padding:L,boundary:F.filter(YD),altBoundary:z},{refs:ee,floatingStyles:de,placement:q,isPositioned:ae,middlewareData:te}=qR({strategy:"fixed",placement:M,whileElementsMounted:(...j)=>qy(...j,{animationFrame:m==="always"}),elements:{reference:v.anchor},middleware:[WR({mainAxis:o+C,alignmentAxis:i}),s&&YR({mainAxis:!0,crossAxis:!1,limiter:u==="partial"?QR():void 0,...G}),s&&XR({...G}),JR({...G,apply:({elements:j,rects:pe,availableWidth:Se,availableHeight:Le})=>{let{width:Ae,height:ke}=pe.reference,Qe=j.floating.style;Qe.setProperty("--radix-popper-available-width",`${Se}px`),Qe.setProperty("--radix-popper-available-height",`${Le}px`),Qe.setProperty("--radix-popper-anchor-width",`${Ae}px`),Qe.setProperty("--radix-popper-anchor-height",`${ke}px`)}}),x&&eN({element:x,padding:l}),QD({arrowWidth:E,arrowHeight:C}),f&&ZR({strategy:"referenceHidden",...G})]}),[W,V]=fN(q),Pe=br(b);ln(()=>{ae&&Pe?.()},[ae,Pe]);let ne=te.arrow?.x,$e=te.arrow?.y,ie=te.arrow?.centerOffset!==0,[we,Ue]=Cr.useState();return ln(()=>{h&&Ue(window.getComputedStyle(h).zIndex)},[h]),(0,ki.jsx)("div",{ref:ee.setFloating,"data-radix-popper-content-wrapper":"",style:{...de,transform:ae?de.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:we,"--radix-popper-transform-origin":[te.transformOrigin?.x,te.transformOrigin?.y].join(" "),...te.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,ki.jsx)(GD,{scope:n,placedSide:W,onArrowChange:R,arrowX:ne,arrowY:$e,shouldHideArrow:ie,children:(0,ki.jsx)(st.div,{"data-side":W,"data-align":V,...p,ref:y,style:{...p.style,animation:ae?void 0:"none"}})})})});cN.displayName=eb;var uN="PopperArrow",WD={top:"bottom",right:"left",bottom:"top",left:"right"},dN=Cr.forwardRef(function(t,n){let{__scopePopper:r,...o}=t,a=qD(uN,r),i=WD[a.placedSide];return(0,ki.jsx)("span",{ref:a.onArrowChange,style:{position:"absolute",left:a.arrowX,top:a.arrowY,[i]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[a.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[a.placedSide],visibility:a.shouldHideArrow?"hidden":void 0},children:(0,ki.jsx)(rN,{...o,ref:n,style:{...o.style,display:"block"}})})});dN.displayName=uN;function YD(e){return e!==null}var QD=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:o}=t,i=o.arrow?.centerOffset!==0,l=i?0:e.arrowWidth,s=i?0:e.arrowHeight,[c,d]=fN(n),u={start:"0%",center:"50%",end:"100%"}[d],f=(o.arrow?.x??0)+l/2,m=(o.arrow?.y??0)+s/2,b="",p="";return c==="bottom"?(b=i?u:`${f}px`,p=`${-s}px`):c==="top"?(b=i?u:`${f}px`,p=`${r.floating.height+s}px`):c==="right"?(b=`${-s}px`,p=i?u:`${m}px`):c==="left"&&(b=`${r.floating.width+s}px`,p=i?u:`${m}px`),{data:{x:b,y:p}}}});function fN(e){let[t,n="center"]=e.split("-");return[t,n]}var mN=iN,pN=sN,gN=cN,hN=dN;var Am=D(be(),1),yN=D(ji(),1);var bN=D(J(),1),JD="Portal",tb=Am.forwardRef((e,t)=>{let{container:n,...r}=e,[o,a]=Am.useState(!1);ln(()=>a(!0),[]);let i=n||o&&globalThis?.document?.body;return i?yN.default.createPortal((0,bN.jsx)(st.div,{...r,ref:t}),i):null});tb.displayName=JD;var vN=D(be(),1);var xN=D(J(),1),nb=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),ZD="VisuallyHidden",e5=vN.forwardRef((e,t)=>(0,xN.jsx)(st.span,{...e,ref:t,style:{...nb,...e.style}}));e5.displayName=ZD;var t5=function(e){if(typeof document>"u")return null;var t=Array.isArray(e)?e[0]:e;return t.ownerDocument.body},Vs=new WeakMap,Cm=new WeakMap,Rm={},rb=0,SN=function(e){return e&&(e.host||SN(e.parentNode))},n5=function(e,t){return t.map(function(n){if(e.contains(n))return n;var r=SN(n);return r&&e.contains(r)?r:(console.error("aria-hidden",n,"in not contained inside",e,". Doing nothing"),null)}).filter(function(n){return!!n})},r5=function(e,t,n,r){var o=n5(t,Array.isArray(e)?e:[e]);Rm[n]||(Rm[n]=new WeakMap);var a=Rm[n],i=[],l=new Set,s=new Set(o),c=function(u){!u||l.has(u)||(l.add(u),c(u.parentNode))};o.forEach(c);var d=function(u){!u||s.has(u)||Array.prototype.forEach.call(u.children,function(f){if(l.has(f))d(f);else try{var m=f.getAttribute(r),b=m!==null&&m!=="false",p=(Vs.get(f)||0)+1,v=(a.get(f)||0)+1;Vs.set(f,p),a.set(f,v),i.push(f),p===1&&b&&Cm.set(f,!0),v===1&&f.setAttribute(n,"true"),b||f.setAttribute(r,"true")}catch(h){console.error("aria-hidden: cannot operate on ",f,h)}})};return d(t),l.clear(),rb++,function(){i.forEach(function(u){var f=Vs.get(u)-1,m=a.get(u)-1;Vs.set(u,f),a.set(u,m),f||(Cm.has(u)||u.removeAttribute(r),Cm.delete(u)),m||u.removeAttribute(n)}),rb--,rb||(Vs=new WeakMap,Vs=new WeakMap,Cm=new WeakMap,Rm={})}},wN=function(e,t,n){n===void 0&&(n="data-aria-hidden");var r=Array.from(Array.isArray(e)?e:[e]),o=t||t5(e);return o?(r.push.apply(r,Array.from(o.querySelectorAll("[aria-live], script"))),r5(r,o,n,"aria-hidden")):function(){return null}};var Rr=function(){return Rr=Object.assign||function(t){for(var n,r=1,o=arguments.length;r<o;r++){n=arguments[r];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[a]=n[a])}return t},Rr.apply(this,arguments)};function Nm(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]]);return n}function AN(e,t,n){if(n||arguments.length===2)for(var r=0,o=t.length,a;r<o;r++)(a||!(r in t))&&(a||(a=Array.prototype.slice.call(t,0,r)),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var Om=D(be());var tr=D(be());var xl="right-scroll-bar-position",Sl="width-before-scroll-bar",ob="with-scroll-bars-hidden",ab="--removed-body-scroll-bar-size";function Em(e,t){return typeof e=="function"?e(t):e&&(e.current=t),e}var CN=D(be());function RN(e,t){var n=(0,CN.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(r){var o=n.value;o!==r&&(n.value=r,n.callback(r,o))}}}})[0];return n.callback=t,n.facade}var Tm=D(be());var o5=typeof window<"u"?Tm.useLayoutEffect:Tm.useEffect,NN=new WeakMap;function ib(e,t){var n=RN(t||null,function(r){return e.forEach(function(o){return Em(o,r)})});return o5(function(){var r=NN.get(n);if(r){var o=new Set(r),a=new Set(e),i=n.current;o.forEach(function(l){a.has(l)||Em(l,null)}),a.forEach(function(l){o.has(l)||Em(l,i)})}NN.set(n,e)},[e]),n}function a5(e){return e}function i5(e,t){t===void 0&&(t=a5);var n=[],r=!1,o={read:function(){if(r)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(a){var i=t(a,r);return n.push(i),function(){n=n.filter(function(l){return l!==i})}},assignSyncMedium:function(a){for(r=!0;n.length;){var i=n;n=[],i.forEach(a)}n={push:function(l){return a(l)},filter:function(){return n}}},assignMedium:function(a){r=!0;var i=[];if(n.length){var l=n;n=[],l.forEach(a),i=n}var s=function(){var d=i;i=[],d.forEach(a)},c=function(){return Promise.resolve().then(s)};c(),n={push:function(d){i.push(d),c()},filter:function(d){return i=i.filter(d),n}}}};return o}function lb(e){e===void 0&&(e={});var t=i5(null);return t.options=Rr({async:!0,ssr:!1},e),t}var EN=D(be()),TN=function(e){var t=e.sideCar,n=Nm(e,["sideCar"]);if(!t)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw new Error("Sidecar medium not found");return EN.createElement(r,Rr({},n))};TN.isSideCarExport=!0;function sb(e,t){return e.useMedium(t),TN}var Mm=lb();var cb=function(){},_u=tr.forwardRef(function(e,t){var n=tr.useRef(null),r=tr.useState({onScrollCapture:cb,onWheelCapture:cb,onTouchMoveCapture:cb}),o=r[0],a=r[1],i=e.forwardProps,l=e.children,s=e.className,c=e.removeScrollBar,d=e.enabled,u=e.shards,f=e.sideCar,m=e.noRelative,b=e.noIsolation,p=e.inert,v=e.allowPinchZoom,h=e.as,g=h===void 0?"div":h,y=e.gapMode,x=Nm(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),R=f,w=ib([n,t]),E=Rr(Rr({},x),o);return tr.createElement(tr.Fragment,null,d&&tr.createElement(R,{sideCar:Mm,removeScrollBar:c,shards:u,noRelative:m,noIsolation:b,inert:p,setCallbacks:a,allowPinchZoom:!!v,lockRef:n,gapMode:y}),i?tr.cloneElement(tr.Children.only(l),Rr(Rr({},E),{ref:w})):tr.createElement(g,Rr({},E,{className:s,ref:w}),l))});_u.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};_u.classNames={fullWidth:Sl,zeroRight:xl};var Zt=D(be());var Hs=D(be());var ON=D(be());var MN;var kN=function(){if(MN)return MN;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function l5(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=kN();return t&&e.setAttribute("nonce",t),e}function s5(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function c5(e){var t=document.head||document.getElementsByTagName("head")[0];t.appendChild(e)}var ub=function(){var e=0,t=null;return{add:function(n){e==0&&(t=l5())&&(s5(t,n),c5(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}};var db=function(){var e=ub();return function(t,n){ON.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}};var Lu=function(){var e=db(),t=function(n){var r=n.styles,o=n.dynamic;return e(r,o),null};return t};var u5={left:0,top:0,right:0,gap:0},fb=function(e){return parseInt(e||"",10)||0},d5=function(e){var t=window.getComputedStyle(document.body),n=t[e==="padding"?"paddingLeft":"marginLeft"],r=t[e==="padding"?"paddingTop":"marginTop"],o=t[e==="padding"?"paddingRight":"marginRight"];return[fb(n),fb(r),fb(o)]},mb=function(e){if(e===void 0&&(e="margin"),typeof window>"u")return u5;var t=d5(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}};var f5=Lu(),Fs="data-scroll-locked",m5=function(e,t,n,r){var o=e.left,a=e.top,i=e.right,l=e.gap;return n===void 0&&(n="margin"),`
|
|
12
|
+
.`.concat(ob,` {
|
|
13
13
|
overflow: hidden `).concat(r,`;
|
|
14
14
|
padding-right: `).concat(l,"px ").concat(r,`;
|
|
15
15
|
}
|
|
16
|
-
body[`).concat(
|
|
16
|
+
body[`).concat(Fs,`] {
|
|
17
17
|
overflow: hidden `).concat(r,`;
|
|
18
18
|
overscroll-behavior: contain;
|
|
19
19
|
`).concat([t&&"position: relative ".concat(r,";"),n==="margin"&&`
|
|
@@ -26,36 +26,42 @@ Error generating stack: `+r.message+`
|
|
|
26
26
|
`),n==="padding"&&"padding-right: ".concat(l,"px ").concat(r,";")].filter(Boolean).join(""),`
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
.`).concat(
|
|
29
|
+
.`).concat(xl,` {
|
|
30
30
|
right: `).concat(l,"px ").concat(r,`;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
.`).concat(
|
|
33
|
+
.`).concat(Sl,` {
|
|
34
34
|
margin-right: `).concat(l,"px ").concat(r,`;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
.`).concat(
|
|
37
|
+
.`).concat(xl," .").concat(xl,` {
|
|
38
38
|
right: 0 `).concat(r,`;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
|
-
.`).concat(
|
|
41
|
+
.`).concat(Sl," .").concat(Sl,` {
|
|
42
42
|
margin-right: 0 `).concat(r,`;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
body[`).concat(
|
|
46
|
-
`).concat(
|
|
45
|
+
body[`).concat(Fs,`] {
|
|
46
|
+
`).concat(ab,": ").concat(l,`px;
|
|
47
47
|
}
|
|
48
|
-
`)},
|
|
48
|
+
`)},_N=function(){var e=parseInt(document.body.getAttribute(Fs)||"0",10);return isFinite(e)?e:0},p5=function(){Hs.useEffect(function(){return document.body.setAttribute(Fs,(_N()+1).toString()),function(){var e=_N()-1;e<=0?document.body.removeAttribute(Fs):document.body.setAttribute(Fs,e.toString())}},[])},pb=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,o=r===void 0?"margin":r;p5();var a=Hs.useMemo(function(){return mb(o)},[o]);return Hs.createElement(f5,{styles:m5(a,!t,o,n?"":"!important")})};var gb=!1;if(typeof window<"u")try{Du=Object.defineProperty({},"passive",{get:function(){return gb=!0,!0}}),window.addEventListener("test",Du,Du),window.removeEventListener("test",Du,Du)}catch{gb=!1}var Du,wl=gb?{passive:!1}:!1;var g5=function(e){return e.tagName==="TEXTAREA"},LN=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!=="hidden"&&!(n.overflowY===n.overflowX&&!g5(e)&&n[t]==="visible")},h5=function(e){return LN(e,"overflowY")},y5=function(e){return LN(e,"overflowX")},hb=function(e,t){var n=t.ownerDocument,r=t;do{typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&(r=r.host);var o=DN(e,r);if(o){var a=BN(e,r),i=a[1],l=a[2];if(i>l)return!0}r=r.parentNode}while(r&&r!==n.body);return!1},b5=function(e){var t=e.scrollTop,n=e.scrollHeight,r=e.clientHeight;return[t,n,r]},v5=function(e){var t=e.scrollLeft,n=e.scrollWidth,r=e.clientWidth;return[t,n,r]},DN=function(e,t){return e==="v"?h5(t):y5(t)},BN=function(e,t){return e==="v"?b5(t):v5(t)},x5=function(e,t){return e==="h"&&t==="rtl"?-1:1},IN=function(e,t,n,r,o){var a=x5(e,window.getComputedStyle(t).direction),i=a*r,l=n.target,s=t.contains(l),c=!1,d=i>0,u=0,f=0;do{if(!l)break;var m=BN(e,l),b=m[0],p=m[1],v=m[2],h=p-v-a*b;(b||h)&&DN(e,l)&&(u+=h,f+=b);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!s&&l!==document.body||s&&(t.contains(l)||t===l));return(d&&(o&&Math.abs(u)<1||!o&&i>u)||!d&&(o&&Math.abs(f)<1||!o&&-i>f))&&(c=!0),c};var km=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},zN=function(e){return[e.deltaX,e.deltaY]},PN=function(e){return e&&"current"in e?e.current:e},S5=function(e,t){return e[0]===t[0]&&e[1]===t[1]},w5=function(e){return`
|
|
49
49
|
.block-interactivity-`.concat(e,` {pointer-events: none;}
|
|
50
50
|
.allow-interactivity-`).concat(e,` {pointer-events: all;}
|
|
51
|
-
`)},o5=0,Us=[];function NN(e){var t=qt.useRef([]),n=qt.useRef([0,0]),r=qt.useRef(),o=qt.useState(o5++)[0],a=qt.useState(Eu)[0],i=qt.useRef(e);qt.useEffect(function(){i.current=e},[e]),qt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var m=uN([e.lockRef.current],(e.shards||[]).map(RN),!0).filter(Boolean);return m.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),m.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=qt.useCallback(function(m,v){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!i.current.allowPinchZoom;var h=Cm(m),g=n.current,y="deltaX"in m?m.deltaX:g[0]-h[0],x="deltaY"in m?m.deltaY:g[1]-h[1],A,N=m.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in m&&E==="h"&&N.type==="range")return!1;var C=window.getSelection(),O=C&&C.anchorNode,L=O?O===N||O.contains(N):!1;if(L)return!1;var V=sb(E,N);if(!V)return!0;if(V?A=E:(A=E==="v"?"h":"v",V=sb(E,N)),!V)return!1;if(!r.current&&"changedTouches"in m&&(y||x)&&(r.current=A),!A)return!0;var z=r.current||A;return AN(z,v,m,z==="h"?y:x,!0)},[]),s=qt.useCallback(function(m){var v=m;if(!(!Us.length||Us[Us.length-1]!==a)){var h="deltaY"in v?CN(v):Cm(v),g=t.current.filter(function(A){return A.name===v.type&&(A.target===v.target||v.target===A.shadowParent)&&n5(A.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(RN).filter(Boolean).filter(function(A){return A.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=qt.useCallback(function(m,v,h,g){var y={name:m,delta:v,target:h,should:g,shadowParent:a5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=qt.useCallback(function(m){n.current=Cm(m),r.current=void 0},[]),u=qt.useCallback(function(m){c(m.type,CN(m),m.target,l(m,e.lockRef.current))},[]),f=qt.useCallback(function(m){c(m.type,Cm(m),m.target,l(m,e.lockRef.current))},[]);qt.useEffect(function(){return Us.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,yl),document.addEventListener("touchmove",s,yl),document.addEventListener("touchstart",d,yl),function(){Us=Us.filter(function(m){return m!==a}),document.removeEventListener("wheel",s,yl),document.removeEventListener("touchmove",s,yl),document.removeEventListener("touchstart",d,yl)}},[]);var p=e.removeScrollBar,b=e.inert;return qt.createElement(qt.Fragment,null,b?qt.createElement(a,{styles:r5(o)}):null,p?qt.createElement(ib,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function a5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var EN=eb(Am,NN);var TN=Rm.forwardRef(function(e,t){return Rm.createElement(Nu,Sr({},e,{ref:t,sideCar:EN}))});TN.classNames=Nu.classNames;var cb=TN;var Be=B(te(),1),i5=[" ","Enter","ArrowUp","ArrowDown"],l5=[" ","Enter"],bl="Select",[Em,Tm,s5]=Tf(bl),[js,A4]=Zr(bl,[s5,Ky]),Mm=Ky(),[c5,Ni]=js(bl),[u5,d5]=js(bl),MN=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:p,form:b}=e,m=Mm(t),[v,h]=le.useState(null),[g,y]=le.useState(null),[x,A]=le.useState(!1),N=ws(c),[E,C]=Aa({prop:r,defaultProp:o??!1,onChange:a,caller:bl}),[O,L]=Aa({prop:i,defaultProp:l,onChange:s,caller:bl}),V=le.useRef(null),z=v?b||!!v.closest("form"):!0,[G,Z]=le.useState(new Set),ue=Array.from(G).map(q=>q.props.value).join(";");return(0,Be.jsx)(eN,{...m,children:(0,Be.jsxs)(c5,{required:p,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:A,contentId:hi(),value:O,onValueChange:L,open:E,onOpenChange:C,dir:N,triggerPointerDownPosRef:V,disabled:f,children:[(0,Be.jsx)(Em.Provider,{scope:t,children:(0,Be.jsx)(u5,{scope:e.__scopeSelect,onNativeOptionAdd:le.useCallback(q=>{Z(oe=>new Set(oe).add(q))},[]),onNativeOptionRemove:le.useCallback(q=>{Z(oe=>{let ee=new Set(oe);return ee.delete(q),ee})},[]),children:n})}),z?(0,Be.jsxs)(XN,{"aria-hidden":!0,required:p,tabIndex:-1,name:d,autoComplete:u,value:O,onChange:q=>L(q.target.value),disabled:f,form:b,children:[O===void 0?(0,Be.jsx)("option",{value:""}):null,Array.from(G)]},ue):null]})})};MN.displayName=bl;var ON="SelectTrigger",kN=le.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Mm(n),i=Ni(ON,n),l=i.disabled||r,s=Tt(t,i.onTriggerChange),c=Tm(n),d=le.useRef("touch"),[u,f,p]=ZN(m=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=eE(v,m,h);g!==void 0&&i.onValueChange(g.value)}),b=m=>{l||(i.onOpenChange(!0),p()),m&&(i.triggerPointerDownPosRef.current={x:Math.round(m.pageX),y:Math.round(m.pageY)})};return(0,Be.jsx)(tN,{asChild:!0,...a,children:(0,Be.jsx)(at.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":JN(i.value)?"":void 0,...o,ref:s,onClick:vt(o.onClick,m=>{m.currentTarget.focus(),d.current!=="mouse"&&b(m)}),onPointerDown:vt(o.onPointerDown,m=>{d.current=m.pointerType;let v=m.target;v.hasPointerCapture(m.pointerId)&&v.releasePointerCapture(m.pointerId),m.button===0&&m.ctrlKey===!1&&m.pointerType==="mouse"&&(b(m),m.preventDefault())}),onKeyDown:vt(o.onKeyDown,m=>{let v=u.current!=="";!(m.ctrlKey||m.altKey||m.metaKey)&&m.key.length===1&&f(m.key),!(v&&m.key===" ")&&i5.includes(m.key)&&(b(),m.preventDefault())})})})});kN.displayName=ON;var _N="SelectValue",LN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Ni(_N,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Tt(t,s.onValueNodeChange);return on(()=>{c(d)},[c,d]),(0,Be.jsx)(at.span,{...l,ref:u,style:{pointerEvents:"none"},children:JN(s.value)?(0,Be.jsx)(Be.Fragment,{children:i}):a})});LN.displayName=_N;var f5="SelectIcon",DN=le.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,Be.jsx)(at.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});DN.displayName=f5;var m5="SelectPortal",BN=e=>(0,Be.jsx)(qy,{asChild:!0,...e});BN.displayName=m5;var vl="SelectContent",IN=le.forwardRef((e,t)=>{let n=Ni(vl,e.__scopeSelect),[r,o]=le.useState();if(on(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?gb.createPortal((0,Be.jsx)(zN,{scope:e.__scopeSelect,children:(0,Be.jsx)(Em.Slot,{scope:e.__scopeSelect,children:(0,Be.jsx)("div",{children:e.children})})}),a):null}return(0,Be.jsx)(PN,{...e,ref:t})});IN.displayName=vl;var Co=10,[zN,Ei]=js(vl),p5="SelectContentImpl",g5=ol("SelectContent.RemoveScroll"),PN=le.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v,...h}=e,g=Ni(vl,n),[y,x]=le.useState(null),[A,N]=le.useState(null),E=Tt(t,U=>x(U)),[C,O]=le.useState(null),[L,V]=le.useState(null),z=Tm(n),[G,Z]=le.useState(!1),ue=le.useRef(!1);le.useEffect(()=>{if(y)return cN(y)},[y]),z1();let q=le.useCallback(U=>{let[fe,...ve]=z().map(Ee=>Ee.ref.current),[ke]=ve.slice(-1),we=document.activeElement;for(let Ee of U)if(Ee===we||(Ee?.scrollIntoView({block:"nearest"}),Ee===fe&&A&&(A.scrollTop=0),Ee===ke&&A&&(A.scrollTop=A.scrollHeight),Ee?.focus(),document.activeElement!==we))return},[z,A]),oe=le.useCallback(()=>q([C,y]),[q,C,y]);le.useEffect(()=>{G&&oe()},[G,oe]);let{onOpenChange:ee,triggerPointerDownPosRef:W}=g;le.useEffect(()=>{if(y){let U={x:0,y:0},fe=ke=>{U={x:Math.abs(Math.round(ke.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(ke.pageY)-(W.current?.y??0))}},ve=ke=>{U.x<=10&&U.y<=10?ke.preventDefault():y.contains(ke.target)||ee(!1),document.removeEventListener("pointermove",fe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",fe),document.addEventListener("pointerup",ve,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",fe),document.removeEventListener("pointerup",ve,{capture:!0})}}},[y,ee,W]),le.useEffect(()=>{let U=()=>ee(!1);return window.addEventListener("blur",U),window.addEventListener("resize",U),()=>{window.removeEventListener("blur",U),window.removeEventListener("resize",U)}},[ee]);let[j,Ie]=ZN(U=>{let fe=z().filter(we=>!we.disabled),ve=fe.find(we=>we.ref.current===document.activeElement),ke=eE(fe,U,ve);ke&&setTimeout(()=>ke.ref.current.focus())}),ne=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&(O(U),ke&&(ue.current=!0))},[g.value]),Ve=le.useCallback(()=>y?.focus(),[y]),ae=le.useCallback((U,fe,ve)=>{let ke=!ue.current&&!ve;(g.value!==void 0&&g.value===fe||ke)&&V(U)},[g.value]),Se=r==="popper"?ub:UN,ze=Se===ub?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:p,sticky:b,hideWhenDetached:m,avoidCollisions:v}:{};return(0,Be.jsx)(zN,{scope:n,content:y,viewport:A,onViewportChange:N,itemRefCallback:ne,selectedItem:C,onItemLeave:Ve,itemTextRefCallback:ae,focusSelectedItem:oe,selectedItemText:L,position:r,isPositioned:G,searchRef:j,children:(0,Be.jsx)(cb,{as:g5,allowPinchZoom:!0,children:(0,Be.jsx)(Dy,{asChild:!0,trapped:g.open,onMountAutoFocus:U=>{U.preventDefault()},onUnmountAutoFocus:vt(o,U=>{g.trigger?.focus({preventScroll:!0}),U.preventDefault()}),children:(0,Be.jsx)(Oy,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:U=>U.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,Be.jsx)(Se,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:U=>U.preventDefault(),...h,...ze,onPlaced:()=>Z(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:vt(h.onKeyDown,U=>{let fe=U.ctrlKey||U.altKey||U.metaKey;if(U.key==="Tab"&&U.preventDefault(),!fe&&U.key.length===1&&Ie(U.key),["ArrowUp","ArrowDown","Home","End"].includes(U.key)){let ke=z().filter(we=>!we.disabled).map(we=>we.ref.current);if(["ArrowUp","End"].includes(U.key)&&(ke=ke.slice().reverse()),["ArrowUp","ArrowDown"].includes(U.key)){let we=U.target,Ee=ke.indexOf(we);ke=ke.slice(Ee+1)}setTimeout(()=>q(ke)),U.preventDefault()}})})})})})})});PN.displayName=p5;var h5="SelectItemAlignedPosition",UN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Ni(vl,n),i=Ei(vl,n),[l,s]=le.useState(null),[c,d]=le.useState(null),u=Tt(t,E=>d(E)),f=Tm(n),p=le.useRef(!1),b=le.useRef(!0),{viewport:m,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=le.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&m&&v&&h){let E=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),O=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let we=L.left-C.left,Ee=O.left-we,qe=E.left-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.left=cn+"px"}else{let we=C.right-L.right,Ee=window.innerWidth-O.right-we,qe=window.innerWidth-E.right-Ee,We=E.width+qe,nn=Math.max(We,C.width),Dn=window.innerWidth-Co,cn=Ey(Ee,[Co,Math.max(Co,Dn-nn)]);l.style.minWidth=We+"px",l.style.right=cn+"px"}let V=f(),z=window.innerHeight-Co*2,G=m.scrollHeight,Z=window.getComputedStyle(c),ue=parseInt(Z.borderTopWidth,10),q=parseInt(Z.paddingTop,10),oe=parseInt(Z.borderBottomWidth,10),ee=parseInt(Z.paddingBottom,10),W=ue+q+G+ee+oe,j=Math.min(v.offsetHeight*5,W),Ie=window.getComputedStyle(m),ne=parseInt(Ie.paddingTop,10),Ve=parseInt(Ie.paddingBottom,10),ae=E.top+E.height/2-Co,Se=z-ae,ze=v.offsetHeight/2,U=v.offsetTop+ze,fe=ue+q+U,ve=W-fe;if(fe<=ae){let we=V.length>0&&v===V[V.length-1].ref.current;l.style.bottom="0px";let Ee=c.clientHeight-m.offsetTop-m.offsetHeight,qe=Math.max(Se,ze+(we?Ve:0)+Ee+oe),We=fe+qe;l.style.height=We+"px"}else{let we=V.length>0&&v===V[0].ref.current;l.style.top="0px";let qe=Math.max(ae,ue+m.offsetTop+(we?ne:0)+ze)+ve;l.style.height=qe+"px",m.scrollTop=fe-ae+m.offsetTop}l.style.margin=`${Co}px 0`,l.style.minHeight=j+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>p.current=!0)}},[f,a.trigger,a.valueNode,l,c,m,v,h,a.dir,r]);on(()=>y(),[y]);let[x,A]=le.useState();on(()=>{c&&A(window.getComputedStyle(c).zIndex)},[c]);let N=le.useCallback(E=>{E&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,Be.jsx)(b5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:p,onScrollButtonChange:N,children:(0,Be.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,Be.jsx)(at.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});UN.displayName=h5;var y5="SelectPopperPosition",ub=le.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=Co,...a}=e,i=Mm(n);return(0,Be.jsx)(nN,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});ub.displayName=y5;var[b5,hb]=js(vl,{}),db="SelectViewport",jN=le.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=Ei(db,n),i=hb(db,n),l=Tt(t,a.onViewportChange),s=le.useRef(0);return(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),(0,Be.jsx)(Em.Slot,{scope:n,children:(0,Be.jsx)(at.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:vt(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let p=Math.abs(s.current-d.scrollTop);if(p>0){let b=window.innerHeight-Co*2,m=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(m,v);if(h<b){let g=h+p,y=Math.min(b,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});jN.displayName=db;var VN="SelectGroup",[v5,x5]=js(VN),FN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=hi();return(0,Be.jsx)(v5,{scope:n,id:o,children:(0,Be.jsx)(at.div,{role:"group","aria-labelledby":o,...r,ref:t})})});FN.displayName=VN;var HN="SelectLabel",$N=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=x5(HN,n);return(0,Be.jsx)(at.div,{id:o.id,...r,ref:t})});$N.displayName=HN;var Nm="SelectItem",[S5,KN]=js(Nm),GN=le.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Ni(Nm,n),s=Ei(Nm,n),c=l.value===r,[d,u]=le.useState(a??""),[f,p]=le.useState(!1),b=Tt(t,g=>s.itemRefCallback?.(g,r,o)),m=hi(),v=le.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,Be.jsx)(S5,{scope:n,value:r,disabled:o,textId:m,isSelected:c,onItemTextChange:le.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,Be.jsx)(Em.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,Be.jsx)(at.div,{role:"option","aria-labelledby":m,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:vt(i.onFocus,()=>p(!0)),onBlur:vt(i.onBlur,()=>p(!1)),onClick:vt(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:vt(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:vt(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:vt(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:vt(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:vt(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(l5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});GN.displayName=Nm;var Mu="SelectItemText",qN=le.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Ni(Mu,n),l=Ei(Mu,n),s=KN(Mu,n),c=d5(Mu,n),[d,u]=le.useState(null),f=Tt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),p=d?.textContent,b=le.useMemo(()=>(0,Be.jsx)("option",{value:s.value,disabled:s.disabled,children:p},s.value),[s.disabled,s.value,p]),{onNativeOptionAdd:m,onNativeOptionRemove:v}=c;return on(()=>(m(b),()=>v(b)),[m,v,b]),(0,Be.jsxs)(Be.Fragment,{children:[(0,Be.jsx)(at.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?gb.createPortal(a.children,i.valueNode):null]})});qN.displayName=Mu;var WN="SelectItemIndicator",YN=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return KN(WN,n).isSelected?(0,Be.jsx)(at.span,{"aria-hidden":!0,...r,ref:t}):null});YN.displayName=WN;var fb="SelectScrollUpButton",w5=le.forwardRef((e,t)=>{let n=Ei(fb,e.__scopeSelect),r=hb(fb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});w5.displayName=fb;var mb="SelectScrollDownButton",A5=le.forwardRef((e,t)=>{let n=Ei(mb,e.__scopeSelect),r=hb(mb,e.__scopeSelect),[o,a]=le.useState(!1),i=Tt(t,r.onScrollButtonChange);return on(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,Be.jsx)(QN,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});A5.displayName=mb;var QN=le.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=Ei("SelectScrollButton",n),i=le.useRef(null),l=Tm(n),s=le.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return le.useEffect(()=>()=>s(),[s]),on(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,Be.jsx)(at.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:vt(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:vt(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:vt(o.onPointerLeave,()=>{s()})})}),C5="SelectSeparator",R5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,Be.jsx)(at.div,{"aria-hidden":!0,...r,ref:t})});R5.displayName=C5;var pb="SelectArrow",N5=le.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Mm(n),a=Ni(pb,n),i=Ei(pb,n);return a.open&&i.position==="popper"?(0,Be.jsx)(rN,{...o,...r,ref:t}):null});N5.displayName=pb;var E5="SelectBubbleInput",XN=le.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=le.useRef(null),a=Tt(r,o),i=Af(t);return le.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,Be.jsx)(at.select,{...n,style:{...Wy,...n.style},ref:a,defaultValue:t})});XN.displayName=E5;function JN(e){return e===""||e===void 0}function ZN(e){let t=pr(e),n=le.useRef(""),r=le.useRef(0),o=le.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=le.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return le.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function eE(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=T5(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function T5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var tE=MN,nE=kN,rE=LN,oE=DN,aE=BN,iE=IN,lE=jN,sE=FN,cE=$N,uE=GN,dE=qN,fE=YN;var mE=B(xe(),1);var pE=B(te(),1),it=(0,mE.forwardRef)(function({className:t,...n},r){return(0,pE.jsx)("input",{ref:r,className:Q("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function gE(e){return String(e||"").trim().toLowerCase()}function Om(e){return gE(e).length>0}function hE({searchEnabled:e=!0}={}){return!!e}function yb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function yE(e={},t=""){let n=gE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var km=B(xe(),1),O5=12;function bb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function k5(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function _m(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(bb(r.overflow)||bb(r.overflowY)||bb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function _5(e,{viewportPadding:t=O5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of _m(e))n=k5(n,r.getBoundingClientRect());return n}function L5({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Lm({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,km.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,km.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(L5({anchorRect:l.getBoundingClientRect(),boundaryRect:_5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=_m(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var Nn=B(te(),1),Bm=(0,pt.createContext)(null),D5="Enter character to filter",B5=41,I5="data-llm-router-select-search-input";function Dm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>Dm(t)).filter(Boolean).join(" "):(0,pt.isValidElement)(e)?Dm(e.props?.children):""}function vb(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function z5(e={}){let t=String(e.textValue||Dm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function bE(e,t=""){let n=0,r=0;return{children:pt.Children.map(e,a=>{if(!(0,pt.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=yE(z5(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=bE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,pt.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Xt({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,pt.useState)(!!t),[c,d]=(0,pt.useState)(""),[u,f]=(0,pt.useState)(!1),p=(0,pt.useRef)(null),b=(0,pt.useRef)(0),m=e!==void 0?e:l;(0,pt.useEffect)(()=>{m||(d(""),f(!1))},[m]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,pt.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!m&&(e===void 0&&s(!0),n?.(!0)))},[o,r,m,e,n]);let h={open:m,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:p,openSearchRequest:o};return(0,Nn.jsx)(Bm.Provider,{value:h,children:(0,Nn.jsx)(tE,{...i,open:m,onOpenChange:v,children:a})})}var Jt=(0,pt.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,pt.useContext)(Bm),l=i?.triggerRef||null,s=(0,pt.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=yb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,Nn.jsxs)(nE,{ref:s,className:Q("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,Nn.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,Nn.jsx)(oE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Zt(e){return(0,Nn.jsx)(rE,{...e})}var en=(0,pt.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=D5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,pt.useContext)(Bm),d=(0,pt.useRef)(null),u=(0,pt.useRef)(null),f=Lm({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),p=hE({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,pt.useMemo)(()=>Om(c?.filterValue)?bE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),m=Om(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(p?B5:0)));(0,pt.useEffect)(()=>{if(!c?.open||!p||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let A=u.current;if(!A)return;A.focus();let N=A.value.length;A.setSelectionRange(N,N)});return()=>window.cancelAnimationFrame(x)},[c?.open,p,c?.openSearchRequest]);let h=(0,pt.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let A=yb(x);A&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(N=>`${N}${A}`))}function y(x){let A=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(A)}return(0,Nn.jsx)(aE,{children:(0,Nn.jsxs)(iE,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:Q("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[p?(0,Nn.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,Nn.jsx)(it,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),vb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),vb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>vb(d.current)))}})}):null,(0,Nn.jsxs)(lE,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[Om(c?.filterValue)?b.children:n,m?(0,Nn.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Ct=(0,pt.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,pt.useContext)(Bm),c=String(o||Dm(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(I5)==="true"&&u.preventDefault()}return(0,Nn.jsxs)(uE,{ref:l,className:Q("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,Nn.jsx)(dE,{children:n}),(0,Nn.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,Nn.jsx)(fE,{children:"\u2713"})})]})});Ct.__LLM_ROUTER_SELECT_ITEM=!0;function xl(e){return(0,Nn.jsx)(sE,{...e})}xl.__LLM_ROUTER_SELECT_GROUP=!0;var Vs=(0,pt.forwardRef)(function({className:t,children:n,...r},o){return(0,Nn.jsx)(cE,{ref:o,className:Q("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var Ou=B(te(),1);function xb(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${Ho(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function P5(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function Ti(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...P5(o)}));return n}function U5(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function j5(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function vE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return U5(e).map((r,o)=>{let a=r.options.map(i=>(0,Ou.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:j5(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Ou.jsxs)(xl,{children:[(0,Ou.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var Fs=B(xe(),1),SE=B(Bi(),1);var io=B(xe(),1);var V5="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function F5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function H5({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function $5({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Im=(0,io.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,p]=(0,io.useState)(u),[b,m]=(0,io.useState)(!1),[v,h]=(0,io.useState)(!1),g=(0,io.useRef)(u);return(0,io.useEffect)(()=>{let y=F5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,p(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,io.createElement)("input",{...c,ref:d,className:Q(V5,t),value:H5({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{m(!0),l?.(y)},onChange:y=>{let x=y.target.value;p(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{m(!1);let x=$5({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var K5=/^\d*$/;function xE(e){let t=String(e??""),n=K5.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var be=B(te(),1);function G5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function q5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,be.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,be.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function W5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,be.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function Y5({className:e=""}){return(0,be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,be.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,be.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,be.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,be.jsx)("path",{d:"M3 3l14 14"})]})}function Hs({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,p]=(0,Fs.useState)(!1),b=!a&&!f,m=b&&u!=="obscured-text"?"password":"text",v=b&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d}:{value:e||"",onChange:t,type:m,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d};return(0,be.jsxs)("div",{className:"flex",children:[i?(0,be.jsx)(Im,{...h}):(0,be.jsx)("input",{...h}),(0,be.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>p(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,be.jsx)(Y5,{className:"h-4 w-4"}):(0,be.jsx)(W5,{className:"h-4 w-4"})})]})}function Oa({disabled:e=!1,label:t="Move up",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(G5,{className:"h-3.5 w-3.5"})})}function Sl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,be.jsx)(q5,{className:"h-3.5 w-3.5"})})}function Sb({active:e=!1}){return e?(0,be.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function He({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,be.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,be.jsxs)("div",{className:Q("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,be.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,be.jsx)("span",{children:e}),t?(0,be.jsx)("span",{className:Q("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,be.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function zm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,Fs.useState)(a);return(0,Fs.useEffect)(()=>{l(a)},[a]),(0,be.jsx)(it,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=xE(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function wE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,be.jsxs)("div",{className:Q("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,be.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,be.jsx)(Io,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function En({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:p="",footerClassName:b=""}){if((0,Fs.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let m=a==="page",v=(0,be.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",m?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,be.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",m?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,be.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",m?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,be.jsxs)("div",{className:"min-w-0",children:[(0,be.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,be.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,be.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,be.jsx)(H,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,be.jsx)("div",{className:Q("overflow-y-auto",m?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",p),children:o}),u?(0,be.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",m?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,SE.createPortal)(v,document.body)}function Pm({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Lm({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,be.jsx)("div",{className:Q("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function AE({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,be.jsx)(En,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,be.jsx)(H,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,be.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function CE({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,be.jsx)(En,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,be.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,be.jsx)(H,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,be.jsx)(H,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,be.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,be.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,be.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Br(){return(0,be.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function RE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,be.jsx)("button",{type:"button",className:Q("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Le=B(te(),1);function Q5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Le.jsx)("path",{d:"M10 10h6.5"}),(0,Le.jsx)("path",{d:"M13.5 10v2.25"}),(0,Le.jsx)("path",{d:"M15.75 10v1.5"})]})}function X5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Le.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Le.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function J5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Le.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Le.jsx)("path",{d:"M12 3h5v5"})]})}function Z5({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function eB({className:e=""}){return(0,Le.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Le.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Le.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Le.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Le.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function tB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Le.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function nB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Le.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Le.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Le.jsx)(Q5,{className:"h-3.5 w-3.5"})}),(0,Le.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Le.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Le.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Le.jsx)(X5,{className:"h-3.5 w-3.5"})})]})}function EE({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Le.jsx)(tB,{label:"Endpoint",value:e,icon:(0,Le.jsx)(J5,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Le.jsx)(nB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function NE({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Le.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Le.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Le.jsxs)("span",{className:"min-w-0",children:[(0,Le.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Le.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function wl({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Le.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Le.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Le.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Le.jsx)("span",{className:"sr-only",children:n})]})}function Um({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Le.jsx)(Z5,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Le.jsx)(eB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Le.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Le.jsx)(NE,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Le.jsx)(NE,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var Yo=B(xe(),1);var ln=B(te(),1);function rB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function oB({notice:e,onDismiss:t}){let[n,r]=(0,Yo.useState)(zf),[o,a]=(0,Yo.useState)(zf),[i,l]=(0,Yo.useState)(!1),s=(0,Yo.useRef)(null),c=(0,Yo.useRef)(0);(0,Yo.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,Yo.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,uC);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",p=9,b=2*Math.PI*p,m=Math.max(0,Math.min(1,o/zf)),v=b*(1-m),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,ln.jsx)("div",{className:Q("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,ln.jsxs)("div",{className:"min-w-0",children:[(0,ln.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,ln.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:rB(e.tone)}),(0,ln.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,ln.jsxs)("svg",{viewBox:"0 0 24 24",className:Q("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,ln.jsx)("circle",{cx:"12",cy:"12",r:p,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,ln.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,ln.jsxs)(ln.Fragment,{children:[(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,ln.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,ln.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,ln.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,ln.jsx)("div",{className:"mt-2 flex justify-end",children:(0,ln.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function wb({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,ln.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,ln.jsx)("div",{className:"w-full max-w-md",children:(0,ln.jsx)(oB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var _a=B(xe(),1);var _n=B(xe(),1);var Zn=B(xe(),1);var ka=B(xe(),1);function $s(e=[]){let t=(0,ka.useRef)(new Map),n=(0,ka.useRef)(new Map),r=(0,ka.useRef)(new Map),o=(0,ka.useRef)(""),a=JSON.stringify(e);return(0,ka.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),p=t.current.get(d);if(!u||!f||!p)continue;let b=u.top-f.top;Math.abs(b)<1||typeof p.animate!="function"||p.animate([{transform:`translateY(${b}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,ka.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var Rt=B(te(),1);function Ab({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:p=!1,filterOtherSelectedValues:b=!1,excludedValues:m=[]}){let v=(0,Zn.useRef)(0),h=(0,Zn.useRef)(""),g=(0,Zn.useRef)(null),y=(0,Zn.useRef)(new Map),x=(0,Zn.useRef)(0),A=(0,Zn.useRef)(0),[N,E]=(0,Zn.useState)(0),C=(0,Zn.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),O=`${C}-draft-row`,L=(0,Zn.useMemo)(()=>{let ne=(t||[]).filter(Ve=>String(Ve?.ref||"").trim());return u?[{key:O,ref:"",sourceRef:""},...ne]:ne},[t,u,O]),V=$s(L.map(ne=>ne.key)),z=(0,Zn.useMemo)(()=>yr(m),[m]),G=(0,Zn.useMemo)(()=>Ti(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,Zn.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function Z(ne,Ve){if(u&&ne===O){if(!String(Ve||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:"",...p?{weight:"1"}:{}},...(t||[]).filter(ae=>String(ae?.ref||"").trim())]);return}n((t||[]).map(ae=>ae.key===ne?{...ae,ref:Ve}:ae))}function ue(ne,Ve){n((t||[]).map(ae=>ae.key===ne?{...ae,weight:Ve}:ae))}function q(ne){n((t||[]).filter(Ve=>Ve.key!==ne))}function oe(ne){n(Ts(t||[],ne,Ve=>Ve?.key))}function ee(ne){n(Kf(t||[],ne,Ve=>Ve?.key))}function W(){h.current="",Ea(g.current,!1),g.current=null}function j(){v.current+=1;let ne=new Set([...(t||[]).map(ae=>String(ae?.ref||"").trim()).filter(Boolean),...z]),Ve=G.find(ae=>!ne.has(ae.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:Ve,sourceRef:""}])}function Ie(){if(!u||o)return;let ne=y.current.get(O);if(!ne||typeof window>"u"){E(qe=>qe+1);return}A.current+=1;let Ve=A.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ae=_m(ne),Se=my(ne,ae),ze=0,U=0,fe=90,ve=8,ke=6,we=.5,Ee=()=>{if(A.current!==Ve)return;let qe=y.current.get(O)||ne,We=my(qe,ae);if(!Number.isFinite(We.top)||!Number.isFinite(We.left)){x.current=0,E(nn=>nn+1);return}if(MC(Se,We,we)?ze+=1:ze=0,Se=We,U+=1,U>=ve&&ze>=ke||U>=fe){x.current=0,E(nn=>nn+1);return}x.current=window.requestAnimationFrame(Ee)};x.current=window.requestAnimationFrame(Ee)}return(0,Rt.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Rt.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Rt.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Rt.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Rt.jsx)(H,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:ne=>ne.preventDefault(),onClick:Ie,disabled:o,"aria-label":a,title:a,children:(0,Rt.jsx)(bC,{className:"h-3.5 w-3.5"})}):null]}),(0,Rt.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Rt.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Rt.jsx)(H,{type:"button",variant:"ghost",onClick:j,disabled:o,children:a})]})]}),L.length>0?(0,Rt.jsx)("div",{className:"space-y-2",children:L.map((ne,Ve)=>{let ae=u&&ne.key===O,Se=ae?-1:(t||[]).findIndex(U=>U?.key===ne.key),ze=b?G.filter(U=>{let fe=String(U?.value||"").trim();return fe?fe===String(ne?.ref||"").trim()?!0:z.includes(fe)?!1:!(L||[]).some(ve=>ve?.key!==ne.key&&String(ve?.ref||"").trim()===fe):!1}):G;return(0,Rt.jsxs)("div",{ref:U=>{if(V(ne.key)(U),U){y.current.set(ne.key,U);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:U=>{!o&&h.current&&h.current!==ne.key&&(U.preventDefault(),U.dataTransfer.dropEffect="move")},onDrop:U=>{if(o)return;U.preventDefault();let fe=U.dataTransfer.getData("text/plain")||h.current;W(),n($f(t||[],fe,ne.key))},className:Q(p?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",ae?"border-dashed bg-background/85":null),children:[(0,Rt.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ae||o?"opacity-45":"cursor-grab"),draggable:!o&&!ae,onDragStart:U=>{if(o||ae)return;let fe=Ms(U.currentTarget);U.dataTransfer.effectAllowed="move",U.dataTransfer.setData("text/plain",ne.key),fe&&typeof U.dataTransfer?.setDragImage=="function"&&U.dataTransfer.setDragImage(fe,20,20),W(),h.current=ne.key,g.current=fe,Ea(fe,!0)},onDragEnd:W,title:ae?"New route draft row":"Drag to reorder",children:(0,Rt.jsx)(Ns,{className:"h-4 w-4"})}),(0,Rt.jsx)(Oa,{disabled:o||ae||Se<=0,label:ae||Se<=0?"Already first":`Move ${ne.ref||`target ${Se+1}`} up`,onClick:()=>oe(ne.key)}),(0,Rt.jsx)(Sl,{disabled:o||ae||Se===-1||Se>=(t||[]).length-1,label:ae||Se===-1||Se>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${Se+1}`} down`,onClick:()=>ee(ne.key)}),(0,Rt.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,Rt.jsxs)(Xt,{value:ne.ref||void 0,onValueChange:U=>Z(ne.key,U),disabled:o,openSearchRequest:ae?N:0,children:[(0,Rt.jsx)(Jt,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,Rt.jsx)(Zt,{placeholder:ae?d:c})}),(0,Rt.jsx)(en,{children:ze.length>0?vE(ze,{keyPrefix:`${e}-row-${ne.key}`}):(0,Rt.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),p?(0,Rt.jsxs)("div",{className:Q("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ae?"opacity-45":null),children:[(0,Rt.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,Rt.jsx)(it,{value:ae?"":String(ne?.weight||"1"),onChange:U=>ue(ne.key,U.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ae,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":ae?"Weight for new target":`Weight for ${ne.ref||`target ${Ve+1}`}`})]}):null,ae?(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Rt.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:U=>U.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Rt.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Rt.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Al=B(xe(),1);var se=B(te(),1);function aB(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function iB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>aB(t,n),0)||1}function lB(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function TE(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),p=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(p)||c.get(f)||{},m=Number(d?.weight??b?.weight),v=Number.isFinite(m)&&m>0?Math.floor(m):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:lB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function sB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=iB(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function cB(e,t=[]){let n=Gf(e),r=qf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=sB(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function ME({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Gf(o),[s,c]=(0,Al.useState)(l),[d,u]=(0,Al.useState)(!1);(0,Al.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,se.jsx)(En,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,se.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,se.jsx)(H,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,se.jsxs)(bi,{value:s,onValueChange:c,children:[(0,se.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,se.jsx)(vi,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:Pf.map(p=>(0,se.jsx)(Gn,{value:p.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:p.label},p.value))})}),Pf.map(p=>{let b=cB(p.value,a),m=(b.sequenceEntries||[]).filter(Boolean);return(0,se.jsx)(qn,{value:p.value,className:"mt-4",children:(0,se.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:b.strategyLabel}),(0,se.jsxs)(_e,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,se.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,se.jsx)("p",{children:b.summary}),(0,se.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),m.length>0?(0,se.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:m.map((v,h)=>(0,se.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,se.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,se.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,se.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,se.jsx)("div",{className:"space-y-4",children:(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,se.jsx)(_e,{variant:"outline",children:r}):null]}),a.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,se.jsx)(_e,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,se.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,se.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},p.value)})]})})}function OE({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Al.useMemo)(()=>h1(n),[n]);return(0,se.jsx)(En,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,se.jsxs)("div",{className:"space-y-4",children:[(0,se.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,se.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,se.jsx)("code",{children:"coding"})," or ",(0,se.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,se.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"warning",children:"Important"}),(0,se.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,se.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,se.jsx)("code",{children:"258K"})," model and a ",(0,se.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,se.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,se.jsxs)("div",{children:[(0,se.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,se.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,se.jsx)(_e,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,se.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,se.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,se.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,se.jsx)(_e,{variant:"outline",children:o.aliasId}),(0,se.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Ho(o.smallestContextWindow),". Largest target: ",Ho(o.largestContextWindow),"."]})]}),(0,se.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",Ho(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,se.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,se.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var Me=B(te(),1),uB=500;function Mi(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function Cb({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:p=!1,showIssueOnSubmitOnly:b=!1,onDiscard:m=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=_C(e,t,{isNew:f}),A=(0,_n.useMemo)(()=>nC(f?"":e,t),[x]),[N,E]=(0,_n.useState)(A),[C,O]=(0,_n.useState)(f),[L,V]=(0,_n.useState)(!1),z=(0,_n.useRef)(null),G=(0,_n.useRef)(0),Z=(0,_n.useRef)(""),[ue,q]=(0,_n.useState)("idle");(0,_n.useEffect)(()=>{E(A),O(f),V(!1),q("idle"),Z.current=""},[A,f]);let oe=!f&&Array.isArray(g?.entries)&&g.entries.length>1,ee=p||C;(0,_n.useEffect)(()=>{if(!ee)return;let M=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(M)}},[ee]);let W=String(N?.id||"").trim(),j=e===Mt||W===Mt,Ie=(0,_n.useMemo)(()=>Ti((r||[]).filter(M=>M.kind!=="alias"&&M.value!==W&&M.value!==`alias:${W}`),[...(N?.targets||[]).map(M=>M?.ref),...(N?.fallbackTargets||[]).map(M=>M?.ref)]),[r,W,N?.targets,N?.fallbackTargets]),ne=(N?.targets||[]).map(M=>String(M?.ref||"").trim()),Ve=(N?.fallbackTargets||[]).map(M=>String(M?.ref||"").trim()),ae=[...ne,...Ve],Se=[...N?.targets||[],...N?.fallbackTargets||[]],ze=Se.some(M=>!String(M?.ref||"").trim()),U=Os(ae),fe=Se.some(M=>{if(!String(M?.ref||"").trim())return!1;let F=Math.floor(Number(M?.weight));return!Number.isFinite(F)||F<=0}),ve=W&&n.some(M=>M!==e&&M===W),ke=W&&ae.some(M=>M===W||M===`alias:${W}`),we=ae.filter(Boolean).length>0,Ee=JSON.stringify({id:A.id,strategy:A.strategy,targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),qe=JSON.stringify({id:W,strategy:N?.strategy,targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),We=JSON.stringify({targets:Mi(A.targets),fallbackTargets:Mi(A.fallbackTargets)}),nn=JSON.stringify({targets:Mi(N?.targets),fallbackTargets:Mi(N?.fallbackTargets)}),Dn=Ee!==qe,cn=W?fC.test(W)?ve?"Alias id already exists. Choose another id.":ze?"Fill or remove blank target rows before applying.":U?"Duplicate targets are not allowed anywhere in this alias.":fe?"Target weights must be positive integers.":ke?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",xt=i?l:cn,ht=i?l:b&&cn&&!L?"":cn,yt=i||s,Ue=String(W||e||"").trim(),It=Ue||"Select alias",Wt=yt||j||f,pn=j?"Default alias cannot be removed":`Remove alias ${Ue||e}`,wr=(0,_n.useMemo)(()=>nm(It),[It]),Te=j||o===e||o===W,et=a===e||a===W,ft=f?"Enter alias name. Example: claude-opus":void 0,lo=(0,_n.useMemo)(()=>TE(N,t,r),[N,t,r]);async function St(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&f&&m(e),M}async function Re(M){let F={...N,strategy:M};return await c(e,F)?f?(m(e),!0):(E(F),!0):!1}async function gn(){if(V(!0),xt)return!1;let M=await c(e,N);return M&&(O(!1),V(!1)),M}function k(){if(p)return;if(!oe){O(!1);return}let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}gn()}function me(M){if(M.key==="Escape"){M.preventDefault(),E(F=>({...F,id:A.id})),O(!1),V(!1);return}!p&&M.key==="Enter"&&(M.preventDefault(),M.currentTarget.blur())}async function re(){if(ee){let M=String(e||"").trim(),F=String(N?.id||"").trim();if(!F||F===M){E(ce=>({...ce,id:M})),O(!1),V(!1);return}await gn();return}O(!0)}(0,_n.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,_n.useEffect)(()=>{if(f||yt||xt||nn===We){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&nn===We&&ue!=="saving"&&q("idle");return}if(!(Z.current===nn&&ue==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,Z.current=nn,q("saving"),c(e,N,{showSuccessNotice:!1,successMessage:""}).then(M=>{q(M?"saved":"error")})},uB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,nn,N,We,f,xt,yt,c]);let Pe=f?"":ue==="saving"?"Saving alias changes\u2026":ue==="pending"?"Changes save automatically.":ue==="saved"?"Alias changes saved.":ue==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Me.jsxs)("div",{className:"space-y-4",children:[(0,Me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Me.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Me.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:oe?(0,Me.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Me.jsxs)("div",{className:Q("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ee?"flex-1":"w-fit"),children:[(0,Me.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),ee?(0,Me.jsx)(it,{ref:z,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,Me.jsxs)(Xt,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Me.jsx)(Jt,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${wr}px`,maxWidth:"100%"},children:(0,Me.jsx)(Zt,{placeholder:"Select alias"})}),(0,Me.jsx)(en,{children:g.entries.map(([M,F])=>(0,Me.jsx)(Ct,{value:M,searchText:`${M} ${(F?.targets||[]).length} ${(F?.fallbackTargets||[]).length}`,children:M},M))})]}),ee?null:(0,Me.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(Ue)},disabled:yt||!Ue,"aria-label":`Copy alias id ${Ue}`,title:Ue?`Copy alias id ${Ue}`:"Alias id is not ready yet",children:(0,Me.jsx)(Vf,{className:"h-4 w-4 shrink-0"})})]}),(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:M=>{ee&&M.preventDefault()},onClick:()=>{re()},disabled:yt||j,"aria-label":ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",title:ee?"Save alias id":j?"Default alias id cannot be edited":"Edit alias id",children:ee?(0,Me.jsx)(RC,{className:"h-4 w-4 shrink-0"}):(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})})]}):(0,Me.jsxs)(Me.Fragment,{children:[ee?(0,Me.jsx)(it,{ref:z,autoFocus:f,value:N.id,placeholder:ft,onChange:M=>E(F=>({...F,id:M.target.value})),onBlur:k,onKeyDown:me,disabled:yt||j&&!f,className:"max-w-[22rem] font-semibold"}):j&&!f?(0,Me.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Me.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>O(!0),disabled:yt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Me.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]}),h?(0,Me.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),j?null:(0,Me.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Me.jsx)(_e,{variant:"success",children:"Default route"}):null,et?(0,Me.jsx)(_e,{variant:"info",children:"AMP default"}):null]})]}),(0,Me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Me.jsxs)(H,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>v({aliasLabel:W||(f?"New alias":e),strategy:N?.strategy||"auto",entries:lo,disabled:yt||!!xt,onSave:Re}),disabled:yt,children:[(0,Me.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,Me.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Me.jsx)("span",{className:"truncate",children:qf(N.strategy||"auto")}),(0,Me.jsx)(Es,{className:"h-4 w-4 shrink-0"})]})]}),!oe&&!f?(0,Me.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:Wt,"aria-label":pn,title:pn,children:(0,Me.jsx)(lu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Me.jsx)(Ab,{title:"Primary targets",rows:N.targets,onChange:M=>E(F=>({...F,targets:M})),options:Ie,disabled:yt,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:Ve}),(0,Me.jsx)(Ab,{title:"Fallback targets",rows:N.fallbackTargets,onChange:M=>E(F=>({...F,fallbackTargets:M})),options:Ie,disabled:yt,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:ne}),ht?null:(0,Me.jsx)("div",{className:"text-xs text-muted-foreground",children:Pe}),ht?(0,Me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ht}):null,!ht&&j&&!we?(0,Me.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,Me.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Me.jsx)("code",{children:"default"})," or ",(0,Me.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Me.jsx)("div",{children:(0,Me.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(e),disabled:yt,children:"Discard"})}),(0,Me.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Me.jsx)(H,{type:"button",onClick:()=>{St()},disabled:yt||!!xt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Me.jsx)(Lt,{children:(0,Me.jsx)(Dt,{className:"space-y-4 p-5",children:T})}):T}var sn=B(te(),1);function kE({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[p,b]=(0,_a.useState)(""),[m,v]=(0,_a.useState)(!1),[h,g]=(0,_a.useState)(""),y=(0,_a.useMemo)(()=>kC(),[]),[x,A]=(0,_a.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function N(){f||l||b(`draft-${Date.now()}`)}function E(q){(!q||q===p)&&b("")}function C(){b("")}function O({aliasLabel:q="",strategy:oe="auto",entries:ee=[],disabled:W=!1,onSave:j=null}){A({open:!0,aliasLabel:q,strategy:oe,entries:ee,disabled:W,onSave:j})}function L(){A(q=>({...q,open:!1}))}async function V(q,oe,ee={}){let W=await s(q,oe,ee);if(W){let j=String(oe?.id||q||"").trim()||q;g(j)}return W}(0,_a.useEffect)(()=>{let q=u.map(([oe])=>oe);if(q.length===0){h&&g("");return}(!h||!q.includes(h))&&g(q[0])},[u,h]);let z=u.find(([q])=>q===h)||u[0]||null,G=z?.[0]||"",Z=z?.[1]||null,ue=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,sn.jsxs)(sn.Fragment,{children:[(0,sn.jsxs)(Lt,{children:[(0,sn.jsx)(Jr,{children:(0,sn.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,sn.jsx)("div",{className:"space-y-1",children:(0,sn.jsx)(pi,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,sn.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,sn.jsx)(H,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,sn.jsx)(H,{type:"button",size:"sm",onClick:N,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,sn.jsxs)(Dt,{className:"space-y-4",children:[f?(0,sn.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?G&&Z?(0,sn.jsx)(Cb,{aliasId:G,alias:Z,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:O,aliasSwitcher:ue,framed:!1},G):null:(0,sn.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,sn.jsx)("code",{children:"coding"})," or ",(0,sn.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,sn.jsx)(En,{open:!!p,onClose:C,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:p?(0,sn.jsx)(Cb,{aliasId:p,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:V,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:O,framed:!1},p):null}),(0,sn.jsx)(ME,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,sn.jsx)(OE,{open:m,onClose:()=>v(!1),config:t})]})}var tn=B(xe(),1);var Cl=B(xe(),1);var Ir=B(te(),1);function ku({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=b=>!!String(b||"").trim(),inputProps:p={}}){let b=(0,Cl.useMemo)(()=>yr(e),[e]),[m,v]=(0,Cl.useState)(""),[h,g]=(0,Cl.useState)("");function y(C=s,{clearDraft:O=!0}={}){if(u)return!1;let L=Hf(C).filter(z=>f(z));if(L.length===0)return O&&c(""),!1;let V=Array.from(new Set([...b||[],...L]));return JSON.stringify(V)!==JSON.stringify(b||[])&&t(V),O&&c(""),!0}function x(C){u||(t(b.filter(O=>O!==C)),m===C&&(v(""),g("")))}function A(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function N(C){u||(v(C),g(C))}function E(C=h){if(u)return v(""),g(""),!1;if(!m)return!1;let O=Hf(C).filter(G=>f(G)),L=[],V=!1;for(let G of b||[]){if(G!==m){L.push(G);continue}V||(L.push(...O),V=!0)}let z=Array.from(new Set(L.map(G=>String(G||"").trim()).filter(Boolean)));return JSON.stringify(z)!==JSON.stringify(b||[])&&t(z),v(""),g(""),O.length>0}return(0,Cl.useEffect)(()=>{!u||!m||(v(""),g(""))},[u,m]),(0,Ir.jsxs)("div",{className:"space-y-2",children:[(0,Ir.jsxs)("div",{className:Q("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[b.map(C=>{let O=l?.[C]||"default",L=O==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":O==="error"?"border-rose-200 bg-rose-50 text-rose-900":O==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",V=!u&&m===C;return(0,Ir.jsxs)("span",{className:Q("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[V?(0,Ir.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:z=>g(z.target.value),onKeyDown:z=>{if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),E();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{E()}}):(0,Ir.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>N(C),disabled:u,title:"Click to edit",children:C}),(0,Ir.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>x(C),disabled:u,children:"\xD7"})]},C)}),(0,Ir.jsx)("input",{...p,ref:o,className:Q("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:C=>{let O=C.target.value;if(/[\s,]/.test(O)){let L=O.split(/[\s,]+/),V=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(V);return}c(O)},onKeyDown:C=>{if((C.key===","||C.key===" "||C.key==="Enter"||C.key==="Tab")&&s.trim()){C.preventDefault(),y();return}C.key==="Backspace"&&!s&&b.length>0&&(C.preventDefault(),x(b[b.length-1]))},onPaste:C=>{let O=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(O)){C.preventDefault();let L=O.split(/[\s,]+/).filter(Boolean).filter(V=>f(V));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${O}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,Ir.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:C=>C.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,Ir.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,Ir.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,Ir.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:A,disabled:u,children:"Use suggested values"}):null]})]})}var ir=B(xe(),1);var rt=B(te(),1);function _E(e="rate-limit-draft-row"){return mu({key:e,models:[],requests:"",windowValue:"",windowUnit:bo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:bo.custom.rateLimitDefaults,useDefaults:!1})}function jm(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],_E(n)]}function dB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ir.useRef)(null),[a,i]=(0,ir.useState)(!1),l=(0,ir.useMemo)(()=>yo(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ir.useMemo)(()=>yr(n),[n]);(0,ir.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(yo(h))}function p(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function m(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let v=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,rt.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,rt.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:Q("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,rt.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,rt.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),m(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,rt.jsx)("span",{className:"truncate",children:h.label}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,rt.jsx)("span",{className:Q("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,rt.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,rt.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,rt.jsxs)(Pm,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>p(h.target.checked)}),(0,rt.jsx)("span",{children:"All model"})]}),(0,rt.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,rt.jsx)("div",{children:u.map(h=>(0,rt.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,rt.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,rt.jsx)("span",{className:"truncate",children:h})]},h))}):(0,rt.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function Vm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,ir.useRef)(null),c=(0,ir.useRef)(l),d=(0,ir.useMemo)(()=>yr(n),[n]),u=(0,ir.useMemo)(()=>{let g=new Set,y=new Set;for(let x of br(l)){let A=eu(x);if(A){if(g.has(A)){y.add(A);continue}g.add(A)}}return y},[l]),f=(0,ir.useMemo)(()=>l.map(g=>({..._E(g.key),...g,models:yo(g?.models||[])})),[l]);(0,ir.useEffect)(()=>{c.current=l},[l]);function p(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){p(l.map(x=>x.key===g?{...x,...y}:x))}function m(g){p(l.filter(y=>y.key!==g))}function v(g){if(Wf(g))return"";let y=yo(g?.models||[]);if(d.length>0&&y.some(A=>A!=="all"&&!d.includes(A)))return"Use exact provider model ids only.";if(gy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(gy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!cy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=eu({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=br(c.current);Po(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,rt.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,rt.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=Wf(g),A=v(g);return(0,rt.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",A?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,rt.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,rt.jsx)(He,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,rt.jsx)(dB,{value:g.models,onChange:N=>b(g.key,{models:N}),availableModelIds:d,disabled:r})}),(0,rt.jsx)(He,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{ref:y===0?o:null,value:g.requests,onChange:N=>b(g.key,{requests:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,rt.jsx)(He,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsx)(it,{value:g.windowValue,onChange:N=>b(g.key,{windowValue:N.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,rt.jsx)(He,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,rt.jsxs)(Xt,{value:String(g.windowUnit||"minute"),onValueChange:N=>b(g.key,{windowUnit:N}),disabled:r,children:[(0,rt.jsx)(Jt,{children:(0,rt.jsx)(Zt,{placeholder:"Window unit"})}),(0,rt.jsx)(en,{children:cy.map(N=>(0,rt.jsx)(Ct,{value:N,children:N},`${g.key}-${N}`))})]})}),(0,rt.jsx)(H,{type:"button",variant:"ghost",onClick:()=>m(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),A?(0,rt.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:A}):null]},g.key)})}),a?(0,rt.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var gt=B(xe(),1);var LE=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function DE(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function BE(e){if(e===void 0)return!0;if(e===!0)return!1}function IE(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Oi=B(te(),1);function fB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Oi.jsxs)("button",{type:"button",disabled:n,onClick:r,className:Q("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Oi.jsx)("span",{className:Q("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Oi.jsx)("span",{className:Q("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function Fm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Oi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Oi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),LE.map(({key:r,label:o})=>{let a=e[r];return(0,Oi.jsx)(fB,{label:o,value:a,disabled:t,onCycle:()=>n(r,BE(a))},r)})]})}var De=B(te(),1);function zE({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,gt.useMemo)(()=>rC(e),[e]),[f,p]=(0,gt.useState)([]),[b,m]=(0,gt.useState)(""),[v,h]=(0,gt.useState)(!1),[g,y]=(0,gt.useState)({}),[x,A]=(0,gt.useState)({}),[N,E]=(0,gt.useState)(null),[C,O]=(0,gt.useState)(""),[L,V]=(0,gt.useState)(""),[z,G]=(0,gt.useState)({}),Z=(0,gt.useRef)(0),ue=(0,gt.useRef)([]),q=(0,gt.useRef)(new Map),oe=(0,gt.useRef)(new Map),ee=(0,gt.useRef)(""),W=(0,gt.useRef)(""),j=(0,gt.useRef)(null),Ie=(0,gt.useRef)(new Map),ne=(0,gt.useRef)(new Map);function Ve(k={}){return Z.current+=1,{key:`model-${e.id}-draft-${Z.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...k}}function ae(k){ee.current=k}function Se(k=[],{preserveFocus:me=!1}={}){let re=[],Pe=null;for(let T of Array.isArray(k)?k:[]){let M=String(T?.id||""),F=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(M).trim()){re.push({...T,id:M,contextWindow:F});continue}Pe||(Pe={...T,id:"",contextWindow:F})}return Pe||(Pe=Ve(),me&&ae(Pe.key)),[Pe,...re]}function ze(k){A(me=>{if(!me[k])return me;let re={...me};return delete re[k],re})}function U(k,me){y(re=>{if(me)return re[k]?re:{...re,[k]:!0};if(!re[k])return re;let Pe={...re};return delete Pe[k],Pe})}function fe(k,me={},{clearLookupState:re=!1,clearStatus:Pe=!0,closeLookupMenu:T=!1}={}){re&&ze(k),Pe&&E(null),T&&C===k&&O(""),p(M=>Se(M.map(F=>F.key===k?{...F,...me}:F),{preserveFocus:!1}))}(0,gt.useEffect)(()=>{ue.current=f},[f]),(0,gt.useEffect)(()=>{let k=Se(u,{preserveFocus:!0});p(k),ue.current=k,Ie.current.clear(),ne.current.clear(),y({}),A({}),E(null),O(""),V(""),G({})},[u]),(0,gt.useEffect)(()=>{let k=ee.current;if(!k)return;let me=q.current.get(k);if(!me)return;me.scrollIntoView?.({block:"nearest"}),me.focus();let re=me.value?.length||0;me.setSelectionRange?.(re,re),ee.current=""},[f]),(0,gt.useEffect)(()=>{i&&p(k=>{let me=Se(k,{preserveFocus:!1}),re=me.find(Pe=>!String(Pe?.id||"").trim())||me[me.length-1];return re&&ae(re.key),me})},[i]),(0,gt.useEffect)(()=>{C&&(f.some(k=>k.key===C)||O(""))},[f,C]),(0,gt.useEffect)(()=>{L&&(f.some(k=>k.key===L)||V(""))},[f,L]),(0,gt.useEffect)(()=>{G(k=>{let me=new Set(f.map(T=>T.key)),re=!1,Pe={};for(let[T,M]of Object.entries(k)){if(!me.has(T)){re=!0;continue}Pe[T]=M}return re?Pe:k})},[f]),(0,gt.useEffect)(()=>{if(!C||typeof document>"u")return;function k(me){oe.current.get(C)?.contains(me.target)||O("")}return document.addEventListener("mousedown",k),()=>document.removeEventListener("mousedown",k)},[C]);let ve=(0,gt.useMemo)(()=>f.filter(k=>String(k?.id||"").trim()),[f]),ke=(0,gt.useMemo)(()=>u.map(k=>({id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||""),capabilities:k?.capabilities||{}})).filter(k=>k.id),[u]),we=(0,gt.useMemo)(()=>ve.map(k=>({...k,id:String(k?.id||"").trim(),contextWindow:$o(k?.contextWindow||"")})),[ve]),Ee=we.map(k=>k.id),qe=ke.map(k=>k.id),We=Ee.filter(k=>!qe.includes(k)),nn=Os(Ee),Dn=Ee.length>0,cn=new Set(we.filter(k=>{let me=String(k?.contextWindow||"").trim();if(!me)return!1;let re=Number.parseInt(me,10);return!Number.isFinite(re)||re<=0||String(re)!==me}).map(k=>k.key)),xt=we.filter(k=>!String(k?.contextWindow||"").trim()),ht=JSON.stringify(ke)!==JSON.stringify(we.map(k=>({id:k.id,contextWindow:k.contextWindow,capabilities:k.capabilities||{}}))),Ue=t||r||(b!==""||c==="testing"||c==="saving")||v,It=(0,gt.useMemo)(()=>{let k=-1;return f.forEach((me,re)=>{String(me?.id||"").trim()&&(k=re)}),k},[f]),Wt=t?n:Dn?nn?"Model ids must be unique for each provider.":cn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",pn=$s(f.map(k=>k.key));(0,gt.useEffect)(()=>{l?.({isDirty:ht,issue:Wt,locked:Ue,rows:we.map(k=>({...k,contextWindow:$o(k.contextWindow)}))})},[l,ht,Wt,Ue,we]);function wr(k){ze(k),U(k,!1),E(null),C===k&&O(""),L===k&&V(""),G(me=>{if(!Object.prototype.hasOwnProperty.call(me,k))return me;let re={...me};return delete re[k],re}),p(me=>Se(me.filter(re=>re.key!==k)))}function Te(k){p(me=>Se(Ts(me,k,re=>re?.key)))}function et(k){p(me=>Se(Kf(me,k,re=>re?.key)))}function ft(){W.current="",Ea(j.current,!1),j.current=null}async function lo(k,{force:me=!1}={}){let re=String(k||"").trim();if(!re)return Ls({query:re});if(!me&&Ie.current.has(re))return Ie.current.get(re);if(!me&&ne.current.has(re))return ne.current.get(re);let Pe=(async()=>{let T=await xu([re]),M=(Array.isArray(T)?T:[]).find(ce=>String(ce?.query||"").trim()===re)||{query:re},F=Ls(M,{fallbackQuery:re});return Ie.current.set(re,F),F})();ne.current.set(re,Pe);try{return await Pe}finally{ne.current.delete(re)}}async function St(k,{openMenu:me=!1,prefill:re=!1,modelId:Pe=""}={}){let T=ue.current.find(F=>F.key===k),M=String(Pe||T?.id||"").trim();if(!M)return null;me&&O(k),U(k,!0);try{let F=await lo(M);if(A(ce=>({...ce,[k]:F})),re){let ce=rm(F),Je=F?.exactMatch?.capabilities;(ce||Je)&&p(Vt=>Se(Vt.map(Ne=>{if(Ne.key!==k)return Ne;let Y=String(Ne?.id||"").trim();if(!Y||Y!==M)return Ne;let ge={};return ce&&!String(Ne?.contextWindow||"").trim()&&(ge.contextWindow=ce),Je&&!IE(Ne.capabilities)&&(ge.capabilities=DE(Ne.capabilities,Je)),Object.keys(ge).length>0?{...Ne,...ge}:Ne}),{preserveFocus:!1}))}return F}catch(F){let ce=F instanceof Error?F.message:String(F),Je={query:M,status:"error",error:ce,options:[]};return A(Vt=>({...Vt,[k]:Je})),Je}finally{U(k,!1)}}async function Re(k=[]){let me=new Set(Array.isArray(k)?k:[]),re=we.filter(Pe=>!Pe.id||String(Pe?.contextWindow||"").trim()?!1:me.size===0?!0:me.has(Pe.key)).map(Pe=>({key:Pe.key,id:Pe.id}));if(re.length!==0){h(!0),E(null);try{let Pe=await xu(re.map(Ne=>Ne.id)),T=y1(Pe),M=new Map(re.map(Ne=>[Ne.key,Ne]));for(let Ne of T.values())Ne?.query&&Ie.current.set(Ne.query,Ne);let F=Array.isArray(ue.current)?ue.current:[],ce=0,Je=0,Vt=F.map(Ne=>{let Y=M.get(Ne.key);if(!Y)return Ne;let ge=String(Ne?.id||"").trim(),Un=String(Ne?.contextWindow||"").trim();if(!ge||ge!==Y.id||Un)return Ne;let ki=T.get(ge)||Ls({query:ge}),_i=rm(ki);return _i?(ce+=1,{...Ne,contextWindow:_i}):(Je+=1,Ne)});p(Se(Vt,{preserveFocus:!1})),E({tone:ce>0?"success":"warning",message:ce>0?`Filled ${ce} context size${ce===1?"":"s"}${Je>0?`; ${Je} still need a manual value`:""}.`:`Could not fill ${Je} model${Je===1?"":"s"}.`})}catch(Pe){E({tone:"error",message:Pe instanceof Error?Pe.message:String(Pe)})}finally{h(!1)}}}async function gn(){if(Ue||Wt||!ht)return!1;let k=xo(e)==="api"&&We.length>0;m(k?"testing":"saving");try{return await o(we.map(me=>({...me,contextWindow:$o(me.contextWindow)})))}finally{m("")}}return(0,De.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,De.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,De.jsx)("div",{className:"space-y-2",children:f.map((k,me)=>{let re=String(k?.id||"").trim(),Pe=String(k?.contextWindow||"").trim(),T=!!re,M=T?ve.findIndex(Y=>Y.key===k.key):-1,F=x[k.key]||null,ce=!!g[k.key],Je=C===k.key&&!!re,Vt=cn.has(k.key),Ne=re&&s?.[re]||"default";return(0,De.jsxs)("div",{ref:pn(k.key),"data-reorder-row":"true",onDragOver:Y=>{!Ue&&W.current&&W.current!==k.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ue)return;Y.preventDefault();let ge=Y.dataTransfer.getData("text/plain")||W.current;ft(),p(Un=>Se($f(Un,ge,k.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",Vt?"border-amber-200 bg-amber-50/70":null,!Vt&&Ne==="success"?"border-emerald-200 bg-emerald-50/70":null,!Vt&&Ne==="error"?"border-rose-200 bg-rose-50/70":null,!Vt&&Ne==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,De.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,De.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ue?"cursor-grab":"opacity-45"),draggable:!Ue&&T,onDragStart:Y=>{if(Ue||!T)return;let ge=Ms(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",k.key),ge&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ge,20,20),ft(),W.current=k.key,j.current=ge,Ea(ge,!0)},onDragEnd:ft,title:T?"Drag to reorder":"New model draft row",children:(0,De.jsx)(Ns,{className:"h-4 w-4"})}),(0,De.jsx)(Oa,{disabled:Ue||!T||M<=0,label:!T||M<=0?"Already first":`Move ${k.id||`model ${M+1}`} up`,onClick:()=>Te(k.key)}),(0,De.jsx)(Sl,{disabled:Ue||!T||me>=It,label:!T||me>=It?"Already last":`Move ${k.id||`model ${M+1}`} down`,onClick:()=>et(k.key)}),(0,De.jsx)(it,{ref:Y=>{Y?q.current.set(k.key,Y):q.current.delete(k.key)},value:k.id,onChange:Y=>fe(k.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ue}),(0,De.jsxs)("div",{ref:Y=>{Y?oe.current.set(k.key,Y):oe.current.delete(k.key)},className:"relative min-w-0",children:[(0,De.jsx)(it,{value:L===k.key?z[k.key]??bu(k.contextWindow):g1(k.contextWindow),onChange:Y=>{let ge=Y.target.value,Un=$o(ge);G(ki=>({...ki,[k.key]:bu(Un)})),fe(k.key,{contextWindow:Un},{clearStatus:!1})},onBlur:Y=>{V(ge=>ge===k.key?"":ge),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,k.key))return ge;let Un={...ge};return delete Un[k.key],Un}),fe(k.key,{contextWindow:$o(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(V(k.key),G(Y=>({...Y,[k.key]:bu(k.contextWindow)})),St(k.key,{openMenu:!0}))},onClick:()=>{re&&St(k.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),St(k.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),O(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ue||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),Je?(0,De.jsx)(Pm,{open:Je,anchorRef:{current:oe.current.get(k.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ce?(0,De.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,De.jsx)(Br,{}),"Fetching size options for ",(0,De.jsx)("code",{children:re}),"."]}):F?.status==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:F.error||"Could not load suggested sizes."}):F?.options?.length>0?(0,De.jsx)("div",{className:"space-y-1",children:F.options.map(Y=>(0,De.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:Ue,onMouseDown:ge=>ge.preventDefault(),onClick:()=>{G(ge=>({...ge,[k.key]:bu(Y.contextWindow)})),fe(k.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),O("")},title:`Use ${Y.label}`,children:[(0,De.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,De.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,De.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,De.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,De.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,De.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Ho(Y.contextWindow)})]})]},Y.key))}):(0,De.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,De.jsx)("code",{children:F?.query||re}),"."]})}):null]}),T?(0,De.jsx)(H,{type:"button",variant:"ghost",className:Rs,onMouseDown:Y=>Y.preventDefault(),onClick:()=>wr(k.key),disabled:Ue,children:"Remove"}):(0,De.jsx)(H,{type:"button",variant:"ghost",className:Q(Rs,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,De.jsx)(Fm,{capabilities:k.capabilities||{},disabled:Ue,onChange:(Y,ge)=>{let Un={...k.capabilities||{}};ge===void 0?delete Un[Y]:Un[Y]=ge,fe(k.key,{capabilities:Un})}}),ce?(0,De.jsx)("div",{className:"flex justify-end text-xs",children:(0,De.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,De.jsx)(Br,{}),"Looking up sizes"]})}):null,Vt?(0,De.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,De.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Ne==="pending"?(0,De.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Ne==="success"?(0,De.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Ne==="error"?(0,De.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},k.key)})}),Wt?(0,De.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Wt}):null,N?(0,De.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",N.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":N.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:N.message}):null,(0,De.jsx)("div",{className:Q("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,De.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,De.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Testing new models before save."]}):c==="saving"?(0,De.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,De.jsx)(Br,{}),d||"Saving provider models."]}):We.length>0&&xo(e)==="api"?`${We.length} new model${We.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,De.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ue&&xt.length>0?(0,De.jsx)(H,{type:"button",variant:"outline",onClick:()=>{Re()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ue&&ht?(0,De.jsx)(H,{type:"button",variant:"ghost",onClick:()=>{y({}),A({}),E(null),O(""),Ie.current.clear(),ne.current.clear(),p(Se(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&ht&&!Wt?(0,De.jsx)(H,{type:"button",onClick:()=>{gn()},disabled:Ue,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var he=B(te(),1);function mB({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,tn.useMemo)(()=>jC(e),[e]),[c,d]=(0,tn.useState)(s),[u,f]=(0,tn.useState)(!1),[p,b]=(0,tn.useState)(!1),[m,v]=(0,tn.useState)(!1),[h,g]=(0,tn.useState)("provider"),[y,x]=(0,tn.useState)(""),[A,N]=(0,tn.useState)(0),[E,C]=(0,tn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[O,L]=(0,tn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),V=(0,tn.useRef)(null),z=(0,tn.useRef)(null),G=(0,tn.useRef)(null),Z=(0,tn.useRef)(null);(0,tn.useEffect)(()=>{d(s)},[s]);let q=xo(e)!=="api",oe=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),ee=Ta(e),W=q?"":LC(e?.rateLimits),j=q?[]:rr(c?.endpoints,c?.endpointDraft),Ie=q?[]:br(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:j,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:hy(c?.rateLimitRows)}),Ve=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:yr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:hy(s?.rateLimitRows)}),ae=ne!==Ve,Se=!!i||l,ze=new Set((Array.isArray(E.rows)?E.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),U=O.failedModelIds.filter(Te=>ze.has(Te)),fe=Se||O.phase==="testing"||O.phase==="saving",ve=q?"":Po(Ie,{knownModelIds:oe,requireAtLeastOne:!0}),ke=i||(String(c?.id||"").trim()?ll.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&j.length===0?"Add at least one endpoint for API Key providers.":!q&&j.some(Te=>!Si(Te))?"All endpoints must start with http:// or https://.":ve:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),we=q?c:{...c,endpoints:j,endpointDraft:""},Ee=!!E.isDirty,qe=ae||Ee,We=[ae?"provider settings":"",Ee?"model list":""].filter(Boolean),nn=[ae&&ke?`Provider: ${ke}`:"",Ee&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Dn=Se||O.phase==="testing"||O.phase==="saving"||ae&&!!ke||Ee&&(!!E.issue||E.locked)||typeof a!="function";async function cn(){let Te=await r(e.id,we);return Te&&Ue(),Te}async function xt(Te){let et=await o(e.id,Te,{providerDraft:ae?we:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}});return et&&Ue(),et}function ht(){d(s)}let yt=(0,tn.useCallback)(Te=>{C(Te)},[]);function Ue(){b(!1),v(!1),f(!1),g("provider"),x(""),d(s),C({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function It(){let Te=(Array.isArray(E.rows)?E.rows:[]).filter(ft=>!U.includes(String(ft?.id||"").trim()));return Te.length===0&&!ae||await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?Te:null,onModelTestStateChange:ft=>{L({phase:String(ft?.phase||""),modelStates:ft?.modelStates&&typeof ft.modelStates=="object"?ft.modelStates:{},failedModelIds:Array.isArray(ft?.failedModelIds)?ft.failedModelIds:[],message:String(ft?.message||"")})}})?(Ue(),!0):(g("models"),!1)}(0,tn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,tn.useEffect)(()=>{U.length>0||!m||v(!1)},[U,m]),(0,tn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let et=y==="endpoint"?V.current:G.current,ft=y==="endpoint"?z.current:Z.current;et?.scrollIntoView?.({block:"nearest"}),ft?.focus?.(),ft?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function Wt(Te="provider",et=""){b(!1),v(!1),g(Te),x(et),Te==="models"&&et==="models"&&N(ft=>ft+1),f(!0)}function pn(){if(!fe){if(U.length>0){b(!1),v(!0);return}if(qe){b(!0);return}Ue()}}async function wr(){if(Dn)return;if(!await a(e.id,{providerDraft:ae?we:null,modelRows:Ee?E.rows:null,onModelTestStateChange:et=>{L({phase:String(et?.phase||""),modelStates:et?.modelStates&&typeof et.modelStates=="object"?et.modelStates:{},failedModelIds:Array.isArray(et?.failedModelIds)?et.failedModelIds:[],message:String(et?.message||"")})}})){Ee&&(b(!1),g("models"));return}Ue()}return(0,he.jsxs)(he.Fragment,{children:[(0,he.jsx)(Lt,{children:(0,he.jsxs)(Dt,{className:"space-y-3 p-5",children:[(0,he.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,he.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,he.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,he.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,he.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,he.jsxs)(H,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>Wt("provider"),disabled:Se,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,he.jsx)(Es,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,he.jsx)(H,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,he.jsx)(lu,{className:"h-4 w-4"})})]})]}),oe.length>0?(0,he.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:oe.map(Te=>(0,he.jsx)(RE,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,he.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,he.jsx)(En,{open:u,onClose:pn,title:`Edit \xB7 ${e.id}`,description:O.phase==="testing"?O.message||"Testing new models before save.":O.phase==="saving"?O.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:fe,closeOnBackdrop:!fe,closeOnEscape:!fe,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,he.jsxs)(bi,{value:h,onValueChange:g,children:[(0,he.jsxs)(vi,{className:"w-full justify-start",children:[(0,he.jsx)(Gn,{value:"provider",children:"Provider"}),(0,he.jsx)(Gn,{value:"models",children:"Model list"})]}),(0,he.jsxs)(qn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,he.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,he.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,he.jsxs)("div",{children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,he.jsx)(_e,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,he.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,he.jsx)(He,{label:"Provider name",stacked:!0,children:(0,he.jsx)(it,{value:c.name,onChange:Te=>d(et=>({...et,name:Te.target.value})),disabled:fe})}),(0,he.jsx)(He,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,he.jsx)(it,{value:c.id,onChange:Te=>d(et=>({...et,id:Dr(Te.target.value)})),disabled:fe})})]}),q?null:(0,he.jsxs)("div",{className:"space-y-3",children:[(0,he.jsx)(He,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,he.jsx)(Hs,{value:c.credentialInput||"",onChange:Te=>d(et=>({...et,credentialInput:Te.target.value})),disabled:fe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(c.credentialInput)})}),(0,he.jsx)("div",{ref:V,children:(0,he.jsx)(He,{label:"Endpoints",hint:ee.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,he.jsx)(ku,{values:c.endpoints,onChange:Te=>d(et=>({...et,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(et=>({...et,endpointDraft:Te})),commitOnBlur:!0,disabled:fe,isValueValid:Si,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,he.jsx)("div",{ref:G,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,he.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,he.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,he.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:jm(Te.rateLimitRows)})),disabled:fe,children:"Add rate limit"}),children:(0,he.jsx)(Vm,{rows:c.rateLimitRows,onChange:Te=>d(et=>({...et,rateLimitRows:Te})),availableModelIds:oe,disabled:fe,inputRef:Z})})})})]}),ke?(0,he.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:ke}):null,(0,he.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!fe&&ae?(0,he.jsx)(H,{type:"button",variant:"ghost",onClick:ht,children:"Reset"}):null,ae&&!ke?(0,he.jsx)(H,{type:"button",onClick:()=>{cn()},disabled:fe,children:O.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,he.jsx)(qn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,he.jsx)(zE,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:A,onStateChange:yt,onApply:xt,testStateByModel:O.modelStates,savePhase:O.phase,saveMessage:O.message})})]})}),(0,he.jsx)(AE,{open:p,onKeepEditing:()=>b(!1),onDiscardAndClose:Ue,onSaveAndClose:wr,saveDisabled:Dn,dirtyLabels:We,details:nn}),(0,he.jsx)(CE,{open:m,failedModelIds:U,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:It,removeDisabled:fe||typeof a!="function"})]})}function pB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,he.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,he.jsx)(mB,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,he.jsx)(Lt,{children:(0,he.jsx)(Dt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,he.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function PE({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,he.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,he.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,he.jsxs)("div",{className:"min-w-0",children:[(0,he.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,he.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,he.jsx)(H,{onClick:t,children:"Add provider"})]}),(0,he.jsx)("div",{className:"mt-4",children:(0,he.jsx)(pB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var _u=B(xe(),1);var ie=B(te(),1);function UE({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b,onSaveSettings:m,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let A=a?.ollama||{},[N,E]=(0,_u.useState)(A.baseUrl||"http://localhost:11434"),[C,O]=(0,_u.useState)(A.autoConnect!==!1),[L,V]=(0,_u.useState)(A.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,ie.jsxs)("div",{className:"space-y-4",children:[(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,ie.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,ie.jsx)(_e,{variant:"success",children:"Connected"}):(0,ie.jsx)(_e,{variant:"outline",children:"Disconnected"})]}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,ie.jsx)(H,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,ie.jsx)(H,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,ie.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Models"}),(0,ie.jsxs)("div",{className:"flex gap-2",children:[(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,ie.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,ie.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,ie.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,ie.jsx)(gB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:p,onAutoLoad:b},G.name))})]})}),(0,ie.jsx)(Lt,{children:(0,ie.jsxs)(Dt,{className:"p-4 space-y-3",children:[(0,ie.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,ie.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,ie.jsx)(it,{value:N,onChange:G=>E(G.target.value),placeholder:"http://localhost:11434"})]}),(0,ie.jsxs)("div",{children:[(0,ie.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,ie.jsxs)(Xt,{value:L,onValueChange:V,children:[(0,ie.jsx)(Jt,{children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(G=>(0,ie.jsx)(Ct,{value:G.value,children:G.label},G.value))})]})]})]}),(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,ie.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,ie.jsx)(Io,{checked:C,onCheckedChange:O})]}),(0,ie.jsx)(H,{size:"sm",onClick:()=>m({baseUrl:N,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function gB({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,_u.useState)(e.contextLength||0);return(0,ie.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,ie.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,ie.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,ie.jsx)(_e,{variant:"outline",children:e.parameterSize||"?"}),(0,ie.jsx)(_e,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,ie.jsxs)(_e,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,ie.jsx)(_e,{variant:"default",children:"Available"}),e.isPinned&&(0,ie.jsx)(_e,{variant:"warning",children:"Pinned"})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,ie.jsx)(H,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,ie.jsx)(H,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,ie.jsx)(H,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,ie.jsxs)(Xt,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,ie.jsx)(Jt,{className:"h-7 w-[160px] text-xs",children:(0,ie.jsx)(Zt,{})}),(0,ie.jsx)(en,{children:dy.map(f=>(0,ie.jsx)(Ct,{value:f.value,children:f.label},f.value))})]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,ie.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,ie.jsx)(it,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,ie.jsxs)("div",{className:"flex items-center gap-2",children:[(0,ie.jsx)(Io,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,ie.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,ie.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var QE=B(xe(),1);var Ln=B(xe(),1);function Hm(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Lu={balanced:{label:"Balanced",contextWindow:65536},"long-context":{label:"Long Context",contextWindow:2e5},"low-memory":{label:"Low Memory",contextWindow:16384},"fast-response":{label:"Fast Response",contextWindow:8192}};function hB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function $m(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Rb(e,t=new Set){let n=String(e||"").trim()||"local/local-model";if(!t.has(n))return n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;return`${n}-${r}`}function jE(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function VE(e){return String(e||"").replace(/\.[^.]+$/u,"")}function yB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function FE(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=jE(t),a=$m(`${n}-${VE(r)}`)||"local-model";return{id:Rb(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function Nb(e="",t={}){let n=String(e||"").trim(),r=yB(n),o=jE(t),a=$m(VE(r))||"local-model";return{id:Rb(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Km(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function HE(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Lu[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Rb(`local/${$m(i)}`,a);return{key:$m(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function $E(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Lu.balanced.contextWindow,capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function KE(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Km(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function GE(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:Hm(r,o=>o?.enabled===!0),preloadedVariants:Hm(r,o=>o?.preload===!0),staleAssets:Hm(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:Hm(t,o=>hB(o?.status)==="running")}}var st=B(te(),1);function qE({draft:e,baseModel:t=null,duplicateIds:n=new Set,saveDisabled:r=!1,saveDisabledReason:o="",saving:a=!1,onChange:i,onSave:l,onCancel:s}){return(0,st.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,st.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,st.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,st.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,st.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,st.jsx)(He,{label:"Variant name",stacked:!0,children:(0,st.jsx)(it,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,st.jsxs)(He,{label:"Model id",stacked:!0,children:[(0,st.jsx)(it,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,st.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,st.jsx)(He,{label:"Preset",stacked:!0,children:(0,st.jsxs)(Xt,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,st.jsx)(Jt,{children:(0,st.jsx)(Zt,{})}),(0,st.jsxs)(en,{children:[(0,st.jsx)(Ct,{value:"balanced",children:"Balanced"}),(0,st.jsx)(Ct,{value:"long-context",children:"Long Context"}),(0,st.jsx)(Ct,{value:"low-memory",children:"Low Memory"}),(0,st.jsx)(Ct,{value:"fast-response",children:"Fast Response"})]})]})}),(0,st.jsx)(He,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,st.jsx)(it,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,st.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,st.jsx)(He,{label:"Enabled in router",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,st.jsx)(Io,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,st.jsx)(He,{label:"Preload on startup",stacked:!0,children:(0,st.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,st.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,st.jsx)(Io,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,st.jsx)(He,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,st.jsx)(Fm,{capabilities:e?.capabilities||{},onChange:(c,d)=>{let u={...e?.capabilities||{}};typeof d=="boolean"?u[c]=d:delete u[c],i?.({...e,capabilities:u})}})}),o?(0,st.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:o}):null,(0,st.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,st.jsx)(H,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,st.jsx)(H,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=B(te(),1);function bB(e){let t=String(e||"").trim().toLowerCase();return t?t==="running"?{label:"Running",variant:"success"}:t==="stale"?{label:"Stale runtime",variant:"warning"}:t==="invalid"?{label:"Invalid runtime",variant:"warning"}:t==="stopped"?{label:"Stopped",variant:"outline"}:{label:t,variant:"outline"}:{label:"Needs validation",variant:"outline"}}function WE(e){let t=String(e||"").trim().toLowerCase();return!t||t==="available"?{label:"Available",variant:"success"}:t==="stale"?{label:"Stale",variant:"warning"}:t==="missing"?{label:"Missing",variant:"warning"}:t==="invalid"?{label:"Invalid",variant:"warning"}:{label:t,variant:"outline"}}function vB(e){let t=String(e||"").trim().toLowerCase();return!t||t==="safe"?{label:"Safe",variant:"success"}:t==="tight"?{label:"Tight",variant:"warning"}:t==="over-budget"?{label:"Over budget",variant:"danger"}:{label:t,variant:"outline"}}function xB(e){return String(e||"").includes("managed")?"Managed":"Attached"}function Ks(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=["B","KB","MB","GB","TB"],r=t,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o+=1;return`${r>=10||o===0?r.toFixed(0):r.toFixed(1)} ${n[o]}`}function Eb(e){return/\.gguf$/i.test(String(e||"").trim())}function SB(e){let t=String(e||"").trim();if(!t)return"";let n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>0?t.slice(0,n):""}function wB({candidate:e,busy:t=!1,onUseRuntime:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.label||e?.path}),(0,_.jsx)(_e,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(_e,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(_e,{variant:"success",children:"Configured"}):null,(0,_.jsx)(_e,{variant:e?.ok===!1?"warning":"outline",children:e?.ok===!1?"Needs review":"Detected"})]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path}),e?.directory?(0,_.jsxs)("div",{className:"font-mono text-xs text-muted-foreground/80",children:["Dir: ",e.directory]}):null,e?.errorMessage?(0,_.jsx)("div",{className:"text-xs text-amber-900",children:e.errorMessage}):null]}),(0,_.jsx)("div",{className:"flex shrink-0 items-center",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>n?.(e?.path),disabled:t||e?.current===!0||e?.ok===!1,children:e?.current===!0?"Selected":t?"Selecting\u2026":"Use runtime"})})]})})}function AB({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=WE(e?.availability),s=Ks(e?.metadata?.sizeBytes),c=String(e?.metadata?.repo||"").trim(),d=String(e?.metadata?.file||"").trim(),u=!n&&l.label==="Available",f=l.label!=="Available";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.displayName||e?.id}),(0,_.jsx)(_e,{variant:"outline",children:xB(e?.source)}),(0,_.jsx)(_e,{variant:l.variant,children:l.label}),s?(0,_.jsx)(_e,{variant:"outline",children:s}):null]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path||"Path not recorded"}),c||d?(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c||"Managed file",d?` \u2022 ${d}`:""]}):null,(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t," variant",t===1?"":"s"," attached to this base model."]})]}),(0,_.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function CB({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=WE(e?.availability||t?.availability),a=vB(e?.capacityState),i=o.label!=="Available"?o.label:String(n?.label||"").trim()||"Stopped";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.name||e?.id}),(0,_.jsx)(_e,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(_e,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(_e,{variant:a.variant,children:a.label}),(0,_.jsx)(_e,{variant:o.variant,children:o.label})]}),(0,_.jsx)("div",{className:"font-mono text-xs text-muted-foreground",children:e?.id||"Missing model id"}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Base model: ",t?.displayName||t?.id||e?.baseModelId," \u2022 Context: ",Ho(e?.contextWindow)]}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Runtime state: ",i]})]}),(0,_.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function RB({result:e,downloading:t=!1,onDownload:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.file}),e.quantization?(0,_.jsx)(_e,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(_e,{variant:"outline",children:r},`${e.repo}:${e.file}:${r}`))]}),(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:e.repo}),e.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(e.sizeBytes)}):null,e.disabledReason?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:e.disabledReason}):null,e.recommendation?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:e.recommendation}):null]}),(0,_.jsx)(H,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function YE({runtime:e={},library:t={},variants:n={},disableEditsReason:r="",onSelectRuntime:o,onStartRuntime:a,onStopRuntime:i,onSaveRuntimeSettings:l,onSaveVariant:s,onRefreshLibrary:c,onAttachModel:d,onLocateModel:u,onRemoveModel:f,onDownloadManagedModel:p}){let b=bB(e?.status),m=(0,Ln.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Ln.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||SB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,A=String(e?.status||"").trim().toLowerCase()==="running",[N,E]=(0,Ln.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,O]=(0,Ln.useState)(!1),[L,V]=(0,Ln.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Ln.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[Z,ue]=(0,Ln.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,oe]=(0,Ln.useState)(!1),[ee,W]=(0,Ln.useState)(""),[j,Ie]=(0,Ln.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,Ve]=(0,Ln.useState)(e?.startWithRouter===!0),[ae,Se]=(0,Ln.useState)({loading:!1,error:"",runtime:null});(0,Ln.useEffect)(()=>{Ve(e?.startWithRouter===!0)},[e?.startWithRouter]);let ze=(0,Ln.useMemo)(()=>{let T=String(N?.draft?.id||"").trim(),M=String(N?.draft?.key||"").trim();return new Set(v.filter(F=>String(F?.key||"").trim()!==M).map(F=>String(F?.id||"").trim()).filter(F=>F&&F===T))},[N?.draft?.id,N?.draft?.key,v]),U=N?.baseModelId&&t[N.baseModelId]||null,fe=KE(N?.draft||{},ze),ve=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Eb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",ke=String(z.filePath||"").trim()?Eb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Ln.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function we(){Se(T=>({...T,loading:!0,error:""}));try{let T=await Ny();Se({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){Se({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Ln.useEffect)(()=>{let T=!1;async function M(){Se(F=>({...F,loading:!0,error:""}));try{let F=await Ny();if(T)return;Se({loading:!1,error:"",runtime:F?.runtime||null})}catch(F){if(T)return;Se({loading:!1,error:F instanceof Error?F.message:String(F),runtime:null})}}return M(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function Ee(T){let M=String(T||"").trim();if(!(!M||!o)){Ie(F=>({...F,selecting:!0,error:""}));try{await o(M)&&await we()}catch(F){Ie(ce=>({...ce,selecting:!1,error:F instanceof Error?F.message:String(F)}));return}Ie(F=>({...F,selecting:!1,error:""}))}}async function qe(){if(!(!a||!h)){Ie(T=>({...T,starting:!0,error:""}));try{await a(),await we(),Ie(T=>({...T,starting:!1,error:""}))}catch(T){Ie(M=>({...M,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function We(){if(i){Ie(T=>({...T,stopping:!0,error:""}));try{await i(),await we(),Ie(T=>({...T,stopping:!1,error:""}))}catch(T){Ie(M=>({...M,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function nn(){if(l){Ie(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await we(),Ie(T=>({...T,savingSettings:!1,error:""}))}catch(T){Ie(M=>({...M,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Dn(){Ie(T=>({...T,selecting:!0,error:""}));try{let T=await om("runtime"),M=String(T?.selection?.path||"").trim();if(!M){Ie(ce=>({...ce,selecting:!1,error:""}));return}await o?.(M)&&await we(),Ie(ce=>({...ce,selecting:!1,error:""}))}catch(T){Ie(M=>({...M,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function cn(T){E({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:HE(T,n)})}function xt(T){E({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:$E(T)})}function ht(){C||E({open:!1,draft:null,baseModelId:"",title:""})}async function yt(){if(!N?.draft||fe)return;O(!0);let T=!1;try{let M={...N.draft,contextWindow:Km(N.draft.contextWindow)};T=await s?.(M)}finally{O(!1)}T&&E({open:!1,draft:null,baseModelId:"",title:""})}function Ue(){V({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function It(){L.saving||V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function Wt(){if(ve)return;V(M=>({...M,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{V(M=>({...M,saving:!1}))}T&&V({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function pn(T){let M=Nb(T,t);V(F=>({...F,draft:{id:M.id,displayName:M.displayName,filePath:M.filePath},error:""}))}async function wr(T){V(M=>({...M,browseBusy:!0,error:""}));try{let M=await om(T),F=String(M?.selection?.path||"").trim(),ce=Array.isArray(M?.matches)?M.matches:[];F&&T==="file"&&ce.length>0?pn(ce[0].filePath||F):V(Je=>({...Je,draft:{...Je.draft,filePath:F||Je.draft.filePath},scanMatches:ce,error:ce.length===0&&T==="directory"&&F?"No GGUF files were found in that folder.":""}))}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){V(M=>({...M,scanBusy:!0,error:""}));try{let M=await T1(T),F=Array.isArray(M?.matches)?M.matches:[];V(ce=>({...ce,scanMatches:F,error:F.length===0?"No GGUF files were found at that path.":""})),F.length===1&&Eb(F[0]?.filePath)&&pn(F[0].filePath)}catch(M){V(F=>({...F,error:M instanceof Error?M.message:String(M)}))}finally{V(M=>({...M,scanBusy:!1}))}}}function et(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function ft(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function lo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(M=>({...M,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(M=>({...M,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function St(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await om("file"),M=String(T?.selection?.path||"").trim();M&&G(F=>({...F,filePath:M}))}catch(T){G(M=>({...M,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Re(T){if(!(!T?.id||!(typeof window>"u"||window.confirm(`Remove local model "${T.displayName||T.id}" and all of its variants?`)))){W(`remove:${T.id}`);try{await f?.(T.id)}finally{W("")}}}async function gn(){oe(!0);try{await c?.({silent:!1})}finally{oe(!1)}}async function k(T=null){let M=T??Z.query;ue(F=>({...F,searching:!0,error:""}));try{let F=await x1({query:M,expectedContextWindow:2e5});ue(ce=>({...ce,query:M,results:F,searching:!1,error:""}))}catch(F){ue(ce=>({...ce,query:M,searching:!1,error:F instanceof Error?F.message:String(F)}))}}function me(){ue(T=>({...T,open:!0,error:"",progressLabel:""})),(Z.results||[]).length===0&&!Z.searching&&k("")}function re(){Z.downloadingKey||ue(T=>({...T,open:!1,error:"",progressLabel:""}))}async function Pe(T){let M=FE(T,t),F=`${T.repo}:${T.file}`;ue(Je=>({...Je,downloadingKey:F,progressLabel:"Preparing download\u2026",error:""}));let ce=!1;try{ce=await p?.({...M,repo:T.repo,file:T.file},{onMessage:Je=>{if(Je?.type==="progress"){let Vt=Number(Je?.event?.receivedBytes||0),Ne=Number(Je?.event?.totalBytes||0),Y=Ne>0?`${Ks(Vt)} / ${Ks(Ne)}`:Vt>0?Ks(Vt):"Downloading\u2026";ue(ge=>({...ge,progressLabel:Y}))}}})}finally{ue(Je=>({...Je,downloadingKey:"",progressLabel:""}))}ce&&ue(Je=>({...Je,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"llama.cpp Runtime"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Native runtime configuration"})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[A?(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:We,disabled:j.stopping,children:j.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(H,{size:"sm",onClick:qe,disabled:!h||j.starting,children:j.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(_e,{variant:b.variant,children:b.label})]})]}),(0,_.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Selected Command"}),(0,_.jsx)("div",{className:"mt-2 break-all font-mono text-sm text-foreground",children:h||"Not configured yet"}),g?(0,_.jsxs)("div",{className:"mt-2 font-mono text-xs text-muted-foreground",children:["Dir: ",g]}):null]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Address"}),(0,_.jsx)("div",{className:"mt-2 font-mono text-sm text-foreground",children:`${y}:${x}`})]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Start With Router"}),(0,_.jsx)("div",{className:"mt-2 text-sm text-foreground",children:e?.startWithRouter===!0?"Enabled":"Disabled"})]})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Settings"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Auto-start launches the selected `llama-server` when the router starts."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,_.jsx)("label",{className:"text-sm text-foreground",children:"Auto-start with router"}),(0,_.jsx)(Io,{checked:ne,onCheckedChange:Ve,disabled:!!r||j.savingSettings}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:nn,disabled:!!r||j.savingSettings,children:j.savingSettings?"Saving\u2026":"Save Settings"})]})]}),(0,_.jsxs)("div",{className:"space-y-3",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Detected runtimes"}),(0,_.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Auto-search checks `PATH`, Homebrew, and common source-build locations such as `~/src/llama-cpp-turboquant/build/bin`. TurboQuant builds are labeled explicitly when detected."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Dn,disabled:j.selecting,children:j.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>{we()},disabled:ae.loading||j.selecting,children:ae.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),j.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:j.error}):null,ae.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ae.error}):null,(ae.runtime?.candidates||[]).length===0&&!ae.loading?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-4 text-sm text-muted-foreground",children:"No local `llama-server` candidates were detected yet. If TurboQuant is already built outside the common search locations, use Browse runtime and point the router at the binary directly."}):(0,_.jsx)("div",{className:"space-y-3",children:(ae.runtime?.candidates||[]).map(T=>(0,_.jsx)(wB,{candidate:T,busy:j.selecting,onUseRuntime:Ee},T.path||T.id))})]})]})}),(0,_.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Library"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Tracked GGUF base models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Create router-facing variants from managed Hugging Face downloads or attached GGUF paths. Missing or stale files stay visible until you repair or remove them."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Ue,disabled:!!r,children:"Attach path"}),(0,_.jsx)(H,{size:"sm",onClick:me,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:gn,disabled:!!r||q,children:q?"Refreshing\u2026":"Refresh status"})]})]}),r?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:r}):null,(0,_.jsx)("div",{className:"space-y-3",children:m.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No `llama.cpp` base models are tracked yet. Managed downloads and attached GGUF files will land here."}):m.map(T=>(0,_.jsx)(AB,{entry:T,variantCount:v.filter(M=>M?.baseModelId===T.id).length,disabledReason:r,busy:ee===`remove:${T.id}`,onCreateVariant:cn,onLocateModel:et,onRemoveModel:Re},T.id))})]})}),(0,_.jsx)(Lt,{children:(0,_.jsxs)(Dt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Variants"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Router-visible local models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Variants behave like standard router models after save, including alias usage, context-window metadata, and capability hints."})]}),(0,_.jsx)("div",{className:"space-y-3",children:v.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No local variants yet. Start from a base model on the left, choose a preset, and expose the saved variant to aliases and route pickers."}):v.map(T=>(0,_.jsx)(CB,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:xt},T.key||T.id))})]})})]}),(0,_.jsx)(En,{open:L.open,onClose:It,title:"Attach local GGUF",description:"Register an existing GGUF file in place. The router stores metadata only and does not copy the file.",contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:L.draft.filePath,onChange:T=>{let M={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let F=Nb(T.target.value,t);String(L.draft.id||"").trim()||(M.id=F.id),String(L.draft.displayName||"").trim()||(M.displayName=F.displayName)}V(F=>({...F,draft:M}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>wr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(He,{label:"Model name",stacked:!0,children:(0,_.jsx)(it,{value:L.draft.displayName,onChange:T=>V(M=>({...M,draft:{...M.draft,displayName:T.target.value}}))})}),(0,_.jsx)(He,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(it,{value:L.draft.id,onChange:T=>V(M=>({...M,draft:{...M.draft,id:T.target.value}}))})}),L.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:L.error}):null,(L.scanMatches||[]).length>0?(0,_.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/60 p-3",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Scanned GGUF files"}),(L.scanMatches||[]).map(T=>(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2 rounded-xl border border-border/60 bg-background/80 px-3 py-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-medium text-foreground",children:T.fileName}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:T.filePath}),T.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Ks(T.sizeBytes)}):null]}),(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:()=>pn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,ve?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ve}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:It,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:Wt,disabled:!!ve||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(En,{open:z.open,onClose:ft,title:"Locate local model",description:`Update the file path for ${z.displayName||"this model"} without changing any attached variants.`,contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(He,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(it,{value:z.filePath,onChange:T=>G(M=>({...M,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(H,{size:"sm",variant:"outline",onClick:St,disabled:z.browseBusy||z.saving,children:z.browseBusy?"Browsing\u2026":"Browse file"})})]})}),z.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:z.error}):null,ke?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ke}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(H,{type:"button",variant:"outline",onClick:ft,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(H,{type:"button",onClick:lo,disabled:!!ke||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(En,{open:Z.open,onClose:re,title:"Download GGUF from Hugging Face",description:"Public Hugging Face search only for v1. Unsupported or oversized files stay visible with explicit reasons instead of disappearing.",contentClassName:"max-w-4xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,_.jsx)(He,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(it,{value:Z.query,onChange:T=>ue(M=>({...M,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(H,{type:"button",onClick:()=>k(),disabled:Z.searching,children:Z.searching?"Searching\u2026":"Search"})]}),Z.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:Z.error}):null,Z.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:Z.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(Z.results||[]).length===0&&!Z.searching?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Search for a public GGUF repo or file name to download into the router-managed local model directory."}):(Z.results||[]).map(T=>(0,_.jsx)(RB,{result:T,downloading:Z.downloadingKey===`${T.repo}:${T.file}`,onDownload:Pe},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(En,{open:N.open,onClose:ht,title:N.title,description:"Create a router-visible local model without touching the base GGUF file. Presets seed the context window, while the backend enforces Mac unified-memory activation limits.",contentClassName:"max-w-2xl",children:(0,_.jsx)(qE,{draft:N.draft,baseModel:U,duplicateIds:ze,saveDisabled:!!fe,saveDisabledReason:fe,saving:C,onChange:T=>{let M=String(T?.preset||N?.draft?.preset||"balanced").trim()||"balanced",F=String(N?.draft?.preset||"balanced").trim()||"balanced",ce=Km(N?.draft?.contextWindow),Je=M!==F&&ce===Lu[F]?.contextWindow;E(Vt=>({...Vt,draft:{...T,contextWindow:Je?Lu[M]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:ht,onSave:yt})})]})}var Qo=B(te(),1);function XE({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,QE.useState)("ollama");return(0,Qo.jsxs)(bi,{value:r,onValueChange:o,className:"space-y-4",children:[(0,Qo.jsxs)(vi,{children:[(0,Qo.jsx)(Gn,{value:"ollama",children:"Ollama"}),(0,Qo.jsx)(Gn,{value:"llamacpp",children:"llama.cpp"})]}),(0,Qo.jsx)(qn,{value:"ollama",children:(0,Qo.jsx)(UE,{...n,embedded:!0})}),(0,Qo.jsx)(qn,{value:"llamacpp",children:(0,Qo.jsx)(YE,{...t})})]})}var Gm=B(xe(),1);var de=B(te(),1);function NB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function EB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function JE(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return NB(e).map((r,o)=>{let a=r.options.map(i=>(0,de.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:EB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,de.jsxs)(xl,{children:[(0,de.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function TB({className:e=""}){return(0,de.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,de.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,de.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,de.jsx)("path",{d:"M10 10.4v2.1"})]})}function ZE({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:p,hasMasterKey:b,disabledReason:m,autosaveState:v}){let[h,g]=(0,Gm.useState)(!1),[y,x]=(0,Gm.useState)(""),[A,N]=(0,Gm.useState)(String(t[0]?.value||"").trim()),E=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(A||"").trim()&&!E,O=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),V=!!(b&&r&&!m&&!L),z=Number(n?.configuredProviderCount)||0,G=O&&z===0,Z=m?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",ue=m?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=m||(v.status==="error"?v.message:v.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":v.status==="saving"?"Saving changes...":v.savedAt?`Last saved ${ks(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function oe(){!C||await c?.({inbound:y,outbound:A})===!1||(g(!1),x(""),N(String(t[0]?.value||"").trim()))}function ee(){g(!0),x(""),N(String(t[0]?.value||"").trim())}return(0,de.jsx)("div",{className:"grid gap-4",children:(0,de.jsxs)(Lt,{children:[(0,de.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsx)(Bo,{className:"flex items-center gap-2",children:(0,de.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,de.jsx)(Um,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,de.jsx)(TB,{className:"h-3 w-3"}),onOpenSecondary:p})]}),(0,de.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,de.jsx)(H,{type:"button",size:"sm",variant:O?"outline":void 0,onClick:i,disabled:a!==""||!O&&!V,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":O?"Disconnect":"Connect"})})]}),(0,de.jsxs)(Dt,{className:"space-y-4 p-4",children:[L?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!O&&!b?(0,de.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,de.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,de.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,de.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,m?(0,de.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:m}):(0,de.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,de.jsxs)("div",{children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,de.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)(_e,{variant:Z,children:ue}),(0,de.jsxs)(_e,{variant:"outline",children:[e.length," routes"]}),(0,de.jsx)(H,{type:"button",size:"sm",onClick:ee,children:"Add custom mapping"})]})]}),(0,de.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,de.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,de.jsx)(_e,{variant:"info",children:"Custom"})]}),(0,de.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,de.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,de.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,de.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,de.jsx)(H,{type:"button",size:"sm",onClick:oe,disabled:!C,children:"Create mapping"}),(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,de.jsx)(He,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,de.jsx)(it,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,de.jsx)(He,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,de.jsxs)(Xt,{value:A||void 0,onValueChange:N,children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:"Select local route"})}),(0,de.jsx)(en,{children:JE(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,de.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,de.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,de.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,de.jsxs)("div",{className:"space-y-2",children:[(0,de.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,de.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,de.jsx)(_e,{variant:"info",children:"Custom"}):null]}),(0,de.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,de.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,de.jsx)(He,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,de.jsx)(Im,{commitOnBlur:!0,value:W.inbound,onValueCommit:j=>l(W.id,j),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:j=>{j.key==="Enter"&&(j.preventDefault(),j.currentTarget.blur())}})}),(0,de.jsx)(He,{label:"Target route",hint:"Alias or provider/model route",children:(0,de.jsxs)(Xt,{value:W.outbound||"__default__",onValueChange:j=>s(W.id,j),children:[(0,de.jsx)(Jt,{children:(0,de.jsx)(Zt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,de.jsxs)(en,{children:[W.removable?null:(0,de.jsx)(Ct,{value:"__default__",children:"Use default route"}),JE(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var La=B(xe(),1);var J=B(te(),1);function MB({className:e=""}){return(0,J.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,J.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,J.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function OB({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,La.useState)(""),[l,s]=(0,La.useState)(""),[c,d]=(0,La.useState)(!1),[u,f]=(0,La.useState)(""),p=Array.isArray(n)?n:[],b=p.find(y=>y.providerId===a)||p[0]||null,m=Array.isArray(b?.models)?b.models:[];(0,La.useEffect)(()=>{if(!e){d(!1),f("");return}let y=p[0]?.providerId||"";i(x=>p.some(N=>N.providerId===x)?x:y)},[e,p]),(0,La.useEffect)(()=>{let y=m[0]?.value||"";s(x=>m.some(N=>N.value===x)?x:y)},[m]);let v=wi(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,J.jsx)(En,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,J.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,J.jsx)(H,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,J.jsx)(H,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,J.jsxs)("div",{className:"space-y-4",children:[o?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&p.length===0?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,p.length>0?(0,J.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,J.jsx)(He,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,J.jsxs)(Xt,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose provider"})}),(0,J.jsx)(en,{children:p.map(y=>(0,J.jsx)(Ct,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,J.jsx)(He,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,J.jsxs)(Xt,{value:l||void 0,onValueChange:s,disabled:c||!!o||m.length===0,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose model"})}),(0,J.jsx)(en,{children:m.map(y=>(0,J.jsx)(Ct,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,J.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,J.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,J.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function eT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,La.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",p=Array.isArray(n)&&n.some(m=>Array.isArray(m?.models)&&m.models.length>0),b=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${ks(c.savedAt)}.`:"");return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Lt,{children:[(0,J.jsxs)(Jr,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"space-y-1",children:[(0,J.jsx)(Bo,{children:"Web Search"}),(0,J.jsx)(pi,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,J.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,J.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,J.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,J.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,J.jsxs)(Xt,{value:f,onValueChange:r,disabled:!!s,children:[(0,J.jsx)(Jt,{children:(0,J.jsx)(Zt,{placeholder:"Choose strategy"})}),(0,J.jsx)(en,{children:yC.map(m=>(0,J.jsx)(Ct,{value:m.value,children:m.label},m.value))})]})]}),(0,J.jsxs)(H,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!p,children:[(0,J.jsx)(MB,{className:"h-3.5 w-3.5"}),(0,J.jsx)("span",{children:"Endpoint"})]})]})]}),(0,J.jsx)(Dt,{className:"space-y-4 p-4",children:(0,J.jsx)("div",{className:"space-y-3",children:(t||[]).map(m=>{if(m.kind==="hosted"){let g=m.runtimeState&&m.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsxs)("div",{className:"min-w-0",children:[(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label}),(0,J.jsx)(_e,{variant:"outline",children:"GPT Search"})]}),(0,J.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:m.routeId}),(0,J.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,J.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.routeId} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.routeId} down`,onClick:()=>a(m.id,"down")})]}),(0,J.jsx)(H,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(m.id),disabled:!!s,children:"Remove"})]})]}),g?(0,J.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},m.key)}let v=m.credentialField,h=String(m?.credentialValue||"").trim();return(0,J.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,J.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,J.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,J.jsx)("div",{className:"min-w-0",children:(0,J.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,J.jsx)(Sb,{active:m.active}),(0,J.jsx)("div",{className:"text-sm font-medium text-foreground",children:m.label})]})}),(0,J.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,J.jsx)(Oa,{disabled:!!s||m.displayIndex<=0,label:`Move ${m.label} up`,onClick:()=>a(m.id,"up")}),(0,J.jsx)(Sl,{disabled:!!s||m.displayIndex>=m.displayCount-1,label:`Move ${m.label} down`,onClick:()=>a(m.id,"down")})]})]}),(0,J.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,J.jsx)(He,{label:m.credentialLabel,hint:m.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(Hs,{buffered:!0,value:h,placeholder:m.credentialPlaceholder,onValueChange:g=>o(m.id,v,g),disabled:!!s,isEnvVar:m.credentialField==="url"})}),(0,J.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,J.jsx)(He,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:m.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(m.id,"count",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.limit||0),onValueChange:g=>o(m.id,"limit",g),disabled:!!s})}),(0,J.jsx)(He,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,J.jsx)(zm,{value:String(m.remaining||0),onValueChange:g=>o(m.id,"remaining",g),disabled:!!s})})]})]})]})},m.key)})})})]}),(0,J.jsx)(OB,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var Du=B(xe(),1);var S=B(te(),1);function kB(e=""){let t=String(e||"").trim();if(!t)return{};let n=If(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function _B(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...kB(o)}));return n}function LB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function DB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function BB(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return LB(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Ct,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:DB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(xl,{children:[(0,S.jsx)(Vs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function IB({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function nT({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=Bf(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function rT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=oC(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function oT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=aC(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function zB(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function tT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function PB({guideContent:e}){let[t,n]=(0,Du.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(H,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(En,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(_e,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",zB(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(_e,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:Q("text-sm font-medium",tT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",tT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:Q("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((p,b)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:p})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function UB({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,Du.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(Xt,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Jt,{children:(0,S.jsx)(Zt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(en,{children:a.length>0?BB(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Ct,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function qm({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:p=(0,S.jsx)(IB,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:m=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,Du.useMemo)(()=>{let A=new Set(["__unset__"]);for(let N of b){for(let E of Array.isArray(N?.extraOptions)?N.extraOptions:[]){let C=String(E?.value||"").trim();C&&A.add(C)}for(let E of Array.isArray(N?.options)?N.options:[]){let C=String(E?.value||"").trim();C&&A.add(C)}}return b.filter(N=>N?.usesRouteOptions!==!1).map(N=>String(N?.value||"").trim()).filter(N=>N&&!A.has(N))},[b]),x=_B(r,y);return(0,S.jsxs)(Lt,{children:[(0,S.jsxs)(Jr,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Bo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(Um,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:p,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[m?(0,S.jsx)(PB,{guideContent:m}):null,(0,S.jsx)(H,{type:"button",size:"sm",variant:v?"outline":void 0,onClick:i,disabled:o!==""||!v&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":v?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(Dt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!v&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),b.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:b.map(A=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:A.label}),(0,S.jsx)(_e,{variant:"outline",children:A.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:A.description}),(0,S.jsx)(UB,{field:A,routeOptions:x,disabled:A.standaloneWhenDisconnected?a:!v||a,onValueChange:N=>l(A.id,N==="__unset__"?"":N)})]},A.id))})]})]})]})}var Ot=B(te(),1);function aT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:py(d)===n),c=ou[n]||ou.usage;return(0,Ot.jsxs)(Lt,{children:[(0,Ot.jsx)(Jr,{children:(0,Ot.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,Ot.jsxs)("div",{className:"space-y-1",children:[(0,Ot.jsx)(Bo,{children:"Activity"}),(0,Ot.jsx)(pi,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,Ot.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,Ot.jsx)("div",{className:"min-w-[13rem]",children:(0,Ot.jsxs)(Xt,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,Ot.jsx)(Jt,{children:(0,Ot.jsx)(Zt,{placeholder:"Filter category"})}),(0,Ot.jsx)(en,{children:iC.map(d=>(0,Ot.jsx)(Ct,{value:d.value,children:d.label},d.value))})]})}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,Ot.jsx)(H,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,Ot.jsx)(Dt,{children:(0,Ot.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=py(d),f=ou[u]||ou.usage;return(0,Ot.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-2",children:[(0,Ot.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",sy[d.level]||sy.info)}),(0,Ot.jsx)(_e,{variant:f.badgeVariant,children:f.label}),(0,Ot.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,Ot.jsx)("span",{className:"text-xs text-muted-foreground",children:ks(d.time)})]}),d.detail?(0,Ot.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,Ot.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,Ot.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Bt=B(xe(),1);var Tb=B(xe(),1);var bn=B(te(),1);function iT({rows:e,onChange:t}){let n=Qf(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&OC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,bn.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,bn.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,bn.jsx)(it,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,bn.jsx)(it,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?no:"Header value"}),(0,bn.jsx)(H,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,bn.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,bn.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,bn.jsx)(H,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function lT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=$s(r),a=(0,Tb.useRef)(""),i=(0,Tb.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let p=[...t||[]],b=p.indexOf(u),m=p.indexOf(f);if(b===-1||m===-1)return;let[v]=p.splice(b,1);p.splice(m,0,v),n(p)}function c(u){n(Ts(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Ea(i.current,!1),i.current=null}return(0,bn.jsxs)("div",{className:"space-y-2",children:[(0,bn.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,bn.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:p=>{a.current&&a.current!==u&&(p.preventDefault(),p.dataTransfer.dropEffect="move")},onDrop:p=>{p.preventDefault();let b=p.dataTransfer.getData("text/plain")||a.current;d(),s(b,u)},className:Q("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,bn.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:p=>{let b=Ms(p.currentTarget);p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",u),b&&typeof p.dataTransfer?.setDragImage=="function"&&p.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Ea(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,bn.jsx)(Ns,{className:"h-4 w-4"})}),(0,bn.jsx)(Oa,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,bn.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,bn.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:p=>p.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,bn.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,bn.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,bn.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var P=B(te(),1);function Mb({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=no,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Bt.useState)(0),[p,b]=(0,Bt.useState)(""),[m,v]=(0,Bt.useState)(()=>KC(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Bt.useState)(null),[y,x]=(0,Bt.useState)(""),[A,N]=(0,Bt.useState)({}),[E,C]=(0,Bt.useState)(!1),[O,L]=(0,Bt.useState)(null),[V,z]=(0,Bt.useState)(""),[G,Z]=(0,Bt.useState)(!1),[ue,q]=(0,Bt.useState)(""),oe=(0,Bt.useRef)(!0),ee=(0,Bt.useRef)(""),W=(0,Bt.useRef)(Math.random().toString(36).slice(2,10)),j=i==="edit",Ie=!j&&a==="blank"&&em(e),ne=`llr-qs-endpoint-${W.current}`,Ve=`llr-qs-endpoint-input-${W.current}`,ae=`llr-qs-credential-${W.current}`,Se=`llr-qs-credential-input-${W.current}`,ze=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],U=rr(m.modelIds,m.modelDraft),fe=Zf(m.aliasModelIds,U),ve=m.connectionType==="api"?rr(m.endpoints,m.endpointDraft):[],ke=(0,Bt.useMemo)(()=>({...m,endpoints:ve,modelIds:U,aliasModelIds:fe,rateLimitRows:br(m.rateLimitRows)}),[m,ve,U,fe]),we=(0,Bt.useMemo)(()=>Xf(m.headerRows||[]),[m.headerRows]),Ee=String(m.apiKeyEnv||"").trim(),qe=(0,Bt.useMemo)(()=>vy(ke),[ke]),We=O?.signature===qe?O.result:null,nn=We?.models?.length>0?We.models:wy(m.selectedConnection||"custom"),Dn=Dr(m.providerId||m.providerName||"my-provider")||"my-provider",cn=Ay(m),xt=JSON.stringify({connectionType:m.connectionType,selectedConnection:m.selectedConnection,subscriptionProfile:cn}),ht=U.filter(X=>A[X]==="error"),yt=U.filter(X=>A[X]==="success"),Ue=U.some(X=>A[X]==="success"||A[X]==="error"),It=U.length>0&&U.every(X=>A[X]==="success"),Wt=yt.length>0,pn=ht.length>0,wr=U.some(X=>!A[X]||A[X]==="default"),Te=h?.signature===qe?h.result:null,et=m.connectionType!=="api"||Wt,ft=(0,Bt.useMemo)(()=>GC(e,ke,Te,{targetProviderId:l}),[e,ke,Te,l]),lo=(0,Bt.useMemo)(()=>`${JSON.stringify(ft,null,2)}
|
|
52
|
-
`,[ft]),St=Mt,Re=ze[u],gn=qC(u,ke,e,{targetProviderId:l});(0,Bt.useEffect)(()=>{TC()},[]),(0,Bt.useEffect)(()=>{let X=ee.current!==""&&ee.current!==qe;if(ee.current=qe,X&&m.connectionType==="api"&&(N({}),g(null),x(""),oe.current=!0,C(!1)),m.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(A).length>0&&N({}),O!==null&&L(null),V&&z("");return}O?.signature&&O.signature!==qe&&(L(null),z(""))},[m.connectionType,qe,h,y,A,O,V]);function k(X,$e){v(Ke=>({...Ke,[X]:$e}))}function me(X){v($e=>{let Ke=Dr($e.providerName||""),lt=Dr(X||"")||"my-provider",vn=!$e.providerId||$e.providerId===Ke;return{...$e,providerName:X,providerId:vn?lt:$e.providerId}})}function re(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function Pe(X){x(""),g(null),N({}),L(null),z(""),oe.current=!0,C(!1);let $e=Lr(X);T($e.category,X)}function T(X,$e){v(Ke=>$C(Ke,{baseConfig:e,nextCategory:X,nextPresetKey:$e,defaultProviderUserAgent:s}))}async function M({force:X=!1,silent:$e=!1}={}){if(m.connectionType!=="api")return!1;if(ve.length===0||!Ee)return $e||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&O?.signature===qe)return!!(O?.result?.models||[]).length;Z(!0),$e||z("");try{let Ke=await Ze("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})}),lt=(Ke.result?.models||[]).map(un=>String(un||"").trim()).filter(Boolean),vn={};if(lt.length>0){let un=m.selectedConnection;if(un&&uu.set(un,lt),Sy(ve)){let Wn=await v1(ve[0]||"",Ee,lt.filter(Yn=>!Yn.includes("embed")&&!Yn.includes("tts")&&!Yn.includes("image")&&!Yn.includes("lyria")&&!Yn.includes("veo")));Wn&&(lt=Wn)}try{let Wn=await xu(lt);vn=b1(Wn)}catch{vn={}}}let zr={...Ke.result&&typeof Ke.result=="object"?Ke.result:{},modelContextWindows:vn};if(L({signature:qe,result:zr}),lt.length>0)return v(un=>{if(vy(un)!==qe||un.connectionType!=="api")return un;let dn=Array.isArray(un.modelIds)?un.modelIds:[],Wn=X&&dn.length>0?Array.from(new Set([...dn,...lt])):dn.length>0?dn:lt,Yn={...un.modelContextWindows&&typeof un.modelContextWindows=="object"?un.modelContextWindows:{},...vn},qs=Sy(un.endpoints),Li=qs?FC(qs,Wn):null;return JSON.stringify(Wn)===JSON.stringify(dn)&&JSON.stringify(Yn)===JSON.stringify(un.modelContextWindows||{})&&!Li?un:{...un,modelIds:Wn,modelContextWindows:Yn,...Li?{rateLimitRows:Li}:{}}}),z(""),!0;let so=(Ke.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(so),!1}catch(Ke){let lt=Ke instanceof Error?Ke.message:String(Ke);return z(lt),!1}finally{Z(!1)}}async function F({onlyModels:X=null}={}){if(m.connectionType!=="api")return!0;let $e=X||U;b("test"),x(""),N(Ke=>{let lt={...Ke};for(let vn of $e)lt[vn]="pending";return lt});try{let Ke=await vu("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:ve,models:$e,...vo(Ee)?{apiKeyEnv:Ee}:{apiKey:Ee},...Object.keys(we).length>0?{headers:we}:{}})},{onMessage:dn=>{if(dn?.type!=="progress")return;let Wn=dn.event||{};Wn.phase==="model-done"&&N(Yn=>({...Yn,[Wn.model]:Wn.confirmed?"success":"error"}))}}),lt=new Set(Ke?.models||[]),vn=h?.signature===qe?h.result:null,zr=new Set(vn?.models||[]);for(let dn of $e)lt.has(dn)?zr.add(dn):zr.delete(dn);let so={...vn||{},...Ke,models:Array.from(zr),workingFormats:Array.from(new Set([...vn?.workingFormats||[],...Ke?.workingFormats||[]])),ok:U.every(dn=>zr.has(dn))};g({signature:qe,result:so}),N(dn=>{let Wn={...dn};for(let Yn of $e)Wn[Yn]=lt.has(Yn)?"success":"error";return Wn});let un=$e.filter(dn=>!lt.has(dn));return un.length>0?(x((Ke?.warnings||[]).join(" ")||`${un.length} model(s) failed the provider test.`),!1):!0}catch(Ke){return N(lt=>{let vn={...lt};for(let zr of $e)(!vn[zr]||vn[zr]==="pending")&&(vn[zr]="error");return vn}),x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}(0,Bt.useEffect)(()=>{u!==1||m.connectionType!=="api"||U.length>0||!Ee||ve.length===0||G||O?.signature===qe||M({silent:!0})},[u,m.connectionType,U.length,Ee,ve.length,G,O,qe]);async function ce({force:X=!1}={}){if(m.connectionType==="api"||!X&&ue===xt)return!0;let $e=Lr(m.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Ze("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:cn,providerId:Dn,subscriptionType:$e.subscriptionType||"chatgpt-codex"})}),q(xt),!0}catch(Ke){return x(Ke instanceof Error?Ke.message:String(Ke)),!1}finally{b("")}}async function Je(){u===0&&m.connectionType==="subscription"&&!await ce()||(u===1&&C(!0),f(X=>Math.min(X+1,ze.length-1)))}async function Vt(){let X=U.filter(lt=>A[lt]!=="success"),$e=oe.current;oe.current=!1,await F({onlyModels:X.length<U.length?X:null})&&$e&&!E&&(C(!0),f(lt=>Math.min(lt+1,ze.length-1)))}async function Ne(){let X=U.filter($e=>A[$e]==="error");X.length!==0&&await F({onlyModels:X})}function Y(){let X=U.filter($e=>A[$e]==="error");v($e=>({...$e,modelIds:($e.modelIds||[]).filter(Ke=>!X.includes(Ke))})),N($e=>{let Ke={...$e};for(let lt of X)delete Ke[lt];return Ke}),x(""),C(!0),f($e=>Math.min($e+1,ze.length-1))}async function ge(X){if((X==="save"||X==="save-start")&&m.connectionType==="api"&&!et){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(lo);return}if(X==="validate"){await n(lo);return}if(X==="save"){await r(lo);return}X==="save-start"&&await o(lo)}finally{b("")}}let Un=y||gn||(u===0&&m.connectionType==="subscription"&&ue!==xt?"Continue opens the browser sign-in flow for this provider.":u===1&&m.connectionType==="api"&&!Ue?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&m.connectionType==="api"&&pn&&!It?`${yt.length} of ${U.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:ze[u].detail),ki=m.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":m.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(We?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(We?.modelContextWindows||{}).length} context size${Object.keys(We?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,P.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),_i=j?"Edit provider":Ie?"Add provider":"Quick start wizard",Iu=j?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Ie?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Gs=(0,P.jsx)("div",{className:"flex items-center gap-1",children:ze.map((X,$e)=>{let Ke=$e===u,lt=$e<u;return(0,P.jsxs)(Bt.Fragment,{children:[$e>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!lt,onClick:()=>{lt&&f($e)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",Ke?"bg-primary text-primary-foreground":lt?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,P.jsx)("span",{className:Q("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",Ke?"bg-primary-foreground/20":lt?"bg-emerald-100 text-emerald-700":"bg-muted"),children:$e+1}),X.title]})]},X.title)})}),Da=(0,P.jsxs)("div",{className:"space-y-5",children:[u===0?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:mC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",m.connectionType===X.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>re(X.value),children:[(0,P.jsx)("div",{className:"text-sm font-medium text-foreground",children:X.label}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:X.description})]},X.value))}),(0,P.jsx)(He,{label:"Provider preset",children:(0,P.jsxs)(Xt,{value:m.selectedConnection||(m.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:Pe,children:[(0,P.jsx)(Jt,{children:(0,P.jsx)(Zt,{})}),(0,P.jsx)(en,{children:EC(m.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Ct,{value:X.key,children:[X.label,(0,P.jsx)("span",{className:"ml-2 text-muted-foreground",children:X.description})]},X.key))})]})}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,P.jsx)(He,{label:"Provider name",children:(0,P.jsx)(it,{value:m.providerName,onChange:X=>me(X.target.value),placeholder:Lr(m.selectedConnection||"custom").providerName})}),(0,P.jsx)(He,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(it,{value:m.providerId,onChange:X=>k("providerId",X.target.value),onBlur:()=>k("providerId",Dr(m.providerId||m.providerName||"my-provider")||"my-provider"),placeholder:Lr(m.selectedConnection||"custom").providerId})})]}),m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.endpoints,onChange:X=>k("endpoints",X),draftValue:m.endpointDraft,onDraftValueChange:X=>k("endpointDraft",X),commitOnBlur:!0,isValueValid:Si,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:Ve,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(He,{label:"API key or env",children:(0,P.jsx)(Hs,{value:m.apiKeyEnv,onChange:X=>k("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:vo(m.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:Se,name:ae,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(He,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(iT,{rows:m.headerRows,onChange:X=>k("headerRows",X)})})]}):(0,P.jsxs)("div",{className:"space-y-3",children:[(0,P.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:m.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),m.selectedConnection==="oauth-claude"?(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)(He,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(ku,{values:m.modelIds,onChange:X=>k("modelIds",X),draftValue:m.modelDraft,onDraftValueChange:X=>k("modelDraft",X),commitOnBlur:!0,disabled:p==="test",valueStates:m.connectionType==="api"?A:{},placeholder:"Paste model ids",helperText:ki,suggestedValues:nn})}),m.connectionType==="api"&&G?(0,P.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,P.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,P.jsx)(Br,{}),"Loading provider models"]}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,m.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(He,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(H,{type:"button",size:"sm",variant:"outline",onClick:()=>k("rateLimitRows",jm(m.rateLimitRows)),disabled:p==="test",children:"Add rate limit"}),children:(0,P.jsx)(Vm,{rows:m.rateLimitRows,onChange:X=>k("rateLimitRows",X),availableModelIds:U,disabled:p==="test"})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,P.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",It&&Ue?"border-emerald-200 bg-emerald-50 text-emerald-900":pn?"border-amber-200 bg-amber-50 text-amber-900":Wt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:It&&Ue?`Confirmed ${yt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:pn?`${yt.length} of ${U.length} model(s) confirmed. ${ht.length} failed: ${ht.join(", ")}.`:Wt?`Confirmed ${yt.length} of ${U.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:Ie||j?(0,P.jsx)(wE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:m.useAliasAsDefault,onCheckedChange:X=>k("useAliasAsDefault",X)}):(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,P.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,P.jsx)("div",{className:"mt-3",children:(0,P.jsx)(lT,{providerId:Dn,values:fe,onChange:X=>k("aliasModelIds",X)})})]}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Dn}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.providerName})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:VC(m.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:m.connectionType==="api"?`${ve.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,P.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[U.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:U.join(", ")||"No models yet"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:St}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:m.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),m.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",et?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:et?`Using ${(Te?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,P.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,P.jsx)("div",{className:Q("min-w-0 flex-1 text-sm md:max-w-2xl",gn||y?"text-amber-700":"text-muted-foreground"),children:Un}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(H,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<ze.length-1?u===1&&m.connectionType==="api"?E?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!==""||!Wt,children:"Continue"})]}):!Ue||wr?(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):It?(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:"Continue"}):pn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(H,{variant:"outline",onClick:()=>{Ne()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Re-testing\u2026"]}):"Test again"}),Wt?(0,P.jsx)(H,{onClick:()=>{Y()},disabled:p!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(H,{onClick:()=>{Vt()},disabled:!!gn||p!=="",children:p==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(H,{onClick:()=>{Je()},disabled:!!gn||p!=="",children:p==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(H,{onClick:()=>{ge("save-start")},disabled:!!gn||p!==""||m.connectionType==="api"&&!et,children:p==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Br,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Lt,{className:"border-dashed",children:[(0,P.jsxs)(Jr,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Bo,{children:_i}):null,Gs]}),d?(0,P.jsx)(pi,{children:Iu}):null]}),(0,P.jsx)(Dt,{className:"space-y-5",children:Da})]}):(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Gs}),(0,P.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"text-base font-semibold text-foreground",children:_i}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Iu})]}):null,Da]})]})}var $=B(te(),1);async function Bu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function jB(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function VB(e={}){let t=jB(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function sT({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,$.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,$.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,$.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,$.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,$.jsxs)("div",{className:"space-y-1",children:[(0,$.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,$.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,$.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,$.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,$.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,$.jsx)("div",{className:"flex shrink-0 items-center",children:(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,$.jsx)(Vf,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function cT(){let[e,t]=(0,ye.useState)(null),[n,r]=(0,ye.useState)(""),[o,a]=(0,ye.useState)(""),[i,l]=(0,ye.useState)(null),[s,c]=(0,ye.useState)([]),[d,u]=(0,ye.useState)(!0),[f,p]=(0,ye.useState)(!1),[b,m]=(0,ye.useState)(!1),[v,h]=(0,ye.useState)(!1),[g,y]=(0,ye.useState)(""),[x,A]=(0,ye.useState)(""),[N,E]=(0,ye.useState)(!1),[C,O]=(0,ye.useState)("model-alias"),[L,V]=(0,ye.useState)(!1),[z,G]=(0,ye.useState)(!1),[Z,ue]=(0,ye.useState)(0),[q,oe]=(0,ye.useState)(""),[ee,W]=(0,ye.useState)(""),[j,Ie]=(0,ye.useState)(""),[ne,Ve]=(0,ye.useState)(""),[ae,Se]=(0,ye.useState)(!1),[ze,U]=(0,ye.useState)(!1),[fe,ve]=(0,ye.useState)(!1),[ke,we]=(0,ye.useState)(""),[Ee,qe]=(0,ye.useState)("usage"),[We,nn]=(0,ye.useState)(null),[Dn,cn]=(0,ye.useState)({status:"idle",message:"",savedAt:""}),xt=(0,ye.useRef)(""),ht=(0,ye.useRef)(""),yt=(0,ye.useRef)(null),Ue=(0,ye.useRef)(null),It=(0,ye.useRef)(null),Wt=(0,ye.useRef)(0),pn=(0,ye.useRef)(""),wr=(0,ye.useRef)(0);(0,ye.useEffect)(()=>{xt.current=n},[n]),(0,ye.useEffect)(()=>{ht.current=o},[o]),(0,ye.useEffect)(()=>()=>{It.current&&(clearTimeout(It.current),It.current=null)},[]);let Te=n!==o,et=e?.config?.document,ft=i?.summary||e?.config||{},lo=i?.validationMessages||e?.config?.validationMessages||[],St=(0,ye.useMemo)(()=>yy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Re=(0,ye.useMemo)(()=>DC(n,St),[n,St]),gn=(0,ye.useMemo)(()=>yy(n,St),[n,St]),k=Re.parseError?St:Re.value,me=(0,ye.useMemo)(()=>Array.isArray(k?.providers)?k.providers:[],[k]),re=(0,ye.useMemo)(()=>k?.modelAliases&&typeof k.modelAliases=="object"&&!Array.isArray(k.modelAliases)?k.modelAliases:{},[k]),Pe=(0,ye.useMemo)(()=>xb(k),[k]),T=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",M=k,F=e?.config?.localServer||e?.startup?.defaults||null,ce=(0,ye.useMemo)(()=>VB(F||{}),[F?.host,F?.port]),Je=e?.ampClient?.global||{},Vt=e?.webSearch||e?.ampWebSearch||null,Ne=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ge=e?.codingTools?.factoryDroid||{},Un=Je?.routedViaRouter===!0,ki=Ne?.routedViaRouter===!0,_i=Y?.routedViaRouter===!0,Iu=ge?.routedViaRouter===!0,Gs=e?.ollama||null,Da=Gs?.connected===!0,[X,$e]=(0,ye.useState)([]),Ke=k?.metadata?.localModels||{},lt=(0,ye.useMemo)(()=>({runtime:{...Ke?.runtime||{},ollama:{...Ke?.runtime?.ollama||{},status:Da?"running":"stopped"}},library:Ke?.library||{},variants:Ke?.variants||{}}),[Ke,Da]),vn=(0,ye.useMemo)(()=>GE(lt),[lt]),[zr,so]=(0,ye.useState)({}),[un,dn]=(0,ye.useState)(!1),Yn=(e?.activityLog||{enabled:!0})?.enabled!==!1,qs=(0,ye.useMemo)(()=>xb(M),[M]),Li=(0,ye.useMemo)(()=>Cy(M),[M]),Rl=(0,ye.useMemo)(()=>Ai(or(M)),[M]),Wm=(0,ye.useMemo)(()=>o1(M,Vt),[M,Vt]),mT=(0,ye.useMemo)(()=>a1(Wm,Y?.webSearchProvider||""),[Wm,Y?.webSearchProvider]),pT=(0,ye.useMemo)(()=>{let w=new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(R=>Cn(R?.id)).filter(Boolean));return r1(M,w)},[M,Rl]),Xo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:qs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",co=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:"",Jo=Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:Pe.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",gT=(0,ye.useMemo)(()=>Ti(Pe,Bf(Ne?.bindings?.defaultModel)?[]:[Ne?.bindings?.defaultModel]),[Pe,Ne?.bindings?.defaultModel]),hT=(0,ye.useMemo)(()=>Ti(Pe,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[Pe,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),yT=(0,ye.useMemo)(()=>Ti(Pe,[ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),[Pe,ge?.bindings?.defaultModel,ge?.bindings?.missionOrchestratorModel,ge?.bindings?.missionWorkerModel,ge?.bindings?.missionValidatorModel]),Ym=String(M?.amp?.defaultRoute||M?.defaultModel||gu(M)||"").trim(),Qn=String(M?.masterKey||e?.config?.document?.masterKey||"").trim(),bT=(0,ye.useMemo)(()=>QC(Qn),[Qn]),Qm=me.length>0,vT=Qm&&z,Nl=e?.router?.running===!0,kb=e?.startup?.installed===!0,Xm=e?.environment?.devMode===!0,_b=String(e?.config?.path||e?.environment?.configPath||"").trim(),Lb=String(e?.environment?.productionConfigPath||"").trim(),Jm=e?.environment?.canSyncProductionConfig===!0,zu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,Zm=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":Nl?"Stop server":"Start server",ep=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":kb?"Disable OS startup":"Enable OS startup",Db=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${zu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),xT=!em(k),Bb=me.filter(w=>w?.type!=="ollama"),Ib=Bb.length>0?"existing":"blank",zb=Bb[0]?.id||"",Pb=e?.defaults?.providerUserAgent||no;(0,ye.useEffect)(()=>{if(d||f||Re.parseError)return;if(Qn){pn.current="";return}let w=String(e?.config?.rawText||o||"__empty__");pn.current!==w&&(pn.current=w,RT({showSuccessNotice:!1}))},[o,Qn,d,Re.parseError,f,e?.config?.rawText]),(0,ye.useEffect)(()=>{if(It.current&&(clearTimeout(It.current),It.current=null),!We)return;let w=We.immediate===!0?0:450;return It.current=setTimeout(()=>{It.current=null;let R=We.sequence;cn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:We.rawText,source:"autosave"})});if(R!==Wt.current)return;Ro(I,{preserveDraft:xt.current!==We.rawText}),cn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(R!==Wt.current)return;let pe=I instanceof Error?I.message:String(I);cn({status:"error",message:pe,savedAt:""}),D("error",pe)}})()},w),()=>{It.current&&(clearTimeout(It.current),It.current=null)}},[We]);function ST(){G(!0),ue(w=>w+1)}function wT(){ST()}function tp(){G(!1)}(0,ye.useEffect)(()=>{!Qm&&z&&G(!1)},[Qm,z]);function D(w,R){wr.current+=1,c(I=>[...I,{id:`notice-${wr.current}`,tone:w,message:R}])}function Ub(w){c(R=>R.filter(I=>I.id!==w))}function Ro(w,{preserveDraft:R=!1}={}){t(w);let I=String(w?.config?.rawText||"");if(!R||xt.current===ht.current){r(I),a(I),V(!1),l({rawText:I,summary:w?.config,validationMessages:w?.config?.validationMessages||[]});return}a(I),I!==ht.current&&V(!0)}async function rn({preserveDraft:w=!1}={}){let R=await Ze("/api/state");Ro(R,{preserveDraft:w})}(0,ye.useEffect)(()=>{let w=!1;function R(){yt.current&&(yt.current.close(),yt.current=null)}function I(){Ue.current&&(clearTimeout(Ue.current),Ue.current=null)}function pe(){w||Ue.current||(Ue.current=setTimeout(()=>{Ue.current=null,Oe({isReconnect:!0})},cC))}function Oe({isReconnect:tt=!1}={}){if(w)return;I(),R();let Ge=new EventSource("/api/events");yt.current=Ge,Ge.onopen=()=>{w||yt.current!==Ge||tt&&rn({preserveDraft:xt.current!==ht.current}).catch(()=>{})},Ge.addEventListener("state",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);zt?.snapshot&&Ro(zt.snapshot,{preserveDraft:!0})}catch(zt){D("error",zt instanceof Error?zt.message:String(zt))}}),Ge.addEventListener("log",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,logs:[zt,...Fe.logs||[]].slice(0,150)})}catch{}}),Ge.addEventListener("logs",Ut=>{if(!(w||yt.current!==Ge))try{let zt=JSON.parse(Ut.data);t(Fe=>Fe&&{...Fe,...zt?.activityLog?{activityLog:zt.activityLog}:{},logs:Array.isArray(zt?.logs)?zt.logs:[]})}catch{}}),Ge.onerror=()=>{w||yt.current!==Ge||(R(),pe())}}return(async()=>{try{await rn()}catch(tt){w||D("error",tt instanceof Error?tt.message:String(tt))}finally{w||(u(!1),Oe())}})(),()=>{w=!0,I(),R()}},[]);async function jb(w,{silent:R=!1}={}){m(!0);try{let I=await Ze("/api/config/validate",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return l({rawText:w,summary:I.summary,validationMessages:I.validationMessages||[]}),R||D(BC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw R||D("error",I instanceof Error?I.message:String(I)),I}finally{m(!1)}}async function np(w,{successMessage:R="Config saved.",showSuccessNotice:I=!0}={}){p(!0);try{let pe=await Ze("/api/config/save",{method:"POST",headers:Xe,body:JSON.stringify({rawText:w})});return Ro(pe,{preserveDraft:xt.current!==w}),I&&R&&D("success",R),pe}catch(pe){throw D("error",pe instanceof Error?pe.message:String(pe)),pe}finally{p(!1)}}async function Vb(){if(!(!Jm||N)&&!(Te&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){E(!0);try{let w=await Ze("/api/config/sync-production",{method:"POST",headers:Xe,body:"{}"});Ro(w,{preserveDraft:!1}),D("success",w?.message||"Production config synced into the dev workspace.")}catch(w){D("error",w instanceof Error?w.message:String(w))}finally{E(!1)}}}function Di(w,{immediate:R=!1}={}){let I=Wt.current+1;Wt.current=I,nn({sequence:I,rawText:w,immediate:R===!0}),cn(pe=>({status:"pending",message:"",savedAt:pe.savedAt}))}function Pr(w){r(w),l(null)}async function Zo(w,R,I={}){let pe=`${JSON.stringify(w,null,2)}
|
|
53
|
-
`;Pr(pe),V(!1),await np(pe,{successMessage:R,...I})}async function Fb({providerId:w,endpoints:R,newModelIds:I,credentialPayload:pe,headers:Oe,onModelTestStateChange:tt}){if(!Array.isArray(I)||I.length===0)return tt?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let Ge=Object.fromEntries(I.map(Fe=>[Fe,"pending"])),Ut=({phase:Fe="testing",message:jn="",failedModelIds:ct=[]}={})=>{tt?.({phase:Fe,modelStates:{...Ge},failedModelIds:ct,message:jn})},zt=()=>`Testing ${I.filter(jn=>Ge[jn]==="success"||Ge[jn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${w}.`;Ut({phase:"testing",message:zt()});try{let Fe=await vu("/api/config/test-provider-stream",{method:"POST",headers:Xe,body:JSON.stringify({endpoints:R,models:I,...pe,...Oe&&typeof Oe=="object"&&!Array.isArray(Oe)?{headers:Oe}:{}})},{onMessage:Ft=>{if(Ft?.type!=="progress")return;let uo=Ft.event||{};if(uo.phase!=="model-done")return;let ea=String(uo.model||"").trim();!ea||!Object.prototype.hasOwnProperty.call(Ge,ea)||(Ge[ea]=uo.confirmed?"success":"error",Ut({phase:"testing",message:zt()}))}}),jn=new Set(Array.isArray(Fe?.models)?Fe.models:[]),ct=I.filter(Ft=>!jn.has(Ft));for(let Ft of I)Ge[Ft]=jn.has(Ft)?"success":"error";if(!Fe?.ok||ct.length>0){let Ft=ct.length>0?`New model test failed for ${w}: ${ct.join(", ")}.`:(Fe?.warnings||[]).join(" ")||`New model test failed for ${w}.`;return Ut({phase:"",failedModelIds:ct,message:Ft}),D("warning",Ft),{ok:!1,failedModelIds:ct,result:Fe}}return Ut({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${w}.`}),{ok:!0,failedModelIds:[],result:Fe}}catch(Fe){for(let Ft of I)Ge[Ft]!=="success"&&(Ge[Ft]="error");let jn=Fe instanceof Error?Fe.message:String(Fe),ct=I.filter(Ft=>Ge[Ft]==="error");return Ut({phase:"",failedModelIds:ct,message:jn}),D("error",jn),{ok:!1,failedModelIds:ct}}}async function AT(w,R,{showSuccessNotice:I=!0}={}){if(T)return D("warning",T),!1;let pe=String(R?.id||"").trim(),Oe=String(R?.name||"").trim(),tt=Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""),Ge=Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],Ut=me.find(Ft=>Ft?.id===w),zt=xo(Ut)==="api",Fe=fu(Ut);if(!pe)return D("warning","Provider id is required."),!1;if(!ll.test(pe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Oe)return D("warning","Provider name is required."),!1;if(pe!==w&&me.some(Ft=>Ft?.id===pe))return D("warning",`Provider id "${pe}" already exists.`),!1;if(zt&&tt.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&tt.some(Ft=>!Si(Ft)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let jn=zt?Po(Ge,{knownModelIds:Fe,requireAtLeastOne:!0}):"";if(jn)return D("warning",jn),!1;let ct=iy(Re.value||St,w,{...R,endpoints:tt,rateLimitRows:Ge});try{return await Zo(ct,`Updated provider ${pe}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function CT(w,{providerDraft:R=null,modelRows:I=null,showSuccessNotice:pe=!0,onModelTestStateChange:Oe=null}={}){if(T)return D("warning",T),!1;let tt=me.find(Ur=>Ur?.id===w);if(!tt)return D("error",`Provider '${w}' was not found.`),!1;let Ge=!!(R&&typeof R=="object"),Ut=Array.isArray(I);if(!Ge&&!Ut)return!0;let zt=xo(tt)==="api",Fe=Ge?String(R?.id||"").trim():w,jn=Ge?String(R?.name||"").trim():String(tt?.name||w).trim(),ct=Ge?Array.isArray(R?.endpoints)?yr(R.endpoints):rr([],R?.endpoint||""):Ta(tt),Ft=Ge&&Array.isArray(R?.rateLimitRows)?br(R.rateLimitRows):[],uo=Ut?I.map(Ur=>({...Ur,id:String(Ur?.id||"").trim(),contextWindow:$o(Ur?.contextWindow||"")})).filter(Ur=>Ur.id):[];if(Ge){let Ur=Ut?uo.map(jr=>jr.id):fu(tt);if(!Fe)return D("warning","Provider id is required."),!1;if(!ll.test(Fe))return D("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!jn)return D("warning","Provider name is required."),!1;if(Fe!==w&&me.some(jr=>jr?.id===Fe))return D("warning",`Provider id "${Fe}" already exists.`),!1;if(zt&&ct.length===0)return D("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(zt&&ct.some(jr=>!Si(jr)))return D("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ia=zt?Po(Ft,{knownModelIds:Ur,requireAtLeastOne:!0}):"";if(Ia)return D("warning",Ia),!1}if(Ut){if(uo.length===0)return D("warning","Keep at least one model id on the provider."),!1;if(Os(uo.map(fo=>fo.id)))return D("warning","Model ids must be unique for each provider."),!1;if(uo.some(fo=>{let Pu=String(fo?.contextWindow||"").trim();if(!Pu)return!1;let ap=Number.parseInt(Pu,10);return!Number.isFinite(ap)||ap<=0||String(ap)!==Pu}))return D("warning","Context windows must be positive integers when set."),!1;let Ia=fu(tt),jr=uo.map(fo=>fo.id).filter(fo=>!Ia.includes(fo));if(zt&&jr.length>0){if(ct.length===0)return D("warning",`Provider '${Fe}' needs at least one endpoint before testing new models.`),!1;let fo=xy(R,tt);if(!fo.apiKey&&!fo.apiKeyEnv)return D("warning",`Provider '${Fe}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Fe,endpoints:ct,newModelIds:jr,credentialPayload:fo,headers:tt?.headers,onModelTestStateChange:Oe})).ok)return!1}}let ea=Re.value||St;Ge&&(ea=iy(ea,w,{...R,endpoints:ct,rateLimitRows:Ft})),Ut&&(ea=ay(ea,Ge?Fe:w,uo));let NM=Ge&&Ut?`Updated provider ${Fe} and saved its model list.`:Ge?`Updated provider ${Fe}.`:(()=>{let Ur=fu(tt),Ia=uo.map(jr=>jr.id).filter(jr=>!Ur.includes(jr));return Ia.length>0?`Tested ${Ia.length} new model${Ia.length===1?"":"s"} and updated ${Fe}.`:`Updated models for ${Fe}.`})();try{return await Zo(ea,NM,{showSuccessNotice:pe}),Oe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function RT({showSuccessNotice:w=!1}={}){if(Re.parseError||String((Re.value||St||{}).masterKey||"").trim())return!1;let R=jo(Re.value||St||{});R.masterKey=du();try{return await Zo(R,"Gateway key ready.",{showSuccessNotice:w}),!0}catch{return!1}}async function NT(){if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}try{await Bu(Qn),D("success","Gateway key copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function ET(){if(!ce){D("warning","API endpoint is not ready yet.");return}try{await Bu(ce),D("success","API endpoint copied to clipboard.")}catch(w){D("error",w instanceof Error?w.message:String(w))}}async function TT(w){let R=String(w||"").trim();if(!R){D("warning","Alias id is not ready yet.");return}try{await Bu(R),D("success",`Alias id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function Ba(w,R,{ensureMode:I="none",successMessage:pe=""}={}){let Oe=String(w||"").trim();if(!Oe){D("warning",`${R} is not resolved yet.`);return}try{await Ze("/api/file/open",{method:"POST",headers:Xe,body:JSON.stringify({editorId:"default",filePath:Oe,ensureMode:I})}),D("success",pe||`Opened ${R} in the default app.`)}catch(tt){D("error",tt instanceof Error?tt.message:String(tt))}}async function MT(w){let R=String(w||"").trim();if(!R){D("warning","Model id is not ready yet.");return}try{await Bu(R),D("success",`Model id ${R} copied to clipboard.`)}catch(I){D("error",I instanceof Error?I.message:String(I))}}async function OT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let R=jo(Re.value||St||{});R.masterKey=du();try{await Zo(R,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function kT(w,R,{providerDraft:I=null,onModelTestStateChange:pe=null}={}){if(T)return D("warning",T),!1;let Oe=me.find(ct=>ct?.id===w);if(!Oe)return D("error",`Provider '${w}' was not found.`),!1;let tt=(Array.isArray(R)?R:[]).map(ct=>({...ct,id:String(ct?.id||"").trim()})).filter(ct=>ct.id),Ge=I&&String(I?.id||"").trim()||w,Ut=I?Array.isArray(I?.endpoints)?yr(I.endpoints):rr([],I?.endpoint||""):Ta(Oe),zt=(Array.isArray(Oe?.models)?Oe.models:[]).map(ct=>String(ct?.id||"").trim()).filter(Boolean),Fe=tt.map(ct=>ct.id).filter(ct=>!zt.includes(ct));if(xo(Oe)==="api"&&Fe.length>0){if(Ut.length===0)return D("warning",`Provider '${Ge}' needs at least one endpoint before testing new models.`),!1;let ct=xy(I,Oe);if(!ct.apiKey&&!ct.apiKeyEnv)return D("warning",`Provider '${Ge}' needs an API key or env before testing new models.`),!1;if(!(await Fb({providerId:Ge,endpoints:Ut,newModelIds:Fe,credentialPayload:ct,headers:Oe?.headers,onModelTestStateChange:pe})).ok)return!1}let jn=ay(Re.value||St,w,tt);try{let ct=Fe.length>0?`Tested ${Fe.length} new model${Fe.length===1?"":"s"} and updated ${w}.`:`Updated models for ${w}.`;return await Zo(jn,ct),pe?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function _T(w,R,I={}){if(T)return D("warning",T),!1;let pe=eC(Re.value||St,w,R),Oe=String(R?.id||w||"").trim()||w;try{return await Zo(pe,I.successMessage||`Updated alias ${Oe}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function LT(w){if(T){D("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${w}" from the config?`)))return;let I=tC(Re.value||St,w);try{await Zo(I,`Removed alias ${w}.`)}catch{}}async function FB(w){try{await Bu(w?.url||""),D("success",`${w?.label||"Endpoint"} copied to clipboard.`)}catch(R){D("error",R instanceof Error?R.message:String(R))}}async function DT(){let R=!(Je?.routedViaRouter===!0);if(R){if(Xo){D("warning",Xo);return}if(!Qn){D("warning","Gateway key is still generating. Try again in a second.");return}if(!ce){D("warning","API endpoint is not ready yet.");return}}oe(R?"enable":"disable");try{let I=!1,pe;try{pe=await Ze("/api/amp/global-route",{method:"POST",headers:Xe,body:JSON.stringify({enabled:R,rawText:R?n:void 0,endpointUrl:ce})})}catch(tt){if(tt?.statusCode===404&&R)I=!0,pe=await Ze("/api/amp/apply",{method:"POST",headers:Xe,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ce})});else throw tt?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):tt}await rn({preserveDraft:!R});let Oe=R?"AMP connected.":"AMP disconnected.";D("success",I?`${Oe} Restart the web console if the AMP status does not refresh.`:Oe)}catch(I){D("error",I instanceof Error?I.message:String(I))}finally{oe("")}}function BT(w,R){if(Xo){D("warning",Xo);return}let I=String(R||"").trim(),pe=Li.find(Ge=>Ge.id!==w&&String(Ge?.inbound||"").trim()===I);if(I&&pe){D("warning",`AMP inbound match "${I}" already exists.`);return}let Oe=Ry(Re.value||St,w,{inbound:R}),tt=`${JSON.stringify(Oe,null,2)}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
`;Pr(Oe),Di(Oe,{immediate:d1(w,R,I)})}function UT(w,R){if(co){D("warning",co);return}let I=u1(Re.value||St,w,R),pe=`${JSON.stringify(I,null,2)}
|
|
58
|
-
`;Pr(pe),Di(pe)}function jT(w){if(co){D("warning",co);return}let R=c1(Re.value||St,w),I=`${JSON.stringify(R,null,2)}
|
|
59
|
-
`;Pr(I),Di(I,{immediate:!0})}async function VT({providerId:w,modelId:R}){if(co)throw new Error(co);let I=wi(w,R);if(!I)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(Rl?.providers)?Rl.providers:[]).map(Ut=>Cn(Ut?.id)).filter(Boolean)).has(Cn(I)))throw new Error(`Web search route '${I}' is already configured.`);let Oe=await Ze("/api/config/test-web-search-provider",{method:"POST",headers:Xe,body:JSON.stringify({providerId:w,modelId:R,rawText:n})}),tt=s1(Re.value||St,w,R),Ge=`${JSON.stringify(tt,null,2)}
|
|
60
|
-
`;
|
|
61
|
-
`;Pr(Oe);try{await np(Oe,{successMessage:`Removed provider ${R?.name||w}.`})}catch{}}async function rM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await w1(w),await rn({preserveDraft:!1}),D("success",`Saved local variant ${String(w?.name||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function oM({silent:w=!1}={}){if(Re.parseError)return w||D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return w||D("warning","Save or discard the current config draft before changing local models."),!1;try{return await N1(),await rn({preserveDraft:!1}),w||D("success","Local model status refreshed."),!0}catch(R){return w||D("error",R instanceof Error?R.message:String(R)),!1}}async function aM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await A1(w),await rn({preserveDraft:!1}),D("success",`Attached local model ${String(w?.displayName||w?.id||"").trim()||"draft"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function iM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await C1(w),await rn({preserveDraft:!1}),D("success","Updated local model path."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function lM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await R1(w),await rn({preserveDraft:!1}),D("success","Removed local model."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function sM(w,{onMessage:R}={}){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await S1(w,{onMessage:R}),await rn({preserveDraft:!1}),D("success",`Downloaded ${String(w?.displayName||w?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return D("error",I instanceof Error?I.message:String(I)),!1}}async function cM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await E1(w),await rn({preserveDraft:!1}),D("success",`Selected llama.cpp runtime ${String(w||"").trim()||"binary"}.`),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function uM(w){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/settings",{method:"POST",headers:Xe,body:JSON.stringify(w)}),await rn({preserveDraft:!1}),D("success","Updated llama.cpp runtime settings."),!0}catch(R){return D("error",R instanceof Error?R.message:String(R)),!1}}async function dM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/start",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Started llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function fM(){if(Re.parseError)return D("warning",`Fix the raw JSON parse error first: ${Re.parseError}`),!1;if(xt.current!==ht.current)return D("warning","Save or discard the current config draft before changing local models."),!1;try{return await Ze("/api/local-models/runtime/stop",{method:"POST",headers:Xe,body:"{}"}),await rn({preserveDraft:!1}),D("success","Stopped llama.cpp runtime."),!0}catch(w){return D("error",w instanceof Error?w.message:String(w)),!1}}async function No(){dn(!0);try{let R=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();R?.models&&$e(R.models)}catch{}finally{dn(!1)}}(0,ye.useEffect)(()=>{C==="local-models"&&Da&&No()},[C,Da]);function El(w,R,I){so(pe=>({...pe,[w]:{...pe[w]||{},[R]:I}}))}async function mM(w){El(w,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"loading",!1)}}async function pM(w){El(w,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}finally{El(w,"unloading",!1)}}async function gM(w,R){El(w,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,pinned:R})}),await No()}finally{El(w,"pinning",!1)}}async function hM(w,R){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,keepAlive:R})}),await No()}async function yM(w,R){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,contextLength:R})}),await No()}async function bM(w){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function vM(w){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w})}),await No()}async function xM(w,R){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:w,autoLoad:R})})}async function SM(w){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(w)})}async function wM(){so(w=>({...w,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_install:!1}))}}async function AM(){so(w=>({...w,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{so(w=>({...w,_startServer:!1}))}}async function CM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function RM(){so(w=>({...w,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await No()}finally{so(w=>({...w,_syncRouter:!1}))}}return d?(0,$.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,$.jsx)(Lt,{className:"w-full max-w-lg",children:(0,$.jsxs)(Dt,{className:"space-y-3 p-6 text-center",children:[(0,$.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,$.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,$.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):xT?(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:Ib,mode:"onboarding",targetProviderId:zb,defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:rp,onSaveAndStart:Kb},`onboarding-wizard-${Ib}-${zb||"new"}`)})]})}):(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[Xm?(0,$.jsx)(sT,{currentConfigPath:_b,productionConfigPath:Lb,routerPort:zu,canSyncProductionConfig:Jm,syncBusy:N,onSyncProductionConfig:Vb}):null,(0,$.jsx)(Lt,{className:"overflow-hidden",children:(0,$.jsx)(Dt,{className:"p-5",children:(0,$.jsxs)("div",{className:"space-y-4",children:[(0,$.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,$.jsx)("div",{className:"min-w-0 flex-1",children:(0,$.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,$.jsx)("span",{children:"LLM Router Web Console"}),(0,$.jsx)(wl,{connected:Nl,size:"md",srLabel:"Router running"}),Xm?(0,$.jsx)(_e,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,$.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,$.jsxs)("a",{href:sC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,$.jsx)(xC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:lC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,$.jsx)(vC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Repo"})]})]})]}),(0,$.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsxs)(H,{size:"sm",variant:Nl?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>op(Nl?"stop":"start"),disabled:g!=="","aria-label":Zm,title:Zm,children:[Nl?(0,$.jsx)(wC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(SC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:Zm})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:GT,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(AC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(H,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>ZT(kb?"disable":"enable"),disabled:x!=="","aria-label":ep,title:ep,children:[(0,$.jsx)(CC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ep})]})]}),(0,$.jsx)(EE,{endpointValue:ce||Jc,endpointDisabled:!ce,gatewayValue:Qn?bT:"Generating\u2026",gatewayPending:!Qn,gatewayDisabled:!Qn||f,rotateDisabled:f,onCopyEndpoint:ET,onCopyGatewayKey:NT,onRotateKey:OT})]}),f||b?(0,$.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,$.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!Nl&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(H,{size:"sm",variant:"outline",onClick:()=>op("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${zu}`})}):null,Db?(0,$.jsx)("div",{className:Q("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:Db}):null]})})}),(0,$.jsx)(wb,{notices:s,onDismiss:Ub}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(PE,{providers:me.filter(w=>w?.type!=="ollama"),onAddProvider:wT,onRemove:nM,onCopyModelId:MT,onApplyProviderDetails:AT,onApplyProviderModels:kT,onSaveAndCloseEditor:CT,disabledReason:T,busy:f})}),(0,$.jsxs)(bi,{value:C,onValueChange:O,className:"space-y-0",children:[(0,$.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,$.jsxs)(vi,{children:[(0,$.jsx)(Gn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(Gn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(wl,{connected:Un,srLabel:"AMP connected"})]})}),(0,$.jsx)(Gn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(wl,{connected:ki,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(Gn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(wl,{connected:_i,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(Gn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(wl,{connected:Iu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(Gn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(wl,{connected:vn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(Gn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(Gn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(qn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)(kE,{aliases:re,config:k,aliasIds:Object.keys(re),routeOptions:Pe,defaultModel:String(k?.defaultModel||"").trim(),ampDefaultRoute:Ym,disabledReason:T,busy:f,onApplyAlias:_T,onRemoveAlias:LT,onCopyAliasId:TT})}),(0,$.jsx)(qn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(ZE,{rows:Li,routeOptions:qs,webSearchSnapshot:Vt,ampClientUrl:ce,ampClientGlobal:Je,routingBusy:q,onToggleGlobalRouting:DT,onInboundChange:BT,onOutboundChange:IT,onCreateEntry:FT,onRemoveEntry:HT,onOpenWebSearchTab:()=>O("web-search"),onOpenConfigPath:()=>Ba(Je?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Ba(Je?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(M?.masterKey||"").trim(),disabledReason:Xo,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Codex CLI",toolState:Ne,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:gT,connectionBusy:ee,bindingBusy:ae,onToggleRouting:qT,onBindingChange:YT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Ne?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Ba(Ne?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:nT({bindingValue:Ne?.bindings?.defaultModel,thinkingLevel:Ne?.bindings?.thinkingLevel,configFilePath:Ne?.configFilePath,endpointUrl:Ne?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Ne?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:ly,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Ne?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:pC}]})}),(0,$.jsx)(qn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`,routeOptions:hT,connectionBusy:j,bindingBusy:ze,onToggleRouting:WT,onBindingChange:QT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Ba(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:rT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ce?`${ce}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:Y?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:Y?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:Y?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:Y?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:Y?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:Y?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:mT},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:Y?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:gC}]})}),(0,$.jsx)(qn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(qm,{toolName:"Factory Droid",toolState:ge,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`,routeOptions:yT,connectionBusy:ne,bindingBusy:fe,onToggleRouting:XT,onBindingChange:JT,hasMasterKey:!!Qn,disabledReason:Jo,onOpenPrimaryPath:()=>Ba(ge?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Ba(ge?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:oT({bindings:ge?.bindings,settingsFilePath:ge?.settingsFilePath,endpointUrl:ge?.configuredBaseUrl||`${ce?`${ce}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:ge?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:ge?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:ge?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:ge?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:ge?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:hC}]})}),(0,$.jsx)(qn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(XE,{summary:vn,llamacpp:{runtime:lt.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(lt.library||{}).filter(([,w])=>String(w?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(lt.variants||{}).filter(([,w])=>w?.runtime==="llamacpp")),disableEditsReason:Re.parseError?`Fix the raw JSON parse error first: ${Re.parseError}`:xt.current!==ht.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:rM,onRefreshLibrary:oM,onSelectRuntime:cM,onStartRuntime:dM,onStopRuntime:fM,onSaveRuntimeSettings:uM,onAttachModel:aM,onLocateModel:iM,onRemoveModel:lM,onDownloadManagedModel:sM},ollama:{connected:Da,snapshot:Gs,models:X,busy:zr,refreshing:un,config:k,onRefresh:No,onLoad:mM,onUnload:pM,onPin:gM,onKeepAlive:hM,onContextLength:yM,onAddToRouter:bM,onRemoveFromRouter:vM,onAutoLoad:xM,onSaveSettings:SM,onInstall:wM,onStartServer:AM,onStopServer:CM,onSyncRouter:RM}})}),(0,$.jsx)(qn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(eT,{webSearchConfig:Rl,webSearchProviders:Wm,hostedSearchCandidates:pT,onWebSearchStrategyChange:zT,onWebSearchProviderChange:PT,onWebSearchProviderMove:UT,onRemoveWebSearchProvider:jT,onAddHostedSearchEndpoint:VT,disabledReason:co,autosaveState:Dn})}),(0,$.jsx)(qn,{value:"activity",children:(0,$.jsx)(aT,{logs:e?.logs||[],activityLogEnabled:Yn,activityFilter:Ee,busyAction:ke,onActivityFilterChange:qe,onToggleEnabled:eM,onClear:tM})})]}),(0,$.jsx)(En,{open:vT,onClose:tp,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,$.jsx)(Mb,{baseConfig:gn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Pb,onApplyDraft:Hb,onValidateDraft:$b,onSaveDraft:$T,onSaveAndStart:KT,framed:!1,showHeader:!1},`provider-wizard-modal-${Z}`)})]})})}var fT=B(te(),1),uT=document.getElementById("app");uT&&(0,dT.createRoot)(uT).render((0,fT.jsx)(cT,{}));})();
|
|
51
|
+
`)},A5=0,$s=[];function UN(e){var t=Zt.useRef([]),n=Zt.useRef([0,0]),r=Zt.useRef(),o=Zt.useState(A5++)[0],a=Zt.useState(Lu)[0],i=Zt.useRef(e);Zt.useEffect(function(){i.current=e},[e]),Zt.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(o));var p=AN([e.lockRef.current],(e.shards||[]).map(PN),!0).filter(Boolean);return p.forEach(function(v){return v.classList.add("allow-interactivity-".concat(o))}),function(){document.body.classList.remove("block-interactivity-".concat(o)),p.forEach(function(v){return v.classList.remove("allow-interactivity-".concat(o))})}}},[e.inert,e.lockRef.current,e.shards]);var l=Zt.useCallback(function(p,v){if("touches"in p&&p.touches.length===2||p.type==="wheel"&&p.ctrlKey)return!i.current.allowPinchZoom;var h=km(p),g=n.current,y="deltaX"in p?p.deltaX:g[0]-h[0],x="deltaY"in p?p.deltaY:g[1]-h[1],R,w=p.target,E=Math.abs(y)>Math.abs(x)?"h":"v";if("touches"in p&&E==="h"&&w.type==="range")return!1;var C=window.getSelection(),M=C&&C.anchorNode,L=M?M===w||M.contains(w):!1;if(L)return!1;var F=hb(E,w);if(!F)return!0;if(F?R=E:(R=E==="v"?"h":"v",F=hb(E,w)),!F)return!1;if(!r.current&&"changedTouches"in p&&(y||x)&&(r.current=R),!R)return!0;var z=r.current||R;return IN(z,v,p,z==="h"?y:x,!0)},[]),s=Zt.useCallback(function(p){var v=p;if(!(!$s.length||$s[$s.length-1]!==a)){var h="deltaY"in v?zN(v):km(v),g=t.current.filter(function(R){return R.name===v.type&&(R.target===v.target||v.target===R.shadowParent)&&S5(R.delta,h)})[0];if(g&&g.should){v.cancelable&&v.preventDefault();return}if(!g){var y=(i.current.shards||[]).map(PN).filter(Boolean).filter(function(R){return R.contains(v.target)}),x=y.length>0?l(v,y[0]):!i.current.noIsolation;x&&v.cancelable&&v.preventDefault()}}},[]),c=Zt.useCallback(function(p,v,h,g){var y={name:p,delta:v,target:h,should:g,shadowParent:C5(h)};t.current.push(y),setTimeout(function(){t.current=t.current.filter(function(x){return x!==y})},1)},[]),d=Zt.useCallback(function(p){n.current=km(p),r.current=void 0},[]),u=Zt.useCallback(function(p){c(p.type,zN(p),p.target,l(p,e.lockRef.current))},[]),f=Zt.useCallback(function(p){c(p.type,km(p),p.target,l(p,e.lockRef.current))},[]);Zt.useEffect(function(){return $s.push(a),e.setCallbacks({onScrollCapture:u,onWheelCapture:u,onTouchMoveCapture:f}),document.addEventListener("wheel",s,wl),document.addEventListener("touchmove",s,wl),document.addEventListener("touchstart",d,wl),function(){$s=$s.filter(function(p){return p!==a}),document.removeEventListener("wheel",s,wl),document.removeEventListener("touchmove",s,wl),document.removeEventListener("touchstart",d,wl)}},[]);var m=e.removeScrollBar,b=e.inert;return Zt.createElement(Zt.Fragment,null,b?Zt.createElement(a,{styles:w5(o)}):null,m?Zt.createElement(pb,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function C5(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var jN=sb(Mm,UN);var VN=Om.forwardRef(function(e,t){return Om.createElement(_u,Rr({},e,{ref:t,sideCar:jN}))});VN.classNames=_u.classNames;var yb=VN;var ze=D(J(),1),R5=[" ","Enter","ArrowUp","ArrowDown"],N5=[" ","Enter"],Al="Select",[Lm,Dm,E5]=Df(Al),[Ks,rj]=ro(Al,[E5,Zy]),Bm=Zy(),[T5,Oi]=Ks(Al),[M5,k5]=Ks(Al),FN=e=>{let{__scopeSelect:t,children:n,open:r,defaultOpen:o,onOpenChange:a,value:i,defaultValue:l,onValueChange:s,dir:c,name:d,autoComplete:u,disabled:f,required:m,form:b}=e,p=Bm(t),[v,h]=se.useState(null),[g,y]=se.useState(null),[x,R]=se.useState(!1),w=Es(c),[E,C]=ka({prop:r,defaultProp:o??!1,onChange:a,caller:Al}),[M,L]=ka({prop:i,defaultProp:l,onChange:s,caller:Al}),F=se.useRef(null),z=v?b||!!v.closest("form"):!0,[G,ee]=se.useState(new Set),de=Array.from(G).map(q=>q.props.value).join(";");return(0,ze.jsx)(mN,{...p,children:(0,ze.jsxs)(T5,{required:m,scope:t,trigger:v,onTriggerChange:h,valueNode:g,onValueNodeChange:y,valueNodeHasChildren:x,onValueNodeHasChildrenChange:R,contentId:Ai(),value:M,onValueChange:L,open:E,onOpenChange:C,dir:w,triggerPointerDownPosRef:F,disabled:f,children:[(0,ze.jsx)(Lm.Provider,{scope:t,children:(0,ze.jsx)(M5,{scope:e.__scopeSelect,onNativeOptionAdd:se.useCallback(q=>{ee(ae=>new Set(ae).add(q))},[]),onNativeOptionRemove:se.useCallback(q=>{ee(ae=>{let te=new Set(ae);return te.delete(q),te})},[]),children:n})}),z?(0,ze.jsxs)(uE,{"aria-hidden":!0,required:m,tabIndex:-1,name:d,autoComplete:u,value:M,onChange:q=>L(q.target.value),disabled:f,form:b,children:[M===void 0?(0,ze.jsx)("option",{value:""}):null,Array.from(G)]},de):null]})})};FN.displayName=Al;var HN="SelectTrigger",$N=se.forwardRef((e,t)=>{let{__scopeSelect:n,disabled:r=!1,...o}=e,a=Bm(n),i=Oi(HN,n),l=i.disabled||r,s=Dt(t,i.onTriggerChange),c=Dm(n),d=se.useRef("touch"),[u,f,m]=fE(p=>{let v=c().filter(y=>!y.disabled),h=v.find(y=>y.value===i.value),g=mE(v,p,h);g!==void 0&&i.onValueChange(g.value)}),b=p=>{l||(i.onOpenChange(!0),m()),p&&(i.triggerPointerDownPosRef.current={x:Math.round(p.pageX),y:Math.round(p.pageY)})};return(0,ze.jsx)(pN,{asChild:!0,...a,children:(0,ze.jsx)(st.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:l,"data-disabled":l?"":void 0,"data-placeholder":dE(i.value)?"":void 0,...o,ref:s,onClick:St(o.onClick,p=>{p.currentTarget.focus(),d.current!=="mouse"&&b(p)}),onPointerDown:St(o.onPointerDown,p=>{d.current=p.pointerType;let v=p.target;v.hasPointerCapture(p.pointerId)&&v.releasePointerCapture(p.pointerId),p.button===0&&p.ctrlKey===!1&&p.pointerType==="mouse"&&(b(p),p.preventDefault())}),onKeyDown:St(o.onKeyDown,p=>{let v=u.current!=="";!(p.ctrlKey||p.altKey||p.metaKey)&&p.key.length===1&&f(p.key),!(v&&p.key===" ")&&R5.includes(p.key)&&(b(),p.preventDefault())})})})});$N.displayName=HN;var KN="SelectValue",GN=se.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,children:a,placeholder:i="",...l}=e,s=Oi(KN,n),{onValueNodeHasChildrenChange:c}=s,d=a!==void 0,u=Dt(t,s.onValueNodeChange);return ln(()=>{c(d)},[c,d]),(0,ze.jsx)(st.span,{...l,ref:u,style:{pointerEvents:"none"},children:dE(s.value)?(0,ze.jsx)(ze.Fragment,{children:i}):a})});GN.displayName=KN;var O5="SelectIcon",qN=se.forwardRef((e,t)=>{let{__scopeSelect:n,children:r,...o}=e;return(0,ze.jsx)(st.span,{"aria-hidden":!0,...o,ref:t,children:r||"\u25BC"})});qN.displayName=O5;var _5="SelectPortal",WN=e=>(0,ze.jsx)(tb,{asChild:!0,...e});WN.displayName=_5;var Cl="SelectContent",YN=se.forwardRef((e,t)=>{let n=Oi(Cl,e.__scopeSelect),[r,o]=se.useState();if(ln(()=>{o(new DocumentFragment)},[]),!n.open){let a=r;return a?Ab.createPortal((0,ze.jsx)(QN,{scope:e.__scopeSelect,children:(0,ze.jsx)(Lm.Slot,{scope:e.__scopeSelect,children:(0,ze.jsx)("div",{children:e.children})})}),a):null}return(0,ze.jsx)(XN,{...e,ref:t})});YN.displayName=Cl;var To=10,[QN,_i]=Ks(Cl),L5="SelectContentImpl",D5=cl("SelectContent.RemoveScroll"),XN=se.forwardRef((e,t)=>{let{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:o,onEscapeKeyDown:a,onPointerDownOutside:i,side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:m,sticky:b,hideWhenDetached:p,avoidCollisions:v,...h}=e,g=Oi(Cl,n),[y,x]=se.useState(null),[R,w]=se.useState(null),E=Dt(t,j=>x(j)),[C,M]=se.useState(null),[L,F]=se.useState(null),z=Dm(n),[G,ee]=se.useState(!1),de=se.useRef(!1);se.useEffect(()=>{if(y)return wN(y)},[y]),Q1();let q=se.useCallback(j=>{let[pe,...Se]=z().map(ke=>ke.ref.current),[Le]=Se.slice(-1),Ae=document.activeElement;for(let ke of j)if(ke===Ae||(ke?.scrollIntoView({block:"nearest"}),ke===pe&&R&&(R.scrollTop=0),ke===Le&&R&&(R.scrollTop=R.scrollHeight),ke?.focus(),document.activeElement!==Ae))return},[z,R]),ae=se.useCallback(()=>q([C,y]),[q,C,y]);se.useEffect(()=>{G&&ae()},[G,ae]);let{onOpenChange:te,triggerPointerDownPosRef:W}=g;se.useEffect(()=>{if(y){let j={x:0,y:0},pe=Le=>{j={x:Math.abs(Math.round(Le.pageX)-(W.current?.x??0)),y:Math.abs(Math.round(Le.pageY)-(W.current?.y??0))}},Se=Le=>{j.x<=10&&j.y<=10?Le.preventDefault():y.contains(Le.target)||te(!1),document.removeEventListener("pointermove",pe),W.current=null};return W.current!==null&&(document.addEventListener("pointermove",pe),document.addEventListener("pointerup",Se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",pe),document.removeEventListener("pointerup",Se,{capture:!0})}}},[y,te,W]),se.useEffect(()=>{let j=()=>te(!1);return window.addEventListener("blur",j),window.addEventListener("resize",j),()=>{window.removeEventListener("blur",j),window.removeEventListener("resize",j)}},[te]);let[V,Pe]=fE(j=>{let pe=z().filter(Ae=>!Ae.disabled),Se=pe.find(Ae=>Ae.ref.current===document.activeElement),Le=mE(pe,j,Se);Le&&setTimeout(()=>Le.ref.current.focus())}),ne=se.useCallback((j,pe,Se)=>{let Le=!de.current&&!Se;(g.value!==void 0&&g.value===pe||Le)&&(M(j),Le&&(de.current=!0))},[g.value]),$e=se.useCallback(()=>y?.focus(),[y]),ie=se.useCallback((j,pe,Se)=>{let Le=!de.current&&!Se;(g.value!==void 0&&g.value===pe||Le)&&F(j)},[g.value]),we=r==="popper"?bb:JN,Ue=we===bb?{side:l,sideOffset:s,align:c,alignOffset:d,arrowPadding:u,collisionBoundary:f,collisionPadding:m,sticky:b,hideWhenDetached:p,avoidCollisions:v}:{};return(0,ze.jsx)(QN,{scope:n,content:y,viewport:R,onViewportChange:w,itemRefCallback:ne,selectedItem:C,onItemLeave:$e,itemTextRefCallback:ie,focusSelectedItem:ae,selectedItemText:L,position:r,isPositioned:G,searchRef:V,children:(0,ze.jsx)(yb,{as:D5,allowPinchZoom:!0,children:(0,ze.jsx)(Fy,{asChild:!0,trapped:g.open,onMountAutoFocus:j=>{j.preventDefault()},onUnmountAutoFocus:St(o,j=>{g.trigger?.focus({preventScroll:!0}),j.preventDefault()}),children:(0,ze.jsx)(Py,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:i,onFocusOutside:j=>j.preventDefault(),onDismiss:()=>g.onOpenChange(!1),children:(0,ze.jsx)(we,{role:"listbox",id:g.contentId,"data-state":g.open?"open":"closed",dir:g.dir,onContextMenu:j=>j.preventDefault(),...h,...Ue,onPlaced:()=>ee(!0),ref:E,style:{display:"flex",flexDirection:"column",outline:"none",...h.style},onKeyDown:St(h.onKeyDown,j=>{let pe=j.ctrlKey||j.altKey||j.metaKey;if(j.key==="Tab"&&j.preventDefault(),!pe&&j.key.length===1&&Pe(j.key),["ArrowUp","ArrowDown","Home","End"].includes(j.key)){let Le=z().filter(Ae=>!Ae.disabled).map(Ae=>Ae.ref.current);if(["ArrowUp","End"].includes(j.key)&&(Le=Le.slice().reverse()),["ArrowUp","ArrowDown"].includes(j.key)){let Ae=j.target,ke=Le.indexOf(Ae);Le=Le.slice(ke+1)}setTimeout(()=>q(Le)),j.preventDefault()}})})})})})})});XN.displayName=L5;var B5="SelectItemAlignedPosition",JN=se.forwardRef((e,t)=>{let{__scopeSelect:n,onPlaced:r,...o}=e,a=Oi(Cl,n),i=_i(Cl,n),[l,s]=se.useState(null),[c,d]=se.useState(null),u=Dt(t,E=>d(E)),f=Dm(n),m=se.useRef(!1),b=se.useRef(!0),{viewport:p,selectedItem:v,selectedItemText:h,focusSelectedItem:g}=i,y=se.useCallback(()=>{if(a.trigger&&a.valueNode&&l&&c&&p&&v&&h){let E=a.trigger.getBoundingClientRect(),C=c.getBoundingClientRect(),M=a.valueNode.getBoundingClientRect(),L=h.getBoundingClientRect();if(a.dir!=="rtl"){let Ae=L.left-C.left,ke=M.left-Ae,Qe=E.left-ke,Ze=E.width+Qe,on=Math.max(Ze,C.width),Un=window.innerWidth-To,dn=By(ke,[To,Math.max(To,Un-on)]);l.style.minWidth=Ze+"px",l.style.left=dn+"px"}else{let Ae=C.right-L.right,ke=window.innerWidth-M.right-Ae,Qe=window.innerWidth-E.right-ke,Ze=E.width+Qe,on=Math.max(Ze,C.width),Un=window.innerWidth-To,dn=By(ke,[To,Math.max(To,Un-on)]);l.style.minWidth=Ze+"px",l.style.right=dn+"px"}let F=f(),z=window.innerHeight-To*2,G=p.scrollHeight,ee=window.getComputedStyle(c),de=parseInt(ee.borderTopWidth,10),q=parseInt(ee.paddingTop,10),ae=parseInt(ee.borderBottomWidth,10),te=parseInt(ee.paddingBottom,10),W=de+q+G+te+ae,V=Math.min(v.offsetHeight*5,W),Pe=window.getComputedStyle(p),ne=parseInt(Pe.paddingTop,10),$e=parseInt(Pe.paddingBottom,10),ie=E.top+E.height/2-To,we=z-ie,Ue=v.offsetHeight/2,j=v.offsetTop+Ue,pe=de+q+j,Se=W-pe;if(pe<=ie){let Ae=F.length>0&&v===F[F.length-1].ref.current;l.style.bottom="0px";let ke=c.clientHeight-p.offsetTop-p.offsetHeight,Qe=Math.max(we,Ue+(Ae?$e:0)+ke+ae),Ze=pe+Qe;l.style.height=Ze+"px"}else{let Ae=F.length>0&&v===F[0].ref.current;l.style.top="0px";let Qe=Math.max(ie,de+p.offsetTop+(Ae?ne:0)+Ue)+Se;l.style.height=Qe+"px",p.scrollTop=pe-ie+p.offsetTop}l.style.margin=`${To}px 0`,l.style.minHeight=V+"px",l.style.maxHeight=z+"px",r?.(),requestAnimationFrame(()=>m.current=!0)}},[f,a.trigger,a.valueNode,l,c,p,v,h,a.dir,r]);ln(()=>y(),[y]);let[x,R]=se.useState();ln(()=>{c&&R(window.getComputedStyle(c).zIndex)},[c]);let w=se.useCallback(E=>{E&&b.current===!0&&(y(),g?.(),b.current=!1)},[y,g]);return(0,ze.jsx)(z5,{scope:n,contentWrapper:l,shouldExpandOnScrollRef:m,onScrollButtonChange:w,children:(0,ze.jsx)("div",{ref:s,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:x},children:(0,ze.jsx)(st.div,{...o,ref:u,style:{boxSizing:"border-box",maxHeight:"100%",...o.style}})})})});JN.displayName=B5;var I5="SelectPopperPosition",bb=se.forwardRef((e,t)=>{let{__scopeSelect:n,align:r="start",collisionPadding:o=To,...a}=e,i=Bm(n);return(0,ze.jsx)(gN,{...i,...a,ref:t,align:r,collisionPadding:o,style:{boxSizing:"border-box",...a.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});bb.displayName=I5;var[z5,Cb]=Ks(Cl,{}),vb="SelectViewport",ZN=se.forwardRef((e,t)=>{let{__scopeSelect:n,nonce:r,...o}=e,a=_i(vb,n),i=Cb(vb,n),l=Dt(t,a.onViewportChange),s=se.useRef(0);return(0,ze.jsxs)(ze.Fragment,{children:[(0,ze.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),(0,ze.jsx)(Lm.Slot,{scope:n,children:(0,ze.jsx)(st.div,{"data-radix-select-viewport":"",role:"presentation",...o,ref:l,style:{position:"relative",flex:1,overflow:"hidden auto",...o.style},onScroll:St(o.onScroll,c=>{let d=c.currentTarget,{contentWrapper:u,shouldExpandOnScrollRef:f}=i;if(f?.current&&u){let m=Math.abs(s.current-d.scrollTop);if(m>0){let b=window.innerHeight-To*2,p=parseFloat(u.style.minHeight),v=parseFloat(u.style.height),h=Math.max(p,v);if(h<b){let g=h+m,y=Math.min(b,g),x=g-y;u.style.height=y+"px",u.style.bottom==="0px"&&(d.scrollTop=x>0?x:0,u.style.justifyContent="flex-end")}}}s.current=d.scrollTop})})})]})});ZN.displayName=vb;var eE="SelectGroup",[P5,U5]=Ks(eE),tE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Ai();return(0,ze.jsx)(P5,{scope:n,id:o,children:(0,ze.jsx)(st.div,{role:"group","aria-labelledby":o,...r,ref:t})})});tE.displayName=eE;var nE="SelectLabel",rE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=U5(nE,n);return(0,ze.jsx)(st.div,{id:o.id,...r,ref:t})});rE.displayName=nE;var _m="SelectItem",[j5,oE]=Ks(_m),aE=se.forwardRef((e,t)=>{let{__scopeSelect:n,value:r,disabled:o=!1,textValue:a,...i}=e,l=Oi(_m,n),s=_i(_m,n),c=l.value===r,[d,u]=se.useState(a??""),[f,m]=se.useState(!1),b=Dt(t,g=>s.itemRefCallback?.(g,r,o)),p=Ai(),v=se.useRef("touch"),h=()=>{o||(l.onValueChange(r),l.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,ze.jsx)(j5,{scope:n,value:r,disabled:o,textId:p,isSelected:c,onItemTextChange:se.useCallback(g=>{u(y=>y||(g?.textContent??"").trim())},[]),children:(0,ze.jsx)(Lm.ItemSlot,{scope:n,value:r,disabled:o,textValue:d,children:(0,ze.jsx)(st.div,{role:"option","aria-labelledby":p,"data-highlighted":f?"":void 0,"aria-selected":c&&f,"data-state":c?"checked":"unchecked","aria-disabled":o||void 0,"data-disabled":o?"":void 0,tabIndex:o?void 0:-1,...i,ref:b,onFocus:St(i.onFocus,()=>m(!0)),onBlur:St(i.onBlur,()=>m(!1)),onClick:St(i.onClick,()=>{v.current!=="mouse"&&h()}),onPointerUp:St(i.onPointerUp,()=>{v.current==="mouse"&&h()}),onPointerDown:St(i.onPointerDown,g=>{v.current=g.pointerType}),onPointerMove:St(i.onPointerMove,g=>{v.current=g.pointerType,o?s.onItemLeave?.():v.current==="mouse"&&g.currentTarget.focus({preventScroll:!0})}),onPointerLeave:St(i.onPointerLeave,g=>{g.currentTarget===document.activeElement&&s.onItemLeave?.()}),onKeyDown:St(i.onKeyDown,g=>{s.searchRef?.current!==""&&g.key===" "||(N5.includes(g.key)&&h(),g.key===" "&&g.preventDefault())})})})})});aE.displayName=_m;var Bu="SelectItemText",iE=se.forwardRef((e,t)=>{let{__scopeSelect:n,className:r,style:o,...a}=e,i=Oi(Bu,n),l=_i(Bu,n),s=oE(Bu,n),c=k5(Bu,n),[d,u]=se.useState(null),f=Dt(t,h=>u(h),s.onItemTextChange,h=>l.itemTextRefCallback?.(h,s.value,s.disabled)),m=d?.textContent,b=se.useMemo(()=>(0,ze.jsx)("option",{value:s.value,disabled:s.disabled,children:m},s.value),[s.disabled,s.value,m]),{onNativeOptionAdd:p,onNativeOptionRemove:v}=c;return ln(()=>(p(b),()=>v(b)),[p,v,b]),(0,ze.jsxs)(ze.Fragment,{children:[(0,ze.jsx)(st.span,{id:s.textId,...a,ref:f}),s.isSelected&&i.valueNode&&!i.valueNodeHasChildren?Ab.createPortal(a.children,i.valueNode):null]})});iE.displayName=Bu;var lE="SelectItemIndicator",sE=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return oE(lE,n).isSelected?(0,ze.jsx)(st.span,{"aria-hidden":!0,...r,ref:t}):null});sE.displayName=lE;var xb="SelectScrollUpButton",V5=se.forwardRef((e,t)=>{let n=_i(xb,e.__scopeSelect),r=Cb(xb,e.__scopeSelect),[o,a]=se.useState(!1),i=Dt(t,r.onScrollButtonChange);return ln(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollTop>0;a(d)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,ze.jsx)(cE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop-s.offsetHeight)}}):null});V5.displayName=xb;var Sb="SelectScrollDownButton",F5=se.forwardRef((e,t)=>{let n=_i(Sb,e.__scopeSelect),r=Cb(Sb,e.__scopeSelect),[o,a]=se.useState(!1),i=Dt(t,r.onScrollButtonChange);return ln(()=>{if(n.viewport&&n.isPositioned){let s=function(){let d=c.scrollHeight-c.clientHeight,u=Math.ceil(c.scrollTop)<d;a(u)};var l=s;let c=n.viewport;return s(),c.addEventListener("scroll",s),()=>c.removeEventListener("scroll",s)}},[n.viewport,n.isPositioned]),o?(0,ze.jsx)(cE,{...e,ref:i,onAutoScroll:()=>{let{viewport:l,selectedItem:s}=n;l&&s&&(l.scrollTop=l.scrollTop+s.offsetHeight)}}):null});F5.displayName=Sb;var cE=se.forwardRef((e,t)=>{let{__scopeSelect:n,onAutoScroll:r,...o}=e,a=_i("SelectScrollButton",n),i=se.useRef(null),l=Dm(n),s=se.useCallback(()=>{i.current!==null&&(window.clearInterval(i.current),i.current=null)},[]);return se.useEffect(()=>()=>s(),[s]),ln(()=>{l().find(d=>d.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[l]),(0,ze.jsx)(st.div,{"aria-hidden":!0,...o,ref:t,style:{flexShrink:0,...o.style},onPointerDown:St(o.onPointerDown,()=>{i.current===null&&(i.current=window.setInterval(r,50))}),onPointerMove:St(o.onPointerMove,()=>{a.onItemLeave?.(),i.current===null&&(i.current=window.setInterval(r,50))}),onPointerLeave:St(o.onPointerLeave,()=>{s()})})}),H5="SelectSeparator",$5=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e;return(0,ze.jsx)(st.div,{"aria-hidden":!0,...r,ref:t})});$5.displayName=H5;var wb="SelectArrow",K5=se.forwardRef((e,t)=>{let{__scopeSelect:n,...r}=e,o=Bm(n),a=Oi(wb,n),i=_i(wb,n);return a.open&&i.position==="popper"?(0,ze.jsx)(hN,{...o,...r,ref:t}):null});K5.displayName=wb;var G5="SelectBubbleInput",uE=se.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{let o=se.useRef(null),a=Dt(r,o),i=Mf(t);return se.useEffect(()=>{let l=o.current;if(!l)return;let s=window.HTMLSelectElement.prototype,d=Object.getOwnPropertyDescriptor(s,"value").set;if(i!==t&&d){let u=new Event("change",{bubbles:!0});d.call(l,t),l.dispatchEvent(u)}},[i,t]),(0,ze.jsx)(st.select,{...n,style:{...nb,...n.style},ref:a,defaultValue:t})});uE.displayName=G5;function dE(e){return e===""||e===void 0}function fE(e){let t=br(e),n=se.useRef(""),r=se.useRef(0),o=se.useCallback(i=>{let l=n.current+i;t(l),(function s(c){n.current=c,window.clearTimeout(r.current),c!==""&&(r.current=window.setTimeout(()=>s(""),1e3))})(l)},[t]),a=se.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return se.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,o,a]}function mE(e,t,n){let o=t.length>1&&Array.from(t).every(c=>c===t[0])?t[0]:t,a=n?e.indexOf(n):-1,i=q5(e,Math.max(a,0));o.length===1&&(i=i.filter(c=>c!==n));let s=i.find(c=>c.textValue.toLowerCase().startsWith(o.toLowerCase()));return s!==n?s:void 0}function q5(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var pE=FN,gE=$N,hE=GN,yE=qN,bE=WN,vE=YN,xE=ZN,SE=tE,wE=rE,AE=aE,CE=iE,RE=sE;var NE=D(be(),1);var EE=D(J(),1),He=(0,NE.forwardRef)(function({className:t,...n},r){return(0,EE.jsx)("input",{ref:r,className:Q("flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",t),...n})});function TE(e){return String(e||"").trim().toLowerCase()}function Im(e){return TE(e).length>0}function ME({searchEnabled:e=!0}={}){return!!e}function Rb(e){let t=String(e?.key||"");return!t||t.length!==1||e?.ctrlKey||e?.metaKey||e?.altKey?"":t.trim()?t:""}function kE(e={},t=""){let n=TE(t);return n?[e?.label,e?.value,e?.hint,e?.textValue,e?.searchText].map(o=>String(o||"").toLowerCase()).join(" ").includes(n):!0}var zm=D(be(),1),Y5=12;function Nb(e){return/auto|scroll|hidden|clip|overlay/.test(String(e||"").toLowerCase())}function Q5(e,t){return{top:Math.max(e.top,t.top),right:Math.min(e.right,t.right),bottom:Math.min(e.bottom,t.bottom),left:Math.max(e.left,t.left)}}function Pm(e){if(typeof window>"u")return[];let t=[],n=e?.parentElement||null;for(;n&&n!==document.body&&n!==document.documentElement;){let r=window.getComputedStyle(n);(Nb(r.overflow)||Nb(r.overflowY)||Nb(r.overflowX))&&t.push(n),n=n.parentElement}return t}function X5(e,{viewportPadding:t=Y5}={}){if(typeof window>"u")return null;let n={top:t,right:window.innerWidth-t,bottom:window.innerHeight-t,left:t};for(let r of Pm(e))n=Q5(n,r.getBoundingClientRect());return n}function J5({anchorRect:e,boundaryRect:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){if(!e||!t)return{side:n==="top"?"top":"bottom",maxHeight:o};let a=Math.max(0,e.top-t.top-r),i=Math.max(0,t.bottom-e.bottom-r),s=a===i?n==="top"?"top":"bottom":a>i?"top":"bottom",c=Math.max(0,Math.min(o,s==="top"?a:i));return{side:s,maxHeight:c}}function Um({open:e=!1,anchorRef:t,preferredSide:n="bottom",offset:r=4,desiredHeight:o=288}={}){let[a,i]=(0,zm.useState)(()=>({side:n==="top"?"top":"bottom",maxHeight:o}));return(0,zm.useLayoutEffect)(()=>{if(!e||typeof window>"u")return;let l=t?.current||null;if(!l){i({side:n==="top"?"top":"bottom",maxHeight:o});return}let s=()=>{i(J5({anchorRect:l.getBoundingClientRect(),boundaryRect:X5(l),preferredSide:n,offset:r,desiredHeight:o}))};s();let c=Pm(l);window.addEventListener("resize",s);for(let u of c)u.addEventListener("scroll",s,{passive:!0});let d=null;if(typeof ResizeObserver=="function"){d=new ResizeObserver(s),d.observe(l);for(let u of c)d.observe(u)}return()=>{window.removeEventListener("resize",s);for(let u of c)u.removeEventListener("scroll",s);d?.disconnect?.()}},[e,t,n,r,o]),a}var On=D(J(),1),Vm=(0,ht.createContext)(null),Z5="Enter character to filter",eB=41,tB="data-llm-router-select-search-input";function jm(e){return e==null||typeof e=="boolean"?"":typeof e=="string"||typeof e=="number"?String(e):Array.isArray(e)?e.map(t=>jm(t)).filter(Boolean).join(" "):(0,ht.isValidElement)(e)?jm(e.props?.children):""}function Eb(e,t="first"){let n=Array.from(e?.querySelectorAll?.("[role='option']")||[]).filter(a=>a.getAttribute("aria-disabled")!=="true");if(n.length===0)return;let r=n.find(a=>a.getAttribute("data-state")==="checked");(t==="last"?n[n.length-1]:r||n[0])?.focus?.()}function nB(e={}){let t=String(e.textValue||jm(e.children)||"").trim();return{value:String(e.value||""),textValue:t,searchText:String(e.searchText||"")}}function OE(e,t=""){let n=0,r=0;return{children:ht.Children.map(e,a=>{if(!(0,ht.isValidElement)(a))return a;if(a.type?.__LLM_ROUTER_SELECT_ITEM===!0){n+=1;let l=kE(nB(a.props),t);return l&&(r+=1),l?a:null}if(!a.props?.children)return a;let i=OE(a.props.children,t);return n+=i.totalItems,r+=i.matchedItems,a.type?.__LLM_ROUTER_SELECT_GROUP===!0&&i.matchedItems===0?null:(0,ht.cloneElement)(a,void 0,i.children)}),totalItems:n,matchedItems:r}}function Et({open:e,defaultOpen:t=!1,onOpenChange:n,searchEnabled:r=!0,openSearchRequest:o=0,children:a,...i}){let[l,s]=(0,ht.useState)(!!t),[c,d]=(0,ht.useState)(""),[u,f]=(0,ht.useState)(!1),m=(0,ht.useRef)(null),b=(0,ht.useRef)(0),p=e!==void 0?e:l;(0,ht.useEffect)(()=>{p||(d(""),f(!1))},[p]);function v(g){e===void 0&&s(g),n?.(g),g||(d(""),f(!1))}(0,ht.useEffect)(()=>{!o||o===b.current||(b.current=o,d(""),r&&f(!0),!p&&(e===void 0&&s(!0),n?.(!0)))},[o,r,p,e,n]);let h={open:p,searchEnabled:r,filterValue:c,setFilterValue:d,searchSessionActive:u,setSearchSessionActive:f,setOpen:v,triggerRef:m,openSearchRequest:o};return(0,On.jsx)(Vm.Provider,{value:h,children:(0,On.jsx)(pE,{...i,open:p,onOpenChange:v,children:a})})}var Tt=(0,ht.forwardRef)(function({className:t,children:n,onKeyDown:r,...o},a){let i=(0,ht.useContext)(Vm),l=i?.triggerRef||null,s=(0,ht.useCallback)(d=>{if(l&&(l.current=d),typeof a=="function"){a(d);return}a&&(a.current=d)},[l,a]);function c(d){if(r?.(d),d.defaultPrevented||!i?.searchEnabled||o.disabled)return;let u=Rb(d);u&&(d.preventDefault(),i.setSearchSessionActive?.(!0),i.setOpen(!0),i.setFilterValue(f=>`${f}${u}`))}return(0,On.jsxs)(gE,{ref:s,className:Q("relative inline-flex h-9 w-full items-center gap-2 rounded-lg border border-input bg-background/80 pl-3 pr-9 text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40 disabled:cursor-not-allowed disabled:opacity-50",t),onKeyDown:c,...o,children:[(0,On.jsx)("span",{className:"min-w-0 flex-1 truncate text-left",children:n}),(0,On.jsx)(yE,{className:"pointer-events-none absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",children:"\u25BE"})]})});function Mt(e){return(0,On.jsx)(hE,{...e})}var kt=(0,ht.forwardRef)(function({className:t,children:n,position:r="popper",onKeyDownCapture:o,searchPlaceholder:a=Z5,emptySearchMessage:i="No matching options.",...l},s){let c=(0,ht.useContext)(Vm),d=(0,ht.useRef)(null),u=(0,ht.useRef)(null),f=Um({open:!!c?.open,anchorRef:c?.triggerRef,preferredSide:"bottom",desiredHeight:288,offset:4}),m=ME({searchEnabled:c?.searchEnabled,filterValue:c?.filterValue,sessionActive:c?.searchSessionActive}),b=(0,ht.useMemo)(()=>Im(c?.filterValue)?OE(n,c?.filterValue):{children:n,totalItems:0,matchedItems:0},[n,c?.filterValue]),p=Im(c?.filterValue)&&b.totalItems>0&&b.matchedItems===0,v=Math.max(0,Math.floor((f.maxHeight||288)-(m?eB:0)));(0,ht.useEffect)(()=>{if(!c?.open||!m||typeof window>"u")return;let x=window.requestAnimationFrame(()=>{let R=u.current;if(!R)return;R.focus();let w=R.value.length;R.setSelectionRange(w,w)});return()=>window.cancelAnimationFrame(x)},[c?.open,m,c?.openSearchRequest]);let h=(0,ht.useCallback)(x=>{if(d.current=x,typeof s=="function"){s(x);return}s&&(s.current=x)},[s]);function g(x){if(o?.(x),x.defaultPrevented||x.target===u.current||!c?.searchEnabled)return;let R=Rb(x);R&&(x.preventDefault(),x.stopPropagation(),c.setSearchSessionActive?.(!0),c.setFilterValue(w=>`${w}${R}`))}function y(x){let R=x.target.value;c?.setSearchSessionActive?.(!0),c?.setFilterValue(R)}return(0,On.jsx)(bE,{children:(0,On.jsxs)(vE,{ref:h,position:r,side:r==="popper"?f.side:void 0,className:Q("z-50 min-w-[8rem] overflow-hidden rounded-xl border border-border/70 bg-popover text-popover-foreground shadow-lg",r==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=top]:-translate-y-1",t),onKeyDownCapture:g,...l,children:[m?(0,On.jsx)("div",{className:"border-b border-border/70 p-1",children:(0,On.jsx)(He,{ref:u,"data-llm-router-select-search-input":"true",value:c?.filterValue||"",autoComplete:"off",autoCorrect:"off",autoCapitalize:"none",spellCheck:!1,placeholder:a,className:"h-8 border-border/70 bg-background/90",onChange:y,onPointerDown:x=>x.stopPropagation(),onClick:x=>x.stopPropagation(),onKeyDown:x=>{if(x.stopPropagation(),x.key==="ArrowDown"){x.preventDefault(),Eb(d.current,"first");return}if(x.key==="ArrowUp"){x.preventDefault(),Eb(d.current,"last");return}x.key==="Escape"&&(x.preventDefault(),c?.setSearchSessionActive?.(!1),c?.setFilterValue(""),typeof window<"u"&&window.requestAnimationFrame(()=>Eb(d.current)))}})}):null,(0,On.jsxs)(xE,{className:"px-1 pb-1",style:{maxHeight:`${v}px`},children:[Im(c?.filterValue)?b.children:n,p?(0,On.jsx)("div",{className:"px-3 py-2 text-sm text-muted-foreground",children:i}):null]})]})})}),Je=(0,ht.forwardRef)(function({className:t,children:n,searchText:r="",textValue:o,onPointerMove:a,...i},l){let s=(0,ht.useContext)(Vm),c=String(o||jm(n)||"").trim();function d(u){if(a?.(u),u.defaultPrevented||!s?.searchEnabled||typeof document>"u")return;let f=document.activeElement;f instanceof HTMLElement&&f.getAttribute(tB)==="true"&&u.preventDefault()}return(0,On.jsxs)(AE,{ref:l,className:Q("relative flex w-full cursor-default select-none items-center rounded-lg py-2 pl-3 pr-8 text-sm text-foreground outline-none transition-colors hover:bg-accent/60 focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",t),textValue:c,onPointerMove:d,...i,children:[(0,On.jsx)(CE,{children:n}),(0,On.jsx)("span",{className:"absolute right-2 inline-flex h-4 w-4 items-center justify-center text-xs text-muted-foreground",children:(0,On.jsx)(RE,{children:"\u2713"})})]})});Je.__LLM_ROUTER_SELECT_ITEM=!0;function Rl(e){return(0,On.jsx)(SE,{...e})}Rl.__LLM_ROUTER_SELECT_GROUP=!0;var Gs=(0,ht.forwardRef)(function({className:t,children:n,...r},o){return(0,On.jsx)(wE,{ref:o,className:Q("-mt-1 sticky top-0 z-10 -mx-1 mb-1 block border-b border-border/55 bg-background/96 px-4 py-2 text-xs font-semibold uppercase tracking-[0.18em] text-foreground/80 backdrop-blur-sm",t),...r,children:n})});var Iu=D(J(),1);function Tb(e={}){let t=[],n=e?.modelAliases&&typeof e.modelAliases=="object"&&!Array.isArray(e.modelAliases)?e.modelAliases:{};for(let o of Object.keys(n))t.push({value:o,label:o,hint:`Alias \xB7 ${(n[o]?.targets||[]).length||0} target(s)`,kind:"alias",groupKey:"aliases",groupLabel:"Aliases"});for(let o of Array.isArray(e?.providers)?e.providers:[]){let a=String(o?.id||"").trim(),i=String(o?.name||a||"provider").trim()||"provider";for(let l of Array.isArray(o?.models)?o.models:[]){let s=String(l?.id||"").trim();if(!a||!s)continue;let c=Number.isFinite(l?.contextWindow)?Number(l.contextWindow):null;t.push({value:`${a}/${s}`,label:`${a}/${s}`,hint:c?`${i} \xB7 ${Yo(c)}`:i,kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:i})}}let r=new Set;return t.filter(o=>!o?.value||r.has(o.value)?!1:(r.add(o.value),!0))}function rB(e=""){let t=String(e||"").trim();if(!t)return{};let n=Ff(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function Li(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...rB(o)}));return n}function oB(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function aB(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function _E(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return oB(e).map((r,o)=>{let a=r.options.map(i=>(0,Iu.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:aB(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,Iu.jsxs)(Rl,{children:[(0,Iu.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}var qs=D(be(),1),DE=D(ji(),1);var uo=D(be(),1);var iB="flex h-9 w-full rounded-lg border border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40";function lB({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1,previousCommittedValue:o=""}={}){let a=String(e??""),i=String(t??""),l=String(o??"");return n?{draftValue:i,hasLocalDraft:r,previousCommittedValue:a}:!r||a===i?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:a!==l?{draftValue:a,hasLocalDraft:!1,previousCommittedValue:a}:{draftValue:i,hasLocalDraft:!0,previousCommittedValue:a}}function sB({committedValue:e="",draftValue:t="",isFocused:n=!1,hasLocalDraft:r=!1}={}){return String(n||r?t??"":e??"")}function cB({commitOnBlur:e=!1,draftValue:t="",hasLocalDraft:n=!1}={}){return!e||!n?null:String(t??"")}var Fm=(0,uo.forwardRef)(function({className:t,commitOnBlur:n=!1,value:r,onValueCommit:o,onValueChange:a,onChange:i,onFocus:l,onBlur:s,...c},d){let u=String(r??""),[f,m]=(0,uo.useState)(u),[b,p]=(0,uo.useState)(!1),[v,h]=(0,uo.useState)(!1),g=(0,uo.useRef)(u);return(0,uo.useEffect)(()=>{let y=lB({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v,previousCommittedValue:g.current});g.current=y.previousCommittedValue,m(y.draftValue),h(y.hasLocalDraft)},[u,f,v,b]),(0,uo.createElement)("input",{...c,ref:d,className:Q(iB,t),value:sB({committedValue:u,draftValue:f,isFocused:b,hasLocalDraft:v}),onFocus:y=>{p(!0),l?.(y)},onChange:y=>{let x=y.target.value;m(x),h(!0),a?.(x,y),i?.(y)},onBlur:y=>{p(!1);let x=cB({commitOnBlur:n,draftValue:f,hasLocalDraft:v});x!==null&&o?.(x,y),s?.(y)}})});var uB=/^\d*$/;function LE(e){let t=String(e??""),n=uB.test(t);return{accepted:n,draftValue:n?t:"",shouldCommit:n&&t!=="",commitValue:n&&t!==""?t:""}}var xe=D(J(),1);function dB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,xe.jsx)("path",{d:"M8 12V4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,xe.jsx)("path",{d:"M4.75 7.25 8 4l3.25 3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function fB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,xe.jsx)("path",{d:"M8 4v8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,xe.jsx)("path",{d:"M4.75 8.75 8 12l3.25-3.25",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function mB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,xe.jsx)("path",{d:"M2.5 10s3-5.5 7.5-5.5S17.5 10 17.5 10s-3 5.5-7.5 5.5S2.5 10 2.5 10Z"}),(0,xe.jsx)("circle",{cx:"10",cy:"10",r:"2.5"})]})}function pB({className:e=""}){return(0,xe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,xe.jsx)("path",{d:"M8.15 4.85A8.5 8.5 0 0 1 10 4.5c4.5 0 7.5 5.5 7.5 5.5a12.4 12.4 0 0 1-1.67 2.28"}),(0,xe.jsx)("path",{d:"M5.6 5.6A12.2 12.2 0 0 0 2.5 10s3 5.5 7.5 5.5a8.3 8.3 0 0 0 4.4-1.6"}),(0,xe.jsx)("path",{d:"M8.23 8.23a2.5 2.5 0 0 0 3.54 3.54"}),(0,xe.jsx)("path",{d:"M3 3l14 14"})]})}function Ws({value:e,onChange:t,onValueChange:n,placeholder:r,disabled:o,isEnvVar:a,buffered:i,commitOnBlur:l,onValueCommit:s,className:c,inputProps:d={},maskMode:u="password"}){let[f,m]=(0,qs.useState)(!1),b=!a&&!f,p=b&&u!=="obscured-text"?"password":"text",v=b&&u==="obscured-text"?{...d?.style&&typeof d.style=="object"?d.style:{},WebkitTextSecurity:"disc"}:d?.style,h=i?{value:e||"",onValueChange:n,onValueCommit:s,commitOnBlur:l,type:p,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d}:{value:e||"",onChange:t,type:p,autoComplete:"off",spellCheck:!1,placeholder:r,disabled:o,className:Q("flex h-9 w-full rounded-lg rounded-r-none border border-r-0 border-input bg-background/80 px-3 py-2 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",c),style:v,...d};return(0,xe.jsxs)("div",{className:"flex",children:[i?(0,xe.jsx)(Fm,{...h}):(0,xe.jsx)("input",{...h}),(0,xe.jsx)("button",{type:"button",tabIndex:-1,onClick:()=>m(g=>!g),disabled:o,className:"inline-flex h-9 w-9 shrink-0 items-center justify-center rounded-lg rounded-l-none border border-l-0 border-input bg-background/80 text-muted-foreground transition hover:text-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50","aria-label":f?"Hide credential":"Show credential",children:f?(0,xe.jsx)(pB,{className:"h-4 w-4"}):(0,xe.jsx)(mB,{className:"h-4 w-4"})})]})}function za({disabled:e=!1,label:t="Move up",onClick:n}){return(0,xe.jsx)(U,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,xe.jsx)(dB,{className:"h-3.5 w-3.5"})})}function Nl({disabled:e=!1,label:t="Move down",onClick:n}){return(0,xe.jsx)(U,{type:"button",variant:"ghost",size:"sm",className:"h-7 w-7 rounded-full p-0",onMouseDown:r=>r.preventDefault(),onClick:n,disabled:e,"aria-label":t,title:t,children:(0,xe.jsx)(fB,{className:"h-3.5 w-3.5"})})}function Mb({active:e=!1}){return e?(0,xe.jsx)("span",{"aria-hidden":"true",className:"inline-flex h-2.5 w-2.5 rounded-full bg-emerald-500"}):null}function De({label:e,hint:t,className:n,children:r,stacked:o=!1,headerClassName:a,hintClassName:i,headerAction:l=null}){return(0,xe.jsxs)("div",{className:Q("flex flex-col gap-2 text-sm",n),children:[(0,xe.jsxs)("div",{className:Q("text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",o?"flex min-h-10 items-start justify-between gap-3":"flex items-center justify-between gap-2",a),children:[(0,xe.jsxs)("div",{className:Q("min-w-0",o?"flex-1 space-y-1":"flex min-w-0 items-center gap-2"),children:[(0,xe.jsx)("span",{children:e}),t?(0,xe.jsx)("span",{className:Q("block normal-case tracking-normal text-[11px] text-muted-foreground/80",o?"leading-4":null,i),children:t}):null]}),l?(0,xe.jsx)("div",{className:"shrink-0",children:l}):null]}),r]})}function Hm({value:e,onValueChange:t,disabled:n=!1,allowEmptyCommit:r=!1,...o}){let a=String(e??""),[i,l]=(0,qs.useState)(a);return(0,qs.useEffect)(()=>{l(a)},[a]),(0,xe.jsx)(He,{...o,value:i,inputMode:"numeric",disabled:n,onChange:s=>{let c=LE(s.target.value);c.accepted&&(l(c.draftValue),c.shouldCommit?t(c.commitValue):r&&c.draftValue===""&&t(""))},onBlur:()=>{l(s=>s!==""?s:r?(t(""),""):a)}})}function BE({label:e,hint:t,checked:n=!1,onCheckedChange:r,disabled:o=!1,className:a}){return(0,xe.jsxs)("div",{className:Q("flex items-center justify-between gap-4 rounded-2xl border border-border/70 bg-background/80 px-4 py-3",a),children:[(0,xe.jsxs)("div",{className:"min-w-0",children:[(0,xe.jsx)("div",{className:"text-sm font-medium text-foreground",children:e}),t?(0,xe.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:t}):null]}),(0,xe.jsx)(jo,{checked:n,onCheckedChange:r,disabled:o,className:"data-[disabled]:cursor-not-allowed data-[disabled]:opacity-60"})]})}function _n({open:e=!1,title:t="",description:n="",onClose:r=()=>{},children:o,variant:a="dialog",headerActions:i=null,showCloseButton:l=!0,closeDisabled:s=!1,closeOnEscape:c=!0,closeOnBackdrop:d=!0,footer:u=null,contentClassName:f="",bodyClassName:m="",footerClassName:b=""}){if((0,qs.useEffect)(()=>{if(!e||typeof window>"u")return;function h(g){g.key==="Escape"&&c&&r()}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c,e,r]),!e)return null;let p=a==="page",v=(0,xe.jsx)("div",{className:Q("fixed inset-0 z-50 bg-slate-950/55 backdrop-blur-sm",p?"p-0":"flex items-center justify-center p-4"),onMouseDown:h=>{h.target===h.currentTarget&&d&&r()},children:(0,xe.jsxs)("div",{className:Q("overflow-hidden border border-border/70 bg-card/95 shadow-2xl",p?"flex h-full w-full flex-col rounded-none border-x-0 border-y-0 bg-background/98":"flex max-h-[85vh] w-full max-w-3xl flex-col rounded-3xl",f),children:[(0,xe.jsxs)("div",{className:Q("flex items-start justify-between gap-3 border-b border-border/70",p?"px-5 py-4 sm:px-6":"px-5 py-4"),children:[(0,xe.jsxs)("div",{className:"min-w-0",children:[(0,xe.jsx)("div",{className:"text-base font-semibold text-foreground",children:t}),n?(0,xe.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:n}):null]}),(0,xe.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[i,l?(0,xe.jsx)(U,{type:"button",variant:"ghost",size:"sm",onClick:r,disabled:s,children:"Close"}):null]})]}),(0,xe.jsx)("div",{className:Q("overflow-y-auto",p?"min-h-0 flex-1 px-5 py-4 sm:px-6 sm:py-5":"min-h-0 flex-1 px-5 py-4",m),children:o}),u?(0,xe.jsx)("div",{className:Q("border-t border-border/70 bg-background/96",p?"px-5 py-4 sm:px-6":"px-5 py-4",b),children:u}):null]})});return typeof document>"u"||!document.body?v:(0,DE.createPortal)(v,document.body)}function $m({open:e=!1,anchorRef:t,preferredSide:n="bottom",desiredHeight:r=288,offset:o=4,className:a="",children:i,...l}){let s=Um({open:e,anchorRef:t,preferredSide:n,desiredHeight:r,offset:o});return e?(0,xe.jsx)("div",{className:Q("absolute left-0 right-0 z-30 overflow-y-auto rounded-xl border border-border/70 bg-popover shadow-lg",s.side==="top"?"bottom-full mb-1":"top-full mt-1",a),style:{maxHeight:`${Math.max(0,Math.floor(s.maxHeight||r))}px`},...l,children:i}):null}function IE({open:e=!1,onKeepEditing:t=()=>{},onDiscardAndClose:n=()=>{},onSaveAndClose:r=()=>{},saveDisabled:o=!1,dirtyLabels:a=[],details:i=""}){let l=a.length>1?`${a.slice(0,-1).join(", ")} and ${a[a.length-1]}`:a[0]||"this form";return(0,xe.jsx)(_n,{open:e,onClose:t,title:"Unsaved changes",description:`You have unsaved edits in ${l}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,xe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,xe.jsx)(U,{type:"button",variant:"ghost",onClick:t,children:"Keep editing"}),(0,xe.jsx)(U,{type:"button",variant:"outline",onClick:n,children:"Cancel + Close"}),(0,xe.jsx)(U,{type:"button",onClick:()=>{r()},disabled:o,children:"Save + Close"})]}),children:(0,xe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,xe.jsx)("div",{children:"Choose whether to save these edits before closing the modal."}),i?(0,xe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-amber-900",children:i}):null]})})}function zE({open:e=!1,failedModelIds:t=[],onKeepEditing:n=()=>{},onRemoveFailedAndClose:r=()=>{},removeDisabled:o=!1}){let a=t.length>1?`${t.length} failed models`:t[0]||"the failed model";return(0,xe.jsx)(_n,{open:e,onClose:n,title:"Failed model tests",description:`Some new models did not pass validation: ${a}.`,contentClassName:"max-w-lg rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,xe.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,xe.jsx)(U,{type:"button",variant:"ghost",onClick:n,children:"Keep editing"}),(0,xe.jsx)(U,{type:"button",variant:"outline",onClick:()=>{r()},disabled:o,children:"Remove failed + close"})]}),children:(0,xe.jsxs)("div",{className:"space-y-3 text-sm leading-6 text-muted-foreground",children:[(0,xe.jsx)("div",{children:"Successful new models are still kept in the draft. You can continue editing, or remove only the failed rows and close the modal."}),t.length>0?(0,xe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-rose-900",children:t.join(", ")}):null]})})}function Ur(){return(0,xe.jsx)("span",{className:"mr-2 inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-r-transparent align-[-0.125em]"})}function PE({children:e,onClick:t,disabled:n=!1,title:r="",className:o=""}){return(0,xe.jsx)("button",{type:"button",className:Q("inline-flex items-center rounded-full border border-border bg-background/70 px-2.5 py-1 text-[11px] font-medium tracking-wide text-muted-foreground transition hover:border-primary/35 hover:bg-primary/5 hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50",o),onClick:t,disabled:n,title:r,"aria-label":r||void 0,children:e})}var Be=D(J(),1);function gB({className:e=""}){return(0,Be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Be.jsx)("circle",{cx:"6.75",cy:"10",r:"3.25"}),(0,Be.jsx)("path",{d:"M10 10h6.5"}),(0,Be.jsx)("path",{d:"M13.5 10v2.25"}),(0,Be.jsx)("path",{d:"M15.75 10v1.5"})]})}function hB({className:e=""}){return(0,Be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Be.jsx)("path",{d:"M16.25 10a6.25 6.25 0 1 1-1.83-4.42"}),(0,Be.jsx)("path",{d:"M13.5 3.75h3v3"}),(0,Be.jsx)("path",{d:"M16.5 3.75 12.75 7.5"})]})}function yB({className:e=""}){return(0,Be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Be.jsx)("path",{d:"M7.25 5.75h-1.5A2.75 2.75 0 0 0 3 8.5v5.75A2.75 2.75 0 0 0 5.75 17h5.75a2.75 2.75 0 0 0 2.75-2.75v-1.5"}),(0,Be.jsx)("path",{d:"M10.5 9.5 17 3"}),(0,Be.jsx)("path",{d:"M12 3h5v5"})]})}function bB({className:e=""}){return(0,Be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Be.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Be.jsx)("path",{d:"M11 3.5V7.5H15"})]})}function vB({className:e=""}){return(0,Be.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,Be.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,Be.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,Be.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,Be.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function xB({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a}){return(0,Be.jsxs)("button",{type:"button",className:"inline-flex h-9 min-w-0 max-w-full items-center gap-2 rounded-full border border-border/70 bg-background/90 px-3 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70 sm:max-w-[18rem]",onClick:o,disabled:r,"aria-label":a,title:r?a:t,children:[(0,Be.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Be.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:e}),(0,Be.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:t})]})}function SB({value:e,pending:t=!1,disabled:n=!1,rotateDisabled:r=!1,onCopy:o,onRotate:a}){return(0,Be.jsxs)("div",{className:"flex h-9 min-w-0 max-w-full items-stretch overflow-hidden rounded-full border border-border/70 bg-background/90 sm:max-w-[18rem]",children:[(0,Be.jsxs)("button",{type:"button",className:"inline-flex min-w-0 flex-1 items-center gap-2 rounded-l-full px-3 text-left transition hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:n,"aria-label":t?"Gateway key is still generating":"Copy gateway key",title:t?"Gateway key is still generating":"Copy gateway key",children:[(0,Be.jsx)("span",{className:"flex h-6 w-6 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:(0,Be.jsx)(gB,{className:"h-3.5 w-3.5"})}),(0,Be.jsx)("span",{className:"shrink-0 text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Gateway key"}),(0,Be.jsx)("span",{className:"min-w-0 truncate text-xs font-medium text-foreground",children:e})]}),(0,Be.jsx)("button",{type:"button",className:"inline-flex w-9 shrink-0 items-center justify-center rounded-r-full border-l border-border/70 text-muted-foreground transition hover:bg-accent hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",onClick:a,disabled:r,"aria-label":"Rotate gateway key",title:"Rotate gateway key",children:(0,Be.jsx)(hB,{className:"h-3.5 w-3.5"})})]})}function jE({endpointValue:e,endpointDisabled:t=!1,gatewayValue:n,gatewayPending:r=!1,gatewayDisabled:o=!1,rotateDisabled:a=!1,onCopyEndpoint:i,onCopyGatewayKey:l,onRotateKey:s}){return(0,Be.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5",children:[(0,Be.jsx)(xB,{label:"Endpoint",value:e,icon:(0,Be.jsx)(yB,{className:"h-3.5 w-3.5"}),disabled:t,onClick:i,actionLabel:t?"API endpoint not ready yet":"Copy API endpoint"}),(0,Be.jsx)(SB,{value:n,pending:r,disabled:o,rotateDisabled:a,onCopy:l,onRotate:s})]})}function UE({label:e,value:t,icon:n,disabled:r=!1,onClick:o,actionLabel:a="",emptyLabel:i="Not resolved"}){let l=String(t||"").trim()||i;return(0,Be.jsxs)("button",{type:"button",className:"inline-flex min-w-0 max-w-full items-start gap-2 rounded-2xl border border-border/70 bg-background/90 px-3 py-2 text-left transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",onClick:o,disabled:r,"aria-label":a,title:r?a:l,children:[(0,Be.jsx)("span",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full bg-secondary text-muted-foreground",children:n}),(0,Be.jsxs)("span",{className:"min-w-0",children:[(0,Be.jsx)("span",{className:"block text-[9px] font-semibold uppercase tracking-[0.12em] text-muted-foreground",children:e}),(0,Be.jsx)("span",{className:"mt-1 block break-all text-[11px] font-medium leading-4 text-foreground",children:l})]})]})}function El({connected:e=!1,className:t,srLabel:n="Connected",size:r="sm"}){if(!e)return null;let o=r==="md"?"h-3.5 w-3.5":"h-2.5 w-2.5",a=r==="md"?"h-2 w-2":"h-1.5 w-1.5";return(0,Be.jsxs)("span",{className:Q("relative inline-flex shrink-0 items-center justify-center",o,t),children:[(0,Be.jsx)("span",{"aria-hidden":"true",className:"absolute inset-0 rounded-full bg-emerald-400/45 animate-ping motion-reduce:animate-none"}),(0,Be.jsx)("span",{"aria-hidden":"true",className:Q("relative rounded-full bg-emerald-500 ring-2 ring-emerald-500/15",a)}),(0,Be.jsx)("span",{className:"sr-only",children:n})]})}function Km({primaryLabel:e="Config file",primaryValue:t="",primaryIcon:n=(0,Be.jsx)(bB,{className:"h-3 w-3"}),onOpenPrimary:r,secondaryLabel:o="Backup file",secondaryValue:a="",secondaryIcon:i=(0,Be.jsx)(vB,{className:"h-3 w-3"}),onOpenSecondary:l}){let s=String(t||"").trim(),c=String(a||"").trim();return(0,Be.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Be.jsx)(UE,{label:e,value:s,icon:n,disabled:!s||typeof r!="function",onClick:r,actionLabel:s?`Open ${e.toLowerCase()}`:`${e} path is not resolved yet`}),(0,Be.jsx)(UE,{label:o,value:c,icon:i,disabled:!c||typeof l!="function",onClick:l,actionLabel:c?`Open ${o.toLowerCase()}`:`${o} path is not resolved yet`})]})}var ta=D(be(),1);var cn=D(J(),1);function wB(e){return e==="error"?"Error":e==="success"?"Success":"Notice"}function AB({notice:e,onDismiss:t}){let[n,r]=(0,ta.useState)(Hf),[o,a]=(0,ta.useState)(Hf),[i,l]=(0,ta.useState)(!1),s=(0,ta.useRef)(null),c=(0,ta.useRef)(0);(0,ta.useEffect)(()=>{if(n<=0){t();return}if(i){s.current&&(clearTimeout(s.current),s.current=null);return}return c.current=Date.now(),s.current=setTimeout(()=>{s.current=null,t()},n),()=>{s.current&&(clearTimeout(s.current),s.current=null)}},[t,i,n]),(0,ta.useEffect)(()=>{if(i||n<=0){a(n);return}let g=()=>{let x=c.current?Date.now()-c.current:0;a(Math.max(0,n-x))};g();let y=setInterval(g,SC);return()=>clearInterval(y)},[i,n]);function d(){if(i)return;s.current&&(clearTimeout(s.current),s.current=null);let g=c.current?Date.now()-c.current:0,y=Math.max(0,n-g);r(y),a(y),l(!0)}function u(){l(!1)}let f=e.tone==="error"?"border-rose-200 bg-rose-50 text-rose-800":e.tone==="success"?"border-emerald-200 bg-emerald-50 text-emerald-800":"border-amber-200 bg-amber-50 text-amber-800",m=9,b=2*Math.PI*m,p=Math.max(0,Math.min(1,o/Hf)),v=b*(1-p),h=i?`Auto-dismiss paused with ${Math.max(0,o/1e3).toFixed(1)} seconds remaining`:`Auto-dismiss in ${Math.max(0,o/1e3).toFixed(1)} seconds`;return(0,cn.jsx)("div",{className:Q("pointer-events-auto rounded-2xl border px-4 py-3 text-sm shadow-lg backdrop-blur",f),onMouseEnter:d,onMouseLeave:u,onFocusCapture:d,onBlurCapture:g=>{g.currentTarget.contains(g.relatedTarget)||u()},role:e.tone==="error"?"alert":"status",children:(0,cn.jsxs)("div",{className:"min-w-0",children:[(0,cn.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,cn.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] opacity-75",children:wB(e.tone)}),(0,cn.jsxs)("div",{className:"relative mt-0.5 h-6 w-6 shrink-0 opacity-85","aria-label":h,title:h,children:[(0,cn.jsxs)("svg",{viewBox:"0 0 24 24",className:Q("h-6 w-6 -rotate-90",i?"opacity-70":"opacity-100"),"aria-hidden":"true",children:[(0,cn.jsx)("circle",{cx:"12",cy:"12",r:m,fill:"none",stroke:"currentColor",strokeOpacity:"0.18",strokeWidth:"2"}),(0,cn.jsx)("circle",{cx:"12",cy:"12",r:m,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeDasharray:b,strokeDashoffset:v,className:"transition-[stroke-dashoffset,opacity] duration-100 ease-linear"})]}),(0,cn.jsx)("span",{className:Q("pointer-events-none absolute inset-0 flex items-center justify-center",i?"gap-[2px]":""),"aria-hidden":"true",children:i?(0,cn.jsxs)(cn.Fragment,{children:[(0,cn.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"}),(0,cn.jsx)("span",{className:"h-2.5 w-[2px] rounded-full bg-current/75"})]}):(0,cn.jsx)("span",{className:"h-1.5 w-1.5 rounded-full bg-current/75"})})]})]}),(0,cn.jsx)("div",{className:"mt-1 leading-6",children:e.message}),(0,cn.jsx)("div",{className:"mt-2 flex justify-end",children:(0,cn.jsx)("button",{className:"rounded-full border border-current/15 px-2.5 py-1 text-[11px] font-medium uppercase tracking-[0.16em] opacity-85 transition hover:border-current/30 hover:opacity-100",onClick:t,type:"button",children:"Dismiss"})})]})})}function kb({notices:e,onDismiss:t}){return!Array.isArray(e)||e.length===0?null:(0,cn.jsx)("div",{className:"pointer-events-none fixed inset-x-4 top-4 z-50 flex flex-col items-end gap-3","aria-live":"polite","aria-relevant":"additions text",children:e.map(n=>(0,cn.jsx)("div",{className:"w-full max-w-md",children:(0,cn.jsx)(AB,{notice:n,onDismiss:()=>t(n.id)})},n.id))})}var Ua=D(be(),1);var zn=D(be(),1);var nr=D(be(),1);var Pa=D(be(),1);function Ys(e=[]){let t=(0,Pa.useRef)(new Map),n=(0,Pa.useRef)(new Map),r=(0,Pa.useRef)(new Map),o=(0,Pa.useRef)(""),a=JSON.stringify(e);return(0,Pa.useLayoutEffect)(()=>{let i=new Map;for(let d of e){let u=t.current.get(d);u&&i.set(d,u.getBoundingClientRect())}let l=typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;if(o.current!==""&&o.current!==a&&!l)for(let d of e){let u=r.current.get(d),f=i.get(d),m=t.current.get(d);if(!u||!f||!m)continue;let b=u.top-f.top;Math.abs(b)<1||typeof m.animate!="function"||m.animate([{transform:`translateY(${b}px)`},{transform:"translateY(0)"}],{duration:220,easing:"cubic-bezier(0.22, 1, 0.36, 1)"})}let c=new Set(e);for(let d of n.current.keys())c.has(d)||n.current.delete(d);r.current=i,o.current=a},[a]),(0,Pa.useMemo)(()=>i=>(n.current.has(i)||n.current.set(i,l=>{if(l){t.current.set(i,l);return}t.current.delete(i)}),n.current.get(i)),[])}var Ot=D(J(),1);function Ob({title:e,rows:t,onChange:n,options:r,disabled:o=!1,addLabel:a="Add target",emptyLabel:i="No targets configured.",helperText:l="Drag rows or use the arrow to change routing order.",helperAction:s=null,placeholder:c="provider/model or alias",draftPlaceholder:d="Add a new route",showDraftRow:u=!1,showDraftFocusButton:f=!1,showWeightInput:m=!1,filterOtherSelectedValues:b=!1,excludedValues:p=[]}){let v=(0,nr.useRef)(0),h=(0,nr.useRef)(""),g=(0,nr.useRef)(null),y=(0,nr.useRef)(new Map),x=(0,nr.useRef)(0),R=(0,nr.useRef)(0),[w,E]=(0,nr.useState)(0),C=(0,nr.useMemo)(()=>String(e||"targets").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"targets",[e]),M=`${C}-draft-row`,L=(0,nr.useMemo)(()=>{let ne=(t||[]).filter($e=>String($e?.ref||"").trim());return u?[{key:M,ref:"",sourceRef:""},...ne]:ne},[t,u,M]),F=Ys(L.map(ne=>ne.key)),z=(0,nr.useMemo)(()=>Sr(p),[p]),G=(0,nr.useMemo)(()=>Li(r,[...L.map(ne=>ne?.ref),...z]),[r,L,z]);(0,nr.useEffect)(()=>()=>{typeof window<"u"&&x.current&&window.cancelAnimationFrame(x.current)},[]);function ee(ne,$e){if(u&&ne===M){if(!String($e||"").trim())return;v.current+=1,n([{key:`${C}-draft-${v.current}`,ref:$e,sourceRef:"",...m?{weight:"1"}:{}},...(t||[]).filter(ie=>String(ie?.ref||"").trim())]);return}n((t||[]).map(ie=>ie.key===ne?{...ie,ref:$e}:ie))}function de(ne,$e){n((t||[]).map(ie=>ie.key===ne?{...ie,weight:$e}:ie))}function q(ne){n((t||[]).filter($e=>$e.key!==ne))}function ae(ne){n(Ls(t||[],ne,$e=>$e?.key))}function te(ne){n(Xf(t||[],ne,$e=>$e?.key))}function W(){h.current="",Da(g.current,!1),g.current=null}function V(){v.current+=1;let ne=new Set([...(t||[]).map(ie=>String(ie?.ref||"").trim()).filter(Boolean),...z]),$e=G.find(ie=>!ne.has(ie.value))?.value||"";n([...t||[],{key:`${C}-draft-${v.current}`,ref:$e,sourceRef:""}])}function Pe(){if(!u||o)return;let ne=y.current.get(M);if(!ne||typeof window>"u"){E(Qe=>Qe+1);return}R.current+=1;let $e=R.current;x.current&&(window.cancelAnimationFrame(x.current),x.current=0),ne.scrollIntoView({block:"start",behavior:"smooth"});let ie=Pm(ne),we=xy(ne,ie),Ue=0,j=0,pe=90,Se=8,Le=6,Ae=.5,ke=()=>{if(R.current!==$e)return;let Qe=y.current.get(M)||ne,Ze=xy(Qe,ie);if(!Number.isFinite(Ze.top)||!Number.isFinite(Ze.left)){x.current=0,E(on=>on+1);return}if(jC(we,Ze,Ae)?Ue+=1:Ue=0,we=Ze,j+=1,j>=Se&&Ue>=Le||j>=pe){x.current=0,E(on=>on+1);return}x.current=window.requestAnimationFrame(ke)};x.current=window.requestAnimationFrame(ke)}return(0,Ot.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/55 p-4",children:[(0,Ot.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,Ot.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,Ot.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:e}),f&&u?(0,Ot.jsx)(U,{type:"button",variant:"ghost",size:"sm",className:"h-6 w-6 rounded-md p-0 text-muted-foreground hover:text-foreground",onMouseDown:ne=>ne.preventDefault(),onClick:Pe,disabled:o,"aria-label":a,title:a,children:(0,Ot.jsx)(MC,{className:"h-3.5 w-3.5"})}):null]}),(0,Ot.jsxs)("div",{className:"ml-auto flex max-w-full flex-wrap items-start justify-end gap-x-3 gap-y-2",children:[l?(0,Ot.jsx)("div",{className:"max-w-[34rem] text-right text-[11px] leading-4 text-muted-foreground",children:l}):null,u?null:(0,Ot.jsx)(U,{type:"button",variant:"ghost",onClick:V,disabled:o,children:a})]})]}),L.length>0?(0,Ot.jsx)("div",{className:"space-y-2",children:L.map((ne,$e)=>{let ie=u&&ne.key===M,we=ie?-1:(t||[]).findIndex(j=>j?.key===ne.key),Ue=b?G.filter(j=>{let pe=String(j?.value||"").trim();return pe?pe===String(ne?.ref||"").trim()?!0:z.includes(pe)?!1:!(L||[]).some(Se=>Se?.key!==ne.key&&String(Se?.ref||"").trim()===pe):!1}):G;return(0,Ot.jsxs)("div",{ref:j=>{if(F(ne.key)(j),j){y.current.set(ne.key,j);return}y.current.delete(ne.key)},"data-reorder-row":"true",onDragOver:j=>{!o&&h.current&&h.current!==ne.key&&(j.preventDefault(),j.dataTransfer.dropEffect="move")},onDrop:j=>{if(o)return;j.preventDefault();let pe=j.dataTransfer.getData("text/plain")||h.current;W(),n(Qf(t||[],pe,ne.key))},className:Q(m?"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_10rem_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3":"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_5.5rem] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3",ie?"border-dashed bg-background/85":null),children:[(0,Ot.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",ie||o?"opacity-45":"cursor-grab"),draggable:!o&&!ie,onDragStart:j=>{if(o||ie)return;let pe=Ds(j.currentTarget);j.dataTransfer.effectAllowed="move",j.dataTransfer.setData("text/plain",ne.key),pe&&typeof j.dataTransfer?.setDragImage=="function"&&j.dataTransfer.setDragImage(pe,20,20),W(),h.current=ne.key,g.current=pe,Da(pe,!0)},onDragEnd:W,title:ie?"New route draft row":"Drag to reorder",children:(0,Ot.jsx)(Os,{className:"h-4 w-4"})}),(0,Ot.jsx)(za,{disabled:o||ie||we<=0,label:ie||we<=0?"Already first":`Move ${ne.ref||`target ${we+1}`} up`,onClick:()=>ae(ne.key)}),(0,Ot.jsx)(Nl,{disabled:o||ie||we===-1||we>=(t||[]).length-1,label:ie||we===-1||we>=(t||[]).length-1?"Already last":`Move ${ne.ref||`target ${we+1}`} down`,onClick:()=>te(ne.key)}),(0,Ot.jsxs)("div",{className:"flex h-9 min-w-0 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",children:[(0,Ot.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model"}),(0,Ot.jsxs)(Et,{value:ne.ref||void 0,onValueChange:j=>ee(ne.key,j),disabled:o,openSearchRequest:ie?w:0,children:[(0,Ot.jsx)(Tt,{className:"h-full min-w-0 flex-1 rounded-none border-0 bg-transparent px-3 shadow-none focus:border-transparent focus:ring-0",children:(0,Ot.jsx)(Mt,{placeholder:ie?d:c})}),(0,Ot.jsx)(kt,{children:Ue.length>0?_E(Ue,{keyPrefix:`${e}-row-${ne.key}`}):(0,Ot.jsx)(Je,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})]}),m?(0,Ot.jsxs)("div",{className:Q("flex h-9 overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",ie?"opacity-45":null),children:[(0,Ot.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Weight"}),(0,Ot.jsx)(He,{value:ie?"":String(ne?.weight||"1"),onChange:j=>de(ne.key,j.target.value),inputMode:"numeric",placeholder:"1",disabled:o||ie,className:"h-full min-w-0 rounded-none border-0 bg-transparent px-3 text-center shadow-none focus:border-transparent focus:ring-0","aria-label":ie?"Weight for new target":`Weight for ${ne.ref||`target ${$e+1}`}`})]}):null,ie?(0,Ot.jsx)(U,{type:"button",variant:"ghost",className:Q(ks,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"}):(0,Ot.jsx)(U,{type:"button",variant:"ghost",className:ks,onMouseDown:j=>j.preventDefault(),onClick:()=>q(ne.key),disabled:o,children:"Remove"})]},ne.key)})}):(0,Ot.jsx)("div",{className:"rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:i}),s?(0,Ot.jsx)("div",{className:"flex min-h-8 items-center justify-end",children:s}):null]})}var Tl=D(be(),1);var ce=D(J(),1);function CB(e,t){let n=Math.abs(Number(e)||0),r=Math.abs(Number(t)||0);for(;r!==0;){let o=n%r;n=r,r=o}return n||1}function RB(e=[]){return!Array.isArray(e)||e.length===0?1:e.reduce((t,n)=>CB(t,n),0)||1}function NB(e,t){let n=String(e||"").trim();if(!n)return"Unconfigured route";let r=t.get(n);if(!r)return n;let o=String(r.label||n).trim()||n,a=String(r.hint||"").trim();return a&&a!==o?`${o} \xB7 ${a}`:o}function VE(e,t,n=[]){let r=new Map((n||[]).map(l=>[String(l?.value||"").trim(),l]).filter(([l])=>!!l)),o=new Map((Array.isArray(t?.targets)?t.targets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l)),a=new Map((Array.isArray(t?.fallbackTargets)?t.fallbackTargets:[]).map(l=>[String(l?.ref||"").trim(),l]).filter(([l])=>!!l));function i(l,s,c){return(l||[]).map((d,u)=>{let f=String(d?.ref||"").trim(),m=String(d?.sourceRef||d?.ref||"").trim(),b=c.get(m)||c.get(f)||{},p=Number(d?.weight??b?.weight),v=Number.isFinite(p)&&p>0?Math.floor(p):1;return{key:`${s}-${f||"empty"}-${u}`,ref:f,label:NB(f,r),bucket:s,weight:v}}).filter(d=>!!d.ref)}return[...i(e?.targets,"primary",o),...i(e?.fallbackTargets,"fallback",a)]}function EB(e=[],t=8){if(!Array.isArray(e)||e.length===0)return[];let n=e.map(l=>Math.max(1,Number(l?.weight)||1)),r=RB(n),o=n.map(l=>Math.max(1,Math.floor(l/r))),a=o.reduce((l,s)=>l+s,0);if(a>24){let l=a/24;o=o.map(s=>Math.max(1,Math.round(s/l))),a=o.reduce((s,c)=>s+c,0)}let i=[];for(let l=0;l<e.length;l+=1)for(let s=0;s<o[l];s+=1)i.push(e[l]);return Array.from({length:Math.max(e.length,t)},(l,s)=>i[s%i.length])}function TB(e,t=[]){let n=Jf(e),r=Zf(n),o=Array.isArray(t)?t.filter(Boolean):[],i=o.some(l=>l.bucket==="fallback")?"Runtime builds the candidate pool as all primary targets first, then all fallback targets.":"Runtime builds the candidate pool from the primary target list only.";if(n==="round-robin"){let l=o.length>0?Array.from({length:Math.max(o.length,8)},(s,c)=>o[c%o.length]):[];return{strategyLabel:r,summary:"Each new request starts from the next candidate in the current pool, then wraps around.",poolNote:`${i} Round-robin rotates across that combined eligible list.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:l,footnote:"If a candidate is unhealthy or quota-blocked, it is skipped and the next eligible candidate is chosen."}}if(n==="weighted-rr"||n==="quota-aware-weighted-rr"||n==="auto"){let l=n==="auto",s=EB(o,8);return{strategyLabel:r,summary:l?"`auto` normalizes to quota-aware weighted round-robin in the runtime balancer.":n==="quota-aware-weighted-rr"?"Candidates rotate like weighted round-robin, but low remaining quota or poor health lowers their share.":"Candidates repeat in proportion to their configured weights.",poolNote:`${i} This strategy ranks across the full eligible pool after it is built.`,sequenceLabel:"Example starting candidate by request",sequenceEntries:s,footnote:l||n==="quota-aware-weighted-rr"?"When all quotas and health scores are equal, the rotation looks like the weighted example below. Low remaining capacity or retryable failures push a target later.":"Weights come from the existing alias target metadata when present. Targets without a stored weight behave as weight 1."}}return{strategyLabel:r,summary:"Requests try candidates in the configured list order and only move to later candidates when earlier ones are unavailable or fail.",poolNote:`${i} Ordered keeps that exact sequence.`,sequenceLabel:"Attempt order",sequenceEntries:o,footnote:"This is the most predictable option when you want a strict preference order."}}function FE({open:e=!1,onClose:t=()=>{},onSave:n=()=>{},aliasLabel:r="",initialStrategy:o="auto",entries:a=[],disabled:i=!1}){let l=Jf(o),[s,c]=(0,Tl.useState)(l),[d,u]=(0,Tl.useState)(!1);(0,Tl.useEffect)(()=>{e&&(c(l),u(!1))},[e,l,r]);async function f(){if(!(i||d)){u(!0);try{await n(s)!==!1&&t()}finally{u(!1)}}}return(0,ce.jsx)(_n,{open:e,onClose:t,title:r?`Choose strategy \xB7 ${r}`:"Choose strategy",description:"Review each routing strategy in its own tab. Save applies the currently selected tab to this alias.",showCloseButton:!1,footer:(0,ce.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,ce.jsx)(U,{type:"button",variant:"ghost",onClick:t,disabled:d,children:"Cancel"}),(0,ce.jsx)(U,{type:"button",onClick:()=>{f()},disabled:i||d,children:d?"Saving\u2026":"Save strategy"})]}),children:(0,ce.jsxs)(Vo,{value:s,onValueChange:c,children:[(0,ce.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,ce.jsx)(Fo,{className:"h-auto min-w-max flex-wrap justify-start gap-2 rounded-2xl bg-secondary/80 p-2",children:$f.map(m=>(0,ce.jsx)(xn,{value:m.value,className:"h-auto min-h-10 rounded-xl px-4 py-2",children:m.label},m.value))})}),$f.map(m=>{let b=TB(m.value,a),p=(b.sequenceEntries||[]).filter(Boolean);return(0,ce.jsx)(Sn,{value:m.value,className:"mt-4",children:(0,ce.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.15fr)_minmax(320px,0.85fr)]",children:[(0,ce.jsxs)("div",{className:"space-y-4",children:[(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"outline",children:b.strategyLabel}),(0,ce.jsxs)(Ne,{variant:"info",children:[a.length," candidate",a.length===1?"":"s"]})]}),(0,ce.jsxs)("div",{className:"mt-4 space-y-3 text-sm leading-6 text-foreground",children:[(0,ce.jsx)("p",{children:b.summary}),(0,ce.jsx)("p",{className:"text-muted-foreground",children:b.poolNote})]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:b.sequenceLabel}),p.length>0?(0,ce.jsx)("div",{className:"mt-4 flex flex-wrap gap-2",children:p.map((v,h)=>(0,ce.jsxs)("div",{className:"rounded-full border border-border/70 bg-card/90 px-3 py-1.5 text-sm text-foreground",children:[(0,ce.jsx)("span",{className:"mr-2 text-xs text-muted-foreground",children:h+1}),(0,ce.jsx)("span",{children:v.label})]},`${v.key}-sequence-${h}`))}):(0,ce.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"Add at least one target to preview how this strategy would route requests."}),(0,ce.jsx)("div",{className:"mt-4 text-sm leading-6 text-muted-foreground",children:b.footnote})]})]}),(0,ce.jsx)("div",{className:"space-y-4",children:(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-5",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current setup"}),r?(0,ce.jsx)(Ne,{variant:"outline",children:r}):null]}),a.length>0?(0,ce.jsx)("div",{className:"mt-4 space-y-2",children:a.map(v=>(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2 rounded-xl border border-border/70 bg-card/90 px-3 py-2 text-sm",children:[(0,ce.jsx)(Ne,{variant:v.bucket==="primary"?"info":"outline",children:v.bucket}),(0,ce.jsx)("span",{className:"font-medium text-foreground",children:v.label}),(0,ce.jsxs)("span",{className:"text-xs text-muted-foreground",children:["weight ",v.weight]})]},v.key))}):(0,ce.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"This alias does not have any targets yet."})]})})]})},m.value)})]})})}function HE({open:e=!1,onClose:t=()=>{},config:n={}}){let r=(0,Tl.useMemo)(()=>E1(n),[n]);return(0,ce.jsx)(_n,{open:e,onClose:t,title:"Alias guide",description:"Aliases give clients one stable route while letting LLM Router swap, balance, and fail over across provider/model targets behind that route.",contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,ce.jsxs)("div",{className:"space-y-4",children:[(0,ce.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Stable route"}),(0,ce.jsxs)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:["Expose one alias like ",(0,ce.jsx)("code",{children:"coding"})," or ",(0,ce.jsx)("code",{children:"gpt-5.4"})," to clients, then retarget the alias later without touching client config."]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Selection strategy"}),(0,ce.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"The alias strategy controls how LLM Router picks from the configured targets. Ordered is strict preference; the other strategies distribute traffic when multiple targets are healthy."})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Fallback behavior"}),(0,ce.jsx)("div",{className:"mt-2 text-sm leading-6 text-foreground",children:"If one target is unavailable or rate limited, LLM Router can continue to later candidates in the same alias instead of failing the whole request immediately."})]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50 p-4",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"warning",children:"Important"}),(0,ce.jsx)("div",{className:"text-sm font-medium text-amber-950",children:"Mixed context windows inside one alias can change behavior."})]}),(0,ce.jsxs)("div",{className:"mt-3 text-sm leading-6 text-amber-900",children:["If an alias mixes models with different context windows, requests that fit the larger model may still fail on the smaller model. For example, an alias that includes both a ",(0,ce.jsx)("code",{children:"258K"})," model and a ",(0,ce.jsx)("code",{children:"128K"})," model can still fail when routing lands on the smaller target. Keep aliases aligned by context size when you expect long histories or large prompts."]})]}),(0,ce.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,ce.jsxs)("div",{children:[(0,ce.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Current config check"}),(0,ce.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Aliases below currently mix different configured model context windows."})]}),(0,ce.jsx)(Ne,{variant:r.length>0?"warning":"success",children:r.length>0?`${r.length} alias${r.length===1?"":"es"} need review`:"No mixed context windows detected"})]}),r.length>0?(0,ce.jsx)("div",{className:"mt-4 space-y-3",children:r.map(o=>(0,ce.jsxs)("div",{className:"rounded-2xl border border-amber-200 bg-amber-50/70 p-4",children:[(0,ce.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,ce.jsx)(Ne,{variant:"outline",children:o.aliasId}),(0,ce.jsxs)("div",{className:"text-sm font-medium text-amber-950",children:["Smallest target: ",Yo(o.smallestContextWindow),". Largest target: ",Yo(o.largestContextWindow),"."]})]}),(0,ce.jsxs)("div",{className:"mt-3 flex flex-wrap gap-2",children:[o.models.map(a=>(0,ce.jsxs)("div",{className:"rounded-full border border-amber-200 bg-background/90 px-3 py-1.5 text-sm text-foreground",children:[a.ref," \xB7 ",Yo(a.contextWindow)]},a.ref)),o.unknownRefs.map(a=>(0,ce.jsxs)("div",{className:"rounded-full border border-dashed border-amber-300 bg-background/70 px-3 py-1.5 text-sm text-muted-foreground",children:[a," \xB7 context unknown"]},a))]})]},o.aliasId))}):(0,ce.jsx)("div",{className:"mt-4 rounded-xl border border-dashed border-border px-4 py-5 text-sm text-muted-foreground",children:"No alias currently mixes known context-window sizes across its configured targets."})]})]})})}var Oe=D(J(),1),MB=500;function Di(e=[]){return(e||[]).map(t=>({ref:String(t?.ref||"").trim(),weight:String(t?.weight||"1").trim()}))}function _b({aliasId:e,alias:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:i=!1,disabledReason:l="",busy:s=!1,onApply:c,onRemove:d,onCopyAliasId:u=()=>{},isNew:f=!1,alwaysShowAliasIdInput:m=!1,showIssueOnSubmitOnly:b=!1,onDiscard:p=()=>{},onOpenStrategyModal:v=()=>{},titleAccessory:h=null,aliasSwitcher:g=null,framed:y=!0}){let x=HC(e,t,{isNew:f}),R=(0,zn.useMemo)(()=>mC(f?"":e,t),[x]),[w,E]=(0,zn.useState)(R),[C,M]=(0,zn.useState)(f),[L,F]=(0,zn.useState)(!1),z=(0,zn.useRef)(null),G=(0,zn.useRef)(0),ee=(0,zn.useRef)(""),[de,q]=(0,zn.useState)("idle");(0,zn.useEffect)(()=>{E(R),M(f),F(!1),q("idle"),ee.current=""},[R,f]);let ae=!f&&Array.isArray(g?.entries)&&g.entries.length>1,te=m||C;(0,zn.useEffect)(()=>{if(!te)return;let k=typeof window<"u"?window.requestAnimationFrame(()=>{z.current?.focus(),z.current?.select?.()}):0;return()=>{typeof window<"u"&&window.cancelAnimationFrame(k)}},[te]);let W=String(w?.id||"").trim(),V=e===Bt||W===Bt,Pe=(0,zn.useMemo)(()=>Li((r||[]).filter(k=>k.kind!=="alias"&&k.value!==W&&k.value!==`alias:${W}`),[...(w?.targets||[]).map(k=>k?.ref),...(w?.fallbackTargets||[]).map(k=>k?.ref)]),[r,W,w?.targets,w?.fallbackTargets]),ne=(w?.targets||[]).map(k=>String(k?.ref||"").trim()),$e=(w?.fallbackTargets||[]).map(k=>String(k?.ref||"").trim()),ie=[...ne,...$e],we=[...w?.targets||[],...w?.fallbackTargets||[]],Ue=we.some(k=>!String(k?.ref||"").trim()),j=Bs(ie),pe=we.some(k=>{if(!String(k?.ref||"").trim())return!1;let H=Math.floor(Number(k?.weight));return!Number.isFinite(H)||H<=0}),Se=W&&n.some(k=>k!==e&&k===W),Le=W&&ie.some(k=>k===W||k===`alias:${W}`),Ae=ie.filter(Boolean).length>0,ke=JSON.stringify({id:R.id,strategy:R.strategy,targets:Di(R.targets),fallbackTargets:Di(R.fallbackTargets)}),Qe=JSON.stringify({id:W,strategy:w?.strategy,targets:Di(w?.targets),fallbackTargets:Di(w?.fallbackTargets)}),Ze=JSON.stringify({targets:Di(R.targets),fallbackTargets:Di(R.fallbackTargets)}),on=JSON.stringify({targets:Di(w?.targets),fallbackTargets:Di(w?.fallbackTargets)}),Un=ke!==Qe,dn=W?AC.test(W)?Se?"Alias id already exists. Choose another id.":Ue?"Fill or remove blank target rows before applying.":j?"Duplicate targets are not allowed anywhere in this alias.":pe?"Target weights must be positive integers.":Le?"An alias cannot target itself.":"":"Alias id must start with a letter or number and use letters, numbers, dots, underscores, colons, or hyphens.":"Alias id is required.",wt=i?l:dn,bt=i?l:b&&dn&&!L?"":dn,vt=i||s,Ve=String(W||e||"").trim(),Ft=Ve||"Select alias",en=vt||V||f,hn=V?"Default alias cannot be removed":`Remove alias ${Ve||e}`,Nr=(0,zn.useMemo)(()=>sm(Ft),[Ft]),Te=V||o===e||o===W,rt=a===e||a===W,pt=f?"Enter alias name. Example: claude-opus":void 0,fo=(0,zn.useMemo)(()=>VE(w,t,r),[w,t,r]);async function At(){if(F(!0),wt)return!1;let k=await c(e,w);return k&&f&&p(e),k}async function Ee(k){let H={...w,strategy:k};return await c(e,H)?f?(p(e),!0):(E(H),!0):!1}async function yn(){if(F(!0),wt)return!1;let k=await c(e,w);return k&&(M(!1),F(!1)),k}function O(){if(m)return;if(!ae){M(!1);return}let k=String(e||"").trim(),H=String(w?.id||"").trim();if(!H||H===k){E(ue=>({...ue,id:k})),M(!1),F(!1);return}yn()}function ge(k){if(k.key==="Escape"){k.preventDefault(),E(H=>({...H,id:R.id})),M(!1),F(!1);return}!m&&k.key==="Enter"&&(k.preventDefault(),k.currentTarget.blur())}async function re(){if(te){let k=String(e||"").trim(),H=String(w?.id||"").trim();if(!H||H===k){E(ue=>({...ue,id:k})),M(!1),F(!1);return}await yn();return}M(!0)}(0,zn.useEffect)(()=>()=>{typeof window<"u"&&G.current&&window.clearTimeout(G.current)},[]),(0,zn.useEffect)(()=>{if(f||vt||wt||on===Ze){typeof window<"u"&&G.current&&(window.clearTimeout(G.current),G.current=0),!f&&on===Ze&&de!=="saving"&&q("idle");return}if(!(ee.current===on&&de==="error")&&(q("pending"),!(typeof window>"u")))return G.current=window.setTimeout(()=>{G.current=0,ee.current=on,q("saving"),c(e,w,{showSuccessNotice:!1,successMessage:""}).then(k=>{q(k?"saved":"error")})},MB),()=>{G.current&&(window.clearTimeout(G.current),G.current=0)}},[e,on,w,Ze,f,wt,vt,c]);let je=f?"":de==="saving"?"Saving alias changes\u2026":de==="pending"?"Changes save automatically.":de==="saved"?"Alias changes saved.":de==="error"?"Autosave failed. Keep editing to retry.":"Changes save automatically.",T=(0,Oe.jsxs)("div",{className:"space-y-4",children:[(0,Oe.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,Oe.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,Oe.jsx)("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:ae?(0,Oe.jsxs)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-2",children:[(0,Oe.jsxs)("div",{className:Q("flex h-9 min-w-0 max-w-full overflow-hidden rounded-lg border border-input bg-background/80 shadow-sm transition focus-within:border-ring focus-within:ring-2 focus-within:ring-ring/40",te?"flex-1":"w-fit"),children:[(0,Oe.jsx)("div",{className:"flex shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Select an alias"}),te?(0,Oe.jsx)(He,{ref:z,value:w.id,placeholder:pt,onChange:k=>E(H=>({...H,id:k.target.value})),onBlur:O,onKeyDown:ge,disabled:vt||V,className:"h-full min-w-[12rem] flex-1 rounded-none border-0 bg-transparent px-3 text-sm font-medium shadow-none focus:border-transparent focus:ring-0"}):(0,Oe.jsxs)(Et,{value:g.value||void 0,onValueChange:g.onValueChange,children:[(0,Oe.jsx)(Tt,{className:"h-full min-w-[10rem] flex-none rounded-none border-0 bg-transparent px-3 pr-[50px] text-left text-sm font-medium shadow-none focus:border-transparent focus:ring-0",style:{width:`${Nr}px`,maxWidth:"100%"},children:(0,Oe.jsx)(Mt,{placeholder:"Select alias"})}),(0,Oe.jsx)(kt,{children:g.entries.map(([k,H])=>(0,Oe.jsx)(Je,{value:k,searchText:`${k} ${(H?.targets||[]).length} ${(H?.fallbackTargets||[]).length}`,children:k},k))})]}),te?null:(0,Oe.jsx)("button",{type:"button",className:"flex h-full w-10 shrink-0 items-center justify-center border-l border-border/70 text-muted-foreground transition hover:bg-accent/60 hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring/60 disabled:cursor-not-allowed disabled:opacity-60",onClick:()=>{u(Ve)},disabled:vt||!Ve,"aria-label":`Copy alias id ${Ve}`,title:Ve?`Copy alias id ${Ve}`:"Alias id is not ready yet",children:(0,Oe.jsx)(qf,{className:"h-4 w-4 shrink-0"})})]}),(0,Oe.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:bg-background/90 hover:text-foreground",onMouseDown:k=>{te&&k.preventDefault()},onClick:()=>{re()},disabled:vt||V,"aria-label":te?"Save alias id":V?"Default alias id cannot be edited":"Edit alias id",title:te?"Save alias id":V?"Default alias id cannot be edited":"Edit alias id",children:te?(0,Oe.jsx)(IC,{className:"h-4 w-4 shrink-0"}):(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})}),f?null:(0,Oe.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:en,"aria-label":hn,title:hn,children:(0,Oe.jsx)(mu,{className:"h-4 w-4 shrink-0"})})]}):(0,Oe.jsxs)(Oe.Fragment,{children:[te?(0,Oe.jsx)(He,{ref:z,autoFocus:f,value:w.id,placeholder:pt,onChange:k=>E(H=>({...H,id:k.target.value})),onBlur:O,onKeyDown:ge,disabled:vt||V&&!f,className:"max-w-[22rem] font-semibold"}):V&&!f?(0,Oe.jsx)("div",{className:"truncate text-base font-semibold text-foreground",children:e}):(0,Oe.jsxs)("button",{type:"button",className:"group inline-flex max-w-full items-center gap-2 rounded-lg text-left text-base font-semibold text-foreground transition hover:bg-primary/5 hover:text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background",onClick:()=>M(!0),disabled:vt,"aria-label":"Edit alias id",title:"Edit alias id",children:[(0,Oe.jsx)("span",{className:"truncate",children:f?W||"New alias":W||e}),(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})]}),h?(0,Oe.jsx)("div",{className:"min-w-[11rem] max-w-full",children:h}):null]})}),V?null:(0,Oe.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-2",children:[Te?(0,Oe.jsx)(Ne,{variant:"success",children:"Default route"}):null,rt?(0,Oe.jsx)(Ne,{variant:"info",children:"AMP default"}):null]})]}),(0,Oe.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,Oe.jsxs)(U,{type:"button",variant:"outline",size:"default",className:"group h-9 gap-0 overflow-hidden rounded-lg border-border/70 bg-background/70 px-0 text-sm font-medium normal-case tracking-normal shadow-none hover:bg-background/90",onClick:()=>v({aliasLabel:W||(f?"New alias":e),strategy:w?.strategy||"auto",entries:fo,disabled:vt||!!wt,onSave:Ee}),disabled:vt,children:[(0,Oe.jsx)("span",{className:"flex h-full shrink-0 items-center border-r border-border/70 bg-secondary/55 px-2.5 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing stratergy"}),(0,Oe.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-2 px-3 text-left",children:[(0,Oe.jsx)("span",{className:"truncate",children:Zf(w.strategy||"auto")}),(0,Oe.jsx)(_s,{className:"h-4 w-4 shrink-0"})]})]}),!ae&&!f?(0,Oe.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-9 w-9 rounded-lg border-border/70 bg-background/70 p-0 text-muted-foreground shadow-none hover:border-destructive hover:bg-background/90 hover:text-destructive",onClick:()=>d(e),disabled:en,"aria-label":hn,title:hn,children:(0,Oe.jsx)(mu,{className:"h-4 w-4 shrink-0"})}):null]})]}),(0,Oe.jsx)(Ob,{title:"Primary targets",rows:w.targets,onChange:k=>E(H=>({...H,targets:k})),options:Pe,disabled:vt,addLabel:"Add target",emptyLabel:"No targets yet. This alias can stay empty until you wire routes back in.",helperText:"Primary targets are tried first. Drag to reorder targets. Weights and metadata stay with the same ref.",draftPlaceholder:"Add a new target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:$e}),(0,Oe.jsx)(Ob,{title:"Fallback targets",rows:w.fallbackTargets,onChange:k=>E(H=>({...H,fallbackTargets:k})),options:Pe,disabled:vt,addLabel:"Add fallback",emptyLabel:"No fallback targets configured.",helperText:"Fallback targets only enter the candidate pool after the full primary list. Weights still apply within the chosen routing strategy.",draftPlaceholder:"Add a fallback target",showDraftRow:!0,showDraftFocusButton:!0,showWeightInput:!0,filterOtherSelectedValues:!0,excludedValues:ne}),bt?null:(0,Oe.jsx)("div",{className:"text-xs text-muted-foreground",children:je}),bt?(0,Oe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:bt}):null,!bt&&V&&!Ae?(0,Oe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:["The fixed ",(0,Oe.jsx)("code",{children:"default"})," route is empty. Requests routed to ",(0,Oe.jsx)("code",{children:"default"})," or ",(0,Oe.jsx)("code",{children:"smart"})," will return 500 until you add a working target."]}):null,f?(0,Oe.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,Oe.jsx)("div",{children:(0,Oe.jsx)(U,{type:"button",variant:"ghost",onClick:()=>p(e),disabled:vt,children:"Discard"})}),(0,Oe.jsx)("div",{className:"flex flex-wrap justify-end gap-2",children:(0,Oe.jsx)(U,{type:"button",onClick:()=>{At()},disabled:vt||!!wt,children:s?"Saving\u2026":"Create alias"})})]}):null]});return y?(0,Oe.jsx)(Ut,{children:(0,Oe.jsx)(jt,{className:"space-y-4 p-5",children:T})}):T}var un=D(J(),1);function $E({aliases:e,config:t,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabledReason:i="",busy:l=!1,onApplyAlias:s,onRemoveAlias:c,onCopyAliasId:d}){let u=Object.entries(e||{}),f=!!i,[m,b]=(0,Ua.useState)(""),[p,v]=(0,Ua.useState)(!1),[h,g]=(0,Ua.useState)(""),y=(0,Ua.useMemo)(()=>FC(),[]),[x,R]=(0,Ua.useState)({open:!1,aliasLabel:"",strategy:"auto",entries:[],disabled:!1,onSave:null});function w(){f||l||b(`draft-${Date.now()}`)}function E(q){(!q||q===m)&&b("")}function C(){b("")}function M({aliasLabel:q="",strategy:ae="auto",entries:te=[],disabled:W=!1,onSave:V=null}){R({open:!0,aliasLabel:q,strategy:ae,entries:te,disabled:W,onSave:V})}function L(){R(q=>({...q,open:!1}))}async function F(q,ae,te={}){let W=await s(q,ae,te);if(W){let V=String(ae?.id||q||"").trim()||q;g(V)}return W}(0,Ua.useEffect)(()=>{let q=u.map(([ae])=>ae);if(q.length===0){h&&g("");return}(!h||!q.includes(h))&&g(q[0])},[u,h]);let z=u.find(([q])=>q===h)||u[0]||null,G=z?.[0]||"",ee=z?.[1]||null,de=u.length>1?{value:G,onValueChange:g,entries:u}:null;return(0,un.jsxs)(un.Fragment,{children:[(0,un.jsxs)(Ut,{children:[(0,un.jsx)(no,{children:(0,un.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,un.jsx)("div",{className:"space-y-1",children:(0,un.jsx)(Si,{children:"Model aliases give clients one stable route across multiple provider/models, so you can swap, balance, and fail over without changing client config."})}),(0,un.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,un.jsx)(U,{type:"button",variant:"outline",size:"sm",onClick:()=>v(!0),children:"Help"}),(0,un.jsx)(U,{type:"button",size:"sm",onClick:w,disabled:f||l,children:l?"Saving\u2026":"Add alias"})]})]})}),(0,un.jsxs)(jt,{className:"space-y-4",children:[f?(0,un.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:i}):null,u.length>0?G&&ee?(0,un.jsx)(_b,{aliasId:G,alias:ee,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:F,onRemove:c,onCopyAliasId:d,onOpenStrategyModal:M,aliasSwitcher:de,framed:!1},G):null:(0,un.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No model aliases yet. Add one to expose stable routes like ",(0,un.jsx)("code",{children:"coding"})," or ",(0,un.jsx)("code",{children:"chat.fast"})," in the Web UI."]})]})]}),(0,un.jsx)(_n,{open:!!m,onClose:C,title:"Add alias",description:"Set a stable client-facing route, choose its strategy, and order the targets it should use.",showCloseButton:!1,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:m?(0,un.jsx)(_b,{aliasId:m,alias:y,aliasIds:n,routeOptions:r,defaultModel:o,ampDefaultRoute:a,disabled:f,disabledReason:i,busy:l,onApply:F,onRemove:c,onCopyAliasId:d,isNew:!0,alwaysShowAliasIdInput:!0,showIssueOnSubmitOnly:!0,onDiscard:E,onOpenStrategyModal:M,framed:!1},m):null}),(0,un.jsx)(FE,{open:x.open,onClose:L,onSave:q=>x.onSave?.(q),aliasLabel:x.aliasLabel,initialStrategy:x.strategy,entries:x.entries,disabled:x.disabled}),(0,un.jsx)(HE,{open:p,onClose:()=>v(!1),config:t})]})}var rn=D(be(),1);var Ml=D(be(),1);var jr=D(J(),1);function zu({values:e,onChange:t,placeholder:n,helperText:r,inputRef:o=null,inputClassName:a="",suggestedValues:i=[],valueStates:l={},draftValue:s="",onDraftValueChange:c=()=>{},commitOnBlur:d=!1,disabled:u=!1,isValueValid:f=b=>!!String(b||"").trim(),inputProps:m={}}){let b=(0,Ml.useMemo)(()=>Sr(e),[e]),[p,v]=(0,Ml.useState)(""),[h,g]=(0,Ml.useState)("");function y(C=s,{clearDraft:M=!0}={}){if(u)return!1;let L=Yf(C).filter(z=>f(z));if(L.length===0)return M&&c(""),!1;let F=Array.from(new Set([...b||[],...L]));return JSON.stringify(F)!==JSON.stringify(b||[])&&t(F),M&&c(""),!0}function x(C){u||(t(b.filter(M=>M!==C)),p===C&&(v(""),g("")))}function R(){u||i.length&&(t(Array.from(new Set([...b||[],...i]))),c(""))}function w(C){u||(v(C),g(C))}function E(C=h){if(u)return v(""),g(""),!1;if(!p)return!1;let M=Yf(C).filter(G=>f(G)),L=[],F=!1;for(let G of b||[]){if(G!==p){L.push(G);continue}F||(L.push(...M),F=!0)}let z=Array.from(new Set(L.map(G=>String(G||"").trim()).filter(Boolean)));return JSON.stringify(z)!==JSON.stringify(b||[])&&t(z),v(""),g(""),M.length>0}return(0,Ml.useEffect)(()=>{!u||!p||(v(""),g(""))},[u,p]),(0,jr.jsxs)("div",{className:"space-y-2",children:[(0,jr.jsxs)("div",{className:Q("flex min-h-11 flex-wrap items-center gap-2 rounded-xl border border-input bg-background/80 px-3 py-2",u?"opacity-80":null),children:[b.map(C=>{let M=l?.[C]||"default",L=M==="success"?"border-emerald-200 bg-emerald-50 text-emerald-900":M==="error"?"border-rose-200 bg-rose-50 text-rose-900":M==="pending"?"border-sky-200 bg-sky-50 text-sky-900":"border-border bg-secondary text-foreground",F=!u&&p===C;return(0,jr.jsxs)("span",{className:Q("inline-flex max-w-full items-center gap-1 rounded-full border px-2.5 py-1 text-xs",L),children:[F?(0,jr.jsx)("input",{autoFocus:!0,className:"min-w-[7rem] bg-transparent text-xs text-foreground outline-none",value:h,onChange:z=>g(z.target.value),onKeyDown:z=>{if(z.key==="Enter"||z.key==="Tab"){z.preventDefault(),E();return}z.key==="Escape"&&(z.preventDefault(),v(""),g(""))},onBlur:()=>{E()}}):(0,jr.jsx)("button",{className:"max-w-[16rem] truncate text-left transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-70",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>w(C),disabled:u,title:"Click to edit",children:C}),(0,jr.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:z=>z.preventDefault(),onClick:()=>x(C),disabled:u,children:"\xD7"})]},C)}),(0,jr.jsx)("input",{...m,ref:o,className:Q("min-w-[10rem] flex-1 bg-transparent text-sm text-foreground outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-70",a),value:s,disabled:u,onChange:C=>{let M=C.target.value;if(/[\s,]/.test(M)){let L=M.split(/[\s,]+/),F=L.pop()||"";L.length>0&&y(L.join(","),{clearDraft:!1}),c(F);return}c(M)},onKeyDown:C=>{if((C.key===","||C.key===" "||C.key==="Enter"||C.key==="Tab")&&s.trim()){C.preventDefault(),y();return}C.key==="Backspace"&&!s&&b.length>0&&(C.preventDefault(),x(b[b.length-1]))},onPaste:C=>{let M=C.clipboardData?.getData("text")||"";if(/[\s,]/.test(M)){C.preventDefault();let L=M.split(/[\s,]+/).filter(Boolean).filter(F=>f(F));L.length>0&&(t(Array.from(new Set([...b||[],...L]))),c(""));return}C.preventDefault(),c(`${s}${M}`)},onBlur:()=>{if(d&&f(s)){y(s);return}c(s)},placeholder:n}),b.length>0||s?(0,jr.jsx)("button",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition hover:text-foreground disabled:cursor-not-allowed disabled:opacity-60",type:"button",onMouseDown:C=>C.preventDefault(),onClick:()=>{t([]),c("")},disabled:u,children:"Clear all"}):null]}),(0,jr.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[r?(0,jr.jsx)("span",{children:r}):null,b.length===0&&i.length>0?(0,jr.jsx)("button",{className:"font-medium uppercase tracking-[0.16em] text-foreground transition hover:text-primary disabled:cursor-not-allowed disabled:opacity-60",type:"button",onClick:R,disabled:u,children:"Use suggested values"}):null]})]})}var ur=D(be(),1);var it=D(J(),1);function KE(e="rate-limit-draft-row"){return vu({key:e,models:[],requests:"",windowValue:"",windowUnit:wo.custom.rateLimitDefaults.windowUnit},{keyPrefix:"rate-limit-draft",defaults:wo.custom.rateLimitDefaults,useDefaults:!1})}function Gm(e=[],{keyPrefix:t="rate-limit-draft"}={}){let n=`${t}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`;return[...Array.isArray(e)?e:[],KE(n)]}function kB({value:e=[],onChange:t,availableModelIds:n=[],disabled:r=!1}){let o=(0,ur.useRef)(null),[a,i]=(0,ur.useState)(!1),l=(0,ur.useMemo)(()=>So(e),[e]),s=l.includes("all"),c=s?[]:l.filter(Boolean),d=s||c.length===0,u=(0,ur.useMemo)(()=>Sr(n),[n]);(0,ur.useEffect)(()=>{if(!a||typeof document>"u")return;function h(g){o.current?.contains(g.target)||i(!1)}return document.addEventListener("mousedown",h),()=>document.removeEventListener("mousedown",h)},[a]);function f(h){t(So(h))}function m(h){f(h?["all"]:[])}function b(h,g){let y=g?[...c,h]:c.filter(x=>x!==h);f(y)}function p(h){if(h==="all"){f([]);return}f(c.filter(g=>g!==h))}let v=s?[{key:"all",label:"All model",removable:!0}]:c.length>0?c.map(h=>({key:h,label:h,removable:!0})):[{key:"__implicit-all__",label:"All model",removable:!1,muted:!0}];return(0,it.jsxs)("div",{ref:o,className:"relative space-y-1.5",children:[(0,it.jsxs)("div",{role:"button",tabIndex:r?-1:0,className:Q("flex min-h-9 w-full items-center justify-between gap-2 rounded-lg border border-input bg-background/80 px-3 py-1.5 text-left text-sm text-foreground shadow-sm outline-none transition focus:border-ring focus:ring-2 focus:ring-ring/40",r?"cursor-not-allowed opacity-50":"cursor-pointer",a?"border-ring ring-2 ring-ring/40":null),onClick:()=>{r||i(h=>!h)},"aria-expanded":a,"aria-haspopup":"menu",onKeyDown:h=>{if(!r){if(h.key==="Enter"||h.key===" "){h.preventDefault(),i(g=>!g);return}if(h.key==="ArrowDown"){h.preventDefault(),i(!0);return}h.key==="Escape"&&(h.preventDefault(),i(!1))}},children:[(0,it.jsx)("div",{className:"flex min-w-0 flex-1 flex-wrap items-center gap-1.5",children:v.map(h=>h.removable?(0,it.jsxs)("button",{type:"button",className:"inline-flex max-w-full items-center gap-1 rounded-full border border-border/70 bg-background px-2 py-0.5 text-xs font-medium text-foreground transition hover:border-accent hover:bg-accent",onClick:g=>{g.preventDefault(),g.stopPropagation(),p(h.key)},disabled:r,title:`Remove ${h.label}`,children:[(0,it.jsx)("span",{className:"truncate",children:h.label}),(0,it.jsx)("span",{className:"text-muted-foreground",children:"x"})]},h.key):(0,it.jsx)("span",{className:Q("inline-flex max-w-full items-center rounded-full border px-2 py-0.5 text-xs font-medium",h.muted?"border-border/70 bg-secondary/45 text-muted-foreground":"border-border/70 bg-background text-foreground"),children:(0,it.jsx)("span",{className:"truncate",children:h.label})},h.key))}),(0,it.jsx)("span",{className:"text-muted-foreground",children:"\u25BE"})]}),a?(0,it.jsxs)($m,{open:a,anchorRef:o,preferredSide:"top",desiredHeight:192,className:"p-2",onMouseDown:h=>h.stopPropagation(),onClick:h=>h.stopPropagation(),onKeyDown:h=>{h.key==="Escape"&&(h.preventDefault(),i(!1))},children:[(0,it.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,it.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:s,onChange:h=>m(h.target.checked)}),(0,it.jsx)("span",{children:"All model"})]}),(0,it.jsx)("div",{className:"my-1 border-t border-border/70"}),u.length>0?(0,it.jsx)("div",{children:u.map(h=>(0,it.jsxs)("label",{className:"flex cursor-pointer items-center gap-2 rounded-lg px-2 py-2 text-sm text-foreground transition hover:bg-secondary/60",children:[(0,it.jsx)("input",{type:"checkbox",className:"h-4 w-4 rounded border-input",checked:c.includes(h),onChange:g=>b(h,g.target.checked)}),(0,it.jsx)("span",{className:"truncate",children:h})]},h))}):(0,it.jsx)("div",{className:"px-2 py-2 text-sm text-muted-foreground",children:"No models available yet."})]}):null]})}function qm({rows:e,onChange:t,availableModelIds:n=[],disabled:r=!1,inputRef:o=null,helperText:a="",onValidBlur:i=null}){let l=Array.isArray(e)?e:[],s=(0,ur.useRef)(null),c=(0,ur.useRef)(l),d=(0,ur.useMemo)(()=>Sr(n),[n]),u=(0,ur.useMemo)(()=>{let g=new Set,y=new Set;for(let x of wr(l)){let R=iu(x);if(R){if(g.has(R)){y.add(R);continue}g.add(R)}}return y},[l]),f=(0,ur.useMemo)(()=>l.map(g=>({...KE(g.key),...g,models:So(g?.models||[])})),[l]);(0,ur.useEffect)(()=>{c.current=l},[l]);function m(g){let y=Array.isArray(g)?g:[];c.current=y,t(y)}function b(g,y){m(l.map(x=>x.key===g?{...x,...y}:x))}function p(g){m(l.filter(y=>y.key!==g))}function v(g){if(em(g))return"";let y=So(g?.models||[]);if(d.length>0&&y.some(R=>R!=="all"&&!d.includes(R)))return"Use exact provider model ids only.";if(wy(g?.requests,0)<=0)return"Requests must be a positive integer.";if(wy(g?.windowValue,0)<=0)return"Window size must be a positive integer.";if(!hy.includes(String(g?.windowUnit||"").trim()))return"Window unit is invalid.";let x=iu({requests:g?.requests,windowValue:g?.windowValue,windowUnit:g?.windowUnit});return x&&u.has(x)?"Another row already uses this cap.":""}function h(g){if(!(!i||r)&&!g.currentTarget.contains(g.relatedTarget)){if(typeof window>"u"){let y=wr(c.current);$o(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y);return}window.setTimeout(()=>{if(!s.current||s.current.contains(document.activeElement))return;let y=wr(c.current);$o(y,{knownModelIds:d,requireAtLeastOne:!0})||i(y)},0)}}return(0,it.jsxs)("div",{ref:s,className:"space-y-2.5",onBlurCapture:h,children:[(0,it.jsx)("div",{className:"space-y-2.5",children:f.map((g,y)=>{let x=em(g),R=v(g);return(0,it.jsxs)("div",{className:Q("rounded-2xl border border-border/70 bg-background/70 p-3",R?"border-amber-200 bg-amber-50/70":null,x?"border-dashed bg-background/80":null),children:[(0,it.jsxs)("div",{className:"grid gap-2.5 xl:grid-cols-[minmax(0,1.5fr)_minmax(0,0.72fr)_minmax(0,0.72fr)_minmax(0,0.86fr)_auto] xl:items-end",children:[(0,it.jsx)(De,{label:"Models",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,it.jsx)(kB,{value:g.models,onChange:w=>b(g.key,{models:w}),availableModelIds:d,disabled:r})}),(0,it.jsx)(De,{label:"Request",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsx)(He,{ref:y===0?o:null,value:g.requests,onChange:w=>b(g.key,{requests:w.target.value}),disabled:r,inputMode:"numeric",placeholder:"60"})}),(0,it.jsx)(De,{label:"Window",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsx)(He,{value:g.windowValue,onChange:w=>b(g.key,{windowValue:w.target.value}),disabled:r,inputMode:"numeric",placeholder:"1"})}),(0,it.jsx)(De,{label:"Unit",stacked:!0,className:"gap-1",headerClassName:"min-h-0",children:(0,it.jsxs)(Et,{value:String(g.windowUnit||"minute"),onValueChange:w=>b(g.key,{windowUnit:w}),disabled:r,children:[(0,it.jsx)(Tt,{children:(0,it.jsx)(Mt,{placeholder:"Window unit"})}),(0,it.jsx)(kt,{children:hy.map(w=>(0,it.jsx)(Je,{value:w,children:w},`${g.key}-${w}`))})]})}),(0,it.jsx)(U,{type:"button",variant:"ghost",onClick:()=>p(g.key),disabled:r,className:"xl:self-end",children:"Remove"})]}),R?(0,it.jsx)("div",{className:"mt-2.5 rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:R}):null]},g.key)})}),a?(0,it.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:a}):null]})}var yt=D(be(),1);var GE=[{key:"supportsReasoning",label:"Reasoning",field:"reasoning_effort"},{key:"supportsThinking",label:"Thinking",field:"thinking"},{key:"supportsResponseFormat",label:"Response Format",field:"response_format"},{key:"supportsLogprobs",label:"Logprobs",field:"logprobs"},{key:"supportsServiceTier",label:"Service Tier",field:"service_tier"},{key:"supportsPrediction",label:"Prediction",field:"prediction"},{key:"supportsStreamOptions",label:"Stream Options",field:"stream_options"}];function qE(e={},t={}){if(!t||typeof t!="object")return e;let n={...e};for(let r of Object.keys(t))typeof t[r]=="boolean"&&n[r]===void 0&&(n[r]=t[r]);return n}function WE(e){if(e===void 0)return!0;if(e===!0)return!1}function YE(e){return!e||typeof e!="object"?!1:Object.values(e).some(t=>typeof t=="boolean")}var Bi=D(J(),1);function OB({label:e,value:t,disabled:n,onCycle:r}){let o=typeof t=="boolean";return(0,Bi.jsxs)("button",{type:"button",disabled:n,onClick:r,className:Q("flex items-center gap-1.5 rounded-md border px-2 py-1 text-xs transition-colors",t===!0&&"border-emerald-200 bg-emerald-50/80",t===!1&&"border-rose-200 bg-rose-50/60",!o&&"border-border/60 bg-secondary/40",!n&&"hover:bg-accent"),children:[(0,Bi.jsx)("span",{className:Q("inline-flex h-3 w-3 shrink-0 items-center justify-center rounded-full text-[8px] font-bold leading-none",t===!0&&"bg-emerald-500 text-white",t===!1&&"bg-rose-400 text-white",!o&&"bg-muted-foreground/25"),children:t===!0?"\u2713":t===!1?"\u2715":""}),(0,Bi.jsx)("span",{className:Q("select-none whitespace-nowrap font-medium",t===!0&&"text-emerald-800",t===!1&&"text-rose-700 line-through",!o&&"text-muted-foreground"),children:e})]})}function Wm({capabilities:e={},disabled:t=!1,onChange:n}){return(0,Bi.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[(0,Bi.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground/80",children:"Capabilities"}),GE.map(({key:r,label:o})=>{let a=e[r];return(0,Bi.jsx)(OB,{label:o,value:a,disabled:t,onCycle:()=>n(r,WE(a))},r)})]})}var Ie=D(J(),1);function QE({provider:e,disabled:t=!1,disabledReason:n="",busy:r=!1,onApply:o,framed:a=!0,focusRequest:i=0,onStateChange:l=null,testStateByModel:s={},savePhase:c="",saveMessage:d=""}){let u=(0,yt.useMemo)(()=>pC(e),[e]),[f,m]=(0,yt.useState)([]),[b,p]=(0,yt.useState)(""),[v,h]=(0,yt.useState)(!1),[g,y]=(0,yt.useState)({}),[x,R]=(0,yt.useState)({}),[w,E]=(0,yt.useState)(null),[C,M]=(0,yt.useState)(""),[L,F]=(0,yt.useState)(""),[z,G]=(0,yt.useState)({}),ee=(0,yt.useRef)(0),de=(0,yt.useRef)([]),q=(0,yt.useRef)(new Map),ae=(0,yt.useRef)(new Map),te=(0,yt.useRef)(""),W=(0,yt.useRef)(""),V=(0,yt.useRef)(null),Pe=(0,yt.useRef)(new Map),ne=(0,yt.useRef)(new Map);function $e(O={}){return ee.current+=1,{key:`model-${e.id}-draft-${ee.current}`,id:"",sourceId:"",contextWindow:"",capabilities:{},...O}}function ie(O){te.current=O}function we(O=[],{preserveFocus:ge=!1}={}){let re=[],je=null;for(let T of Array.isArray(O)?O:[]){let k=String(T?.id||""),H=T?.contextWindow===void 0||T?.contextWindow===null?"":String(T.contextWindow);if(String(k).trim()){re.push({...T,id:k,contextWindow:H});continue}je||(je={...T,id:"",contextWindow:H})}return je||(je=$e(),ge&&ie(je.key)),[je,...re]}function Ue(O){R(ge=>{if(!ge[O])return ge;let re={...ge};return delete re[O],re})}function j(O,ge){y(re=>{if(ge)return re[O]?re:{...re,[O]:!0};if(!re[O])return re;let je={...re};return delete je[O],je})}function pe(O,ge={},{clearLookupState:re=!1,clearStatus:je=!0,closeLookupMenu:T=!1}={}){re&&Ue(O),je&&E(null),T&&C===O&&M(""),m(k=>we(k.map(H=>H.key===O?{...H,...ge}:H),{preserveFocus:!1}))}(0,yt.useEffect)(()=>{de.current=f},[f]),(0,yt.useEffect)(()=>{let O=we(u,{preserveFocus:!0});m(O),de.current=O,Pe.current.clear(),ne.current.clear(),y({}),R({}),E(null),M(""),F(""),G({})},[u]),(0,yt.useEffect)(()=>{let O=te.current;if(!O)return;let ge=q.current.get(O);if(!ge)return;ge.scrollIntoView?.({block:"nearest"}),ge.focus();let re=ge.value?.length||0;ge.setSelectionRange?.(re,re),te.current=""},[f]),(0,yt.useEffect)(()=>{i&&m(O=>{let ge=we(O,{preserveFocus:!1}),re=ge.find(je=>!String(je?.id||"").trim())||ge[ge.length-1];return re&&ie(re.key),ge})},[i]),(0,yt.useEffect)(()=>{C&&(f.some(O=>O.key===C)||M(""))},[f,C]),(0,yt.useEffect)(()=>{L&&(f.some(O=>O.key===L)||F(""))},[f,L]),(0,yt.useEffect)(()=>{G(O=>{let ge=new Set(f.map(T=>T.key)),re=!1,je={};for(let[T,k]of Object.entries(O)){if(!ge.has(T)){re=!0;continue}je[T]=k}return re?je:O})},[f]),(0,yt.useEffect)(()=>{if(!C||typeof document>"u")return;function O(ge){ae.current.get(C)?.contains(ge.target)||M("")}return document.addEventListener("mousedown",O),()=>document.removeEventListener("mousedown",O)},[C]);let Se=(0,yt.useMemo)(()=>f.filter(O=>String(O?.id||"").trim()),[f]),Le=(0,yt.useMemo)(()=>u.map(O=>({id:String(O?.id||"").trim(),contextWindow:Qo(O?.contextWindow||""),capabilities:O?.capabilities||{}})).filter(O=>O.id),[u]),Ae=(0,yt.useMemo)(()=>Se.map(O=>({...O,id:String(O?.id||"").trim(),contextWindow:Qo(O?.contextWindow||"")})),[Se]),ke=Ae.map(O=>O.id),Qe=Le.map(O=>O.id),Ze=ke.filter(O=>!Qe.includes(O)),on=Bs(ke),Un=ke.length>0,dn=new Set(Ae.filter(O=>{let ge=String(O?.contextWindow||"").trim();if(!ge)return!1;let re=Number.parseInt(ge,10);return!Number.isFinite(re)||re<=0||String(re)!==ge}).map(O=>O.key)),wt=Ae.filter(O=>!String(O?.contextWindow||"").trim()),bt=JSON.stringify(Le)!==JSON.stringify(Ae.map(O=>({id:O.id,contextWindow:O.contextWindow,capabilities:O.capabilities||{}}))),Ve=t||r||(b!==""||c==="testing"||c==="saving")||v,Ft=(0,yt.useMemo)(()=>{let O=-1;return f.forEach((ge,re)=>{String(ge?.id||"").trim()&&(O=re)}),O},[f]),en=t?n:Un?on?"Model ids must be unique for each provider.":dn.size>0?"Context windows must be positive integers when set.":"":"Keep at least one model id on the provider.",hn=Ys(f.map(O=>O.key));(0,yt.useEffect)(()=>{l?.({isDirty:bt,issue:en,locked:Ve,rows:Ae.map(O=>({...O,contextWindow:Qo(O.contextWindow)}))})},[l,bt,en,Ve,Ae]);function Nr(O){Ue(O),j(O,!1),E(null),C===O&&M(""),L===O&&F(""),G(ge=>{if(!Object.prototype.hasOwnProperty.call(ge,O))return ge;let re={...ge};return delete re[O],re}),m(ge=>we(ge.filter(re=>re.key!==O)))}function Te(O){m(ge=>we(Ls(ge,O,re=>re?.key)))}function rt(O){m(ge=>we(Xf(ge,O,re=>re?.key)))}function pt(){W.current="",Da(V.current,!1),V.current=null}async function fo(O,{force:ge=!1}={}){let re=String(O||"").trim();if(!re)return Ps({query:re});if(!ge&&Pe.current.has(re))return Pe.current.get(re);if(!ge&&ne.current.has(re))return ne.current.get(re);let je=(async()=>{let T=await Nu([re]),k=(Array.isArray(T)?T:[]).find(ue=>String(ue?.query||"").trim()===re)||{query:re},H=Ps(k,{fallbackQuery:re});return Pe.current.set(re,H),H})();ne.current.set(re,je);try{return await je}finally{ne.current.delete(re)}}async function At(O,{openMenu:ge=!1,prefill:re=!1,modelId:je=""}={}){let T=de.current.find(H=>H.key===O),k=String(je||T?.id||"").trim();if(!k)return null;ge&&M(O),j(O,!0);try{let H=await fo(k);if(R(ue=>({...ue,[O]:H})),re){let ue=cm(H),nt=H?.exactMatch?.capabilities;(ue||nt)&&m(qt=>we(qt.map(Me=>{if(Me.key!==O)return Me;let Y=String(Me?.id||"").trim();if(!Y||Y!==k)return Me;let ye={};return ue&&!String(Me?.contextWindow||"").trim()&&(ye.contextWindow=ue),nt&&!YE(Me.capabilities)&&(ye.capabilities=qE(Me.capabilities,nt)),Object.keys(ye).length>0?{...Me,...ye}:Me}),{preserveFocus:!1}))}return H}catch(H){let ue=H instanceof Error?H.message:String(H),nt={query:k,status:"error",error:ue,options:[]};return R(qt=>({...qt,[O]:nt})),nt}finally{j(O,!1)}}async function Ee(O=[]){let ge=new Set(Array.isArray(O)?O:[]),re=Ae.filter(je=>!je.id||String(je?.contextWindow||"").trim()?!1:ge.size===0?!0:ge.has(je.key)).map(je=>({key:je.key,id:je.id}));if(re.length!==0){h(!0),E(null);try{let je=await Nu(re.map(Me=>Me.id)),T=T1(je),k=new Map(re.map(Me=>[Me.key,Me]));for(let Me of T.values())Me?.query&&Pe.current.set(Me.query,Me);let H=Array.isArray(de.current)?de.current:[],ue=0,nt=0,qt=H.map(Me=>{let Y=k.get(Me.key);if(!Y)return Me;let ye=String(Me?.id||"").trim(),$n=String(Me?.contextWindow||"").trim();if(!ye||ye!==Y.id||$n)return Me;let Ii=T.get(ye)||Ps({query:ye}),zi=cm(Ii);return zi?(ue+=1,{...Me,contextWindow:zi}):(nt+=1,Me)});m(we(qt,{preserveFocus:!1})),E({tone:ue>0?"success":"warning",message:ue>0?`Filled ${ue} context size${ue===1?"":"s"}${nt>0?`; ${nt} still need a manual value`:""}.`:`Could not fill ${nt} model${nt===1?"":"s"}.`})}catch(je){E({tone:"error",message:je instanceof Error?je.message:String(je)})}finally{h(!1)}}}async function yn(){if(Ve||en||!bt)return!1;let O=Co(e)==="api"&&Ze.length>0;p(O?"testing":"saving");try{return await o(Ae.map(ge=>({...ge,contextWindow:Qo(ge.contextWindow)})))}finally{p("")}}return(0,Ie.jsxs)("div",{className:Q(a?"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4":"space-y-3"),children:[(0,Ie.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/35 px-4 py-3 text-sm leading-6 text-muted-foreground",children:"Direct routes follow this top-to-bottom order. Focus a context field to load suggested sizes, or use Fill missing context size to fill each empty row with a median size."}),(0,Ie.jsx)("div",{className:"space-y-2",children:f.map((O,ge)=>{let re=String(O?.id||"").trim(),je=String(O?.contextWindow||"").trim(),T=!!re,k=T?Se.findIndex(Y=>Y.key===O.key):-1,H=x[O.key]||null,ue=!!g[O.key],nt=C===O.key&&!!re,qt=dn.has(O.key),Me=re&&s?.[re]||"default";return(0,Ie.jsxs)("div",{ref:hn(O.key),"data-reorder-row":"true",onDragOver:Y=>{!Ve&&W.current&&W.current!==O.key&&(Y.preventDefault(),Y.dataTransfer.dropEffect="move")},onDrop:Y=>{if(Ve)return;Y.preventDefault();let ye=Y.dataTransfer.getData("text/plain")||W.current;pt(),m($n=>we(Qf($n,ye,O.key)))},className:Q("space-y-2 rounded-xl border border-border/70 bg-card/90 p-3",T?null:"border-dashed bg-background/85",qt?"border-amber-200 bg-amber-50/70":null,!qt&&Me==="success"?"border-emerald-200 bg-emerald-50/70":null,!qt&&Me==="error"?"border-rose-200 bg-rose-50/70":null,!qt&&Me==="pending"?"border-sky-200 bg-sky-50/70":null),children:[(0,Ie.jsxs)("div",{className:"grid grid-cols-[auto_auto_auto_minmax(0,1fr)_minmax(12rem,14rem)_5.5rem] items-center gap-2",children:[(0,Ie.jsx)("span",{className:Q("flex h-8 w-8 items-center justify-center rounded-full text-muted-foreground",T&&!Ve?"cursor-grab":"opacity-45"),draggable:!Ve&&T,onDragStart:Y=>{if(Ve||!T)return;let ye=Ds(Y.currentTarget);Y.dataTransfer.effectAllowed="move",Y.dataTransfer.setData("text/plain",O.key),ye&&typeof Y.dataTransfer?.setDragImage=="function"&&Y.dataTransfer.setDragImage(ye,20,20),pt(),W.current=O.key,V.current=ye,Da(ye,!0)},onDragEnd:pt,title:T?"Drag to reorder":"New model draft row",children:(0,Ie.jsx)(Os,{className:"h-4 w-4"})}),(0,Ie.jsx)(za,{disabled:Ve||!T||k<=0,label:!T||k<=0?"Already first":`Move ${O.id||`model ${k+1}`} up`,onClick:()=>Te(O.key)}),(0,Ie.jsx)(Nl,{disabled:Ve||!T||ge>=Ft,label:!T||ge>=Ft?"Already last":`Move ${O.id||`model ${k+1}`} down`,onClick:()=>rt(O.key)}),(0,Ie.jsx)(He,{ref:Y=>{Y?q.current.set(O.key,Y):q.current.delete(O.key)},value:O.id,onChange:Y=>pe(O.key,{id:Y.target.value},{clearLookupState:!0,closeLookupMenu:!0}),placeholder:T?"Model id":"Add a new model id",disabled:Ve}),(0,Ie.jsxs)("div",{ref:Y=>{Y?ae.current.set(O.key,Y):ae.current.delete(O.key)},className:"relative min-w-0",children:[(0,Ie.jsx)(He,{value:L===O.key?z[O.key]??Cu(O.contextWindow):N1(O.contextWindow),onChange:Y=>{let ye=Y.target.value,$n=Qo(ye);G(Ii=>({...Ii,[O.key]:Cu($n)})),pe(O.key,{contextWindow:$n},{clearStatus:!1})},onBlur:Y=>{F(ye=>ye===O.key?"":ye),G(ye=>{if(!Object.prototype.hasOwnProperty.call(ye,O.key))return ye;let $n={...ye};return delete $n[O.key],$n}),pe(O.key,{contextWindow:Qo(Y.target.value)},{clearStatus:!1})},onFocus:()=>{re&&(F(O.key),G(Y=>({...Y,[O.key]:Cu(O.contextWindow)})),At(O.key,{openMenu:!0}))},onClick:()=>{re&&At(O.key,{openMenu:!0})},onKeyDown:Y=>{if(Y.key==="ArrowDown"&&re){Y.preventDefault(),At(O.key,{openMenu:!0});return}Y.key==="Escape"&&(Y.preventDefault(),M(""))},placeholder:"Context window",inputMode:"numeric",disabled:Ve||!re,className:"font-medium tabular-nums","aria-label":re?`Context window for ${re}`:"Context window"}),nt?(0,Ie.jsx)($m,{open:nt,anchorRef:{current:ae.current.get(O.key)||null},preferredSide:"top",desiredHeight:224,className:"z-20 rounded-lg bg-background/98 p-2",onMouseDown:Y=>Y.preventDefault(),children:ue?(0,Ie.jsxs)("div",{className:"inline-flex items-center gap-2 px-1 py-2 text-sm text-muted-foreground",children:[(0,Ie.jsx)(Ur,{}),"Fetching size options for ",(0,Ie.jsx)("code",{children:re}),"."]}):H?.status==="error"?(0,Ie.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:H.error||"Could not load suggested sizes."}):H?.options?.length>0?(0,Ie.jsx)("div",{className:"space-y-1",children:H.options.map(Y=>(0,Ie.jsxs)("button",{type:"button",className:"flex w-full flex-col gap-2 rounded-lg border border-border/70 bg-background px-3 py-2 text-left text-sm text-foreground transition hover:border-accent hover:bg-accent disabled:cursor-not-allowed disabled:opacity-70",disabled:Ve,onMouseDown:ye=>ye.preventDefault(),onClick:()=>{G(ye=>({...ye,[O.key]:Cu(Y.contextWindow)})),pe(O.key,{contextWindow:String(Y.contextWindow)},{clearStatus:!1}),M("")},title:`Use ${Y.label}`,children:[(0,Ie.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,Ie.jsx)("div",{className:"break-words font-medium leading-5",children:Y.label}),(0,Ie.jsx)("div",{className:"break-words text-xs leading-4 text-muted-foreground",children:Y.detail})]}),(0,Ie.jsxs)("div",{className:"w-full rounded-md border border-border/70 bg-secondary/70 px-3 py-2",children:[(0,Ie.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Context size"}),(0,Ie.jsx)("div",{className:"mt-1 text-lg font-semibold leading-none tabular-nums text-foreground",children:Yo(Y.contextWindow)})]})]},Y.key))}):(0,Ie.jsxs)("div",{className:"rounded-lg border border-dashed border-border/70 bg-background/80 px-3 py-2 text-xs text-muted-foreground",children:["No suggested size was found for ",(0,Ie.jsx)("code",{children:H?.query||re}),"."]})}):null]}),T?(0,Ie.jsx)(U,{type:"button",variant:"ghost",className:ks,onMouseDown:Y=>Y.preventDefault(),onClick:()=>Nr(O.key),disabled:Ve,children:"Remove"}):(0,Ie.jsx)(U,{type:"button",variant:"ghost",className:Q(ks,"pointer-events-none invisible"),tabIndex:-1,disabled:!0,"aria-hidden":"true",children:"Remove"})]}),T&&(0,Ie.jsx)(Wm,{capabilities:O.capabilities||{},disabled:Ve,onChange:(Y,ye)=>{let $n={...O.capabilities||{}};ye===void 0?delete $n[Y]:$n[Y]=ye,pe(O.key,{capabilities:$n})}}),ue?(0,Ie.jsx)("div",{className:"flex justify-end text-xs",children:(0,Ie.jsxs)("div",{className:"inline-flex items-center gap-1.5 text-sky-700",children:[(0,Ie.jsx)(Ur,{}),"Looking up sizes"]})}):null,qt?(0,Ie.jsxs)("div",{className:"rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:["Enter a positive integer like ",(0,Ie.jsx)("code",{children:"128000"}),", or leave the field blank."]}):Me==="pending"?(0,Ie.jsx)("div",{className:"rounded-lg border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:"Testing this model against the provider endpoint now."}):Me==="success"?(0,Ie.jsx)("div",{className:"rounded-lg border border-emerald-200 bg-emerald-50 px-3 py-2 text-xs text-emerald-900",children:"Confirmed by the latest live provider test."}):Me==="error"?(0,Ie.jsx)("div",{className:"rounded-lg border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-900",children:"This model failed the latest live provider test."}):null]},O.key)})}),en?(0,Ie.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:en}):null,w?(0,Ie.jsx)("div",{className:Q("rounded-xl px-3 py-2 text-sm",w.tone==="error"?"border border-rose-200 bg-rose-50 text-rose-900":w.tone==="warning"?"border border-amber-200 bg-amber-50 text-amber-900":"border border-emerald-200 bg-emerald-50 text-emerald-900"),children:w.message}):null,(0,Ie.jsx)("div",{className:Q("sticky z-10 border-t border-border/70 bg-background/95 pt-3 backdrop-blur",a?"bottom-0":"bottom-0 -mx-5 rounded-b-[1rem] px-5 pb-4"),children:(0,Ie.jsxs)("div",{className:"flex min-h-9 items-center justify-between gap-3",children:[(0,Ie.jsx)("div",{className:Q("text-xs",c==="testing"?"text-sky-700":c==="saving"?"text-foreground":"text-muted-foreground"),children:c==="testing"?(0,Ie.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Ie.jsx)(Ur,{}),d||"Testing new models before save."]}):c==="saving"?(0,Ie.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:[(0,Ie.jsx)(Ur,{}),d||"Saving provider models."]}):Ze.length>0&&Co(e)==="api"?`${Ze.length} new model${Ze.length===1?"":"s"} will be tested before save.`:"Existing models keep their current configuration metadata."}),(0,Ie.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[!t&&!Ve&&wt.length>0?(0,Ie.jsx)(U,{type:"button",variant:"outline",onClick:()=>{Ee()},children:v?"Filling\u2026":"Fill missing context size"}):null,!t&&!Ve&&bt?(0,Ie.jsx)(U,{type:"button",variant:"ghost",onClick:()=>{y({}),R({}),E(null),M(""),Pe.current.clear(),ne.current.clear(),m(we(u,{preserveFocus:!0}))},children:"Reset"}):null,!t&&bt&&!en?(0,Ie.jsx)(U,{type:"button",onClick:()=>{yn()},disabled:Ve,children:c==="testing"||b==="testing"?"Testing\u2026":c==="saving"||b==="saving"||r?"Saving\u2026":"Save models"}):null]})]})})]})}var na=D(be(),1);var JE=D(J(),1);function XE({className:e,...t}){return(0,JE.jsx)("textarea",{className:Q("flex min-h-40 w-full rounded-xl border border-input bg-background/80 px-3 py-3 text-sm text-foreground shadow-sm outline-none transition placeholder:text-muted-foreground focus:border-ring focus:ring-2 focus:ring-ring/40",e),...t})}var Qs=D(be(),1);var wn=D(J(),1),_B=[{key:"used",placeholder:"$.quota.used_dollars"},{key:"limit",placeholder:"$.quota.limit_dollars"},{key:"remaining",placeholder:"$.quota.remaining_dollars"},{key:"resetAt",placeholder:"$.quota.reset_at"},{key:"isUnlimited",placeholder:"$.quota.is_unlimited"}],LB=[{value:"number",label:"Number"},{value:"datetime",label:"Date/time"},{value:"boolean",label:"Boolean"},{value:"dollars-from-cents",label:"$ from cents"},{value:"raw",label:"Raw"}];function DB(e){return e==="resetAt"?"datetime":e==="isUnlimited"?"boolean":"number"}function Lb(e,t="$"){if(e===null||typeof e!="object")return[{path:t,value:e}];let n=[];if(Array.isArray(e))e.forEach((r,o)=>n.push(...Lb(r,`${t}[${o}]`)));else for(let r of Object.keys(e))n.push(...Lb(e[r],`${t}.${r}`));return n}function BB(e){return e===null?"null":typeof e=="boolean"||typeof e=="number"?String(e):typeof e=="string"?e.length>24?`"${e.slice(0,24)}\u2026"`:`"${e}"`:String(e)}function IB({value:e,onChange:t,placeholder:n,availablePaths:r}){let[o,a]=(0,Qs.useState)(!1),i=(0,Qs.useRef)(null);if((0,Qs.useEffect)(()=>{if(!o)return;function c(d){i.current&&!i.current.contains(d.target)&&a(!1)}return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[o]),!r||r.length===0)return(0,wn.jsx)(He,{value:e||"",onChange:c=>t(c.target.value),placeholder:n,className:"h-7 flex-1 text-xs font-mono"});let l=e||"",s=l?r.filter(c=>c.path.toLowerCase().includes(l.toLowerCase())):r;return(0,wn.jsxs)("div",{ref:i,className:"relative flex-1",children:[(0,wn.jsx)(He,{value:e||"",onChange:c=>t(c.target.value),onFocus:()=>a(!0),placeholder:n,className:"h-7 w-full text-xs font-mono"}),o&&s.length>0?(0,wn.jsx)("div",{className:"absolute left-0 z-50 mt-1 max-h-48 w-full min-w-64 overflow-auto rounded-lg border border-border bg-popover p-0.5 shadow-lg",children:s.map(({path:c,value:d})=>(0,wn.jsxs)("button",{type:"button",className:`flex w-full items-center justify-between gap-2 rounded px-2 py-1 text-xs text-left${c===e?" bg-accent":" hover:bg-accent/60"}`,onMouseDown:u=>u.preventDefault(),onClick:()=>{t(c),a(!1)},children:[(0,wn.jsx)("span",{className:"font-mono truncate",children:c}),(0,wn.jsx)("span",{className:"shrink-0 text-muted-foreground text-[10px]",children:BB(d)})]},c))}):null]})}function ZE({mapping:e={},testResult:t,rawResponse:n,onChange:r}){let o=n?Lb(n):null;function a(i,l,s){let c=e[i]||{};r({...e,[i]:{...c,[l]:s}})}return(0,wn.jsxs)("div",{className:"space-y-1.5",children:[(0,wn.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Field mapping",(0,wn.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:o?"Click a field to pick from response paths.":"Map JSON response paths to normalized snapshot fields."})]}),_B.map(({key:i,placeholder:l})=>{let s=e[i]||{},c=t?.[i];return(0,wn.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,wn.jsx)("span",{className:"w-24 shrink-0 text-xs font-medium font-mono text-foreground",children:i}),(0,wn.jsx)(IB,{value:s.path||"",onChange:d=>a(i,"path",d),placeholder:l,availablePaths:o}),(0,wn.jsxs)(Et,{value:s.as||DB(i),onValueChange:d=>a(i,"as",d),children:[(0,wn.jsx)(Tt,{className:"h-7 w-28 shrink-0 text-xs",children:(0,wn.jsx)(Mt,{})}),(0,wn.jsx)(kt,{children:LB.map(d=>(0,wn.jsx)(Je,{value:d.value,children:d.label},d.value))})]}),t?(0,wn.jsx)(Ne,{variant:"outline",className:"shrink-0 text-[10px] max-w-20 truncate",children:c!=null?String(c):"\u2013"}):null]},i)})]})}var Ym=D(be(),1);var Ct=D(J(),1),zB=[{key:"used",label:"used"},{key:"limit",label:"limit"},{key:"remaining",label:"remaining"},{key:"resetAt",label:"resetAt"},{key:"isUnlimited",label:"isUnlimited"}];function Db(e){return e===null||typeof e!="object"}function Bb({value:e,path:t,depth:n,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i}){let[l,s]=(0,Ym.useState)(n>2);if(Db(e))return(0,Ct.jsx)(PB,{value:e,path:t,assignedPaths:r,isMenuOpen:o===t,onAssign:i});if(Array.isArray(e))return e.length===0?(0,Ct.jsx)("span",{className:"text-muted-foreground/60",children:"[]"}):(0,Ct.jsxs)("span",{children:[(0,Ct.jsx)("button",{type:"button",onClick:()=>s(!l),className:"text-muted-foreground hover:text-foreground",children:l?`[\u2026] ${e.length} items`:"["}),l?null:(0,Ct.jsx)("div",{className:"ml-4 border-l border-border/40 pl-2",children:e.map((c,d)=>{let u=`${t}[${d}]`,f=Db(c);return(0,Ct.jsxs)("div",{className:`flex gap-1${f?" cursor-pointer rounded px-1 -mx-1 hover:bg-accent/40 transition-colors":""}${f&&o===u?" bg-accent/40":""}`,onClick:f?m=>{m.stopPropagation(),a(u)}:void 0,children:[(0,Ct.jsxs)("span",{className:"shrink-0 text-muted-foreground/50 select-none",children:[d,":"]}),(0,Ct.jsx)(Bb,{value:c,path:u,depth:n+1,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i})]},d)})}),l?null:(0,Ct.jsx)("span",{children:"]"})]});if(typeof e=="object"){let c=Object.keys(e);return c.length===0?(0,Ct.jsx)("span",{className:"text-muted-foreground/60",children:"{}"}):(0,Ct.jsxs)("span",{children:[(0,Ct.jsx)("button",{type:"button",onClick:()=>s(!l),className:"text-muted-foreground hover:text-foreground",children:l?`{\u2026} ${c.length} keys`:"{"}),l?null:(0,Ct.jsx)("div",{className:"ml-4 border-l border-border/40 pl-2",children:c.map(d=>{let u=`${t}.${d}`,f=Db(e[d]);return(0,Ct.jsxs)("div",{className:`flex gap-1${f?" cursor-pointer rounded px-1 -mx-1 hover:bg-accent/40 transition-colors":""}${f&&o===u?" bg-accent/40":""}`,onClick:f?m=>{m.stopPropagation(),a(u)}:void 0,children:[(0,Ct.jsxs)("span",{className:"shrink-0 text-muted-foreground select-none",children:[d,":"]}),(0,Ct.jsx)(Bb,{value:e[d],path:u,depth:n+1,assignedPaths:r,activeMenuPath:o,onRowClick:a,onAssign:i})]},d)})}),l?null:(0,Ct.jsx)("span",{children:"}"})]})}return(0,Ct.jsx)("span",{className:"text-muted-foreground",children:String(e)})}function PB({value:e,path:t,assignedPaths:n,isMenuOpen:r,onAssign:o}){let a=e===null?"null":typeof e,i=e===null?"null":typeof e=="string"?`"${e}"`:String(e),l=n.get(t)||null;return(0,Ct.jsxs)("span",{className:"inline-flex flex-wrap items-center gap-1",children:[(0,Ct.jsx)("span",{className:`${a==="string"?"text-emerald-600 dark:text-emerald-400":a==="number"?"text-blue-600 dark:text-blue-400":a==="boolean"?"text-amber-600 dark:text-amber-400":"text-muted-foreground"} font-mono text-xs`,children:i}),l?(0,Ct.jsx)(Ne,{variant:"success",className:"text-[9px] px-1 py-0 leading-tight",children:l}):null,r?(0,Ct.jsx)("span",{className:"inline-flex flex-wrap gap-0.5",children:zB.map(({key:c,label:d})=>(0,Ct.jsxs)(U,{type:"button",variant:n.get(t)===c?"default":"outline",size:"sm",className:"h-5 px-1.5 text-[10px]",onClick:u=>{u.stopPropagation(),o(c,t)},children:["\u2192"," ",d]},c))}):null]})}function eT({raw:e,mapping:t={},onAssign:n}){let[r,o]=(0,Ym.useState)(!0),[a,i]=(0,Ym.useState)(null),l=new Map;for(let[d,u]of Object.entries(t))u?.path&&l.set(u.path,d);function s(d){i(u=>u===d?null:d)}function c(d,u){n(d,u),i(null)}return!e||typeof e!="object"?null:(0,Ct.jsxs)("div",{className:"space-y-1.5",children:[(0,Ct.jsxs)("div",{className:"flex items-center justify-between",children:[(0,Ct.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Response",(0,Ct.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:"Click any row to map it to a field."})]}),(0,Ct.jsx)(U,{type:"button",variant:"ghost",size:"sm",className:"h-6 text-[11px] text-muted-foreground",onClick:()=>o(!r),children:r?"Collapse":"Expand"})]}),r?(0,Ct.jsx)("div",{className:"max-h-72 overflow-auto rounded-lg border border-border/60 bg-muted/30 p-3 font-mono text-xs leading-5",children:(0,Ct.jsx)(Bb,{value:e,path:"$",depth:0,assignedPaths:l,activeMenuPath:a,onRowClick:s,onAssign:c})}):null]})}var rr=D(J(),1);function UB(e,t){return t?{label:"Probe unhealthy",variant:"warning"}:e?e.isUnlimited?{label:"Unlimited",variant:"success"}:e.state==="fresh"&&typeof e.remaining=="number"&&e.remaining<=0?{label:"Exhausted",variant:"destructive"}:e.state==="fresh"?{label:"Available",variant:"success"}:e.state==="errored"?{label:"Error",variant:"destructive"}:e.state==="stale"?{label:"Stale",variant:"warning"}:{label:"Unknown",variant:"outline"}:{label:"No data",variant:"outline"}}function jB(e){if(!e||e<0)return"just now";let t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);return n<60?`${n}m ago`:`${Math.floor(n/60)}h ${n%60}m ago`}function VB(e,t){if(!e)return null;let n=e-(t||Date.now());if(n<=0)return"resets soon";let r=Math.floor(n/36e5),o=Math.floor(n%36e5/6e4);return r>0?`resets in ${r}h ${o}m`:`resets in ${o}m`}function tT({snapshot:e,circuitOpen:t,onRefresh:n,now:r}){let o=UB(e,t),a=r||Date.now(),i=e?.fetchedAt?a-e.fetchedAt:null,l=typeof e?.used=="number"&&typeof e?.limit=="number"&&e.limit>0,s=l?Math.min(100,Math.round(e.used/e.limit*100)):0,c=e?.error?.message||(typeof e?.error=="string"?e.error:null);return(0,rr.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 p-4 space-y-3",children:[(0,rr.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,rr.jsxs)("div",{className:"flex items-center gap-2",children:[(0,rr.jsx)(Ne,{variant:o.variant,children:o.label}),i!==null?(0,rr.jsxs)("span",{className:"text-xs text-muted-foreground",children:["last refreshed ",jB(i)]}):null]}),(0,rr.jsx)(U,{type:"button",variant:"outline",size:"sm",onClick:n,children:"Refresh"})]}),l?(0,rr.jsxs)("div",{className:"space-y-1",children:[(0,rr.jsxs)("div",{className:"flex items-baseline gap-1 text-sm",children:[(0,rr.jsxs)("span",{className:"font-medium",children:["$",e.used.toFixed(2)]}),(0,rr.jsxs)("span",{className:"text-muted-foreground",children:["/ $",e.limit.toFixed(2)," used"]}),e.resetAt?(0,rr.jsx)("span",{className:"ml-2 text-muted-foreground",children:VB(e.resetAt,a)}):null]}),(0,rr.jsx)("div",{className:"h-2 w-full overflow-hidden rounded-full bg-secondary",children:(0,rr.jsx)("div",{className:`h-full rounded-full transition-all ${s>=95?"bg-destructive":"bg-primary"}`,style:{width:`${s}%`}})})]}):null,c?(0,rr.jsx)("div",{className:"text-xs text-destructive",children:c}):null]})}var oe=D(J(),1);function FB(e){return e?{enabled:!!e.enabled,capKind:e.capKind||"dollars",combinator:e.combinator||"AND",enforce:e.enforce||"gate",safetyMargin:{dollars:Number(e.safetyMargin?.dollars)||0,percent:Number(e.safetyMargin?.percent)||0},mode:e.mode||"http",http:{method:e.http?.method||"GET",url:e.http?.url||"",headers:Array.isArray(e.http?.headers)&&e.http.headers.length>0?e.http.headers.map(t=>({key:t.key||"",value:t.value||""})):[{key:"Authorization",value:"Bearer {{providerApiKey}}"}],body:e.http?.body??null,timeoutMs:e.http?.timeoutMs||5e3,mapping:e.http?.mapping||{}},custom:{source:e.custom?.source||"",timeoutMs:e.custom?.timeoutMs||2e3}}:{enabled:!1,capKind:"dollars",combinator:"AND",enforce:"gate",safetyMargin:{dollars:0,percent:0},mode:"http",http:{method:"GET",url:"",headers:[{key:"Authorization",value:"Bearer {{providerApiKey}}"}],body:null,timeoutMs:5e3,mapping:{}},custom:{source:"",timeoutMs:2e3}}}function HB({headers:e,onChange:t}){function n(a,i,l){t(e.map((s,c)=>c===a?{...s,[i]:l}:s))}function r(){t([...e,{key:"",value:""}])}function o(a){t(e.filter((i,l)=>l!==a))}return(0,oe.jsxs)("div",{className:"space-y-1.5",children:[(0,oe.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Request headers",(0,oe.jsxs)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:["Use ","{{providerApiKey}}"," to inject the provider's API key."]})]}),e.map((a,i)=>(0,oe.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,oe.jsx)(He,{value:a.key,onChange:l=>n(i,"key",l.target.value),placeholder:"Header name",className:"h-7 w-40 shrink-0 font-mono text-xs"}),(0,oe.jsx)("span",{className:"text-xs text-muted-foreground/50 select-none",children:":"}),(0,oe.jsx)(He,{value:a.value,onChange:l=>n(i,"value",l.target.value),placeholder:"Header value",className:"h-7 flex-1 font-mono text-xs"}),(0,oe.jsx)(U,{type:"button",variant:"ghost",size:"icon",className:"h-7 w-7 shrink-0 text-muted-foreground/60 hover:text-destructive",onClick:()=>o(i),children:(0,oe.jsx)("span",{className:"text-xs",children:"\u2715"})})]},i)),(0,oe.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-7 text-xs",onClick:r,children:"+ Add header"})]})}function nT({providerId:e,probeConfig:t,snapshot:n,onSave:r}){let[o,a]=(0,na.useState)(()=>FB(t)),[i,l]=(0,na.useState)(null),[s,c]=(0,na.useState)(!1),[d,u]=(0,na.useState)(""),[f,m]=(0,na.useState)(n),[b,p]=(0,na.useState)(!1),[v,h]=(0,na.useState)(""),g=(0,na.useCallback)((w,E)=>{a(C=>{let M=w.split(".");return M.length===1?{...C,[w]:E}:M.length===2?{...C,[M[0]]:{...C[M[0]],[M[1]]:E}}:C})},[]);async function y(){if(!s){c(!0),u(""),l(null);try{let w=await Dy(e,{mode:o.mode,capKind:o.capKind,http:o.mode==="http"?o.http:void 0,custom:o.mode==="custom"?o.custom:void 0});l(w)}catch(w){u(w?.message||"Test failed.")}finally{c(!1)}}}async function x(){try{let w=await j1(e);w?.snapshot&&m(w.snapshot)}catch{}}async function R(){if(!b){p(!0),h("");try{let w=o.mode==="http"&&o.http.url.trim()!==""||o.mode==="custom"&&o.custom.source.trim()!=="",E={...o,enabled:w};await V1(e,E),r?.(E),h("saved"),setTimeout(()=>h(""),2e3);let C=o.mode==="http"&&o.http.url.trim(),M=o.mode==="custom"&&o.custom.source.trim();if(C||M)try{let L=await Dy(e,{mode:o.mode,capKind:o.capKind,http:o.mode==="http"?o.http:void 0,custom:o.mode==="custom"?o.custom:void 0});l(L),u("")}catch{}}catch(w){h(w?.message||"Save failed.")}finally{p(!1)}}}return(0,oe.jsxs)("div",{className:"space-y-4",children:[(0,oe.jsx)(tT,{snapshot:f,circuitOpen:!1,onRefresh:x}),(0,oe.jsxs)(Vo,{value:o.mode,onValueChange:w=>g("mode",w),children:[(0,oe.jsxs)(Fo,{children:[(0,oe.jsx)(xn,{value:"http",children:"Simple mapping"}),(0,oe.jsx)(xn,{value:"custom",children:"Custom function"})]}),(0,oe.jsxs)(Sn,{value:"http",className:"space-y-4 pt-2",children:[(0,oe.jsxs)("div",{className:"space-y-1.5",children:[(0,oe.jsxs)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:["Endpoint",(0,oe.jsx)("span",{className:"ml-2 normal-case tracking-normal text-[11px] text-muted-foreground/70",children:"The provider's usage or billing endpoint."})]}),(0,oe.jsxs)("div",{className:"flex items-center gap-2",children:[(0,oe.jsxs)(Et,{value:o.http.method,onValueChange:w=>g("http.method",w),children:[(0,oe.jsx)(Tt,{className:"h-9 w-24 shrink-0",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"GET",children:"GET"}),(0,oe.jsx)(Je,{value:"POST",children:"POST"})]})]}),(0,oe.jsx)(He,{value:o.http.url,onChange:w=>g("http.url",w.target.value),placeholder:"https://open-claude.com/v1/usage",className:"h-9 flex-1 font-mono text-xs"}),(0,oe.jsx)(U,{type:"button",variant:"outline",className:"h-9 shrink-0",onClick:y,disabled:s||!o.http.url,children:s?"Testing\u2026":"Test"}),i?.latencyMs!=null?(0,oe.jsxs)(Ne,{variant:"outline",className:"shrink-0",children:[i.latencyMs,"ms"]}):null]})]}),(0,oe.jsx)(HB,{headers:o.http.headers,onChange:w=>a(E=>({...E,http:{...E.http,headers:w}}))}),!i&&!d?(0,oe.jsxs)("div",{className:"rounded-lg border border-border/50 bg-muted/20 px-3 py-2 text-xs text-muted-foreground",children:["Hit ",(0,oe.jsx)("strong",{children:"Test"})," to fetch the endpoint. The JSON response will appear below \u2014 click any row to map it to a snapshot field."]}):null,d?(0,oe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-sm text-rose-900 dark:border-rose-900/30 dark:bg-rose-950/30 dark:text-rose-300",children:d}):null,i?.snapshot?.state==="errored"?(0,oe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900 dark:border-amber-900/30 dark:bg-amber-950/30 dark:text-amber-300",children:[(0,oe.jsx)("strong",{children:"Probe returned an error:"})," ",i.snapshot.error?.message||"Unknown error",i.raw?" \u2014 see the response body below.":" \u2014 the endpoint did not return a JSON body."]}):null,i?.raw?(0,oe.jsx)(eT,{raw:i.raw,mapping:o.http.mapping,onAssign:(w,E)=>{a(C=>({...C,http:{...C.http,mapping:{...C.http.mapping,[w]:{...C.http.mapping[w]||{},path:E}}}}))}}):null,i?(0,oe.jsx)(ZE,{mapping:o.http.mapping,testResult:i.snapshot,rawResponse:i.raw,onChange:w=>a(E=>({...E,http:{...E.http,mapping:w}}))}):null]}),(0,oe.jsxs)(Sn,{value:"custom",className:"space-y-4 pt-2",children:[(0,oe.jsx)(De,{label:"Custom function",hint:"Define async function fetchUsage(ctx) returning { used, limit, remaining, resetAt, isUnlimited }. ctx provides fetch, providerApiKey, providerBaseUrl, providerId.",stacked:!0,children:(0,oe.jsx)(XE,{value:o.custom.source,onChange:w=>g("custom.source",w.target.value),placeholder:`async function fetchUsage(ctx) {
|
|
52
|
+
const res = await ctx.fetch("https://open-claude.com/v1/usage", {
|
|
53
|
+
headers: { Authorization: \`Bearer \${ctx.providerApiKey}\` }
|
|
54
|
+
});
|
|
55
|
+
const json = await res.json();
|
|
56
|
+
return { capKind: "dollars", used: json.quota.used_dollars, limit: json.quota.limit_dollars };
|
|
57
|
+
}`,className:"min-h-40 font-mono text-xs"})}),(0,oe.jsxs)("div",{className:"flex items-center gap-2",children:[(0,oe.jsx)(U,{type:"button",variant:"outline",onClick:y,disabled:s||!o.custom.source,children:s?"Testing\u2026":"Test"}),i?.latencyMs!=null?(0,oe.jsxs)(Ne,{variant:"outline",children:[i.latencyMs,"ms"]}):null]}),d?(0,oe.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-sm text-rose-900 dark:border-rose-900/30 dark:bg-rose-950/30 dark:text-rose-300",children:d}):null]})]}),(0,oe.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,oe.jsx)(De,{label:"Cap kind",hint:"Unit the provider reports usage in.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.capKind,onValueChange:w=>g("capKind",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"dollars",children:"Dollars"}),(0,oe.jsx)(Je,{value:"tokens",children:"Tokens"}),(0,oe.jsx)(Je,{value:"requests",children:"Requests"})]})]})}),(0,oe.jsx)(De,{label:"Enforce",hint:"Gate blocks routing; observe logs only.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.enforce,onValueChange:w=>g("enforce",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"gate",children:"Gate routing"}),(0,oe.jsx)(Je,{value:"observe",children:"Observability only"})]})]})}),(0,oe.jsx)(De,{label:"Combinator",hint:"How probe combines with local rate limits.",stacked:!0,children:(0,oe.jsxs)(Et,{value:o.combinator,onValueChange:w=>g("combinator",w),children:[(0,oe.jsx)(Tt,{className:"h-9",children:(0,oe.jsx)(Mt,{})}),(0,oe.jsxs)(kt,{children:[(0,oe.jsx)(Je,{value:"AND",children:"AND (both must allow)"}),(0,oe.jsx)(Je,{value:"OR",children:"OR (either allows)"}),(0,oe.jsx)(Je,{value:"REPLACE",children:"REPLACE (probe only)"})]})]})})]}),(0,oe.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,oe.jsx)(De,{label:"Safety margin (dollars)",hint:"Gate when remaining drops below this amount.",stacked:!0,children:(0,oe.jsx)(He,{type:"number",min:"0",step:"0.01",value:o.safetyMargin.dollars,onChange:w=>g("safetyMargin.dollars",Number(w.target.value)||0)})}),(0,oe.jsx)(De,{label:"Safety margin (%)",hint:"Gate below this % of limit. Larger margin wins.",stacked:!0,children:(0,oe.jsx)(He,{type:"number",min:"0",max:"100",step:"1",value:o.safetyMargin.percent,onChange:w=>g("safetyMargin.percent",Number(w.target.value)||0)})})]}),(0,oe.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[v==="saved"?(0,oe.jsx)("span",{className:"text-xs text-emerald-600 dark:text-emerald-400",children:"Saved"}):null,v&&v!=="saved"?(0,oe.jsx)("span",{className:"text-xs text-rose-600 dark:text-rose-400",children:v}):null,(0,oe.jsx)(U,{type:"button",onClick:R,disabled:b,children:b?"Saving\u2026":"Save probe config"})]})]})}var me=D(J(),1);function $B({provider:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){let s=(0,rn.useMemo)(()=>XC(e),[e]),[c,d]=(0,rn.useState)(s),[u,f]=(0,rn.useState)(!1),[m,b]=(0,rn.useState)(!1),[p,v]=(0,rn.useState)(!1),[h,g]=(0,rn.useState)("provider"),[y,x]=(0,rn.useState)(""),[R,w]=(0,rn.useState)(0),[E,C]=(0,rn.useState)({isDirty:!1,issue:"",locked:!1,rows:[]}),[M,L]=(0,rn.useState)({phase:"",modelStates:{},failedModelIds:[],message:""}),F=(0,rn.useRef)(null),z=(0,rn.useRef)(null),G=(0,rn.useRef)(null),ee=(0,rn.useRef)(null);(0,rn.useEffect)(()=>{d(s)},[s]);let q=Co(e)!=="api",ae=(Array.isArray(e?.models)?e.models:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean),te=Ba(e),W=q?"":$C(e?.rateLimits),V=q?[]:lr(c?.endpoints,c?.endpointDraft),Pe=q?[]:wr(c?.rateLimitRows),ne=JSON.stringify({id:String(c?.id||"").trim(),name:String(c?.name||"").trim(),credentialInput:String(c?.credentialInput||"").trim(),endpoints:V,endpointDraft:String(c?.endpointDraft||"").trim(),rateLimitRows:Ay(c?.rateLimitRows)}),$e=JSON.stringify({id:String(s?.id||"").trim(),name:String(s?.name||"").trim(),credentialInput:String(s?.credentialInput||"").trim(),endpoints:Sr(s?.endpoints),endpointDraft:String(s?.endpointDraft||"").trim(),rateLimitRows:Ay(s?.rateLimitRows)}),ie=ne!==$e,we=!!i||l,Ue=new Set((Array.isArray(E.rows)?E.rows:[]).map(Te=>String(Te?.id||"").trim()).filter(Boolean)),j=M.failedModelIds.filter(Te=>Ue.has(Te)),pe=we||M.phase==="testing"||M.phase==="saving",Se=q?"":$o(Pe,{knownModelIds:ae,requireAtLeastOne:!0}),Le=i||(String(c?.id||"").trim()?fl.test(String(c?.id||"").trim())?String(c?.name||"").trim()?!q&&V.length===0?"Add at least one endpoint for API Key providers.":!q&&V.some(Te=>!Ni(Te))?"All endpoints must start with http:// or https://.":Se:"Provider name is required.":"Provider id must start with a letter and use lowercase letters, digits, or dashes only.":"Provider id is required."),Ae=q?c:{...c,endpoints:V,endpointDraft:""},ke=!!E.isDirty,Qe=ie||ke,Ze=[ie?"provider settings":"",ke?"model list":""].filter(Boolean),on=[ie&&Le?`Provider: ${Le}`:"",ke&&E.issue?`Models: ${E.issue}`:""].filter(Boolean).join(" "),Un=we||M.phase==="testing"||M.phase==="saving"||ie&&!!Le||ke&&(!!E.issue||E.locked)||typeof a!="function";async function dn(){let Te=await r(e.id,Ae);return Te&&Ve(),Te}async function wt(Te){let rt=await o(e.id,Te,{providerDraft:ie?Ae:null,onModelTestStateChange:pt=>{L({phase:String(pt?.phase||""),modelStates:pt?.modelStates&&typeof pt.modelStates=="object"?pt.modelStates:{},failedModelIds:Array.isArray(pt?.failedModelIds)?pt.failedModelIds:[],message:String(pt?.message||"")})}});return rt&&Ve(),rt}function bt(){d(s)}let vt=(0,rn.useCallback)(Te=>{C(Te)},[]);function Ve(){b(!1),v(!1),f(!1),g("provider"),x(""),d(s),C({isDirty:!1,issue:"",locked:!1,rows:[]}),L({phase:"",modelStates:{},failedModelIds:[],message:""})}async function Ft(){let Te=(Array.isArray(E.rows)?E.rows:[]).filter(pt=>!j.includes(String(pt?.id||"").trim()));return Te.length===0&&!ie||await a(e.id,{providerDraft:ie?Ae:null,modelRows:ke?Te:null,onModelTestStateChange:pt=>{L({phase:String(pt?.phase||""),modelStates:pt?.modelStates&&typeof pt.modelStates=="object"?pt.modelStates:{},failedModelIds:Array.isArray(pt?.failedModelIds)?pt.failedModelIds:[],message:String(pt?.message||"")})}})?(Ve(),!0):(g("models"),!1)}(0,rn.useEffect)(()=>{L({phase:"",modelStates:{},failedModelIds:[],message:""})},[s]),(0,rn.useEffect)(()=>{j.length>0||!p||v(!1)},[j,p]),(0,rn.useEffect)(()=>{if(!u||h!=="provider"||y!=="endpoint"&&y!=="rate-limit"||typeof window>"u")return;let Te=window.requestAnimationFrame(()=>{let rt=y==="endpoint"?F.current:G.current,pt=y==="endpoint"?z.current:ee.current;rt?.scrollIntoView?.({block:"nearest"}),pt?.focus?.(),pt?.select?.(),x("")});return()=>window.cancelAnimationFrame(Te)},[u,h,y]);function en(Te="provider",rt=""){b(!1),v(!1),g(Te),x(rt),Te==="models"&&rt==="models"&&w(pt=>pt+1),f(!0)}function hn(){if(!pe){if(j.length>0){b(!1),v(!0);return}if(Qe){b(!0);return}Ve()}}async function Nr(){if(Un)return;if(!await a(e.id,{providerDraft:ie?Ae:null,modelRows:ke?E.rows:null,onModelTestStateChange:rt=>{L({phase:String(rt?.phase||""),modelStates:rt?.modelStates&&typeof rt.modelStates=="object"?rt.modelStates:{},failedModelIds:Array.isArray(rt?.failedModelIds)?rt.failedModelIds:[],message:String(rt?.message||"")})}})){ke&&(b(!1),g("models"));return}Ve()}return(0,me.jsxs)(me.Fragment,{children:[(0,me.jsx)(Ut,{children:(0,me.jsxs)(jt,{className:"space-y-3 p-5",children:[(0,me.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,me.jsx)("div",{className:"min-w-0 flex-1 px-0.5 py-0.5",children:(0,me.jsxs)("div",{className:"flex flex-wrap items-baseline gap-x-2 gap-y-1",children:[(0,me.jsx)("span",{className:"text-base font-semibold text-foreground",children:e.name||e.id}),(0,me.jsxs)("span",{className:"text-sm text-muted-foreground",children:["(",e.id,")"]})]})}),(0,me.jsxs)("div",{className:"flex items-start gap-2 self-start",children:[(0,me.jsxs)(U,{type:"button",variant:"outline",size:"sm",className:"gap-1.5 normal-case tracking-normal",onClick:()=>en("provider"),disabled:we,"aria-label":`Edit provider ${e.name||e.id}`,title:"Edit provider",children:[(0,me.jsx)(_s,{className:"h-4 w-4 shrink-0"}),"Edit"]}),(0,me.jsx)(U,{type:"button",variant:"outline",size:"sm",className:"h-8 w-8 shrink-0 p-0 text-muted-foreground hover:border-destructive/35 hover:bg-destructive/5 hover:text-destructive",onClick:()=>t(e.id),disabled:l,"aria-label":"Remove provider",title:"Remove provider",children:(0,me.jsx)(mu,{className:"h-4 w-4"})})]})]}),ae.length>0?(0,me.jsx)("div",{className:"flex flex-wrap gap-2 pt-1",children:ae.map(Te=>(0,me.jsx)(PE,{onClick:()=>n?.(Te),title:`Copy model id ${Te}`,className:"max-w-full",children:(0,me.jsx)("span",{className:"truncate",children:Te})},`${e.id}-${Te}`))}):null]})}),(0,me.jsx)(_n,{open:u,onClose:hn,title:`Edit \xB7 ${e.id}`,description:M.phase==="testing"?M.message||"Testing new models before save.":M.phase==="saving"?M.message||"Saving provider changes.":"Switch between provider settings and model list. Each tab saves independently.",closeDisabled:pe,closeOnBackdrop:!pe,closeOnEscape:!pe,contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)] pb-0",children:(0,me.jsxs)(Vo,{value:h,onValueChange:g,children:[(0,me.jsxs)(Fo,{className:"w-full justify-start",children:[(0,me.jsx)(xn,{value:"provider",children:"Provider"}),(0,me.jsx)(xn,{value:"models",children:"Model list"}),(0,me.jsx)(xn,{value:"quota-probe",children:"Quota Probe"})]}),(0,me.jsxs)(Sn,{forceMount:!0,value:"provider",className:Q("space-y-4 pb-4",h!=="provider"?"hidden":null),children:[(0,me.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:(0,me.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,me.jsxs)("div",{children:[(0,me.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,me.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Update provider identity and connection settings here."})]}),(0,me.jsx)(Ne,{variant:"outline",children:q?"Subscription":"API Key"})]})}),(0,me.jsxs)("div",{className:Q("grid gap-3",q?"md:grid-cols-2":"md:grid-cols-[minmax(0,1fr)_minmax(0,1fr)]"),children:[(0,me.jsx)(De,{label:"Provider name",stacked:!0,children:(0,me.jsx)(He,{value:c.name,onChange:Te=>d(rt=>({...rt,name:Te.target.value})),disabled:pe})}),(0,me.jsx)(De,{label:"Provider id",hint:"Used in direct routes like provider/model",stacked:!0,children:(0,me.jsx)(He,{value:c.id,onChange:Te=>d(rt=>({...rt,id:Pr(Te.target.value)})),disabled:pe})})]}),q?null:(0,me.jsxs)("div",{className:"space-y-3",children:[(0,me.jsx)(De,{label:"API key or env",hint:"Use an env var like OPENAI_API_KEY or paste the direct key.",stacked:!0,children:(0,me.jsx)(Ws,{value:c.credentialInput||"",onChange:Te=>d(rt=>({...rt,credentialInput:Te.target.value})),disabled:pe,placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:Ao(c.credentialInput)})}),(0,me.jsx)("div",{ref:F,children:(0,me.jsx)(De,{label:"Endpoints",hint:te.length>1?"Comma, space, or newline turns into chips. The first endpoint stays active until you re-test this provider.":"Comma, space, or newline turns into chips.",stacked:!0,children:(0,me.jsx)(zu,{values:c.endpoints,onChange:Te=>d(rt=>({...rt,endpoints:Te})),draftValue:c.endpointDraft,onDraftValueChange:Te=>d(rt=>({...rt,endpointDraft:Te})),commitOnBlur:!0,disabled:pe,isValueValid:Ni,inputRef:z,inputClassName:"placeholder:text-muted-foreground/55",placeholder:"Click here to type new endpoint",helperText:"Paste one or more endpoints"})})}),(0,me.jsx)("div",{ref:G,className:"grid gap-3 md:grid-cols-2 xl:grid-cols-[minmax(0,1.35fr)_minmax(0,0.8fr)_minmax(0,0.8fr)_minmax(0,1fr)]",children:(0,me.jsx)("div",{className:"md:col-span-2 xl:col-span-4",children:(0,me.jsx)(De,{label:"Rate limit",stacked:!0,headerAction:(0,me.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:()=>d(Te=>({...Te,rateLimitRows:Gm(Te.rateLimitRows)})),disabled:pe,children:"Add rate limit"}),children:(0,me.jsx)(qm,{rows:c.rateLimitRows,onChange:Te=>d(rt=>({...rt,rateLimitRows:Te})),availableModelIds:ae,disabled:pe,inputRef:ee})})})})]}),Le?(0,me.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-sm text-amber-900",children:Le}):null,(0,me.jsxs)("div",{className:"flex min-h-9 items-center justify-end gap-2",children:[!pe&&ie?(0,me.jsx)(U,{type:"button",variant:"ghost",onClick:bt,children:"Reset"}):null,ie&&!Le?(0,me.jsx)(U,{type:"button",onClick:()=>{dn()},disabled:pe,children:M.phase==="saving"||l?"Saving\u2026":"Save provider"}):null]})]}),(0,me.jsx)(Sn,{forceMount:!0,value:"models",className:Q(h!=="models"?"hidden":null),children:(0,me.jsx)(QE,{provider:e,disabled:!!i,disabledReason:i,busy:l,framed:!1,focusRequest:R,onStateChange:vt,onApply:wt,testStateByModel:M.modelStates,savePhase:M.phase,saveMessage:M.message})}),(0,me.jsx)(Sn,{value:"quota-probe",className:"space-y-4 pb-4",children:(0,me.jsx)(nT,{providerId:e.id,probeConfig:e.quotaProbe,snapshot:null,onSave:Te=>{console.log("Save quota probe config:",Te)}})})]})}),(0,me.jsx)(IE,{open:m,onKeepEditing:()=>b(!1),onDiscardAndClose:Ve,onSaveAndClose:Nr,saveDisabled:Un,dirtyLabels:Ze,details:on}),(0,me.jsx)(zE,{open:p,failedModelIds:j,onKeepEditing:()=>v(!1),onRemoveFailedAndClose:Ft,removeDisabled:pe||typeof a!="function"})]})}function KB({providers:e,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i="",busy:l=!1}){return e.length?(0,me.jsx)("div",{className:"grid gap-4 xl:grid-cols-2",children:e.map(s=>(0,me.jsx)($B,{provider:s,onRemove:t,onCopyModelId:n,onApplyProviderDetails:r,onApplyProviderModels:o,onSaveAndCloseEditor:a,disabledReason:i,busy:l},s.id))}):(0,me.jsx)(Ut,{children:(0,me.jsx)(jt,{className:"flex flex-col gap-4 p-5 text-sm text-muted-foreground",children:(0,me.jsx)("div",{children:"No enabled providers are configured yet. Use Add provider to create your first provider, model list, and rate limits."})})})}function rT({providers:e,onAddProvider:t,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l="",busy:s=!1}){return(0,me.jsxs)("section",{className:"rounded-2xl border border-border/70 bg-card p-4","aria-label":"Provider models",children:[(0,me.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,me.jsxs)("div",{className:"min-w-0",children:[(0,me.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider & Models"}),(0,me.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Manage providers, direct model routes, endpoints, and rate limits in one place."})]}),(0,me.jsx)(U,{onClick:t,children:"Add provider"})]}),(0,me.jsx)("div",{className:"mt-4",children:(0,me.jsx)(KB,{providers:e,onRemove:n,onCopyModelId:r,onApplyProviderDetails:o,onApplyProviderModels:a,onSaveAndCloseEditor:i,disabledReason:l,busy:s})})]})}var Pu=D(be(),1);var le=D(J(),1);function oT({connected:e,snapshot:t,models:n,busy:r,refreshing:o,config:a,onRefresh:i,onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:m,onAutoLoad:b,onSaveSettings:p,onInstall:v,onStartServer:h,onStopServer:g,onSyncRouter:y,embedded:x=!1}){let R=a?.ollama||{},[w,E]=(0,Pu.useState)(R.baseUrl||"http://localhost:11434"),[C,M]=(0,Pu.useState)(R.autoConnect!==!1),[L,F]=(0,Pu.useState)(R.defaultKeepAlive||"5m"),z=t?.installed===!0;return(0,le.jsxs)("div",{className:"space-y-4",children:[(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between",children:[(0,le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Ollama Connection"}),x?(0,le.jsx)("span",{className:"text-xs text-muted-foreground",children:"Local Models runtime"}):null,e?(0,le.jsx)(Ne,{variant:"success",children:"Connected"}):(0,le.jsx)(Ne,{variant:"outline",children:"Disconnected"})]}),(0,le.jsxs)("div",{className:"flex gap-2",children:[!z&&(0,le.jsx)(U,{size:"sm",onClick:v,disabled:r._install,children:r._install?"Installing\u2026":"Install Ollama"}),z&&!e&&(0,le.jsx)(U,{size:"sm",onClick:h,disabled:r._startServer,children:r._startServer?"Starting\u2026":"Start Server"}),e&&(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:g,children:"Stop Server"})]})]}),t?.version&&(0,le.jsxs)("p",{className:"text-xs text-muted-foreground",children:["Version: ",t.version]})]})}),e&&(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Models"}),(0,le.jsxs)("div",{className:"flex gap-2",children:[(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:y,disabled:r._syncRouter,children:r._syncRouter?"Syncing\u2026":"Sync All to Router"}),(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:i,disabled:o,children:o?"Refreshing\u2026":"Reload Models"})]})]}),n.length===0&&!o&&(0,le.jsxs)("p",{className:"text-sm text-muted-foreground",children:["No models found. Pull models with ",(0,le.jsx)("code",{className:"text-xs bg-muted px-1 py-0.5 rounded",children:"ollama pull <model>"})]}),(0,le.jsx)("div",{className:"space-y-2",children:n.map(G=>(0,le.jsx)(GB,{model:G,busy:r[G.name]||{},onLoad:l,onUnload:s,onPin:c,onKeepAlive:d,onContextLength:u,onAddToRouter:f,onRemoveFromRouter:m,onAutoLoad:b},G.name))})]})}),(0,le.jsx)(Ut,{children:(0,le.jsxs)(jt,{className:"p-4 space-y-3",children:[(0,le.jsx)("h3",{className:"font-medium",children:"Settings"}),(0,le.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:[(0,le.jsxs)("div",{children:[(0,le.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Base URL"}),(0,le.jsx)(He,{value:w,onChange:G=>E(G.target.value),placeholder:"http://localhost:11434"})]}),(0,le.jsxs)("div",{children:[(0,le.jsx)("label",{className:"mb-1 block text-xs font-medium text-muted-foreground",children:"Default Keep Alive"}),(0,le.jsxs)(Et,{value:L,onValueChange:F,children:[(0,le.jsx)(Tt,{children:(0,le.jsx)(Mt,{})}),(0,le.jsx)(kt,{children:by.map(G=>(0,le.jsx)(Je,{value:G.value,children:G.label},G.value))})]})]})]}),(0,le.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,le.jsx)("label",{className:"text-sm text-foreground",children:"Auto-connect on startup"}),(0,le.jsx)(jo,{checked:C,onCheckedChange:M})]}),(0,le.jsx)(U,{size:"sm",onClick:()=>p({baseUrl:w,autoConnect:C,defaultKeepAlive:L}),children:"Save Settings"})]})})]})}function GB({model:e,busy:t,onLoad:n,onUnload:r,onPin:o,onKeepAlive:a,onContextLength:i,onAddToRouter:l,onRemoveFromRouter:s,onAutoLoad:c}){let[d,u]=(0,Pu.useState)(e.contextLength||0);return(0,le.jsxs)("div",{className:"rounded-lg border border-border p-3 space-y-2",children:[(0,le.jsxs)("div",{className:"flex items-center justify-between gap-2 flex-wrap",children:[(0,le.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,le.jsx)("span",{className:"font-mono text-sm font-medium",children:e.name}),(0,le.jsx)(Ne,{variant:"outline",children:e.parameterSize||"?"}),(0,le.jsx)(Ne,{variant:"outline",children:e.quantizationLevel||"?"}),e.loaded?(0,le.jsxs)(Ne,{variant:"success",children:["Loaded",e.sizeVramFormatted?` (${e.sizeVramFormatted})`:""]}):(0,le.jsx)(Ne,{variant:"default",children:"Available"}),e.isPinned&&(0,le.jsx)(Ne,{variant:"warning",children:"Pinned"})]}),(0,le.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[e.loaded?(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>r(e.name),disabled:t.unloading,children:t.unloading?"Unloading\u2026":"Unload"}):(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>n(e.name),disabled:t.loading,children:t.loading?"Loading\u2026":"Load"}),(0,le.jsx)(U,{size:"sm",variant:e.isPinned?"default":"outline",onClick:()=>o(e.name,!e.isPinned),disabled:t.pinning,title:e.isPinned?"Unpin (allow auto-unload)":"Pin in memory (blocks eviction)",children:e.isPinned?"Unpin":"Pin"}),e.inRouter?(0,le.jsx)(U,{size:"sm",variant:"outline",onClick:()=>s(e.name),className:"text-red-600 hover:text-red-700",children:"Remove from Router"}):(0,le.jsx)(U,{size:"sm",variant:"default",onClick:()=>l(e.name),children:"Add to Router"})]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-4 flex-wrap text-xs",children:[(0,le.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,le.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Keep Alive:"}),(0,le.jsxs)(Et,{value:e.keepAlive||"5m",onValueChange:f=>a(e.name,f),children:[(0,le.jsx)(Tt,{className:"h-7 w-[160px] text-xs",children:(0,le.jsx)(Mt,{})}),(0,le.jsx)(kt,{children:by.map(f=>(0,le.jsx)(Je,{value:f.value,children:f.label},f.value))})]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,le.jsx)("label",{className:"text-muted-foreground whitespace-nowrap",children:"Context:"}),(0,le.jsx)(He,{type:"number",className:"h-7 w-24 text-xs",value:d,onChange:f=>u(Number(f.target.value)),onBlur:()=>{d!==e.contextLength&&i(e.name,d)},min:0,step:1024}),e.contextLength>0&&(0,le.jsxs)("span",{className:"text-muted-foreground",children:["max: ",e.contextLength.toLocaleString()]})]}),(0,le.jsxs)("div",{className:"flex items-center gap-2",children:[(0,le.jsx)(jo,{checked:e.autoLoad,onCheckedChange:f=>c(e.name,f)}),(0,le.jsx)("label",{className:"text-muted-foreground",children:"Auto-load on start"})]}),e.estimatedVram&&(0,le.jsxs)("span",{className:"text-muted-foreground",children:["Est. VRAM: ",e.estimatedVram]})]})]})}var gT=D(be(),1);var Pn=D(be(),1);function Qm(e,t){return Object.values(e||{}).filter(n=>t(n)).length}var Uu={balanced:{label:"Balanced",contextWindow:65536},"long-context":{label:"Long Context",contextWindow:2e5},"low-memory":{label:"Low Memory",contextWindow:16384},"fast-response":{label:"Fast Response",contextWindow:8192}};function qB(e){let t=String(e||"").trim().toLowerCase();return t||"stopped"}function Xm(e){return String(e||"").trim().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")}function Ib(e,t=new Set){let n=String(e||"").trim()||"local/local-model";if(!t.has(n))return n;let r=2;for(;t.has(`${n}-${r}`);)r+=1;return`${n}-${r}`}function aT(e={}){return new Set(Object.values(e||{}).map(t=>String(t?.id||"").trim()).filter(Boolean))}function iT(e){return String(e||"").replace(/\.[^.]+$/u,"")}function WB(e){return String(e||"").trim().replace(/\\/g,"/").split("/").filter(Boolean).pop()||""}function lT(e={},t={}){let n=String(e?.repo||"").trim(),r=String(e?.file||"").trim(),o=aT(t),a=Xm(`${n}-${iT(r)}`)||"local-model";return{id:Ib(a,o),displayName:r||n||"Managed GGUF",repo:n,file:r}}function zb(e="",t={}){let n=String(e||"").trim(),r=WB(n),o=aT(t),a=Xm(iT(r))||"local-model";return{id:Ib(a,o),displayName:r||n||"Attached GGUF",filePath:n}}function Jm(e){let t=Number.parseInt(String(e??"").replace(/[^\d]/g,""),10);return Number.isFinite(t)&&t>0?t:void 0}function sT(e,t={}){let n=String(e?.displayName||e?.id||"Local Model").trim()||"Local Model",r="balanced",o=Uu[r],a=new Set(Object.values(t||{}).map(s=>String(s?.id||"").trim()).filter(Boolean)),i=`${n} ${o.label}`,l=Ib(`local/${Xm(i)}`,a);return{key:Xm(l)||`local-${Date.now()}`,baseModelId:e?.id,runtime:"llamacpp",name:i,id:l,preset:r,enabled:!0,preload:!1,contextWindow:o.contextWindow,capabilities:{}}}function cT(e){return{...e,preset:String(e?.preset||"balanced").trim()||"balanced",contextWindow:Number.isFinite(Number(e?.contextWindow))?Number(e.contextWindow):Uu.balanced.contextWindow,capabilities:e?.capabilities&&typeof e.capabilities=="object"?{...e.capabilities}:{}}}function uT(e,t=new Set){return String(e?.name||"").trim()?String(e?.id||"").trim()?t.has(String(e?.id||"").trim())?"Model id already exists.":Jm(e?.contextWindow)?"":"Context window must be a positive integer.":"Model id is required.":"Variant name is required."}function dT(e={}){let t=e?.runtime||{},n=e?.library||{},r=e?.variants||{};return{enabledVariants:Qm(r,o=>o?.enabled===!0),preloadedVariants:Qm(r,o=>o?.preload===!0),staleAssets:Qm(n,o=>String(o?.availability||"").trim().toLowerCase()==="stale"),runningRuntimes:Qm(t,o=>qB(o?.status)==="running")}}var ut=D(J(),1);function fT({draft:e,baseModel:t=null,duplicateIds:n=new Set,saveDisabled:r=!1,saveDisabledReason:o="",saving:a=!1,onChange:i,onSave:l,onCancel:s}){return(0,ut.jsxs)("form",{className:"space-y-4",onSubmit:c=>{c.preventDefault(),l?.()},children:[t?(0,ut.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,ut.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Base Model"}),(0,ut.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:t?.displayName||t?.id}),(0,ut.jsx)("div",{className:"mt-1 break-all text-xs text-muted-foreground",children:t?.path||"Path not recorded"})]}):null,(0,ut.jsx)(De,{label:"Variant name",stacked:!0,children:(0,ut.jsx)(He,{"aria-label":"Variant name",value:e?.name||"",onChange:c=>i?.({...e,name:c.target.value})})}),(0,ut.jsxs)(De,{label:"Model id",stacked:!0,children:[(0,ut.jsx)(He,{"aria-label":"Model id",value:e?.id||"",onChange:c=>i?.({...e,id:c.target.value})}),n.has(e?.id)?(0,ut.jsx)("div",{className:"text-xs text-red-600",children:"Model id already exists."}):null]}),(0,ut.jsx)(De,{label:"Preset",stacked:!0,children:(0,ut.jsxs)(Et,{value:e?.preset||"balanced",onValueChange:c=>i?.({...e,preset:c}),children:[(0,ut.jsx)(Tt,{children:(0,ut.jsx)(Mt,{})}),(0,ut.jsxs)(kt,{children:[(0,ut.jsx)(Je,{value:"balanced",children:"Balanced"}),(0,ut.jsx)(Je,{value:"long-context",children:"Long Context"}),(0,ut.jsx)(Je,{value:"low-memory",children:"Low Memory"}),(0,ut.jsx)(Je,{value:"fast-response",children:"Fast Response"})]})]})}),(0,ut.jsx)(De,{label:"Context window",stacked:!0,hint:"Router-visible max context length for this variant.",children:(0,ut.jsx)(He,{"aria-label":"Context window",inputMode:"numeric",value:e?.contextWindow??"",onChange:c=>i?.({...e,contextWindow:c.target.value})})}),(0,ut.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,ut.jsx)(De,{label:"Enabled in router",stacked:!0,children:(0,ut.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,ut.jsx)("span",{className:"text-sm text-foreground",children:"Expose this variant to aliases and route pickers"}),(0,ut.jsx)(jo,{checked:e?.enabled===!0,onCheckedChange:c=>i?.({...e,enabled:c})})]})}),(0,ut.jsx)(De,{label:"Preload on startup",stacked:!0,children:(0,ut.jsxs)("div",{className:"flex items-center justify-between rounded-xl border border-border/70 px-3 py-2",children:[(0,ut.jsx)("span",{className:"text-sm text-foreground",children:"Load it when the local runtime starts"}),(0,ut.jsx)(jo,{checked:e?.preload===!0,onCheckedChange:c=>i?.({...e,preload:c})})]})})]}),(0,ut.jsx)(De,{label:"Capability hints",stacked:!0,hint:"Leave unset unless this model needs a routing override.",children:(0,ut.jsx)(Wm,{capabilities:e?.capabilities||{},onChange:(c,d)=>{let u={...e?.capabilities||{}};typeof d=="boolean"?u[c]=d:delete u[c],i?.({...e,capabilities:u})}})}),o?(0,ut.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:o}):null,(0,ut.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,ut.jsx)(U,{type:"button",variant:"outline",onClick:()=>s?.(),disabled:a,children:"Cancel"}),(0,ut.jsx)(U,{type:"submit",disabled:r||a,children:a?"Saving\u2026":"Save variant"})]})]})}var _=D(J(),1);function YB(e){let t=String(e||"").trim().toLowerCase();return t?t==="running"?{label:"Running",variant:"success"}:t==="stale"?{label:"Stale runtime",variant:"warning"}:t==="invalid"?{label:"Invalid runtime",variant:"warning"}:t==="stopped"?{label:"Stopped",variant:"outline"}:{label:t,variant:"outline"}:{label:"Needs validation",variant:"outline"}}function mT(e){let t=String(e||"").trim().toLowerCase();return!t||t==="available"?{label:"Available",variant:"success"}:t==="stale"?{label:"Stale",variant:"warning"}:t==="missing"?{label:"Missing",variant:"warning"}:t==="invalid"?{label:"Invalid",variant:"warning"}:{label:t,variant:"outline"}}function QB(e){let t=String(e||"").trim().toLowerCase();return!t||t==="safe"?{label:"Safe",variant:"success"}:t==="tight"?{label:"Tight",variant:"warning"}:t==="over-budget"?{label:"Over budget",variant:"danger"}:{label:t,variant:"outline"}}function XB(e){return String(e||"").includes("managed")?"Managed":"Attached"}function Xs(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return"";let n=["B","KB","MB","GB","TB"],r=t,o=0;for(;r>=1024&&o<n.length-1;)r/=1024,o+=1;return`${r>=10||o===0?r.toFixed(0):r.toFixed(1)} ${n[o]}`}function Pb(e){return/\.gguf$/i.test(String(e||"").trim())}function JB(e){let t=String(e||"").trim();if(!t)return"";let n=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return n>0?t.slice(0,n):""}function ZB({candidate:e,busy:t=!1,onUseRuntime:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.label||e?.path}),(0,_.jsx)(Ne,{variant:"outline",children:e?.source||"path"}),e?.isTurboQuant?(0,_.jsx)(Ne,{variant:"warning",children:"TurboQuant"}):null,e?.current?(0,_.jsx)(Ne,{variant:"success",children:"Configured"}):null,(0,_.jsx)(Ne,{variant:e?.ok===!1?"warning":"outline",children:e?.ok===!1?"Needs review":"Detected"})]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path}),e?.directory?(0,_.jsxs)("div",{className:"font-mono text-xs text-muted-foreground/80",children:["Dir: ",e.directory]}):null,e?.errorMessage?(0,_.jsx)("div",{className:"text-xs text-amber-900",children:e.errorMessage}):null]}),(0,_.jsx)("div",{className:"flex shrink-0 items-center",children:(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>n?.(e?.path),disabled:t||e?.current===!0||e?.ok===!1,children:e?.current===!0?"Selected":t?"Selecting\u2026":"Use runtime"})})]})})}function eI({entry:e,variantCount:t=0,disabledReason:n="",busy:r=!1,onCreateVariant:o,onLocateModel:a,onRemoveModel:i}){let l=mT(e?.availability),s=Xs(e?.metadata?.sizeBytes),c=String(e?.metadata?.repo||"").trim(),d=String(e?.metadata?.file||"").trim(),u=!n&&l.label==="Available",f=l.label!=="Available";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.displayName||e?.id}),(0,_.jsx)(Ne,{variant:"outline",children:XB(e?.source)}),(0,_.jsx)(Ne,{variant:l.variant,children:l.label}),s?(0,_.jsx)(Ne,{variant:"outline",children:s}):null]}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:e?.path||"Path not recorded"}),c||d?(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[c||"Managed file",d?` \u2022 ${d}`:""]}):null,(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:[t," variant",t===1?"":"s"," attached to this base model."]})]}),(0,_.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,_.jsx)(U,{size:"sm",onClick:()=>o?.(e),disabled:!u||r,children:"Create variant"}),f?(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>a?.(e),disabled:!!n||r,children:"Locate model"}):null,(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>i?.(e),disabled:!!n||r,children:"Remove"})]})]})})}function tI({variant:e,baseModel:t,runtimeStatus:n,onEdit:r}){let o=mT(e?.availability||t?.availability),a=QB(e?.capacityState),i=o.label!=="Available"?o.label:String(n?.label||"").trim()||"Stopped";return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e?.name||e?.id}),(0,_.jsx)(Ne,{variant:e?.enabled===!0?"success":"outline",children:e?.enabled===!0?"Enabled":"Disabled"}),e?.preload===!0?(0,_.jsx)(Ne,{variant:"warning",children:"Preload"}):null,(0,_.jsx)(Ne,{variant:a.variant,children:a.label}),(0,_.jsx)(Ne,{variant:o.variant,children:o.label})]}),(0,_.jsx)("div",{className:"font-mono text-xs text-muted-foreground",children:e?.id||"Missing model id"}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Base model: ",t?.displayName||t?.id||e?.baseModelId," \u2022 Context: ",Yo(e?.contextWindow)]}),(0,_.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Runtime state: ",i]})]}),(0,_.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>r?.(e),children:"Edit"})})]})})}function nI({result:e,downloading:t=!1,onDownload:n}){return(0,_.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)("div",{className:"text-sm font-semibold text-foreground",children:e.file}),e.quantization?(0,_.jsx)(Ne,{variant:"outline",children:e.quantization}):null,(e.badges||[]).map(r=>(0,_.jsx)(Ne,{variant:"outline",children:r},`${e.repo}:${e.file}:${r}`))]}),(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:e.repo}),e.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Xs(e.sizeBytes)}):null,e.disabledReason?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:e.disabledReason}):null,e.recommendation?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:e.recommendation}):null]}),(0,_.jsx)(U,{size:"sm",onClick:()=>n?.(e),disabled:e.disabled===!0||t,children:t?"Downloading\u2026":"Download"})]})})}function pT({runtime:e={},library:t={},variants:n={},disableEditsReason:r="",onSelectRuntime:o,onStartRuntime:a,onStopRuntime:i,onSaveRuntimeSettings:l,onSaveVariant:s,onRefreshLibrary:c,onAttachModel:d,onLocateModel:u,onRemoveModel:f,onDownloadManagedModel:m}){let b=YB(e?.status),p=(0,Pn.useMemo)(()=>Object.values(t||{}),[t]),v=(0,Pn.useMemo)(()=>Object.values(n||{}),[n]),h=String(e?.selectedCommand||e?.manualCommand||"").trim(),g=String(e?.selectedDirectory||"").trim()||JB(h),y=String(e?.host||"127.0.0.1").trim()||"127.0.0.1",x=Number.isFinite(Number(e?.port))?Number(e.port):39391,R=String(e?.status||"").trim().toLowerCase()==="running",[w,E]=(0,Pn.useState)({open:!1,draft:null,baseModelId:"",title:""}),[C,M]=(0,Pn.useState)(!1),[L,F]=(0,Pn.useState)({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""}),[z,G]=(0,Pn.useState)({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""}),[ee,de]=(0,Pn.useState)({open:!1,query:"",searching:!1,results:[],error:"",downloadingKey:"",progressLabel:""}),[q,ae]=(0,Pn.useState)(!1),[te,W]=(0,Pn.useState)(""),[V,Pe]=(0,Pn.useState)({selecting:!1,starting:!1,stopping:!1,savingSettings:!1,error:""}),[ne,$e]=(0,Pn.useState)(e?.startWithRouter===!0),[ie,we]=(0,Pn.useState)({loading:!1,error:"",runtime:null});(0,Pn.useEffect)(()=>{$e(e?.startWithRouter===!0)},[e?.startWithRouter]);let Ue=(0,Pn.useMemo)(()=>{let T=String(w?.draft?.id||"").trim(),k=String(w?.draft?.key||"").trim();return new Set(v.filter(H=>String(H?.key||"").trim()!==k).map(H=>String(H?.id||"").trim()).filter(H=>H&&H===T))},[w?.draft?.id,w?.draft?.key,v]),j=w?.baseModelId&&t[w.baseModelId]||null,pe=uT(w?.draft||{},Ue),Se=String(L?.draft?.id||"").trim()?String(L?.draft?.filePath||"").trim()?Pb(L?.draft?.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.":"Model id is required.",Le=String(z.filePath||"").trim()?Pb(z.filePath)?"":"Select a GGUF file path.":"GGUF file path is required.";(0,Pn.useEffect)(()=>{!r&&typeof c=="function"&&c({silent:!0})},[]);async function Ae(){we(T=>({...T,loading:!0,error:""}));try{let T=await Ly();we({loading:!1,error:"",runtime:T?.runtime||null})}catch(T){we({loading:!1,error:T instanceof Error?T.message:String(T),runtime:null})}}(0,Pn.useEffect)(()=>{let T=!1;async function k(){we(H=>({...H,loading:!0,error:""}));try{let H=await Ly();if(T)return;we({loading:!1,error:"",runtime:H?.runtime||null})}catch(H){if(T)return;we({loading:!1,error:H instanceof Error?H.message:String(H),runtime:null})}}return k(),()=>{T=!0}},[h,e?.startWithRouter,e?.status]);async function ke(T){let k=String(T||"").trim();if(!(!k||!o)){Pe(H=>({...H,selecting:!0,error:""}));try{await o(k)&&await Ae()}catch(H){Pe(ue=>({...ue,selecting:!1,error:H instanceof Error?H.message:String(H)}));return}Pe(H=>({...H,selecting:!1,error:""}))}}async function Qe(){if(!(!a||!h)){Pe(T=>({...T,starting:!0,error:""}));try{await a(),await Ae(),Pe(T=>({...T,starting:!1,error:""}))}catch(T){Pe(k=>({...k,starting:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Ze(){if(i){Pe(T=>({...T,stopping:!0,error:""}));try{await i(),await Ae(),Pe(T=>({...T,stopping:!1,error:""}))}catch(T){Pe(k=>({...k,stopping:!1,error:T instanceof Error?T.message:String(T)}))}}}async function on(){if(l){Pe(T=>({...T,savingSettings:!0,error:""}));try{await l({startWithRouter:ne}),await Ae(),Pe(T=>({...T,savingSettings:!1,error:""}))}catch(T){Pe(k=>({...k,savingSettings:!1,error:T instanceof Error?T.message:String(T)}))}}}async function Un(){Pe(T=>({...T,selecting:!0,error:""}));try{let T=await um("runtime"),k=String(T?.selection?.path||"").trim();if(!k){Pe(ue=>({...ue,selecting:!1,error:""}));return}await o?.(k)&&await Ae(),Pe(ue=>({...ue,selecting:!1,error:""}))}catch(T){Pe(k=>({...k,selecting:!1,error:T instanceof Error?T.message:String(T)}))}}function dn(T){E({open:!0,title:"Create local variant",baseModelId:T?.id||"",draft:sT(T,n)})}function wt(T){E({open:!0,title:"Edit local variant",baseModelId:T?.baseModelId||"",draft:cT(T)})}function bt(){C||E({open:!1,draft:null,baseModelId:"",title:""})}async function vt(){if(!w?.draft||pe)return;M(!0);let T=!1;try{let k={...w.draft,contextWindow:Jm(w.draft.contextWindow)};T=await s?.(k)}finally{M(!1)}T&&E({open:!1,draft:null,baseModelId:"",title:""})}function Ve(){F({open:!0,saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:"",draft:{id:"",displayName:"",filePath:""}})}function Ft(){L.saving||F({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}async function en(){if(Se)return;F(k=>({...k,saving:!0}));let T=!1;try{T=await d?.(L.draft)}finally{F(k=>({...k,saving:!1}))}T&&F({open:!1,draft:{id:"",displayName:"",filePath:""},saving:!1,browseBusy:!1,scanBusy:!1,scanMatches:[],error:""})}function hn(T){let k=zb(T,t);F(H=>({...H,draft:{id:k.id,displayName:k.displayName,filePath:k.filePath},error:""}))}async function Nr(T){F(k=>({...k,browseBusy:!0,error:""}));try{let k=await um(T),H=String(k?.selection?.path||"").trim(),ue=Array.isArray(k?.matches)?k.matches:[];H&&T==="file"&&ue.length>0?hn(ue[0].filePath||H):F(nt=>({...nt,draft:{...nt.draft,filePath:H||nt.draft.filePath},scanMatches:ue,error:ue.length===0&&T==="directory"&&H?"No GGUF files were found in that folder.":""}))}catch(k){F(H=>({...H,error:k instanceof Error?k.message:String(k)}))}finally{F(k=>({...k,browseBusy:!1}))}}async function Te(){let T=String(L?.draft?.filePath||"").trim();if(T){F(k=>({...k,scanBusy:!0,error:""}));try{let k=await U1(T),H=Array.isArray(k?.matches)?k.matches:[];F(ue=>({...ue,scanMatches:H,error:H.length===0?"No GGUF files were found at that path.":""})),H.length===1&&Pb(H[0]?.filePath)&&hn(H[0].filePath)}catch(k){F(H=>({...H,error:k instanceof Error?k.message:String(k)}))}finally{F(k=>({...k,scanBusy:!1}))}}}function rt(T){G({open:!0,baseModelId:T?.id||"",displayName:T?.displayName||T?.id||"",filePath:T?.path||"",saving:!1,browseBusy:!1,error:""})}function pt(){z.saving||G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function fo(){if(!z.baseModelId||!String(z.filePath||"").trim())return;G(k=>({...k,saving:!0}));let T=!1;try{T=await u?.({baseModelId:z.baseModelId,filePath:z.filePath})}finally{G(k=>({...k,saving:!1}))}T&&G({open:!1,baseModelId:"",displayName:"",filePath:"",saving:!1,browseBusy:!1,error:""})}async function At(){G(T=>({...T,browseBusy:!0,error:""}));try{let T=await um("file"),k=String(T?.selection?.path||"").trim();k&&G(H=>({...H,filePath:k}))}catch(T){G(k=>({...k,error:T instanceof Error?T.message:String(T)}))}finally{G(T=>({...T,browseBusy:!1}))}}async function Ee(T){if(!(!T?.id||!(typeof window>"u"||window.confirm(`Remove local model "${T.displayName||T.id}" and all of its variants?`)))){W(`remove:${T.id}`);try{await f?.(T.id)}finally{W("")}}}async function yn(){ae(!0);try{await c?.({silent:!1})}finally{ae(!1)}}async function O(T=null){let k=T??ee.query;de(H=>({...H,searching:!0,error:""}));try{let H=await O1({query:k,expectedContextWindow:2e5});de(ue=>({...ue,query:k,results:H,searching:!1,error:""}))}catch(H){de(ue=>({...ue,query:k,searching:!1,error:H instanceof Error?H.message:String(H)}))}}function ge(){de(T=>({...T,open:!0,error:"",progressLabel:""})),(ee.results||[]).length===0&&!ee.searching&&O("")}function re(){ee.downloadingKey||de(T=>({...T,open:!1,error:"",progressLabel:""}))}async function je(T){let k=lT(T,t),H=`${T.repo}:${T.file}`;de(nt=>({...nt,downloadingKey:H,progressLabel:"Preparing download\u2026",error:""}));let ue=!1;try{ue=await m?.({...k,repo:T.repo,file:T.file},{onMessage:nt=>{if(nt?.type==="progress"){let qt=Number(nt?.event?.receivedBytes||0),Me=Number(nt?.event?.totalBytes||0),Y=Me>0?`${Xs(qt)} / ${Xs(Me)}`:qt>0?Xs(qt):"Downloading\u2026";de(ye=>({...ye,progressLabel:Y}))}}})}finally{de(nt=>({...nt,downloadingKey:"",progressLabel:""}))}ue&&de(nt=>({...nt,open:!1,downloadingKey:"",progressLabel:"",error:""}))}return(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(Ut,{children:(0,_.jsxs)(jt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"llama.cpp Runtime"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Native runtime configuration"})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[R?(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Ze,disabled:V.stopping,children:V.stopping?"Stopping\u2026":"Stop Runtime"}):(0,_.jsx)(U,{size:"sm",onClick:Qe,disabled:!h||V.starting,children:V.starting?"Starting\u2026":"Start Runtime"}),(0,_.jsx)(Ne,{variant:b.variant,children:b.label})]})]}),(0,_.jsxs)("div",{className:"grid gap-3 md:grid-cols-3",children:[(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Selected Command"}),(0,_.jsx)("div",{className:"mt-2 break-all font-mono text-sm text-foreground",children:h||"Not configured yet"}),g?(0,_.jsxs)("div",{className:"mt-2 font-mono text-xs text-muted-foreground",children:["Dir: ",g]}):null]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Address"}),(0,_.jsx)("div",{className:"mt-2 font-mono text-sm text-foreground",children:`${y}:${x}`})]}),(0,_.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Start With Router"}),(0,_.jsx)("div",{className:"mt-2 text-sm text-foreground",children:e?.startWithRouter===!0?"Enabled":"Disabled"})]})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border/70 bg-background/75 p-4",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Runtime Settings"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Auto-start launches the selected `llama-server` when the router starts."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[(0,_.jsx)("label",{className:"text-sm text-foreground",children:"Auto-start with router"}),(0,_.jsx)(jo,{checked:ne,onCheckedChange:$e,disabled:!!r||V.savingSettings}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:on,disabled:!!r||V.savingSettings,children:V.savingSettings?"Saving\u2026":"Save Settings"})]})]}),(0,_.jsxs)("div",{className:"space-y-3",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,_.jsxs)("div",{children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Detected runtimes"}),(0,_.jsx)("div",{className:"mt-1 text-sm text-muted-foreground",children:"Auto-search checks `PATH`, Homebrew, and common source-build locations such as `~/src/llama-cpp-turboquant/build/bin`. TurboQuant builds are labeled explicitly when detected."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Un,disabled:V.selecting,children:V.selecting?"Selecting\u2026":"Browse runtime"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>{Ae()},disabled:ie.loading||V.selecting,children:ie.loading?"Refreshing\u2026":"Refresh runtimes"})]})]}),V.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:V.error}):null,ie.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:ie.error}):null,(ie.runtime?.candidates||[]).length===0&&!ie.loading?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-4 text-sm text-muted-foreground",children:"No local `llama-server` candidates were detected yet. If TurboQuant is already built outside the common search locations, use Browse runtime and point the router at the binary directly."}):(0,_.jsx)("div",{className:"space-y-3",children:(ie.runtime?.candidates||[]).map(T=>(0,_.jsx)(ZB,{candidate:T,busy:V.selecting,onUseRuntime:ke},T.path||T.id))})]})]})}),(0,_.jsxs)("div",{className:"grid gap-4 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,_.jsx)(Ut,{children:(0,_.jsxs)(jt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Library"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Tracked GGUF base models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Create router-facing variants from managed Hugging Face downloads or attached GGUF paths. Missing or stale files stay visible until you repair or remove them."})]}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Ve,disabled:!!r,children:"Attach path"}),(0,_.jsx)(U,{size:"sm",onClick:ge,disabled:!!r,children:"Download from Hugging Face"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:yn,disabled:!!r||q,children:q?"Refreshing\u2026":"Refresh status"})]})]}),r?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:r}):null,(0,_.jsx)("div",{className:"space-y-3",children:p.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No `llama.cpp` base models are tracked yet. Managed downloads and attached GGUF files will land here."}):p.map(T=>(0,_.jsx)(eI,{entry:T,variantCount:v.filter(k=>k?.baseModelId===T.id).length,disabledReason:r,busy:te===`remove:${T.id}`,onCreateVariant:dn,onLocateModel:rt,onRemoveModel:Ee},T.id))})]})}),(0,_.jsx)(Ut,{children:(0,_.jsxs)(jt,{className:"space-y-4 p-5",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-semibold uppercase tracking-[0.14em] text-muted-foreground",children:"Variants"}),(0,_.jsx)("div",{className:"text-lg font-semibold text-foreground",children:"Router-visible local models"}),(0,_.jsx)("div",{className:"text-sm text-muted-foreground",children:"Variants behave like standard router models after save, including alias usage, context-window metadata, and capability hints."})]}),(0,_.jsx)("div",{className:"space-y-3",children:v.length===0?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"No local variants yet. Start from a base model on the left, choose a preset, and expose the saved variant to aliases and route pickers."}):v.map(T=>(0,_.jsx)(tI,{variant:T,baseModel:t[T?.baseModelId]||null,runtimeStatus:b,onEdit:wt},T.key||T.id))})]})})]}),(0,_.jsx)(_n,{open:L.open,onClose:Ft,title:"Attach local GGUF",description:"Register an existing GGUF file in place. The router stores metadata only and does not copy the file.",contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(De,{label:"GGUF file path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(He,{value:L.draft.filePath,onChange:T=>{let k={...L.draft,filePath:T.target.value};if(!String(L.draft.id||"").trim()||!String(L.draft.displayName||"").trim()){let H=zb(T.target.value,t);String(L.draft.id||"").trim()||(k.id=H.id),String(L.draft.displayName||"").trim()||(k.displayName=H.displayName)}F(H=>({...H,draft:k}))},placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>Nr("file"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse file"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>Nr("directory"),disabled:L.browseBusy||L.scanBusy,children:L.browseBusy?"Browsing\u2026":"Browse folder"}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:Te,disabled:L.scanBusy||!String(L.draft.filePath||"").trim(),children:L.scanBusy?"Scanning\u2026":"Scan path"})]})]})}),(0,_.jsx)(De,{label:"Model name",stacked:!0,children:(0,_.jsx)(He,{value:L.draft.displayName,onChange:T=>F(k=>({...k,draft:{...k.draft,displayName:T.target.value}}))})}),(0,_.jsx)(De,{label:"Base model id",stacked:!0,hint:"Stable inventory id used for variants and stale-path recovery.",children:(0,_.jsx)(He,{value:L.draft.id,onChange:T=>F(k=>({...k,draft:{...k.draft,id:T.target.value}}))})}),L.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:L.error}):null,(L.scanMatches||[]).length>0?(0,_.jsxs)("div",{className:"space-y-2 rounded-2xl border border-border/70 bg-background/60 p-3",children:[(0,_.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.16em] text-muted-foreground",children:"Scanned GGUF files"}),(L.scanMatches||[]).map(T=>(0,_.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2 rounded-xl border border-border/60 bg-background/80 px-3 py-3",children:[(0,_.jsxs)("div",{className:"space-y-1",children:[(0,_.jsx)("div",{className:"text-sm font-medium text-foreground",children:T.fileName}),(0,_.jsx)("div",{className:"break-all font-mono text-xs text-muted-foreground",children:T.filePath}),T.sizeBytes?(0,_.jsx)("div",{className:"text-xs text-muted-foreground",children:Xs(T.sizeBytes)}):null]}),(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:()=>hn(T.filePath),disabled:L.saving,children:"Use file"})]},T.filePath))]}):null,Se?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:Se}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(U,{type:"button",variant:"outline",onClick:Ft,disabled:L.saving,children:"Cancel"}),(0,_.jsx)(U,{type:"button",onClick:en,disabled:!!Se||L.saving,children:L.saving?"Attaching\u2026":"Attach model"})]})]})}),(0,_.jsx)(_n,{open:z.open,onClose:pt,title:"Locate local model",description:`Update the file path for ${z.displayName||"this model"} without changing any attached variants.`,contentClassName:"max-w-xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsx)(De,{label:"Updated GGUF path",stacked:!0,children:(0,_.jsxs)("div",{className:"space-y-2",children:[(0,_.jsx)(He,{value:z.filePath,onChange:T=>G(k=>({...k,filePath:T.target.value})),placeholder:"/Volumes/models/qwen.Q5.gguf"}),(0,_.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,_.jsx)(U,{size:"sm",variant:"outline",onClick:At,disabled:z.browseBusy||z.saving,children:z.browseBusy?"Browsing\u2026":"Browse file"})})]})}),z.error?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:z.error}):null,Le?(0,_.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-900",children:Le}):null,(0,_.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,_.jsx)(U,{type:"button",variant:"outline",onClick:pt,disabled:z.saving,children:"Cancel"}),(0,_.jsx)(U,{type:"button",onClick:fo,disabled:!!Le||z.saving,children:z.saving?"Updating\u2026":"Save path"})]})]})}),(0,_.jsx)(_n,{open:ee.open,onClose:re,title:"Download GGUF from Hugging Face",description:"Public Hugging Face search only for v1. Unsupported or oversized files stay visible with explicit reasons instead of disappearing.",contentClassName:"max-w-4xl",children:(0,_.jsxs)("div",{className:"space-y-4",children:[(0,_.jsxs)("div",{className:"flex flex-wrap items-end gap-2",children:[(0,_.jsx)(De,{label:"Search query",stacked:!0,className:"min-w-0 flex-1",children:(0,_.jsx)(He,{value:ee.query,onChange:T=>de(k=>({...k,query:T.target.value})),placeholder:"qwen q5 gguf"})}),(0,_.jsx)(U,{type:"button",onClick:()=>O(),disabled:ee.searching,children:ee.searching?"Searching\u2026":"Search"})]}),ee.error?(0,_.jsx)("div",{className:"rounded-xl border border-rose-200 bg-rose-50 px-3 py-2 text-xs text-rose-800",children:ee.error}):null,ee.progressLabel?(0,_.jsx)("div",{className:"rounded-xl border border-sky-200 bg-sky-50 px-3 py-2 text-xs text-sky-900",children:ee.progressLabel}):null,(0,_.jsx)("div",{className:"space-y-3",children:(ee.results||[]).length===0&&!ee.searching?(0,_.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Search for a public GGUF repo or file name to download into the router-managed local model directory."}):(ee.results||[]).map(T=>(0,_.jsx)(nI,{result:T,downloading:ee.downloadingKey===`${T.repo}:${T.file}`,onDownload:je},`${T.repo}:${T.file}`))})]})}),(0,_.jsx)(_n,{open:w.open,onClose:bt,title:w.title,description:"Create a router-visible local model without touching the base GGUF file. Presets seed the context window, while the backend enforces Mac unified-memory activation limits.",contentClassName:"max-w-2xl",children:(0,_.jsx)(fT,{draft:w.draft,baseModel:j,duplicateIds:Ue,saveDisabled:!!pe,saveDisabledReason:pe,saving:C,onChange:T=>{let k=String(T?.preset||w?.draft?.preset||"balanced").trim()||"balanced",H=String(w?.draft?.preset||"balanced").trim()||"balanced",ue=Jm(w?.draft?.contextWindow),nt=k!==H&&ue===Uu[H]?.contextWindow;E(qt=>({...qt,draft:{...T,contextWindow:nt?Uu[k]?.contextWindow??T?.contextWindow:T?.contextWindow}}))},onCancel:bt,onSave:vt})})]})}var ra=D(J(),1);function hT({summary:e,llamacpp:t,ollama:n}){let[r,o]=(0,gT.useState)("ollama");return(0,ra.jsxs)(Vo,{value:r,onValueChange:o,className:"space-y-4",children:[(0,ra.jsxs)(Fo,{children:[(0,ra.jsx)(xn,{value:"ollama",children:"Ollama"}),(0,ra.jsx)(xn,{value:"llamacpp",children:"llama.cpp"})]}),(0,ra.jsx)(Sn,{value:"ollama",children:(0,ra.jsx)(oT,{...n,embedded:!0})}),(0,ra.jsx)(Sn,{value:"llamacpp",children:(0,ra.jsx)(pT,{...t})})]})}var Zm=D(be(),1);var fe=D(J(),1);function rI(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function oI(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function yT(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return rI(e).map((r,o)=>{let a=r.options.map(i=>(0,fe.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:oI(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,fe.jsxs)(Rl,{children:[(0,fe.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function aI({className:e=""}){return(0,fe.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,fe.jsx)("path",{d:"M10 2.75 4.75 5v4.12c0 3.42 2.1 6.58 5.25 7.88 3.15-1.3 5.25-4.46 5.25-7.88V5L10 2.75Z"}),(0,fe.jsx)("circle",{cx:"10",cy:"9",r:"1.4"}),(0,fe.jsx)("path",{d:"M10 10.4v2.1"})]})}function bT({rows:e,routeOptions:t,webSearchSnapshot:n,ampClientUrl:r,ampClientGlobal:o,routingBusy:a,onToggleGlobalRouting:i,onInboundChange:l,onOutboundChange:s,onCreateEntry:c,onRemoveEntry:d,onOpenWebSearchTab:u,onOpenConfigPath:f,onOpenSecretsPath:m,hasMasterKey:b,disabledReason:p,autosaveState:v}){let[h,g]=(0,Zm.useState)(!1),[y,x]=(0,Zm.useState)(""),[R,w]=(0,Zm.useState)(String(t[0]?.value||"").trim()),E=e.some(W=>String(W?.inbound||"").trim()===String(y||"").trim()&&String(y||"").trim()),C=String(y||"").trim()&&String(R||"").trim()&&!E,M=o?.routedViaRouter===!0,L=String(o?.error||"").trim(),F=!!(b&&r&&!p&&!L),z=Number(n?.configuredProviderCount)||0,G=M&&z===0,ee=p?"warning":v.status==="error"?"danger":v.status==="pending"?"outline":v.status==="saving"?"info":v.savedAt?"success":"outline",de=p?"Needs review":v.status==="error"?"Save failed":v.status==="pending"?"Unsaved":v.status==="saving"?"saving...":v.savedAt?"Saved":"Ready",q=p||(v.status==="error"?v.message:v.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":v.status==="saving"?"Saving changes...":v.savedAt?`Last saved ${Is(v.savedAt)}.`:"AMP route changes auto-save after valid edits.");async function ae(){!C||await c?.({inbound:y,outbound:R})===!1||(g(!1),x(""),w(String(t[0]?.value||"").trim()))}function te(){g(!0),x(""),w(String(t[0]?.value||"").trim())}return(0,fe.jsx)("div",{className:"grid gap-4",children:(0,fe.jsxs)(Ut,{children:[(0,fe.jsxs)(no,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsx)(Uo,{className:"flex items-center gap-2",children:(0,fe.jsx)("span",{children:"Use AMP via LLM Router"})}),(0,fe.jsx)(Km,{primaryLabel:"Config file",primaryValue:o?.settingsFilePath||"",onOpenPrimary:f,secondaryLabel:"Secrets file",secondaryValue:o?.secretsFilePath||"",secondaryIcon:(0,fe.jsx)(aI,{className:"h-3 w-3"}),onOpenSecondary:m})]}),(0,fe.jsx)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:(0,fe.jsx)(U,{type:"button",size:"sm",variant:M?"outline":void 0,onClick:i,disabled:a!==""||!M&&!F,children:a==="enable"?"Connecting\u2026":a==="disable"?"Disconnecting\u2026":M?"Disconnect":"Connect"})})]}),(0,fe.jsxs)(jt,{className:"space-y-4 p-4",children:[L?(0,fe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:L}):null,!M&&!b?(0,fe.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,fe.jsx)("code",{children:"masterKey"})," first to connect AMP."]}):null,G?(0,fe.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:[(0,fe.jsx)("div",{className:"max-w-3xl",children:"AMP is connected, but no alternative web search provider is configured. AMP web search is only available through the shared Web Search tab."}),(0,fe.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:u,children:"Open Web Search"})]}):null,p?(0,fe.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:p}):(0,fe.jsxs)("div",{className:"space-y-3 rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,fe.jsxs)("div",{children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Route mapping editor"}),(0,fe.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Map built-in AMP route keys and wildcard model matches to managed routes."})]}),(0,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)(Ne,{variant:ee,children:de}),(0,fe.jsxs)(Ne,{variant:"outline",children:[e.length," routes"]}),(0,fe.jsx)(U,{type:"button",size:"sm",onClick:te,children:"Add custom mapping"})]})]}),(0,fe.jsx)("div",{className:"text-xs text-muted-foreground",children:q}),h?(0,fe.jsx)("div",{className:"rounded-2xl border border-dashed border-border bg-background/80 p-3",children:(0,fe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Add custom mapping"}),(0,fe.jsx)(Ne,{variant:"info",children:"Custom"})]}),(0,fe.jsxs)("div",{className:"text-xs leading-5 text-muted-foreground",children:["Match a built-in AMP route key like ",(0,fe.jsx)("code",{children:"smart"})," or a wildcard such as ",(0,fe.jsx)("code",{children:"gpt-*-codex*"}),", then send it to any managed route."]}),(0,fe.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,fe.jsx)(U,{type:"button",size:"sm",onClick:ae,disabled:!C,children:"Create mapping"}),(0,fe.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>g(!1),children:"Close"})]})]}),(0,fe.jsx)(De,{label:"Inbound match",hint:"Built-in route key or AMP model pattern",children:(0,fe.jsx)(He,{value:y,onChange:W=>x(W.target.value),placeholder:"smart or gpt-*-codex*"})}),(0,fe.jsx)(De,{label:"Route target",hint:"Alias or provider/model route in LLM Router",children:(0,fe.jsxs)(Et,{value:R||void 0,onValueChange:w,children:[(0,fe.jsx)(Tt,{children:(0,fe.jsx)(Mt,{placeholder:"Select local route"})}),(0,fe.jsx)(kt,{children:yT(t,{keyPrefix:"amp-route-create",includeHint:!0})})]})})]})}):null,(0,fe.jsx)("div",{className:"space-y-2",children:e.map(W=>(0,fe.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/75 p-3",children:(0,fe.jsxs)("div",{className:"grid gap-3 xl:grid-cols-[160px_minmax(0,1fr)_minmax(0,1fr)] xl:items-start",children:[(0,fe.jsxs)("div",{className:"space-y-2",children:[(0,fe.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,fe.jsx)("div",{className:"text-sm font-medium text-foreground",children:W.label}),W.isCustom?(0,fe.jsx)(Ne,{variant:"info",children:"Custom"}):null]}),(0,fe.jsx)("div",{className:"text-xs leading-5 text-muted-foreground",children:W.description}),W.removable?(0,fe.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>d(W.id),children:"Remove"}):null]}),(0,fe.jsx)(De,{label:"Inbound wildcard",hint:W.defaultMatch?`Default: ${W.defaultMatch}`:"AMP model pattern",children:(0,fe.jsx)(Fm,{commitOnBlur:!0,value:W.inbound,onValueCommit:V=>l(W.id,V),placeholder:W.defaultMatch||"gpt-*-codex*",onKeyDown:V=>{V.key==="Enter"&&(V.preventDefault(),V.currentTarget.blur())}})}),(0,fe.jsx)(De,{label:"Target route",hint:"Alias or provider/model route",children:(0,fe.jsxs)(Et,{value:W.outbound||"__default__",onValueChange:V=>s(W.id,V),children:[(0,fe.jsx)(Tt,{children:(0,fe.jsx)(Mt,{placeholder:W.removable?"Choose target route":"Use default route"})}),(0,fe.jsxs)(kt,{children:[W.removable?null:(0,fe.jsx)(Je,{value:"__default__",children:"Use default route"}),yT(t,{keyPrefix:`amp-route-${W.id}`,includeHint:!0})]})]})})]})},W.id))})]})]})]})})}var ja=D(be(),1);var Z=D(J(),1);function iI({className:e=""}){return(0,Z.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",className:e,children:[(0,Z.jsx)("path",{d:"M8 3.5v9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"}),(0,Z.jsx)("path",{d:"M3.5 8h9",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})]})}function lI({open:e=!1,onClose:t=()=>{},candidates:n=[],onTestAndAdd:r=async()=>{},disabledReason:o=""}){let[a,i]=(0,ja.useState)(""),[l,s]=(0,ja.useState)(""),[c,d]=(0,ja.useState)(!1),[u,f]=(0,ja.useState)(""),m=Array.isArray(n)?n:[],b=m.find(y=>y.providerId===a)||m[0]||null,p=Array.isArray(b?.models)?b.models:[];(0,ja.useEffect)(()=>{if(!e){d(!1),f("");return}let y=m[0]?.providerId||"";i(x=>m.some(w=>w.providerId===x)?x:y)},[e,m]),(0,ja.useEffect)(()=>{let y=p[0]?.value||"";s(x=>p.some(w=>w.value===x)?x:y)},[p]);let v=Ei(a,l),h=e&&!c&&!o&&a&&l;async function g(){if(h){d(!0),f("");try{await r({providerId:a,modelId:l}),t()}catch(y){f(y instanceof Error?y.message:String(y))}finally{d(!1)}}}return(0,Z.jsx)(_n,{open:e,onClose:()=>{c||t()},title:"Add ChatGPT Search Endpoint",description:"Choose a configured OpenAI-compatible GPT route. Test runs a live Responses API request with the native web search tool, then saves the route on success.",contentClassName:"max-h-[92vh] max-w-3xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",showCloseButton:!1,footer:(0,Z.jsxs)("div",{className:"flex flex-wrap items-center justify-end gap-2",children:[(0,Z.jsx)(U,{type:"button",variant:"ghost",onClick:t,disabled:c,children:"Cancel"}),(0,Z.jsx)(U,{type:"button",onClick:()=>{g()},disabled:!h,children:c?"Testing\u2026":"Test connection"})]}),children:(0,Z.jsxs)("div",{className:"space-y-4",children:[o?(0,Z.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:o}):null,!o&&m.length===0?(0,Z.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:"No configured OpenAI-compatible GPT providers are available yet. Add a provider with a GPT model first."}):null,m.length>0?(0,Z.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,Z.jsx)(De,{label:"Provider",hint:"Configured provider or ChatGPT subscription",stacked:!0,children:(0,Z.jsxs)(Et,{value:a||void 0,onValueChange:i,disabled:c||!!o,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose provider"})}),(0,Z.jsx)(kt,{children:m.map(y=>(0,Z.jsx)(Je,{value:y.providerId,children:y.providerLabel},y.providerId))})]})}),(0,Z.jsx)(De,{label:"GPT model",hint:"Only GPT models on OpenAI-compatible routes are listed",stacked:!0,children:(0,Z.jsxs)(Et,{value:l||void 0,onValueChange:s,disabled:c||!!o||p.length===0,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose model"})}),(0,Z.jsx)(kt,{children:p.map(y=>(0,Z.jsx)(Je,{value:y.value,children:y.label},y.routeId))})]})})]}):null,v?(0,Z.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 px-4 py-3",children:[(0,Z.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Saved route id"}),(0,Z.jsx)("div",{className:"mt-1 text-sm font-medium text-foreground",children:v}),(0,Z.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:"This route stores only the provider/model reference. No separate API key or quota is saved here."})]}):null,u?(0,Z.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:u}):null]})})}function vT({webSearchConfig:e,webSearchProviders:t,hostedSearchCandidates:n,onWebSearchStrategyChange:r,onWebSearchProviderChange:o,onWebSearchProviderMove:a,onRemoveWebSearchProvider:i,onAddHostedSearchEndpoint:l,disabledReason:s,autosaveState:c}){let[d,u]=(0,ja.useState)(!1),f=String(e?.strategy||"ordered").trim()==="quota-balance"?"quota-balance":"ordered",m=Array.isArray(n)&&n.some(p=>Array.isArray(p?.models)&&p.models.length>0),b=s||(c.status==="error"?c.message:c.status==="pending"?"Unsaved changes queued. Auto-save will run shortly.":c.status==="saving"?"Saving changes...":c.savedAt?`Last saved ${Is(c.savedAt)}.`:"");return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(Ut,{children:[(0,Z.jsxs)(no,{className:"flex flex-col gap-4 p-4 pb-0 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsxs)("div",{className:"space-y-1",children:[(0,Z.jsx)(Uo,{children:"Web Search"}),(0,Z.jsx)(Si,{className:"text-xs leading-5",children:"Shared web search routing for AMP and other router-managed tools."}),b?(0,Z.jsx)("div",{className:"text-xs text-muted-foreground",children:b}):null]}),(0,Z.jsxs)("div",{className:"flex w-full shrink-0 flex-wrap items-end justify-end gap-3 xl:w-auto",children:[(0,Z.jsxs)("div",{className:"min-w-[12rem] space-y-1",children:[(0,Z.jsx)("div",{className:"text-[11px] font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Routing strategy"}),(0,Z.jsxs)(Et,{value:f,onValueChange:r,disabled:!!s,children:[(0,Z.jsx)(Tt,{children:(0,Z.jsx)(Mt,{placeholder:"Choose strategy"})}),(0,Z.jsx)(kt,{children:TC.map(p=>(0,Z.jsx)(Je,{value:p.value,children:p.label},p.value))})]})]}),(0,Z.jsxs)(U,{type:"button",variant:"outline",className:"gap-2",onClick:()=>u(!0),disabled:!!s||!m,children:[(0,Z.jsx)(iI,{className:"h-3.5 w-3.5"}),(0,Z.jsx)("span",{children:"Endpoint"})]})]})]}),(0,Z.jsx)(jt,{className:"space-y-4 p-4",children:(0,Z.jsx)("div",{className:"space-y-3",children:(t||[]).map(p=>{if(p.kind==="hosted"){let g=p.runtimeState&&p.runtimeState.ready===!1?"This provider/model route is no longer available or is not OpenAI-compatible.":"";return(0,Z.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Z.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsxs)("div",{className:"min-w-0",children:[(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Z.jsx)(Mb,{active:p.active}),(0,Z.jsx)("div",{className:"text-sm font-medium text-foreground",children:p.label}),(0,Z.jsx)(Ne,{variant:"outline",children:"GPT Search"})]}),(0,Z.jsx)("div",{className:"mt-1 text-xs break-all text-muted-foreground",children:p.routeId}),(0,Z.jsx)("div",{className:"mt-2 text-xs leading-5 text-muted-foreground",children:"Uses the provider's native OpenAI Responses web search tool. No local API key or quota is stored here."})]}),(0,Z.jsxs)("div",{className:"flex items-center gap-2 self-start",children:[(0,Z.jsxs)("div",{className:"flex items-center gap-2 rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Z.jsx)(za,{disabled:!!s||p.displayIndex<=0,label:`Move ${p.routeId} up`,onClick:()=>a(p.id,"up")}),(0,Z.jsx)(Nl,{disabled:!!s||p.displayIndex>=p.displayCount-1,label:`Move ${p.routeId} down`,onClick:()=>a(p.id,"down")})]}),(0,Z.jsx)(U,{type:"button",size:"sm",variant:"ghost",onClick:()=>i(p.id),disabled:!!s,children:"Remove"})]})]}),g?(0,Z.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:g}):null]})},p.key)}let v=p.credentialField,h=String(p?.credentialValue||"").trim();return(0,Z.jsx)("div",{className:"rounded-2xl border border-border/70 bg-background/80 p-4",children:(0,Z.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,Z.jsxs)("div",{className:"flex flex-col gap-3 xl:flex-row xl:items-start xl:justify-between",children:[(0,Z.jsx)("div",{className:"min-w-0",children:(0,Z.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,Z.jsx)(Mb,{active:p.active}),(0,Z.jsx)("div",{className:"text-sm font-medium text-foreground",children:p.label})]})}),(0,Z.jsxs)("div",{className:"flex items-center gap-2 self-start rounded-xl border border-border/70 bg-background/70 p-1",children:[(0,Z.jsx)(za,{disabled:!!s||p.displayIndex<=0,label:`Move ${p.label} up`,onClick:()=>a(p.id,"up")}),(0,Z.jsx)(Nl,{disabled:!!s||p.displayIndex>=p.displayCount-1,label:`Move ${p.label} down`,onClick:()=>a(p.id,"down")})]})]}),(0,Z.jsxs)("div",{className:"grid gap-3 lg:grid-cols-[minmax(0,0.9fr)_minmax(0,1.35fr)]",children:[(0,Z.jsx)(De,{label:p.credentialLabel,hint:p.credentialField==="url"?"Required to enable this backend.":"Required to enable this backend. Stored in router config.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Ws,{buffered:!0,value:h,placeholder:p.credentialPlaceholder,onValueChange:g=>o(p.id,v,g),disabled:!!s,isEnvVar:p.credentialField==="url"})}),(0,Z.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[(0,Z.jsx)(De,{label:"Result per call",hint:"Empty keeps the default of 5.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Hm,{value:p.resultPerCallInput,placeholder:"Default: 5",allowEmptyCommit:!0,onValueChange:g=>o(p.id,"count",g),disabled:!!s})}),(0,Z.jsx)(De,{label:"Monthly limit",hint:"0 keeps quotas self-managed.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Hm,{value:String(p.limit||0),onValueChange:g=>o(p.id,"limit",g),disabled:!!s})}),(0,Z.jsx)(De,{label:"Synced remaining",hint:"Adjust after manual upstream sync.",stacked:!0,className:"gap-1",headerClassName:"min-h-0",hintClassName:"leading-4",children:(0,Z.jsx)(Hm,{value:String(p.remaining||0),onValueChange:g=>o(p.id,"remaining",g),disabled:!!s})})]})]})]})},p.key)})})})]}),(0,Z.jsx)(lI,{open:d,onClose:()=>u(!1),candidates:n,onTestAndAdd:l,disabledReason:s})]})}var ju=D(be(),1);var S=D(J(),1);function sI(e=""){let t=String(e||"").trim();if(!t)return{};let n=Ff(t);if(n?.kind==="alias")return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};if(n?.kind==="model"&&n.providerId)return{kind:"model",providerId:n.providerId,groupKey:`provider:${n.providerId}`,groupLabel:n.providerId};if(n?.kind==="model")return{kind:"model",groupKey:"llm-router",groupLabel:"LLM Router"};let r=t.startsWith("alias:")?t.slice(6).trim():t;if(!r.includes("/"))return{kind:"alias",groupKey:"aliases",groupLabel:"Aliases"};let o=r.indexOf("/"),a=r.slice(0,o).trim();return a?{kind:"model",providerId:a,groupKey:`provider:${a}`,groupLabel:a}:{}}function cI(e=[],t=[]){let n=[...Array.isArray(e)?e:[]],r=new Set(n.map(o=>String(o?.value||"").trim()).filter(Boolean));for(let o of(Array.isArray(t)?t:[]).map(a=>String(a||"").trim()).filter(Boolean))r.has(o)||(r.add(o),n.push({value:o,label:o,hint:"Current config",...sI(o)}));return n}function uI(e=[]){let t=[],n=new Map,r=null;for(let o of(Array.isArray(e)?e:[]).filter(Boolean)){let a=String(o?.groupKey||o?.groupLabel||"").trim(),i=String(o?.groupLabel||"").trim();if(!a){r||(r={key:"__ungrouped__",label:"",options:[]},t.push(r)),r.options.push(o);continue}let l=n.get(a);l||(l={key:a,label:i||a,options:[]},n.set(a,l),t.push(l)),l.options.push(o)}return t}function dI(e={},{includeHint:t=!1}={}){let n=String(e?.label||e?.value||"").trim()||String(e?.value||"").trim(),r=String(e?.hint||"").trim();return t&&r?`${n} \xB7 ${r}`:n}function fI(e=[],{keyPrefix:t="select-option",includeHint:n=!1}={}){return uI(e).map((r,o)=>{let a=r.options.map(i=>(0,S.jsx)(Je,{value:i.value,searchText:`${i.label||""} ${i.value||""} ${i.hint||""} ${r.label||""}`,children:dI(i,{includeHint:n})},`${t}-${i.value}`));return r.label?(0,S.jsxs)(Rl,{children:[(0,S.jsx)(Gs,{children:r.label}),a]},`${t}-group-${r.key||o}`):a})}function mI({className:e=""}){return(0,S.jsxs)("svg",{viewBox:"0 0 20 20",fill:"none",stroke:"currentColor",strokeWidth:"1.7",strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:[(0,S.jsx)("path",{d:"M6 3.5h5.25L15 7.25V16A1.5 1.5 0 0 1 13.5 17.5h-7A1.5 1.5 0 0 1 5 16V5A1.5 1.5 0 0 1 6.5 3.5H6Z"}),(0,S.jsx)("path",{d:"M11 3.5V7.5H15"}),(0,S.jsx)("path",{d:"M7 12.25a3 3 0 1 1 2.85 2.99"}),(0,S.jsx)("path",{d:"M8.5 10.25h1.5v1.5"})]})}function ST({bindingValue:e="",thinkingLevel:t="",configFilePath:n="",endpointUrl:r=""}={}){let o=String(e||"").trim(),a=String(t||"").trim(),i=String(n||"").trim(),l=String(r||"").trim(),s=Vf(o),c=s?"Mode: Inherit Codex model":o?`Mode: Pinned to ${o}`:"Mode: Choose a route",d=s?{variant:"success",title:"Inherit mode keeps Codex-native model picks intact.",body:(0,S.jsxs)(S.Fragment,{children:["Codex CLI still chooses its own model name. Create a same-name alias in the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab so LLM Router can resolve that name to the real upstream target you want."]})}:o?{variant:"info",title:"Pinned mode forces one router target.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router writes ",(0,S.jsxs)("code",{children:["model=",o]})," into Codex CLI config. That is the simplest setup when every Codex session should use one managed route or alias."]})}:{variant:"warning",title:"Choose your model strategy before you connect.",body:(0,S.jsxs)(S.Fragment,{children:["Pick ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," if Codex should keep using its built-in model names, or pick one managed route/alias if you want a single fixed target."]})};return{title:"Codex CLI guide",description:"Quick setup for routing Codex CLI through LLM Router while keeping model routing easy to inspect and change later.",badges:[{label:c,variant:s?"success":o?"info":"outline"},{label:a?`Thinking: ${a}`:"Thinking: Codex default",variant:"outline"},{label:i?"Config file detected":"User config: ~/.codex/config.toml",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Codex CLI at LLM Router",body:l?(0,S.jsxs)(S.Fragment,{children:["When connected, Codex sends requests to ",(0,S.jsx)("code",{children:l}),". LLM Router then handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Codex CLI so it talks to LLM Router instead of a provider directly."]})},{eyebrow:"2. Route",title:"Choose between inherit and pinned mode",body:s?(0,S.jsxs)(S.Fragment,{children:["Keep Codex model names such as ",(0,S.jsx)("code",{children:"gpt-5.4"}),", then create matching aliases in LLM Router, for example ",(0,S.jsx)("code",{children:"gpt-5.4"})," -> ",(0,S.jsx)("code",{children:"demo/gpt-4o-mini"}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Select one managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," when you want every Codex request to land on the same router target."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," writes Codex CLI ",(0,S.jsx)("code",{children:"model_reasoning_effort"})," with the official values ",(0,S.jsx)("code",{children:"minimal"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", ",(0,S.jsx)("code",{children:"high"}),", or ",(0,S.jsx)("code",{children:"xhigh"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch the Codex CLI config file and router base URL."]}),s?(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," on ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"}),", then create aliases that match the Codex model names you actually use."]}):o?(0,S.jsxs)(S.Fragment,{children:["Your current default is pinned to ",(0,S.jsx)("code",{children:o}),". Change it only when you want Codex to use a different managed route or alias."]}):(0,S.jsxs)(S.Fragment,{children:["Choose either ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," or one managed route/alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Default model"})," before you start using Codex through the router."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Thinking level"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"; leave it unset to keep Codex CLI defaults."]})]},{title:"Choose the right model strategy",items:[(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Inherit Codex CLI model"})," when you want Codex-native model names and model-specific UI/options to remain visible."]}),(0,S.jsx)(S.Fragment,{children:"Use a fixed route or alias when your team wants one centrally managed target regardless of what Codex would otherwise choose."}),(0,S.jsx)(S.Fragment,{children:"If Codex-specific options disappear after pinning a route, switch back to inherit mode and route those same model names through aliases instead."})]},{title:"Where these settings land",items:[i?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Codex CLI usually stores user settings in ",(0,S.jsx)("code",{children:"~/.codex/config.toml"}),". Trusted projects can also add overrides in ",(0,S.jsx)("code",{children:".codex/config.toml"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings in this panel map to Codex CLI ",(0,S.jsx)("code",{children:"model"})," and ",(0,S.jsx)("code",{children:"model_reasoning_effort"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Codex CLI Config File"})," whenever you want to inspect the exact generated config."]})]},{title:"Quick verify",items:[(0,S.jsx)(S.Fragment,{children:"Open the config file from this page and confirm the values match the mode you intended."}),(0,S.jsx)(S.Fragment,{children:"Start Codex CLI and run a small prompt. If inherit mode is on, make sure the Codex model you selected has a same-name alias in LLM Router."}),(0,S.jsxs)(S.Fragment,{children:["If requests fail after switching models, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first because the alias behind that model name may be missing or pointed at the wrong target."]})]}]}}function wT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.primaryModel||"").trim(),o=String(e?.defaultOpusModel||"").trim(),a=String(e?.defaultSonnetModel||"").trim(),i=String(e?.defaultHaikuModel||"").trim(),l=String(e?.subagentModel||"").trim(),s=gC(e?.thinkingLevel),c=String(t||"").trim(),d=String(n||"").trim(),u=[r,o,a,i,l,s].filter(Boolean).length,f=r?{variant:"info",title:"Primary model override is active.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router is currently writing ",(0,S.jsxs)("code",{children:["ANTHROPIC_MODEL=",r]}),". Leave that field blank if you want Claude Code to keep choosing its own primary model."]})}:u>0?{variant:"info",title:"Only filled fields are overridden.",body:(0,S.jsx)(S.Fragment,{children:"Claude Code continues to inherit its normal defaults for every blank field. This is useful when you only want to steer alias models, subagents, or effort level through LLM Router."})}:{variant:"success",title:"Blank fields are a valid setup.",body:(0,S.jsx)(S.Fragment,{children:"You do not need to fill every binding. Leave fields empty unless you want LLM Router to override that specific Claude Code setting."})};return{title:"Claude Code guide",description:"Quick setup for routing Claude Code through LLM Router while keeping only the model and effort level overrides you actually want.",badges:[{label:u>0?`${u} override${u===1?"":"s"} active`:"No router overrides",variant:u>0?"info":"outline"},{label:s?`Effort: ${s}`:"Effort: Claude adaptive default",variant:"outline"},{label:c?"Settings file detected":"Settings scope: local/project/user",variant:"outline"}],callout:f,highlights:[{eyebrow:"1. Connect",title:"Point Claude Code at the router",body:d?(0,S.jsxs)(S.Fragment,{children:["When connected, Claude Code sends requests to ",(0,S.jsx)("code",{children:d}),". LLM Router then handles upstream auth, route selection, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code so it uses the router Anthropic endpoint instead of a provider directly."]})},{eyebrow:"2. Override",title:"Set only the bindings you need",body:(0,S.jsxs)(S.Fragment,{children:["Leave fields blank to inherit Claude Code defaults. Fill ",(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),", the Opus/Sonnet/Haiku defaults, or ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"})," only when you want LLM Router to manage those values."]})},{eyebrow:"3. Effort",title:"Set thinking effort level",body:(0,S.jsxs)(S.Fragment,{children:["The ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," dropdown writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile. If the shell profile cannot be updated, ",(0,S.jsx)("code",{children:"effortLevel"})," is set in ",(0,S.jsx)("code",{children:"settings.json"}),' as a fallback (only "high" is supported there).']})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to patch Claude Code toward the router and keep provider credentials centralized inside LLM Router."]}),(0,S.jsxs)(S.Fragment,{children:["Leave ",(0,S.jsx)("span",{className:"font-medium",children:"Current model override"})," empty unless you explicitly want to replace Claude Code's own main model selection."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Default Opus"}),", ",(0,S.jsx)("span",{className:"font-medium",children:"Default Sonnet"}),", and ",(0,S.jsx)("span",{className:"font-medium",children:"Default Haiku"})," when you want Claude Code's built-in alias names to resolve to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Sub-agent model"})," when background workers or helper agents should run on a different route than the main session."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Effort level"})," to set ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," in your shell profile; leave it unset to keep Claude Code's adaptive default. The ",(0,S.jsx)("code",{children:"effortLevel"})," key in ",(0,S.jsx)("code",{children:"settings.json"}),' (only "high") acts as a fallback when the shell profile cannot be updated.']})]},{title:"What each binding controls",items:[(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_MODEL"}),": overrides the main model for the active Claude Code session."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_OPUS_MODEL"}),", ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_SONNET_MODEL"}),", and ",(0,S.jsx)("code",{children:"ANTHROPIC_DEFAULT_HAIKU_MODEL"}),": remap Claude Code's built-in alias names to managed routes or aliases."]}),(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),": routes subagents and background workers to a specific managed model."]}),s?(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": currently set to ",(0,S.jsx)("span",{className:"font-medium",children:s})," in your shell profile."]}):(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"}),": stays unset unless you choose an effort level."]})]},{title:"Settings scope and precedence",items:[(0,S.jsxs)(S.Fragment,{children:["Claude Code settings apply in this order: ",(0,S.jsx)("code",{children:"managed-settings.json"}),", CLI arguments, ",(0,S.jsx)("code",{children:".claude/settings.local.json"}),", ",(0,S.jsx)("code",{children:".claude/settings.json"}),", then ",(0,S.jsx)("code",{children:"~/.claude/settings.json"}),"."]}),c?(0,S.jsxs)(S.Fragment,{children:["This page is currently managing ",(0,S.jsx)("code",{children:c}),"."]}):(0,S.jsx)(S.Fragment,{children:"Claude Code can read from project-local, project-shared, or user settings files depending on what exists in your environment."}),(0,S.jsx)(S.Fragment,{children:"If a value seems ignored, check whether a higher-precedence file or command-line flag is overriding it."})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"env"})," block contains only the overrides you meant to set."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Claude Code and test both the main session and any subagents if you changed ",(0,S.jsx)("code",{children:"CLAUDE_CODE_SUBAGENT_MODEL"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["If thinking behavior is not what you expected, remember this UI writes ",(0,S.jsx)("code",{children:"CLAUDE_CODE_EFFORT_LEVEL"})," to your shell profile; clearing the field returns control to Claude Code's own default behavior."]})]}]}}function AT({bindings:e={},settingsFilePath:t="",endpointUrl:n=""}={}){let r=String(e?.defaultModel||"").trim(),o=String(e?.missionOrchestratorModel||"").trim(),a=String(e?.missionWorkerModel||"").trim(),i=String(e?.missionValidatorModel||"").trim(),l=hC(e?.reasoningEffort),s=String(t||"").trim(),c=String(n||"").trim(),d=r||o||a||i?{variant:"info",title:"Factory defaults are set.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries, sets each managed provider to ",(0,S.jsx)("code",{children:"openai"})," or ",(0,S.jsx)("code",{children:"anthropic"})," based on the routed model format, and writes separate defaults for normal sessions and Missions."]})}:{variant:"success",title:"Factory Droid connected via managed custom models.",body:(0,S.jsxs)(S.Fragment,{children:["LLM Router injects router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries pointing at the gateway. Set normal or Mission defaults below, or use Factory Droid's ",(0,S.jsx)("code",{children:"/model"})," command to pick the routed model at runtime."]})};return{title:"Factory Droid guide",description:"Quick setup for routing Factory Droid through LLM Router via router-managed custom models.",badges:[{label:r?`Normal: ${r}`:"Normal: Factory default",variant:r?"info":"outline"},{label:o?`Orchestrator: ${o}`:"Orchestrator: Factory default",variant:o?"info":"outline"},{label:a?`Worker: ${a}`:"Worker: Factory default",variant:a?"info":"outline"},{label:i?`Validator: ${i}`:"Validator: Factory default",variant:i?"info":"outline"},{label:l?`Reasoning: ${l}`:"Reasoning: Droid default",variant:"outline"},{label:s?"Settings file detected":"User config: ~/.factory/settings.json",variant:"outline"}],callout:d,highlights:[{eyebrow:"1. Connect",title:"Point Factory Droid at LLM Router",body:c?(0,S.jsxs)(S.Fragment,{children:["When connected, Factory Droid sends requests to ",(0,S.jsx)("code",{children:c}),". LLM Router handles upstream auth, alias resolution, and failover."]}):(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject router-managed custom models into Factory Droid settings."]})},{eyebrow:"2. Route",title:"Set normal and Mission defaults",body:(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," for regular sessions, then set separate Mission bindings for the orchestrator, worker, and validator roles."]})},{eyebrow:"3. Tune",title:"Optional reasoning control",body:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," writes Factory Droid ",(0,S.jsx)("code",{children:"reasoningEffort"}),". Values: ",(0,S.jsx)("code",{children:"off"}),", ",(0,S.jsx)("code",{children:"none"}),", ",(0,S.jsx)("code",{children:"low"}),", ",(0,S.jsx)("code",{children:"medium"}),", or ",(0,S.jsx)("code",{children:"high"}),"."]})}],sections:[{title:"Quick start",items:[(0,S.jsxs)(S.Fragment,{children:["Set a ",(0,S.jsx)("code",{children:"masterKey"})," in LLM Router first. The ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," button stays disabled until gateway auth is ready."]}),(0,S.jsxs)(S.Fragment,{children:["Click ",(0,S.jsx)("span",{className:"font-medium",children:"Connect"})," to inject a managed ",(0,S.jsx)("code",{children:"customModels"})," entry into ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),r?(0,S.jsxs)(S.Fragment,{children:["Your normal-session default is ",(0,S.jsx)("code",{children:r}),". Change it any time from this panel."]}):(0,S.jsxs)(S.Fragment,{children:["Choose a managed route or alias in ",(0,S.jsx)("span",{className:"font-medium",children:"Normal mode model"})," to set the default Factory session route."]}),o?(0,S.jsxs)(S.Fragment,{children:["Your Mission orchestrator default is ",(0,S.jsx)("code",{children:o}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission orchestrator"})," when mission planning should use a specific route."]}),a?(0,S.jsxs)(S.Fragment,{children:["Your Mission worker default is ",(0,S.jsx)("code",{children:a}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission worker"})," when implementation workers should use a specific route."]}),i?(0,S.jsxs)(S.Fragment,{children:["Your Mission validator default is ",(0,S.jsx)("code",{children:i}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Mission validator"})," when validation workers should use a specific route."]}),(0,S.jsxs)(S.Fragment,{children:["Set ",(0,S.jsx)("span",{className:"font-medium",children:"Reasoning effort"})," only when you want LLM Router to write ",(0,S.jsx)("code",{children:"reasoningEffort"}),"; leave it unset to keep Factory Droid defaults."]})]},{title:"How it works",items:[(0,S.jsxs)(S.Fragment,{children:["LLM Router adds router-managed ",(0,S.jsx)("code",{children:"customModels"})," entries with ",(0,S.jsx)("code",{children:'provider: "openai"'})," or ",(0,S.jsx)("code",{children:'provider: "anthropic"'}),", plus the matching gateway base URL for that request format."]}),(0,S.jsxs)(S.Fragment,{children:["Each injected entry has a ",(0,S.jsx)("code",{children:"_llmRouterManaged"})," marker so it can be cleanly updated or removed without touching your other custom models."]}),(0,S.jsxs)(S.Fragment,{children:["The router-managed bindings map to both the legacy root ",(0,S.jsx)("code",{children:"model"})," field and current Factory settings such as ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"}),", ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),", and ",(0,S.jsx)("code",{children:"missionModelSettings"}),"."]}),(0,S.jsx)(S.Fragment,{children:"Disconnecting removes only the router-managed entries and restores any backed-up session, Mission, or reasoning settings."})]},{title:"Where these settings land",items:[s?(0,S.jsxs)(S.Fragment,{children:["This page is managing ",(0,S.jsx)("code",{children:s}),"."]}):(0,S.jsxs)(S.Fragment,{children:["Factory Droid stores user settings in ",(0,S.jsx)("code",{children:"~/.factory/settings.json"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The normal-session binding maps to ",(0,S.jsx)("code",{children:"sessionDefaultSettings.model"})," and the legacy root ",(0,S.jsx)("code",{children:"model"})," field."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission orchestrator binding maps to ",(0,S.jsx)("code",{children:"missionOrchestratorModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission worker binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.workerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["The Mission validator binding maps to ",(0,S.jsx)("code",{children:"missionModelSettings.validationWorkerModel"}),"."]}),(0,S.jsxs)(S.Fragment,{children:["Use ",(0,S.jsx)("span",{className:"font-medium",children:"Open Config File"})," to inspect the generated settings."]})]},{title:"Quick verify",items:[(0,S.jsxs)(S.Fragment,{children:["Open the settings file from this page and confirm the ",(0,S.jsx)("code",{children:"customModels"})," array contains the LLM Router entry."]}),(0,S.jsxs)(S.Fragment,{children:["Launch Factory Droid and run a small prompt. Use ",(0,S.jsx)("code",{children:"/model"})," to confirm the routed model is available."]}),(0,S.jsxs)(S.Fragment,{children:["If requests fail, check the ",(0,S.jsx)("span",{className:"font-medium",children:"Alias & Fallback"})," tab first to ensure the alias behind your model exists."]})]}]}}function pI(e="outline"){switch(e){case"success":return"border-emerald-200 bg-emerald-50";case"warning":return"border-amber-200 bg-amber-50";case"danger":return"border-rose-200 bg-rose-50";case"info":return"border-sky-200 bg-sky-50";default:return"border-border/70 bg-background/70"}}function xT(e="outline"){switch(e){case"success":return"text-emerald-950";case"warning":return"text-amber-950";case"danger":return"text-rose-950";case"info":return"text-sky-950";default:return"text-foreground"}}function gI({guideContent:e}){let[t,n]=(0,ju.useState)(!1),r=String(e?.title||"").trim()||"Guide",o=String(e?.description||"").trim(),a=Array.isArray(e?.badges)?e.badges.filter(Boolean):[],i=Array.isArray(e?.highlights)?e.highlights.filter(Boolean):[],l=Array.isArray(e?.sections)?e.sections.filter(Boolean):[],s=e?.callout&&e.callout.body?e.callout:null,c=s?.variant||"outline";return i.length===0&&l.length===0&&!s?null:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(U,{type:"button",size:"sm",variant:"outline","aria-label":r,onClick:()=>n(!0),children:"Guide"}),(0,S.jsx)(_n,{open:t,onClose:()=>n(!1),title:r,description:o,contentClassName:"max-h-[92vh] max-w-4xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,S.jsxs)("div",{className:"space-y-4",children:[a.length>0?(0,S.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:a.map((d,u)=>(0,S.jsx)(Ne,{variant:d?.variant||"outline",children:d?.label},`${r}-badge-${u}`))}):null,s?(0,S.jsxs)("div",{className:Q("rounded-2xl border p-4",pI(c)),children:[(0,S.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,S.jsx)(Ne,{variant:["success","warning","danger","info"].includes(c)?c:"outline",children:c==="success"?"Current best fit":c==="warning"?"Needs attention":c==="info"?"Current behavior":"Guide note"}),(0,S.jsx)("div",{className:Q("text-sm font-medium",xT(c)),children:s.title})]}),(0,S.jsx)("div",{className:Q("mt-3 text-sm leading-6",xT(c)),children:s.body})]}):null,i.length>0?(0,S.jsx)("div",{className:Q("grid gap-4",i.length>2?"md:grid-cols-3":"md:grid-cols-2"),children:i.map((d,u)=>(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[d?.eyebrow?(0,S.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:d.eyebrow}):null,(0,S.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:d?.title}),(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d?.body})]},`${r}-highlight-${u}`))}):null,l.map((d,u)=>{let f=Array.isArray(d?.items)?d.items.filter(Boolean):[];return(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/70 p-4",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:d?.title}),d?.description?(0,S.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.description}):null,f.length>0?(0,S.jsx)("div",{className:"mt-3 space-y-3",children:f.map((m,b)=>(0,S.jsxs)("div",{className:"flex gap-3 text-sm leading-6 text-foreground",children:[(0,S.jsx)("span",{className:"mt-2 h-1.5 w-1.5 shrink-0 rounded-full bg-foreground/50"}),(0,S.jsx)("div",{className:"min-w-0",children:m})]},`${r}-section-${u}-item-${b}`))}):null]},`${r}-section-${u}`)})]})})]})}function hI({field:e,routeOptions:t,disabled:n=!1,onValueChange:r}){let o=String(e?.value||"").trim()||(e?.allowUnset?"__unset__":""),a=(0,ju.useMemo)(()=>{let i=e?.usesRouteOptions===!1?[]:t,l=Array.isArray(e?.options)?e.options:[],s=Array.isArray(e?.extraOptions)?e.extraOptions:[];return e?.allowUnset?[{value:"__unset__",label:"Inherit tool default",hint:""},...s,...l,...i]:[...s,...l,...i]},[e?.allowUnset,e?.extraOptions,e?.options,e?.usesRouteOptions,t]);return(0,S.jsxs)(Et,{value:o,onValueChange:r,disabled:n||a.length===0,children:[(0,S.jsx)(Tt,{children:(0,S.jsx)(Mt,{placeholder:e.placeholder||"Select a route"})}),(0,S.jsx)(kt,{children:a.length>0?fI(a,{keyPrefix:e.id||"binding-option"}):(0,S.jsx)(Je,{value:"__no-route-options",disabled:!0,children:"No routes available"})})]})}function ep({toolName:e,toolState:t,endpointUrl:n,routeOptions:r,connectionBusy:o,bindingBusy:a,onToggleRouting:i,onBindingChange:l,hasMasterKey:s,disabledReason:c,onOpenPrimaryPath:d,onOpenSecondaryPath:u,secondaryPathLabel:f="Backup file",secondaryPathIcon:m=(0,S.jsx)(mI,{className:"h-3 w-3"}),bindingFields:b=[],guideContent:p=null}){let v=t?.routedViaRouter===!0,h=String(t?.error||"").trim(),g=!!(s&&n&&!c&&!h),y=(0,ju.useMemo)(()=>{let R=new Set(["__unset__"]);for(let w of b){for(let E of Array.isArray(w?.extraOptions)?w.extraOptions:[]){let C=String(E?.value||"").trim();C&&R.add(C)}for(let E of Array.isArray(w?.options)?w.options:[]){let C=String(E?.value||"").trim();C&&R.add(C)}}return b.filter(w=>w?.usesRouteOptions!==!1).map(w=>String(w?.value||"").trim()).filter(w=>w&&!R.has(w))},[b]),x=cI(r,y);return(0,S.jsxs)(Ut,{children:[(0,S.jsxs)(no,{className:"flex flex-col gap-3 p-4 pb-0 sm:flex-row sm:items-start sm:justify-between",children:[(0,S.jsxs)("div",{className:"space-y-2",children:[(0,S.jsx)(Uo,{className:"flex items-center gap-2",children:(0,S.jsx)("span",{children:`Use ${e} via LLM Router`})}),(0,S.jsx)(Km,{primaryLabel:"Config file",primaryValue:t?.configFilePath||t?.settingsFilePath||"",onOpenPrimary:d,secondaryLabel:f,secondaryValue:t?.backupFilePath||"",secondaryIcon:m,onOpenSecondary:u})]}),(0,S.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[p?(0,S.jsx)(gI,{guideContent:p}):null,(0,S.jsx)(U,{type:"button",size:"sm",variant:v?"outline":void 0,onClick:i,disabled:o!==""||!v&&!g,children:o==="enable"?"Connecting\u2026":o==="disable"?"Disconnecting\u2026":v?"Disconnect":"Connect"})]})]}),(0,S.jsxs)(jt,{className:"space-y-4 p-4",children:[h?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-900",children:h}):null,!v&&!s?(0,S.jsxs)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:["Set ",(0,S.jsx)("code",{children:"masterKey"})," first to connect ",e,"."]}):null,c?(0,S.jsx)("div",{className:"rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:c}):null,(0,S.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/60 p-4",children:[(0,S.jsx)("div",{children:(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:"Model bindings"}),(0,S.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:"Prefer LLM Router aliases here so you can retarget models later from the Alias & Fallback tab."})]})}),b.length===0?(0,S.jsx)("div",{className:"mt-4 rounded-xl border border-amber-200 bg-amber-50 px-4 py-3 text-sm text-amber-800",children:"No tool bindings are available yet."}):(0,S.jsx)("div",{className:"mt-4 grid gap-3",children:b.map(R=>(0,S.jsxs)("div",{className:"rounded-xl border border-border/70 bg-background/80 p-3",children:[(0,S.jsxs)("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[(0,S.jsx)("div",{className:"text-sm font-medium text-foreground",children:R.label}),(0,S.jsx)(Ne,{variant:"outline",children:R.envKey})]}),(0,S.jsx)("div",{className:"mb-3 text-xs leading-5 text-muted-foreground",children:R.description}),(0,S.jsx)(hI,{field:R,routeOptions:x,disabled:R.standaloneWhenDisconnected?a:!v||a,onValueChange:w=>l(R.id,w==="__unset__"?"":w)})]},R.id))})]})]})]})}var It=D(J(),1);function CT({logs:e,activityLogEnabled:t=!0,activityFilter:n="usage",busyAction:r="",onActivityFilterChange:o,onToggleEnabled:a,onClear:i}){let l=Array.isArray(e)?e:[],s=l.filter(d=>n==="all"?!0:Sy(d)===n),c=uu[n]||uu.usage;return(0,It.jsxs)(Ut,{children:[(0,It.jsx)(no,{children:(0,It.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,It.jsxs)("div",{className:"space-y-1",children:[(0,It.jsx)(Uo,{children:"Activity"}),(0,It.jsx)(Si,{children:t?"Router actions, request fallbacks, and runtime issues stream here.":"Activity logging is paused. Re-enable it to capture router actions, request fallbacks, and runtime issues."})]}),(0,It.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,It.jsx)("div",{className:"min-w-[13rem]",children:(0,It.jsxs)(Et,{value:n,onValueChange:o,searchEnabled:!1,children:[(0,It.jsx)(Tt,{children:(0,It.jsx)(Mt,{placeholder:"Filter category"})}),(0,It.jsx)(kt,{children:yC.map(d=>(0,It.jsx)(Je,{value:d.value,children:d.label},d.value))})]})}),(0,It.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:i,disabled:r!==""||!e?.length,children:r==="clear"?"Clearing\u2026":"Clear log"}),(0,It.jsx)(U,{type:"button",size:"sm",variant:t?"outline":"default",onClick:a,disabled:r!=="",children:r==="toggle"?"Updating\u2026":t?"Disable log":"Enable log"})]})]})}),(0,It.jsx)(jt,{children:(0,It.jsx)("div",{className:"max-h-[32rem] space-y-3 overflow-auto pr-1",children:s.length?s.map(d=>{let u=Sy(d),f=uu[u]||uu.usage;return(0,It.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,It.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,It.jsxs)("div",{className:"flex items-center gap-2",children:[(0,It.jsx)("span",{className:Q("inline-flex h-2.5 w-2.5 rounded-full ring-4",gy[d.level]||gy.info)}),(0,It.jsx)(Ne,{variant:f.badgeVariant,children:f.label}),(0,It.jsx)("span",{className:"text-sm font-medium text-foreground",children:d.message})]}),(0,It.jsx)("span",{className:"text-xs text-muted-foreground",children:Is(d.time)})]}),d.detail?(0,It.jsx)("div",{className:"mt-2 text-sm leading-6 text-muted-foreground",children:d.detail}):null]},d.id)}):l.length?(0,It.jsxs)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:["No ",c.emptyLabel," activity matches the current filter. Switch the dropdown to inspect the hidden categories."]}):(0,It.jsx)("div",{className:"rounded-2xl border border-dashed border-border px-4 py-6 text-sm text-muted-foreground",children:"Activity is quiet. Save config changes or start the router to populate this stream."})})})]})}var Vt=D(be(),1);var Ub=D(be(),1);var An=D(J(),1);function RT({rows:e,onChange:t}){let n=nm(e),r=n.length>0?n:[{name:"",value:""}];function o(l,s,c){s==="name"&&VC(r,c,l)||t(r.map((d,u)=>u===l?{...d,[s]:c}:d))}function a(){t([...r,{name:"",value:""}])}function i(l){let s=r.filter((c,d)=>d!==l);t(s.length>0?s:[{name:"",value:""}])}return(0,An.jsxs)("div",{className:"space-y-2",children:[r.map((l,s)=>(0,An.jsxs)("div",{className:"grid gap-2 md:grid-cols-[minmax(0,0.9fr)_minmax(0,1.3fr)_auto]",children:[(0,An.jsx)(He,{value:l.name,onChange:c=>o(s,"name",c.target.value),placeholder:s===0?"User-Agent":"Header name"}),(0,An.jsx)(He,{value:l.value,onChange:c=>o(s,"value",c.target.value),placeholder:s===0?io:"Header value"}),(0,An.jsx)(U,{type:"button",variant:"ghost",onClick:()=>i(s),children:"Remove"})]},`header-row-${s}`)),(0,An.jsxs)("div",{className:"flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,An.jsx)("span",{children:"User-Agent is included by default. Add more only when a provider needs them."}),(0,An.jsx)(U,{type:"button",variant:"outline",onClick:a,children:"Add custom header"})]})]})}function NT({providerId:e,values:t,onChange:n}){let r=(t||[]).map(u=>String(u||"").trim()).filter(Boolean),o=Ys(r),a=(0,Ub.useRef)(""),i=(0,Ub.useRef)(null);function l(u){n((t||[]).filter(f=>f!==u))}function s(u,f){if(!u||!f||u===f)return;let m=[...t||[]],b=m.indexOf(u),p=m.indexOf(f);if(b===-1||p===-1)return;let[v]=m.splice(b,1);m.splice(p,0,v),n(m)}function c(u){n(Ls(t||[],u,f=>String(f||"").trim()))}function d(){a.current="",Da(i.current,!1),i.current=null}return(0,An.jsxs)("div",{className:"space-y-2",children:[(0,An.jsx)("div",{className:"space-y-2 rounded-xl border border-input bg-background/80 px-3 py-3",children:r.length>0?r.map((u,f)=>(0,An.jsxs)("div",{ref:o(u),"data-reorder-row":"true",onDragOver:m=>{a.current&&a.current!==u&&(m.preventDefault(),m.dataTransfer.dropEffect="move")},onDrop:m=>{m.preventDefault();let b=m.dataTransfer.getData("text/plain")||a.current;d(),s(b,u)},className:Q("grid grid-cols-[auto_auto_minmax(0,1fr)_auto] items-center gap-2 rounded-xl border border-border/70 bg-card/90 p-3"),children:[(0,An.jsx)("span",{className:"flex h-8 w-8 cursor-grab items-center justify-center rounded-full text-muted-foreground",draggable:!0,onDragStart:m=>{let b=Ds(m.currentTarget);m.dataTransfer.effectAllowed="move",m.dataTransfer.setData("text/plain",u),b&&typeof m.dataTransfer?.setDragImage=="function"&&m.dataTransfer.setDragImage(b,20,20),d(),a.current=u,i.current=b,Da(b,!0)},onDragEnd:d,title:"Drag to reorder",children:(0,An.jsx)(Os,{className:"h-4 w-4"})}),(0,An.jsx)(za,{disabled:f===0,label:f===0?"Already first":`Move ${e}/${u} up`,onClick:()=>c(u)}),(0,An.jsxs)("span",{className:"truncate text-sm font-medium text-foreground",children:[e,"/",u]}),(0,An.jsx)("button",{className:"text-muted-foreground transition hover:text-foreground",type:"button",onMouseDown:m=>m.preventDefault(),onClick:()=>l(u),children:"\xD7"})]},u)):(0,An.jsxs)("span",{className:"block px-1 text-xs text-muted-foreground",children:["Leave it empty for now, or add models to back the fixed ",(0,An.jsx)("code",{children:"default"})," route. An empty default route returns 500 until you add a working model."]})}),(0,An.jsx)("div",{className:"text-xs text-muted-foreground",children:"Drag rows to change the preferred order, use the arrow to move a model earlier, or remove any models you do not want in this route."})]})}var P=D(J(),1);function jb({baseConfig:e,onApplyDraft:t,onValidateDraft:n,onSaveDraft:r,onSaveAndStart:o,seedMode:a="blank",mode:i="add",targetProviderId:l="",defaultProviderUserAgent:s=io,framed:c=!0,showHeader:d=!0}){let[u,f]=(0,Vt.useState)(0),[m,b]=(0,Vt.useState)(""),[p,v]=(0,Vt.useState)(()=>n1(e,{seedMode:a,targetProviderId:l,defaultProviderUserAgent:s})),[h,g]=(0,Vt.useState)(null),[y,x]=(0,Vt.useState)(""),[R,w]=(0,Vt.useState)({}),[E,C]=(0,Vt.useState)(!1),[M,L]=(0,Vt.useState)(null),[F,z]=(0,Vt.useState)(""),[G,ee]=(0,Vt.useState)(!1),[de,q]=(0,Vt.useState)(""),ae=(0,Vt.useRef)(!0),te=(0,Vt.useRef)(""),W=(0,Vt.useRef)(Math.random().toString(36).slice(2,10)),V=i==="edit",Pe=!V&&a==="blank"&&im(e),ne=`llr-qs-endpoint-${W.current}`,$e=`llr-qs-endpoint-input-${W.current}`,ie=`llr-qs-credential-${W.current}`,we=`llr-qs-credential-input-${W.current}`,Ue=[{title:"Provider",detail:"Choose API Key or OAuth first, then enter the provider details needed for that connection type."},{title:"Models",detail:"Add model ids, then configure one or more rate limits for all models or selected models. API Key providers are tested before continue."},{title:"Default",detail:"Order the models behind the fixed `default` route before you finish."}],j=lr(p.modelIds,p.modelDraft),pe=am(p.aliasModelIds,j),Se=p.connectionType==="api"?lr(p.endpoints,p.endpointDraft):[],Le=(0,Vt.useMemo)(()=>({...p,endpoints:Se,modelIds:j,aliasModelIds:pe,rateLimitRows:wr(p.rateLimitRows)}),[p,Se,j,pe]),Ae=(0,Vt.useMemo)(()=>rm(p.headerRows||[]),[p.headerRows]),ke=String(p.apiKeyEnv||"").trim(),Qe=(0,Vt.useMemo)(()=>Ny(Le),[Le]),Ze=M?.signature===Qe?M.result:null,on=Ze?.models?.length>0?Ze.models:My(p.selectedConnection||"custom"),Un=Pr(p.providerId||p.providerName||"my-provider")||"my-provider",dn=ky(p),wt=JSON.stringify({connectionType:p.connectionType,selectedConnection:p.selectedConnection,subscriptionProfile:dn}),bt=j.filter(X=>R[X]==="error"),vt=j.filter(X=>R[X]==="success"),Ve=j.some(X=>R[X]==="success"||R[X]==="error"),Ft=j.length>0&&j.every(X=>R[X]==="success"),en=vt.length>0,hn=bt.length>0,Nr=j.some(X=>!R[X]||R[X]==="default"),Te=h?.signature===Qe?h.result:null,rt=p.connectionType!=="api"||en,pt=(0,Vt.useMemo)(()=>r1(e,Le,Te,{targetProviderId:l}),[e,Le,Te,l]),fo=(0,Vt.useMemo)(()=>`${JSON.stringify(pt,null,2)}
|
|
58
|
+
`,[pt]),At=Bt,Ee=Ue[u],yn=o1(u,Le,e,{targetProviderId:l});(0,Vt.useEffect)(()=>{UC()},[]),(0,Vt.useEffect)(()=>{let X=te.current!==""&&te.current!==Qe;if(te.current=Qe,X&&p.connectionType==="api"&&(w({}),g(null),x(""),ae.current=!0,C(!1)),p.connectionType!=="api"){h!==null&&g(null),y&&x(""),Object.keys(R).length>0&&w({}),M!==null&&L(null),F&&z("");return}M?.signature&&M.signature!==Qe&&(L(null),z(""))},[p.connectionType,Qe,h,y,R,M,F]);function O(X,Ge){v(qe=>({...qe,[X]:Ge}))}function ge(X){v(Ge=>{let qe=Pr(Ge.providerName||""),ct=Pr(X||"")||"my-provider",Cn=!Ge.providerId||Ge.providerId===qe;return{...Ge,providerName:X,providerId:Cn?ct:Ge.providerId}})}function re(X){x(""),g(null),w({}),L(null),z(""),ae.current=!0,C(!1),T(X,X==="api"?"custom":"oauth-gpt")}function je(X){x(""),g(null),w({}),L(null),z(""),ae.current=!0,C(!1);let Ge=zr(X);T(Ge.category,X)}function T(X,Ge){v(qe=>t1(qe,{baseConfig:e,nextCategory:X,nextPresetKey:Ge,defaultProviderUserAgent:s}))}async function k({force:X=!1,silent:Ge=!1}={}){if(p.connectionType!=="api")return!1;if(Se.length===0||!ke)return Ge||z("Add endpoints and an API key or env before checking the model list API."),!1;if(!X&&M?.signature===Qe)return!!(M?.result?.models||[]).length;ee(!0),Ge||z("");try{let qe=await Xe("/api/config/discover-provider-models",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:Se,...Ao(ke)?{apiKeyEnv:ke}:{apiKey:ke},...Object.keys(Ae).length>0?{headers:Ae}:{}})}),ct=(qe.result?.models||[]).map(fn=>String(fn||"").trim()).filter(Boolean),Cn={};if(ct.length>0){let fn=p.selectedConnection;if(fn&&hu.set(fn,ct),Ty(Se)){let Xn=await k1(Se[0]||"",ke,ct.filter(Jn=>!Jn.includes("embed")&&!Jn.includes("tts")&&!Jn.includes("image")&&!Jn.includes("lyria")&&!Jn.includes("veo")));Xn&&(ct=Xn)}try{let Xn=await Nu(ct);Cn=M1(Xn)}catch{Cn={}}}let Vr={...qe.result&&typeof qe.result=="object"?qe.result:{},modelContextWindows:Cn};if(L({signature:Qe,result:Vr}),ct.length>0)return v(fn=>{if(Ny(fn)!==Qe||fn.connectionType!=="api")return fn;let mn=Array.isArray(fn.modelIds)?fn.modelIds:[],Xn=X&&mn.length>0?Array.from(new Set([...mn,...ct])):mn.length>0?mn:ct,Jn={...fn.modelContextWindows&&typeof fn.modelContextWindows=="object"?fn.modelContextWindows:{},...Cn},Zs=Ty(fn.endpoints),Pi=Zs?ZC(Zs,Xn):null;return JSON.stringify(Xn)===JSON.stringify(mn)&&JSON.stringify(Jn)===JSON.stringify(fn.modelContextWindows||{})&&!Pi?fn:{...fn,modelIds:Xn,modelContextWindows:Jn,...Pi?{rateLimitRows:Pi}:{}}}),z(""),!0;let mo=(qe.result?.warnings||[]).join(" ")||"Model list API did not return any models. Add model ids manually if needed.";return z(mo),!1}catch(qe){let ct=qe instanceof Error?qe.message:String(qe);return z(ct),!1}finally{ee(!1)}}async function H({onlyModels:X=null}={}){if(p.connectionType!=="api")return!0;let Ge=X||j;b("test"),x(""),w(qe=>{let ct={...qe};for(let Cn of Ge)ct[Cn]="pending";return ct});try{let qe=await Ru("/api/config/test-provider-stream",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({endpoints:Se,models:Ge,...Ao(ke)?{apiKeyEnv:ke}:{apiKey:ke},...Object.keys(Ae).length>0?{headers:Ae}:{}})},{onMessage:mn=>{if(mn?.type!=="progress")return;let Xn=mn.event||{};Xn.phase==="model-done"&&w(Jn=>({...Jn,[Xn.model]:Xn.confirmed?"success":"error"}))}}),ct=new Set(qe?.models||[]),Cn=h?.signature===Qe?h.result:null,Vr=new Set(Cn?.models||[]);for(let mn of Ge)ct.has(mn)?Vr.add(mn):Vr.delete(mn);let mo={...Cn||{},...qe,models:Array.from(Vr),workingFormats:Array.from(new Set([...Cn?.workingFormats||[],...qe?.workingFormats||[]])),ok:j.every(mn=>Vr.has(mn))};g({signature:Qe,result:mo}),w(mn=>{let Xn={...mn};for(let Jn of Ge)Xn[Jn]=ct.has(Jn)?"success":"error";return Xn});let fn=Ge.filter(mn=>!ct.has(mn));return fn.length>0?(x((qe?.warnings||[]).join(" ")||`${fn.length} model(s) failed the provider test.`),!1):!0}catch(qe){return w(ct=>{let Cn={...ct};for(let Vr of Ge)(!Cn[Vr]||Cn[Vr]==="pending")&&(Cn[Vr]="error");return Cn}),x(qe instanceof Error?qe.message:String(qe)),!1}finally{b("")}}(0,Vt.useEffect)(()=>{u!==1||p.connectionType!=="api"||j.length>0||!ke||Se.length===0||G||M?.signature===Qe||k({silent:!0})},[u,p.connectionType,j.length,ke,Se.length,G,M,Qe]);async function ue({force:X=!1}={}){if(p.connectionType==="api"||!X&&de===wt)return!0;let Ge=zr(p.selectedConnection||"oauth-gpt");b("oauth-login"),x("");try{return await Xe("/api/subscription/login",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({profileId:dn,providerId:Un,subscriptionType:Ge.subscriptionType||"chatgpt-codex"})}),q(wt),!0}catch(qe){return x(qe instanceof Error?qe.message:String(qe)),!1}finally{b("")}}async function nt(){u===0&&p.connectionType==="subscription"&&!await ue()||(u===1&&C(!0),f(X=>Math.min(X+1,Ue.length-1)))}async function qt(){let X=j.filter(ct=>R[ct]!=="success"),Ge=ae.current;ae.current=!1,await H({onlyModels:X.length<j.length?X:null})&&Ge&&!E&&(C(!0),f(ct=>Math.min(ct+1,Ue.length-1)))}async function Me(){let X=j.filter(Ge=>R[Ge]==="error");X.length!==0&&await H({onlyModels:X})}function Y(){let X=j.filter(Ge=>R[Ge]==="error");v(Ge=>({...Ge,modelIds:(Ge.modelIds||[]).filter(qe=>!X.includes(qe))})),w(Ge=>{let qe={...Ge};for(let ct of X)delete qe[ct];return qe}),x(""),C(!0),f(Ge=>Math.min(Ge+1,Ue.length-1))}async function ye(X){if((X==="save"||X==="save-start")&&p.connectionType==="api"&&!rt){x("Finish is available after the provider test succeeds.");return}b(X);try{if(X==="apply"){await t(fo);return}if(X==="validate"){await n(fo);return}if(X==="save"){await r(fo);return}X==="save-start"&&await o(fo)}finally{b("")}}let $n=y||yn||(u===0&&p.connectionType==="subscription"&&de!==wt?"Continue opens the browser sign-in flow for this provider.":u===1&&p.connectionType==="api"&&!Ve?"Test the provider against the entered endpoints and model ids using your API key or env.":u===1&&p.connectionType==="api"&&hn&&!Ft?`${vt.length} of ${j.length} model(s) confirmed. Fix or skip failed model(s) to continue.`:Ue[u].detail),Ii=p.selectedConnection==="oauth-claude"?"Examples: claude-opus-4-6 claude-sonnet-4-6 claude-haiku-4-5":p.selectedConnection==="oauth-gpt"?"Examples: gpt-5.3-codex gpt-5.2-codex gpt-5.1-codex-mini":(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("span",{children:["Examples: gpt-4o-mini gpt-4.1-mini",Object.keys(Ze?.modelContextWindows||{}).length>0?` \xB7 ${Object.keys(Ze?.modelContextWindows||{}).length} context size${Object.keys(Ze?.modelContextWindows||{}).length===1?"":"s"} ready`:""]}),(0,P.jsx)("span",{className:"ml-2 text-amber-700",children:"Auto-discovered model ids may be incomplete or inaccurate if the provider is misconfigured. Verify the list and add or remove model ids yourself."})]}),zi=V?"Edit provider":Pe?"Add provider":"Quick start wizard",Fu=V?"Update this provider in place. Change endpoints, model ids, rate limits, alias, or provider id, then save the refreshed config.":Pe?"Add another provider with endpoints, model ids, rate limits, and a stable alias. API Key providers are auto-tested before save.":"",Js=(0,P.jsx)("div",{className:"flex items-center gap-1",children:Ue.map((X,Ge)=>{let qe=Ge===u,ct=Ge<u;return(0,P.jsxs)(Vt.Fragment,{children:[Ge>0?(0,P.jsx)("span",{className:"text-[10px] text-muted-foreground/40 select-none",children:"/"}):null,(0,P.jsxs)("button",{type:"button",disabled:!ct,onClick:()=>{ct&&f(Ge)},className:Q("inline-flex items-center gap-1.5 rounded-md px-2 py-1 text-xs font-medium transition-colors",qe?"bg-primary text-primary-foreground":ct?"text-emerald-700 hover:bg-emerald-50":"text-muted-foreground/50"),children:[(0,P.jsx)("span",{className:Q("inline-flex h-4 w-4 shrink-0 items-center justify-center rounded-full text-[10px] font-bold leading-none",qe?"bg-primary-foreground/20":ct?"bg-emerald-100 text-emerald-700":"bg-muted"),children:Ge+1}),X.title]})]},X.title)})}),Va=(0,P.jsxs)("div",{className:"space-y-5",children:[u===0?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:CC.map(X=>(0,P.jsxs)("button",{type:"button",className:Q("rounded-2xl border px-4 py-3 text-left transition",p.connectionType===X.value?"border-ring bg-background shadow-sm":"border-border/70 bg-background/70 hover:border-border"),onClick:()=>re(X.value),children:[(0,P.jsx)("div",{className:"text-sm font-medium text-foreground",children:X.label}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-muted-foreground",children:X.description})]},X.value))}),(0,P.jsx)(De,{label:"Provider preset",children:(0,P.jsxs)(Et,{value:p.selectedConnection||(p.connectionType==="api"?"custom":"oauth-gpt"),onValueChange:je,children:[(0,P.jsx)(Tt,{children:(0,P.jsx)(Mt,{})}),(0,P.jsx)(kt,{children:PC(p.connectionType==="subscription"?"subscription":"api").map(X=>(0,P.jsxs)(Je,{value:X.key,children:[X.label,(0,P.jsx)("span",{className:"ml-2 text-muted-foreground",children:X.description})]},X.key))})]})}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2",children:[(0,P.jsx)(De,{label:"Provider name",children:(0,P.jsx)(He,{value:p.providerName,onChange:X=>ge(X.target.value),placeholder:zr(p.selectedConnection||"custom").providerName})}),(0,P.jsx)(De,{label:"Provider id",hint:"lowercase-hyphenated",children:(0,P.jsx)(He,{value:p.providerId,onChange:X=>O("providerId",X.target.value),onBlur:()=>O("providerId",Pr(p.providerId||p.providerName||"my-provider")||"my-provider"),placeholder:zr(p.selectedConnection||"custom").providerId})})]}),p.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(De,{label:"Endpoints",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(zu,{values:p.endpoints,onChange:X=>O("endpoints",X),draftValue:p.endpointDraft,onDraftValueChange:X=>O("endpointDraft",X),commitOnBlur:!0,isValueValid:Ni,placeholder:"Example: https://api.openai.com/v1",helperText:"Paste one or more endpoints",inputProps:{id:$e,name:ne,autoComplete:"off",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,inputMode:"url","data-form-type":"other"}})}),(0,P.jsx)(De,{label:"API key or env",children:(0,P.jsx)(Ws,{value:p.apiKeyEnv,onChange:X=>O("apiKeyEnv",X.target.value),placeholder:"Example: OPENAI_API_KEY or sk-...",isEnvVar:Ao(p.apiKeyEnv),maskMode:"obscured-text",inputProps:{id:we,name:ie,autoComplete:"new-password",autoCapitalize:"none",autoCorrect:"off",spellCheck:!1,"data-form-type":"other","data-lpignore":"true","data-1p-ignore":"true"}})}),(0,P.jsx)(De,{label:"Custom headers",hint:"User-Agent included by default",children:(0,P.jsx)(RT,{rows:p.headerRows,onChange:X=>O("headerRows",X)})})]}):(0,P.jsxs)("div",{className:"space-y-3",children:[(0,P.jsx)("div",{className:"rounded-2xl border border-border/70 bg-secondary/45 px-4 py-3 text-sm leading-6 text-muted-foreground",children:p.selectedConnection==="oauth-claude"?"Continue opens the Claude sign-in page in your browser and stores the login for this provider automatically.":"Continue opens the ChatGPT sign-in page in your browser and stores the login for this provider automatically."}),p.selectedConnection==="oauth-claude"?(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," Claude Code OAuth routes through Anthropic's API with your subscription credentials. Usage will count against your Claude Max/Pro plan's extra usage quota, not the included subscription messages. Make sure you have extra usage enabled on your Claude plan to avoid request failures."]}):(0,P.jsxs)("div",{className:"rounded-2xl border border-amber-300/60 bg-amber-50/80 px-4 py-3 text-xs leading-5 text-amber-800 dark:border-amber-500/30 dark:bg-amber-950/40 dark:text-amber-300",children:[(0,P.jsx)("span",{className:"font-medium",children:"Heads up:"})," ChatGPT subscriptions (Plus / Pro / Team) are separate from the OpenAI API and are intended for use within OpenAI's own apps. Routing requests through your subscription here may violate OpenAI's terms of service and could result in account restrictions."]})]})]}):null,u===1?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)(De,{label:"Models",hint:"comma, space, or newline turns into chips",children:(0,P.jsx)(zu,{values:p.modelIds,onChange:X=>O("modelIds",X),draftValue:p.modelDraft,onDraftValueChange:X=>O("modelDraft",X),commitOnBlur:!0,disabled:m==="test",valueStates:p.connectionType==="api"?R:{},placeholder:"Paste model ids",helperText:Ii,suggestedValues:on})}),p.connectionType==="api"&&G?(0,P.jsxs)("div",{className:"rounded-2xl border border-sky-200 bg-sky-50 px-4 py-3 text-sm text-sky-900",children:[(0,P.jsxs)("div",{className:"flex items-center gap-2 font-medium",children:[(0,P.jsx)(Ur,{}),"Loading provider models"]}),(0,P.jsx)("div",{className:"mt-1 text-xs leading-5 text-sky-800/90",children:"LLM Router is checking the provider model list and matching context sizes for the discovered models."})]}):null,p.connectionType==="api"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(De,{label:"Rate limit",stacked:!0,headerAction:(0,P.jsx)(U,{type:"button",size:"sm",variant:"outline",onClick:()=>O("rateLimitRows",Gm(p.rateLimitRows)),disabled:m==="test",children:"Add rate limit"}),children:(0,P.jsx)(qm,{rows:p.rateLimitRows,onChange:X=>O("rateLimitRows",X),availableModelIds:j,disabled:m==="test"})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm leading-6 text-muted-foreground",children:["The first model becomes the primary direct route. Add caps for ",(0,P.jsx)("code",{children:"all"})," models or target individual model ids when you need a narrower quota bucket."]})]}):null,p.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",Ft&&Ve?"border-emerald-200 bg-emerald-50 text-emerald-900":hn?"border-amber-200 bg-amber-50 text-amber-900":en?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-border/70 bg-background/80 text-muted-foreground"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:Ft&&Ve?`Confirmed ${vt.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:hn?`${vt.length} of ${j.length} model(s) confirmed. ${bt.length} failed: ${bt.join(", ")}.`:en?`Confirmed ${vt.length} of ${j.length} model(s) across ${(Te?.workingFormats||[]).join(", ")||"detected formats"}.`:"Test the provider before continuing so the wizard can auto-detect the working endpoint format(s)."})]}):null]}):null,u===2?(0,P.jsxs)("div",{className:"space-y-4",children:[(0,P.jsx)("div",{className:"grid gap-3 md:grid-cols-2",children:Pe||V?(0,P.jsx)(BE,{label:"Use this provider order for the default route",hint:"Updates the fixed `default` alias",checked:p.useAliasAsDefault,onCheckedChange:X=>O("useAliasAsDefault",X)}):(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3 text-sm text-muted-foreground md:col-span-2",children:["The fixed ",(0,P.jsx)("code",{children:"default"})," route is created automatically. Arrange this provider's models in the order you want clients to try first."]})}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Model order"}),(0,P.jsx)("div",{className:"mt-3",children:(0,P.jsx)(NT,{providerId:Un,values:pe,onChange:X=>O("aliasModelIds",X)})})]}),(0,P.jsxs)("div",{className:"grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:[(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Provider"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:Un}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:p.providerName})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Connection"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground",children:JC(p.selectedConnection||"custom")}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:p.connectionType==="api"?`${Se.length} endpoint candidate(s)`:"Browser sign-in flow"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Models"}),(0,P.jsxs)("div",{className:"mt-2 text-sm font-medium text-foreground",children:[j.length," configured"]}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground break-all",children:j.join(", ")||"No models yet"})]}),(0,P.jsxs)("div",{className:"rounded-2xl border border-border/70 bg-background/80 px-4 py-3",children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground",children:"Default route"}),(0,P.jsx)("div",{className:"mt-2 text-sm font-medium text-foreground break-all",children:At}),(0,P.jsx)("div",{className:"mt-1 text-xs text-muted-foreground",children:p.useAliasAsDefault?"Requests to `default` and `smart` use this ordered list.":"This provider keeps its direct routes only until you opt it into the fixed default route."})]})]}),p.connectionType==="api"?(0,P.jsxs)("div",{className:Q("rounded-2xl border px-4 py-3 text-sm leading-6",rt?"border-emerald-200 bg-emerald-50 text-emerald-900":"border-amber-200 bg-amber-50 text-amber-900"),children:[(0,P.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.16em]",children:"Provider test"}),(0,P.jsx)("div",{className:"mt-2",children:rt?`Using ${(Te?.workingFormats||[]).join(", ")||"detected formats"}. The saved provider keeps the tested endpoint selection and confirmed models.`:"Finish is available after the provider test succeeds."})]}):null]}):null,(0,P.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border/70 pt-4 md:flex-row md:items-start md:justify-between md:gap-4",children:[(0,P.jsx)("div",{className:Q("min-w-0 flex-1 text-sm md:max-w-2xl",yn||y?"text-amber-700":"text-muted-foreground"),children:$n}),(0,P.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2 md:justify-end",children:[u>0?(0,P.jsx)(U,{variant:"ghost",onClick:()=>f(X=>Math.max(X-1,0)),children:"Back"}):null,u<Ue.length-1?u===1&&p.connectionType==="api"?E?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(U,{variant:"outline",onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing\u2026"]}):"Test"}),(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!==""||!en,children:"Continue"})]}):!Ve||Nr?(0,P.jsx)(U,{onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing provider\u2026"]}):"Test"}):Ft?(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!=="",children:"Continue"}):hn?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(U,{variant:"outline",onClick:()=>{Me()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Re-testing\u2026"]}):"Test again"}),en?(0,P.jsx)(U,{onClick:()=>{Y()},disabled:m!=="",children:"Skip failed model(s) and continue"}):null]}):(0,P.jsx)(U,{onClick:()=>{qt()},disabled:!!yn||m!=="",children:m==="test"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Testing provider\u2026"]}):"Test"}):(0,P.jsx)(U,{onClick:()=>{nt()},disabled:!!yn||m!=="",children:m==="oauth-login"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Signing in\u2026"]}):"Continue"}):(0,P.jsx)(U,{onClick:()=>{ye("save-start")},disabled:!!yn||m!==""||p.connectionType==="api"&&!rt,children:m==="save-start"?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(Ur,{}),"Finishing\u2026"]}):"Finish"})]})]})]});return c?(0,P.jsxs)(Ut,{className:"border-dashed",children:[(0,P.jsxs)(no,{children:[(0,P.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[d?(0,P.jsx)(Uo,{children:zi}):null,Js]}),d?(0,P.jsx)(Si,{children:Fu}):null]}),(0,P.jsx)(jt,{className:"space-y-5",children:Va})]}):(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"-mx-5 -mt-4 flex items-center gap-3 border-b border-border/70 bg-muted/30 px-5 py-2",children:Js}),(0,P.jsxs)("div",{className:"space-y-5 pt-5",children:[d?(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"text-base font-semibold text-foreground",children:zi}),(0,P.jsx)("div",{className:"mt-1 text-sm leading-6 text-muted-foreground",children:Fu})]}):null,Va]})]})}var $=D(J(),1);async function Vu(e){let t=String(e||"");if(!t)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText){await navigator.clipboard.writeText(t);return}if(typeof document>"u")throw new Error("Clipboard is not available in this environment.");let n=document.createElement("textarea");n.value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}function yI(e="127.0.0.1"){let t=String(e||"127.0.0.1").trim()||"127.0.0.1";return t.includes(":")&&!t.startsWith("[")?`[${t}]`:t}function bI(e={}){let t=yI(e?.host||"127.0.0.1"),n=Number.isInteger(Number(e?.port))?Number(e.port):8376;return`http://${t}:${n}`}function ET({currentConfigPath:e="",productionConfigPath:t="",routerPort:n=8376,canSyncProductionConfig:r=!1,syncBusy:o=!1,onSyncProductionConfig:a}){return(0,$.jsx)("div",{className:"overflow-hidden rounded-[1.75rem] border border-amber-300/80 bg-[linear-gradient(135deg,rgba(255,247,237,0.98),rgba(255,251,235,0.97),rgba(254,243,199,0.82))] shadow-[0_20px_60px_rgba(180,83,9,0.12)]",children:(0,$.jsxs)("div",{className:"flex flex-col gap-4 px-4 py-4 sm:px-5 lg:flex-row lg:items-center lg:justify-between",children:[(0,$.jsxs)("div",{className:"min-w-0 space-y-3",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsx)(Ne,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}),(0,$.jsx)("span",{className:"text-[11px] font-semibold uppercase tracking-[0.18em] text-amber-900/80",children:"Isolated router sandbox"})]}),(0,$.jsxs)("div",{className:"space-y-1",children:[(0,$.jsxs)("div",{className:"text-base font-semibold text-amber-950 sm:text-lg",children:["Dev console runs on router port ",n," and leaves the production startup service alone."]}),(0,$.jsx)("div",{className:"max-w-3xl text-sm leading-6 text-amber-950/75",children:"Use the sync action to clone the current production config into this dev workspace without changing the dev router binding."})]}),(0,$.jsxs)("div",{className:"flex flex-wrap gap-2 text-xs",children:[(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/70 bg-white/75 px-3 py-1.5 font-medium text-amber-950/80",children:["Dev config: ",(0,$.jsx)("span",{className:"font-semibold",children:e||"Not resolved"})]}),(0,$.jsxs)("span",{className:"rounded-full border border-amber-300/60 bg-amber-50/70 px-3 py-1.5 font-medium text-amber-950/75",children:["Production source: ",(0,$.jsx)("span",{className:"font-semibold",children:t||"Not resolved"})]})]})]}),r?(0,$.jsx)("div",{className:"flex shrink-0 items-center",children:(0,$.jsxs)(U,{size:"sm",variant:"outline",className:"border-amber-300 bg-white/85 text-amber-950 hover:bg-amber-100 hover:text-amber-950",onClick:a,disabled:o,"aria-label":o?"Syncing production config":"Sync production config into this dev workspace",title:o?"Syncing production config":"Sync production config into this dev workspace",children:[(0,$.jsx)(qf,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:o?"Syncing production config\u2026":"Sync production config"})]})}):null]})})}function TT(){let[e,t]=(0,ve.useState)(null),[n,r]=(0,ve.useState)(""),[o,a]=(0,ve.useState)(""),[i,l]=(0,ve.useState)(null),[s,c]=(0,ve.useState)([]),[d,u]=(0,ve.useState)(!0),[f,m]=(0,ve.useState)(!1),[b,p]=(0,ve.useState)(!1),[v,h]=(0,ve.useState)(!1),[g,y]=(0,ve.useState)(""),[x,R]=(0,ve.useState)(""),[w,E]=(0,ve.useState)(!1),[C,M]=(0,ve.useState)("model-alias"),[L,F]=(0,ve.useState)(!1),[z,G]=(0,ve.useState)(!1),[ee,de]=(0,ve.useState)(0),[q,ae]=(0,ve.useState)(""),[te,W]=(0,ve.useState)(""),[V,Pe]=(0,ve.useState)(""),[ne,$e]=(0,ve.useState)(""),[ie,we]=(0,ve.useState)(!1),[Ue,j]=(0,ve.useState)(!1),[pe,Se]=(0,ve.useState)(!1),[Le,Ae]=(0,ve.useState)(""),[ke,Qe]=(0,ve.useState)("usage"),[Ze,on]=(0,ve.useState)(null),[Un,dn]=(0,ve.useState)({status:"idle",message:"",savedAt:""}),wt=(0,ve.useRef)(""),bt=(0,ve.useRef)(""),vt=(0,ve.useRef)(null),Ve=(0,ve.useRef)(null),Ft=(0,ve.useRef)(null),en=(0,ve.useRef)(0),hn=(0,ve.useRef)(""),Nr=(0,ve.useRef)(0);(0,ve.useEffect)(()=>{wt.current=n},[n]),(0,ve.useEffect)(()=>{bt.current=o},[o]),(0,ve.useEffect)(()=>()=>{Ft.current&&(clearTimeout(Ft.current),Ft.current=null)},[]);let Te=n!==o,rt=e?.config?.document,pt=i?.summary||e?.config||{},fo=i?.validationMessages||e?.config?.validationMessages||[],At=(0,ve.useMemo)(()=>Cy(e?.config?.rawText||"{}",e?.config?.document||{}),[e?.config?.rawText,e?.config?.document]),Ee=(0,ve.useMemo)(()=>KC(n,At),[n,At]),yn=(0,ve.useMemo)(()=>Cy(n,At),[n,At]),O=Ee.parseError?At:Ee.value,ge=(0,ve.useMemo)(()=>Array.isArray(O?.providers)?O.providers:[],[O]),re=(0,ve.useMemo)(()=>O?.modelAliases&&typeof O.modelAliases=="object"&&!Array.isArray(O.modelAliases)?O.modelAliases:{},[O]),je=(0,ve.useMemo)(()=>Tb(O),[O]),T=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:"",k=O,H=e?.config?.localServer||e?.startup?.defaults||null,ue=(0,ve.useMemo)(()=>bI(H||{}),[H?.host,H?.port]),nt=e?.ampClient?.global||{},qt=e?.webSearch||e?.ampWebSearch||null,Me=e?.codingTools?.codexCli||{},Y=e?.codingTools?.claudeCode||{},ye=e?.codingTools?.factoryDroid||{},$n=nt?.routedViaRouter===!0,Ii=Me?.routedViaRouter===!0,zi=Y?.routedViaRouter===!0,Fu=ye?.routedViaRouter===!0,Js=e?.ollama||null,Va=Js?.connected===!0,[X,Ge]=(0,ve.useState)([]),qe=O?.metadata?.localModels||{},ct=(0,ve.useMemo)(()=>({runtime:{...qe?.runtime||{},ollama:{...qe?.runtime?.ollama||{},status:Va?"running":"stopped"}},library:qe?.library||{},variants:qe?.variants||{}}),[qe,Va]),Cn=(0,ve.useMemo)(()=>dT(ct),[ct]),[Vr,mo]=(0,ve.useState)({}),[fn,mn]=(0,ve.useState)(!1),Jn=(e?.activityLog||{enabled:!0})?.enabled!==!1,Zs=(0,ve.useMemo)(()=>Tb(k),[k]),Pi=(0,ve.useMemo)(()=>Oy(k),[k]),kl=(0,ve.useMemo)(()=>Ti(sr(k)),[k]),tp=(0,ve.useMemo)(()=>g1(k,qt),[k,qt]),_T=(0,ve.useMemo)(()=>h1(tp,Y?.webSearchProvider||""),[tp,Y?.webSearchProvider]),LT=(0,ve.useMemo)(()=>{let A=new Set((Array.isArray(kl?.providers)?kl.providers:[]).map(N=>Mn(N?.id)).filter(Boolean));return p1(k,A)},[k,kl]),oa=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:Zs.length===0?"Add at least one alias or provider/model route before configuring AMP.":"",po=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:"",aa=Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:je.length===0?"Add at least one alias or provider/model route before configuring coding-tool bindings.":"",DT=(0,ve.useMemo)(()=>Li(je,Vf(Me?.bindings?.defaultModel)?[]:[Me?.bindings?.defaultModel]),[je,Me?.bindings?.defaultModel]),BT=(0,ve.useMemo)(()=>Li(je,[Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),[je,Y?.bindings?.primaryModel,Y?.bindings?.defaultOpusModel,Y?.bindings?.defaultSonnetModel,Y?.bindings?.defaultHaikuModel,Y?.bindings?.subagentModel]),IT=(0,ve.useMemo)(()=>Li(je,[ye?.bindings?.defaultModel,ye?.bindings?.missionOrchestratorModel,ye?.bindings?.missionWorkerModel,ye?.bindings?.missionValidatorModel]),[je,ye?.bindings?.defaultModel,ye?.bindings?.missionOrchestratorModel,ye?.bindings?.missionWorkerModel,ye?.bindings?.missionValidatorModel]),np=String(k?.amp?.defaultRoute||k?.defaultModel||Su(k)||"").trim(),Zn=String(k?.masterKey||e?.config?.document?.masterKey||"").trim(),zT=(0,ve.useMemo)(()=>l1(Zn),[Zn]),rp=ge.length>0,PT=rp&&z,Ol=e?.router?.running===!0,Fb=e?.startup?.installed===!0,op=e?.environment?.devMode===!0,Hb=String(e?.config?.path||e?.environment?.configPath||"").trim(),$b=String(e?.environment?.productionConfigPath||"").trim(),ap=e?.environment?.canSyncProductionConfig===!0,Hu=Number.isInteger(Number(e?.config?.localServer?.port))?Number(e.config.localServer.port):Number.isInteger(Number(e?.router?.port))?Number(e.router.port):8376,ip=g==="start"?"Starting\u2026":g==="stop"?"Stopping\u2026":Ol?"Stop server":"Start server",lp=x==="enable"?"Enabling OS startup\u2026":x==="disable"?"Disabling OS startup\u2026":Fb?"Disable OS startup":"Enable OS startup",Kb=e?.router?.portBusy?e?.router?.portBusyReason||`Port ${Hu} is occupied${e?.router?.listenerPids?.length>0?` by PID${e.router.listenerPids.length===1?"":"s"} ${e.router.listenerPids.join(", ")}`:""}.`:String(e?.router?.lastError||"").trim(),UT=!im(O),Gb=ge.filter(A=>A?.type!=="ollama"),qb=Gb.length>0?"existing":"blank",Wb=Gb[0]?.id||"",Yb=e?.defaults?.providerUserAgent||io;(0,ve.useEffect)(()=>{if(d||f||Ee.parseError)return;if(Zn){hn.current="";return}let A=String(e?.config?.rawText||o||"__empty__");hn.current!==A&&(hn.current=A,$T({showSuccessNotice:!1}))},[o,Zn,d,Ee.parseError,f,e?.config?.rawText]),(0,ve.useEffect)(()=>{if(Ft.current&&(clearTimeout(Ft.current),Ft.current=null),!Ze)return;let A=Ze.immediate===!0?0:450;return Ft.current=setTimeout(()=>{Ft.current=null;let N=Ze.sequence;dn(I=>({...I,status:"saving",message:""})),(async()=>{try{let I=await Xe("/api/amp/apply",{method:"POST",headers:Ye,body:JSON.stringify({rawText:Ze.rawText,source:"autosave"})});if(N!==en.current)return;Mo(I,{preserveDraft:wt.current!==Ze.rawText}),dn({status:"saved",message:"",savedAt:new Date().toISOString()})}catch(I){if(N!==en.current)return;let he=I instanceof Error?I.message:String(I);dn({status:"error",message:he,savedAt:""}),B("error",he)}})()},A),()=>{Ft.current&&(clearTimeout(Ft.current),Ft.current=null)}},[Ze]);function jT(){G(!0),de(A=>A+1)}function VT(){jT()}function sp(){G(!1)}(0,ve.useEffect)(()=>{!rp&&z&&G(!1)},[rp,z]);function B(A,N){Nr.current+=1,c(I=>[...I,{id:`notice-${Nr.current}`,tone:A,message:N}])}function Qb(A){c(N=>N.filter(I=>I.id!==A))}function Mo(A,{preserveDraft:N=!1}={}){t(A);let I=String(A?.config?.rawText||"");if(!N||wt.current===bt.current){r(I),a(I),F(!1),l({rawText:I,summary:A?.config,validationMessages:A?.config?.validationMessages||[]});return}a(I),I!==bt.current&&F(!0)}async function an({preserveDraft:A=!1}={}){let N=await Xe("/api/state");Mo(N,{preserveDraft:A})}(0,ve.useEffect)(()=>{let A=!1;function N(){vt.current&&(vt.current.close(),vt.current=null)}function I(){Ve.current&&(clearTimeout(Ve.current),Ve.current=null)}function he(){A||Ve.current||(Ve.current=setTimeout(()=>{Ve.current=null,_e({isReconnect:!0})},xC))}function _e({isReconnect:ot=!1}={}){if(A)return;I(),N();let We=new EventSource("/api/events");vt.current=We,We.onopen=()=>{A||vt.current!==We||ot&&an({preserveDraft:wt.current!==bt.current}).catch(()=>{})},We.addEventListener("state",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);Ht?.snapshot&&Mo(Ht.snapshot,{preserveDraft:!0})}catch(Ht){B("error",Ht instanceof Error?Ht.message:String(Ht))}}),We.addEventListener("log",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);t(Ke=>Ke&&{...Ke,logs:[Ht,...Ke.logs||[]].slice(0,150)})}catch{}}),We.addEventListener("logs",Kt=>{if(!(A||vt.current!==We))try{let Ht=JSON.parse(Kt.data);t(Ke=>Ke&&{...Ke,...Ht?.activityLog?{activityLog:Ht.activityLog}:{},logs:Array.isArray(Ht?.logs)?Ht.logs:[]})}catch{}}),We.onerror=()=>{A||vt.current!==We||(N(),he())}}return(async()=>{try{await an()}catch(ot){A||B("error",ot instanceof Error?ot.message:String(ot))}finally{A||(u(!1),_e())}})(),()=>{A=!0,I(),N()}},[]);async function Xb(A,{silent:N=!1}={}){p(!0);try{let I=await Xe("/api/config/validate",{method:"POST",headers:Ye,body:JSON.stringify({rawText:A})});return l({rawText:A,summary:I.summary,validationMessages:I.validationMessages||[]}),N||B(GC(I.summary)==="success"?"success":"warning",I.summary.validationSummary),I}catch(I){throw N||B("error",I instanceof Error?I.message:String(I)),I}finally{p(!1)}}async function cp(A,{successMessage:N="Config saved.",showSuccessNotice:I=!0}={}){m(!0);try{let he=await Xe("/api/config/save",{method:"POST",headers:Ye,body:JSON.stringify({rawText:A})});return Mo(he,{preserveDraft:wt.current!==A}),I&&N&&B("success",N),he}catch(he){throw B("error",he instanceof Error?he.message:String(he)),he}finally{m(!1)}}async function Jb(){if(!(!ap||w)&&!(Te&&typeof window<"u"&&typeof window.confirm=="function"&&!window.confirm("Replace the current dev draft with the production config file? Unsaved edits in this dev session will be lost."))){E(!0);try{let A=await Xe("/api/config/sync-production",{method:"POST",headers:Ye,body:"{}"});Mo(A,{preserveDraft:!1}),B("success",A?.message||"Production config synced into the dev workspace.")}catch(A){B("error",A instanceof Error?A.message:String(A))}finally{E(!1)}}}function Ui(A,{immediate:N=!1}={}){let I=en.current+1;en.current=I,on({sequence:I,rawText:A,immediate:N===!0}),dn(he=>({status:"pending",message:"",savedAt:he.savedAt}))}function Fr(A){r(A),l(null)}async function ia(A,N,I={}){let he=`${JSON.stringify(A,null,2)}
|
|
59
|
+
`;Fr(he),F(!1),await cp(he,{successMessage:N,...I})}async function Zb({providerId:A,endpoints:N,newModelIds:I,credentialPayload:he,headers:_e,onModelTestStateChange:ot}){if(!Array.isArray(I)||I.length===0)return ot?.({phase:"",modelStates:{},failedModelIds:[],message:""}),{ok:!0};let We=Object.fromEntries(I.map(Ke=>[Ke,"pending"])),Kt=({phase:Ke="testing",message:Kn="",failedModelIds:dt=[]}={})=>{ot?.({phase:Ke,modelStates:{...We},failedModelIds:dt,message:Kn})},Ht=()=>`Testing ${I.filter(Kn=>We[Kn]==="success"||We[Kn]==="error").length}/${I.length} new model${I.length===1?"":"s"} for ${A}.`;Kt({phase:"testing",message:Ht()});try{let Ke=await Ru("/api/config/test-provider-stream",{method:"POST",headers:Ye,body:JSON.stringify({endpoints:N,models:I,...he,..._e&&typeof _e=="object"&&!Array.isArray(_e)?{headers:_e}:{}})},{onMessage:Wt=>{if(Wt?.type!=="progress")return;let go=Wt.event||{};if(go.phase!=="model-done")return;let la=String(go.model||"").trim();!la||!Object.prototype.hasOwnProperty.call(We,la)||(We[la]=go.confirmed?"success":"error",Kt({phase:"testing",message:Ht()}))}}),Kn=new Set(Array.isArray(Ke?.models)?Ke.models:[]),dt=I.filter(Wt=>!Kn.has(Wt));for(let Wt of I)We[Wt]=Kn.has(Wt)?"success":"error";if(!Ke?.ok||dt.length>0){let Wt=dt.length>0?`New model test failed for ${A}: ${dt.join(", ")}.`:(Ke?.warnings||[]).join(" ")||`New model test failed for ${A}.`;return Kt({phase:"",failedModelIds:dt,message:Wt}),B("warning",Wt),{ok:!1,failedModelIds:dt,result:Ke}}return Kt({phase:"saving",message:`Saving ${I.length} confirmed new model${I.length===1?"":"s"} for ${A}.`}),{ok:!0,failedModelIds:[],result:Ke}}catch(Ke){for(let Wt of I)We[Wt]!=="success"&&(We[Wt]="error");let Kn=Ke instanceof Error?Ke.message:String(Ke),dt=I.filter(Wt=>We[Wt]==="error");return Kt({phase:"",failedModelIds:dt,message:Kn}),B("error",Kn),{ok:!1,failedModelIds:dt}}}async function FT(A,N,{showSuccessNotice:I=!0}={}){if(T)return B("warning",T),!1;let he=String(N?.id||"").trim(),_e=String(N?.name||"").trim(),ot=Array.isArray(N?.endpoints)?Sr(N.endpoints):lr([],N?.endpoint||""),We=Array.isArray(N?.rateLimitRows)?wr(N.rateLimitRows):[],Kt=ge.find(Wt=>Wt?.id===A),Ht=Co(Kt)==="api",Ke=bu(Kt);if(!he)return B("warning","Provider id is required."),!1;if(!fl.test(he))return B("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!_e)return B("warning","Provider name is required."),!1;if(he!==A&&ge.some(Wt=>Wt?.id===he))return B("warning",`Provider id "${he}" already exists.`),!1;if(Ht&&ot.length===0)return B("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Ht&&ot.some(Wt=>!Ni(Wt)))return B("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Kn=Ht?$o(We,{knownModelIds:Ke,requireAtLeastOne:!0}):"";if(Kn)return B("warning",Kn),!1;let dt=my(Ee.value||At,A,{...N,endpoints:ot,rateLimitRows:We});try{return await ia(dt,`Updated provider ${he}.`,{showSuccessNotice:I}),!0}catch{return!1}}async function HT(A,{providerDraft:N=null,modelRows:I=null,showSuccessNotice:he=!0,onModelTestStateChange:_e=null}={}){if(T)return B("warning",T),!1;let ot=ge.find(Hr=>Hr?.id===A);if(!ot)return B("error",`Provider '${A}' was not found.`),!1;let We=!!(N&&typeof N=="object"),Kt=Array.isArray(I);if(!We&&!Kt)return!0;let Ht=Co(ot)==="api",Ke=We?String(N?.id||"").trim():A,Kn=We?String(N?.name||"").trim():String(ot?.name||A).trim(),dt=We?Array.isArray(N?.endpoints)?Sr(N.endpoints):lr([],N?.endpoint||""):Ba(ot),Wt=We&&Array.isArray(N?.rateLimitRows)?wr(N.rateLimitRows):[],go=Kt?I.map(Hr=>({...Hr,id:String(Hr?.id||"").trim(),contextWindow:Qo(Hr?.contextWindow||"")})).filter(Hr=>Hr.id):[];if(We){let Hr=Kt?go.map($r=>$r.id):bu(ot);if(!Ke)return B("warning","Provider id is required."),!1;if(!fl.test(Ke))return B("warning","Provider id must start with a letter and use lowercase letters, digits, or dashes only."),!1;if(!Kn)return B("warning","Provider name is required."),!1;if(Ke!==A&&ge.some($r=>$r?.id===Ke))return B("warning",`Provider id "${Ke}" already exists.`),!1;if(Ht&&dt.length===0)return B("warning","API Key providers require at least one valid http(s) endpoint."),!1;if(Ht&&dt.some($r=>!Ni($r)))return B("warning","One or more endpoints are invalid. Use full http:// or https:// URLs."),!1;let Ha=Ht?$o(Wt,{knownModelIds:Hr,requireAtLeastOne:!0}):"";if(Ha)return B("warning",Ha),!1}if(Kt){if(go.length===0)return B("warning","Keep at least one model id on the provider."),!1;if(Bs(go.map(ho=>ho.id)))return B("warning","Model ids must be unique for each provider."),!1;if(go.some(ho=>{let $u=String(ho?.contextWindow||"").trim();if(!$u)return!1;let fp=Number.parseInt($u,10);return!Number.isFinite(fp)||fp<=0||String(fp)!==$u}))return B("warning","Context windows must be positive integers when set."),!1;let Ha=bu(ot),$r=go.map(ho=>ho.id).filter(ho=>!Ha.includes(ho));if(Ht&&$r.length>0){if(dt.length===0)return B("warning",`Provider '${Ke}' needs at least one endpoint before testing new models.`),!1;let ho=Ey(N,ot);if(!ho.apiKey&&!ho.apiKeyEnv)return B("warning",`Provider '${Ke}' needs an API key or env before testing new models.`),!1;if(!(await Zb({providerId:Ke,endpoints:dt,newModelIds:$r,credentialPayload:ho,headers:ot?.headers,onModelTestStateChange:_e})).ok)return!1}}let la=Ee.value||At;We&&(la=my(la,A,{...N,endpoints:dt,rateLimitRows:Wt})),Kt&&(la=fy(la,We?Ke:A,go));let KM=We&&Kt?`Updated provider ${Ke} and saved its model list.`:We?`Updated provider ${Ke}.`:(()=>{let Hr=bu(ot),Ha=go.map($r=>$r.id).filter($r=>!Hr.includes($r));return Ha.length>0?`Tested ${Ha.length} new model${Ha.length===1?"":"s"} and updated ${Ke}.`:`Updated models for ${Ke}.`})();try{return await ia(la,KM,{showSuccessNotice:he}),_e?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function $T({showSuccessNotice:A=!1}={}){if(Ee.parseError||String((Ee.value||At||{}).masterKey||"").trim())return!1;let N=Go(Ee.value||At||{});N.masterKey=yu();try{return await ia(N,"Gateway key ready.",{showSuccessNotice:A}),!0}catch{return!1}}async function KT(){if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}try{await Vu(Zn),B("success","Gateway key copied to clipboard.")}catch(A){B("error",A instanceof Error?A.message:String(A))}}async function GT(){if(!ue){B("warning","API endpoint is not ready yet.");return}try{await Vu(ue),B("success","API endpoint copied to clipboard.")}catch(A){B("error",A instanceof Error?A.message:String(A))}}async function qT(A){let N=String(A||"").trim();if(!N){B("warning","Alias id is not ready yet.");return}try{await Vu(N),B("success",`Alias id ${N} copied to clipboard.`)}catch(I){B("error",I instanceof Error?I.message:String(I))}}async function Fa(A,N,{ensureMode:I="none",successMessage:he=""}={}){let _e=String(A||"").trim();if(!_e){B("warning",`${N} is not resolved yet.`);return}try{await Xe("/api/file/open",{method:"POST",headers:Ye,body:JSON.stringify({editorId:"default",filePath:_e,ensureMode:I})}),B("success",he||`Opened ${N} in the default app.`)}catch(ot){B("error",ot instanceof Error?ot.message:String(ot))}}async function WT(A){let N=String(A||"").trim();if(!N){B("warning","Model id is not ready yet.");return}try{await Vu(N),B("success",`Model id ${N} copied to clipboard.`)}catch(I){B("error",I instanceof Error?I.message:String(I))}}async function YT(){if(!(typeof window>"u"?!0:window.confirm("Rotate the gateway key? Existing clients using the old key will need the new one. Linked tools like AMP, Codex CLI, and Claude Code will auto-update to the new key.")))return;let N=Go(Ee.value||At||{});N.masterKey=yu();try{await ia(N,"Rotated gateway key. Linked tools like AMP, Codex CLI, and Claude Code refreshed automatically.")}catch{}}async function QT(A,N,{providerDraft:I=null,onModelTestStateChange:he=null}={}){if(T)return B("warning",T),!1;let _e=ge.find(dt=>dt?.id===A);if(!_e)return B("error",`Provider '${A}' was not found.`),!1;let ot=(Array.isArray(N)?N:[]).map(dt=>({...dt,id:String(dt?.id||"").trim()})).filter(dt=>dt.id),We=I&&String(I?.id||"").trim()||A,Kt=I?Array.isArray(I?.endpoints)?Sr(I.endpoints):lr([],I?.endpoint||""):Ba(_e),Ht=(Array.isArray(_e?.models)?_e.models:[]).map(dt=>String(dt?.id||"").trim()).filter(Boolean),Ke=ot.map(dt=>dt.id).filter(dt=>!Ht.includes(dt));if(Co(_e)==="api"&&Ke.length>0){if(Kt.length===0)return B("warning",`Provider '${We}' needs at least one endpoint before testing new models.`),!1;let dt=Ey(I,_e);if(!dt.apiKey&&!dt.apiKeyEnv)return B("warning",`Provider '${We}' needs an API key or env before testing new models.`),!1;if(!(await Zb({providerId:We,endpoints:Kt,newModelIds:Ke,credentialPayload:dt,headers:_e?.headers,onModelTestStateChange:he})).ok)return!1}let Kn=fy(Ee.value||At,A,ot);try{let dt=Ke.length>0?`Tested ${Ke.length} new model${Ke.length===1?"":"s"} and updated ${A}.`:`Updated models for ${A}.`;return await ia(Kn,dt),he?.({phase:"",modelStates:{},failedModelIds:[],message:""}),!0}catch{return!1}}async function XT(A,N,I={}){if(T)return B("warning",T),!1;let he=dC(Ee.value||At,A,N),_e=String(N?.id||A||"").trim()||A;try{return await ia(he,I.successMessage||`Updated alias ${_e}.`,{showSuccessNotice:I.showSuccessNotice!==!1}),!0}catch{return!1}}async function JT(A){if(T){B("warning",T);return}if(!(typeof window>"u"?!0:window.confirm(`Remove alias "${A}" from the config?`)))return;let I=fC(Ee.value||At,A);try{await ia(I,`Removed alias ${A}.`)}catch{}}async function vI(A){try{await Vu(A?.url||""),B("success",`${A?.label||"Endpoint"} copied to clipboard.`)}catch(N){B("error",N instanceof Error?N.message:String(N))}}async function ZT(){let N=!(nt?.routedViaRouter===!0);if(N){if(oa){B("warning",oa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}ae(N?"enable":"disable");try{let I=!1,he;try{he=await Xe("/api/amp/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue})})}catch(ot){if(ot?.statusCode===404&&N)I=!0,he=await Xe("/api/amp/apply",{method:"POST",headers:Ye,body:JSON.stringify({rawText:n,source:"amp-global-route-compat",patchScope:"global",endpointUrl:ue})});else throw ot?.statusCode===404?new Error("Restart the web console so the AMP routing endpoint is available."):ot}await an({preserveDraft:!N});let _e=N?"AMP connected.":"AMP disconnected.";B("success",I?`${_e} Restart the web console if the AMP status does not refresh.`:_e)}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{ae("")}}function eM(A,N){if(oa){B("warning",oa);return}let I=String(N||"").trim(),he=Pi.find(We=>We.id!==A&&String(We?.inbound||"").trim()===I);if(I&&he){B("warning",`AMP inbound match "${I}" already exists.`);return}let _e=_y(Ee.value||At,A,{inbound:N}),ot=`${JSON.stringify(_e,null,2)}
|
|
60
|
+
`;Fr(ot),Ui(ot)}function tM(A,N){if(oa){B("warning",oa);return}let I=_y(Ee.value||At,A,{outbound:N==="__default__"?"":N}),he=`${JSON.stringify(I,null,2)}
|
|
61
|
+
`;Fr(he),Ui(he)}function nM(A){if(po){B("warning",po);return}let N=y1(Ee.value||At,{strategy:A}),I=`${JSON.stringify(N,null,2)}
|
|
62
|
+
`;Fr(I),Ui(I)}function rM(A,N,I){if(po){B("warning",po);return}let he=b1(Ee.value||At,A,{[N]:I}),_e=`${JSON.stringify(he,null,2)}
|
|
63
|
+
`;Fr(_e),Ui(_e,{immediate:w1(A,N,I)})}function oM(A,N){if(po){B("warning",po);return}let I=S1(Ee.value||At,A,N),he=`${JSON.stringify(I,null,2)}
|
|
64
|
+
`;Fr(he),Ui(he)}function aM(A){if(po){B("warning",po);return}let N=x1(Ee.value||At,A),I=`${JSON.stringify(N,null,2)}
|
|
65
|
+
`;Fr(I),Ui(I,{immediate:!0})}async function iM({providerId:A,modelId:N}){if(po)throw new Error(po);let I=Ei(A,N);if(!I)throw new Error("Choose a provider and GPT model before testing.");if(new Set((Array.isArray(kl?.providers)?kl.providers:[]).map(Kt=>Mn(Kt?.id)).filter(Boolean)).has(Mn(I)))throw new Error(`Web search route '${I}' is already configured.`);let _e=await Xe("/api/config/test-web-search-provider",{method:"POST",headers:Ye,body:JSON.stringify({providerId:A,modelId:N,rawText:n})}),ot=v1(Ee.value||At,A,N),We=`${JSON.stringify(ot,null,2)}
|
|
66
|
+
`;return Fr(We),Ui(We,{immediate:!0}),B("success",`Added ${I} to shared web search routing.`),_e?.result||null}async function lM({inbound:A,outbound:N}){if(oa)return B("warning",oa),!1;let I=String(A||"").trim();if(I&&Pi.some(_e=>String(_e?.inbound||"").trim()===I))return B("warning",`AMP inbound match "${I}" already exists.`),!1;let he=u1(Ee.value||At,{inbound:A,outbound:N});try{return await ia(he,`Added AMP route ${String(A||"").trim()}.`),!0}catch{return!1}}async function sM(A){let N=findAmpEditableRouteEntry(Ee.value||At,A);if(!N?.removable)return;let I=N.source==="raw"?N.inbound||N.label:N.routeKey||N.label;if(!(typeof window>"u"?!0:window.confirm(`Remove AMP route mapping "${I}"?`)))return;let _e=d1(Ee.value||At,A);try{await ia(_e,`Removed AMP route ${I}.`)}catch{}}function xI(){r(o),l({rawText:o,summary:e?.config,validationMessages:e?.config?.validationMessages||[]}),F(!1),B("success","Editor reset to the latest disk version.")}function ev(A){Fr(A),F(!1),B("success","Quick-start config loaded into the editor.")}async function tv(A){Fr(A);try{await Xb(A)}catch{}}async function up(A){Fr(A);let N;try{N=await Xb(A,{silent:!0})}catch{return null}let I=N?.summary||{};if(I.parseError)return B("warning",I.validationSummary||"Quick-start config contains invalid JSON."),null;try{let he=await cp(A,{successMessage:"Quick-start config saved."});return(I.validationErrors||[]).length>0&&B("warning",I.validationSummary),he}catch{return null}}async function nv(A){let N=await up(A);return N?(M("activity"),N.router?.running?(B("success","Quick-start config saved. Router is already running."),!0):(B("success","Quick-start config saved. Starting router\u2026"),setTimeout(()=>{dp("start")},0),!0)):!1}async function cM(A){let N=await up(A);return N&&sp(),!!N}async function uM(A){let N=await nv(A);return N&&sp(),N}async function dM(){h(!0);try{await Xe("/api/config/open",{method:"POST",headers:Ye,body:JSON.stringify({editorId:"default"})}),B("success","Opened config file in the default app.")}catch(A){B("error",A instanceof Error?A.message:String(A))}finally{h(!1)}}async function fM(){let N=!(Me?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}W(N?"enable":"disable");try{await Xe("/api/codex-cli/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{defaultModel:Me?.bindings?.defaultModel||np,thinkingLevel:Me?.bindings?.thinkingLevel||""}:void 0})}),await an({preserveDraft:!N}),B("success",N?"Codex CLI connected.":"Codex CLI disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{W("")}}async function mM(){let N=!(Y?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}Pe(N?"enable":"disable");try{await Xe("/api/claude-code/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""}:void 0})}),await an({preserveDraft:!N}),B("success",N?"Claude Code connected.":"Claude Code disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{Pe("")}}async function pM(A,N){let I={defaultModel:Me?.bindings?.defaultModel||np,thinkingLevel:Me?.bindings?.thinkingLevel||""};I[A]=N,we(!0);try{await Xe("/api/codex-cli/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:I})}),await an({preserveDraft:!0}),B("success","Codex CLI bindings updated.")}catch(he){B("error",he instanceof Error?he.message:String(he))}finally{we(!1)}}async function gM(A,N){if(A==="webSearchProvider"){j(!0);try{let _e=await Xe("/api/claude-code/search-provider",{method:"POST",headers:Ye,body:JSON.stringify({webSearchProvider:N,rawText:n})});Mo(_e,{preserveDraft:!1}),B("success",N?"Claude Code search capability updated.":"Claude Code search capability cleared.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}return}let I=Y?.routedViaRouter===!0;if(A==="thinkingLevel"&&!I){j(!0);try{await Xe("/api/claude-code/effort-level",{method:"POST",headers:Ye,body:JSON.stringify({effortLevel:N})}),await an({preserveDraft:!0}),B("success",N?`Effort level set to ${N}.`:"Effort level cleared.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}return}let he={primaryModel:Y?.bindings?.primaryModel||"",defaultOpusModel:Y?.bindings?.defaultOpusModel||"",defaultSonnetModel:Y?.bindings?.defaultSonnetModel||"",defaultHaikuModel:Y?.bindings?.defaultHaikuModel||"",subagentModel:Y?.bindings?.subagentModel||"",thinkingLevel:Y?.bindings?.thinkingLevel||""};he[A]=N,j(!0);try{await Xe("/api/claude-code/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:he})}),await an({preserveDraft:!0}),B("success","Claude Code model bindings updated.")}catch(_e){B("error",_e instanceof Error?_e.message:String(_e))}finally{j(!1)}}async function hM(){let N=!(ye?.routedViaRouter===!0);if(N){if(aa){B("warning",aa);return}if(!Zn){B("warning","Gateway key is still generating. Try again in a second.");return}if(!ue){B("warning","API endpoint is not ready yet.");return}}$e(N?"enable":"disable");try{await Xe("/api/factory-droid/global-route",{method:"POST",headers:Ye,body:JSON.stringify({enabled:N,rawText:N?n:void 0,endpointUrl:ue,bindings:N?{defaultModel:ye?.bindings?.defaultModel||"",missionOrchestratorModel:ye?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ye?.bindings?.missionWorkerModel||"",missionValidatorModel:ye?.bindings?.missionValidatorModel||"",reasoningEffort:ye?.bindings?.reasoningEffort||""}:void 0})}),await an({preserveDraft:!N}),B("success",N?"Factory Droid connected.":"Factory Droid disconnected.")}catch(I){B("error",I instanceof Error?I.message:String(I))}finally{$e("")}}async function yM(A,N){let I={defaultModel:ye?.bindings?.defaultModel||"",missionOrchestratorModel:ye?.bindings?.missionOrchestratorModel||"",missionWorkerModel:ye?.bindings?.missionWorkerModel||"",missionValidatorModel:ye?.bindings?.missionValidatorModel||"",reasoningEffort:ye?.bindings?.reasoningEffort||""};I[A]=N,Se(!0);try{await Xe("/api/factory-droid/model-bindings",{method:"POST",headers:Ye,body:JSON.stringify({bindings:I})}),await an({preserveDraft:!0}),B("success","Factory Droid model bindings updated.")}catch(he){B("error",he instanceof Error?he.message:String(he))}finally{Se(!1)}}async function dp(A){y(A);try{let N=await Xe(`/api/router/${A}`,{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||`Router ${A}ed.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{y("")}}async function bM(A){R(A);try{let N=await Xe(`/api/startup/${A}`,{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||`Startup ${A}d.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{R("")}}async function vM(){let A=!Jn;Ae("toggle");try{let N=await Xe("/api/activity-log/settings",{method:"POST",headers:Ye,body:JSON.stringify({enabled:A})});Mo(N,{preserveDraft:!0}),B("success",N.message||`Activity log ${A?"enabled":"disabled"}.`)}catch(N){await an({preserveDraft:!0}).catch(()=>{}),B("error",N instanceof Error?N.message:String(N))}finally{Ae("")}}async function xM(){if(typeof window>"u"||window.confirm("Clear the shared activity log file? This also clears the Activity tab for connected web console sessions.")){Ae("clear");try{let N=await Xe("/api/activity-log/clear",{method:"POST",headers:Ye,body:"{}"});Mo(N,{preserveDraft:!0}),B("success",N.message||"Activity log cleared.")}catch(N){B("error",N instanceof Error?N.message:String(N))}finally{Ae("")}}}async function SM(A){let N=ge.find(ot=>ot.id===A);if(!(typeof window>"u"?!0:window.confirm(`Remove provider "${N?.name||A}" from the config?`)))return;let he=YC(e?.config?.document||yn||{},A),_e=`${JSON.stringify(he,null,2)}
|
|
67
|
+
`;Fr(_e);try{await cp(_e,{successMessage:`Removed provider ${N?.name||A}.`})}catch{}}async function wM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await L1(A),await an({preserveDraft:!1}),B("success",`Saved local variant ${String(A?.name||A?.id||"").trim()||"draft"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function AM({silent:A=!1}={}){if(Ee.parseError)return A||B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return A||B("warning","Save or discard the current config draft before changing local models."),!1;try{return await z1(),await an({preserveDraft:!1}),A||B("success","Local model status refreshed."),!0}catch(N){return A||B("error",N instanceof Error?N.message:String(N)),!1}}async function CM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await D1(A),await an({preserveDraft:!1}),B("success",`Attached local model ${String(A?.displayName||A?.id||"").trim()||"draft"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function RM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await B1(A),await an({preserveDraft:!1}),B("success","Updated local model path."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function NM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await I1(A),await an({preserveDraft:!1}),B("success","Removed local model."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function EM(A,{onMessage:N}={}){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await _1(A,{onMessage:N}),await an({preserveDraft:!1}),B("success",`Downloaded ${String(A?.displayName||A?.file||"").trim()||"managed GGUF"}.`),!0}catch(I){return B("error",I instanceof Error?I.message:String(I)),!1}}async function TM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await P1(A),await an({preserveDraft:!1}),B("success",`Selected llama.cpp runtime ${String(A||"").trim()||"binary"}.`),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function MM(A){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/settings",{method:"POST",headers:Ye,body:JSON.stringify(A)}),await an({preserveDraft:!1}),B("success","Updated llama.cpp runtime settings."),!0}catch(N){return B("error",N instanceof Error?N.message:String(N)),!1}}async function kM(){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/start",{method:"POST",headers:Ye,body:"{}"}),await an({preserveDraft:!1}),B("success","Started llama.cpp runtime."),!0}catch(A){return B("error",A instanceof Error?A.message:String(A)),!1}}async function OM(){if(Ee.parseError)return B("warning",`Fix the raw JSON parse error first: ${Ee.parseError}`),!1;if(wt.current!==bt.current)return B("warning","Save or discard the current config draft before changing local models."),!1;try{return await Xe("/api/local-models/runtime/stop",{method:"POST",headers:Ye,body:"{}"}),await an({preserveDraft:!1}),B("success","Stopped llama.cpp runtime."),!0}catch(A){return B("error",A instanceof Error?A.message:String(A)),!1}}async function ko(){mn(!0);try{let N=await(await fetch("/api/ollama/models",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})).json();N?.models&&Ge(N.models)}catch{}finally{mn(!1)}}(0,ve.useEffect)(()=>{C==="local-models"&&Va&&ko()},[C,Va]);function _l(A,N,I){mo(he=>({...he,[A]:{...he[A]||{},[N]:I}}))}async function _M(A){_l(A,"loading",!0);try{await fetch("/api/ollama/load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}finally{_l(A,"loading",!1)}}async function LM(A){_l(A,"unloading",!0);try{await fetch("/api/ollama/unload",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}finally{_l(A,"unloading",!1)}}async function DM(A,N){_l(A,"pinning",!0);try{await fetch("/api/ollama/pin",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,pinned:N})}),await ko()}finally{_l(A,"pinning",!1)}}async function BM(A,N){await fetch("/api/ollama/keep-alive",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,keepAlive:N})}),await ko()}async function IM(A,N){await fetch("/api/ollama/context-length",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,contextLength:N})}),await ko()}async function zM(A){await fetch("/api/ollama/add-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}async function PM(A){await fetch("/api/ollama/remove-model",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A})}),await ko()}async function UM(A,N){await fetch("/api/ollama/auto-load",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:A,autoLoad:N})})}async function jM(A){await fetch("/api/ollama/save-settings",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(A)})}async function VM(){mo(A=>({...A,_install:!0}));try{await fetch("/api/ollama/install",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{mo(A=>({...A,_install:!1}))}}async function FM(){mo(A=>({...A,_startServer:!0}));try{await fetch("/api/ollama/start-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}finally{mo(A=>({...A,_startServer:!1}))}}async function HM(){await fetch("/api/ollama/stop-server",{method:"POST",headers:{"content-type":"application/json"},body:"{}"})}async function $M(){mo(A=>({...A,_syncRouter:!0}));try{await fetch("/api/ollama/sync-router",{method:"POST",headers:{"content-type":"application/json"},body:"{}"}),await ko()}finally{mo(A=>({...A,_syncRouter:!1}))}}return d?(0,$.jsx)("div",{className:"console-shell flex min-h-screen items-center justify-center px-6 py-10",children:(0,$.jsx)(Ut,{className:"w-full max-w-lg",children:(0,$.jsxs)(jt,{className:"space-y-3 p-6 text-center",children:[(0,$.jsx)("div",{className:"text-xs font-medium uppercase tracking-[0.2em] text-muted-foreground",children:"LLM Router"}),(0,$.jsx)("div",{className:"text-xl font-semibold text-foreground",children:"Loading web console\u2026"}),(0,$.jsx)("div",{className:"text-sm text-muted-foreground",children:"Preparing config state, router controls, and live activity."})]})})}):UT?(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-6 md:px-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-5xl flex-col gap-4",children:[(0,$.jsx)(kb,{notices:s,onDismiss:Qb}),op?(0,$.jsx)(ET,{currentConfigPath:Hb,productionConfigPath:$b,routerPort:Hu,canSyncProductionConfig:ap,syncBusy:w,onSyncProductionConfig:Jb}):null,(0,$.jsx)("div",{id:"quick-start-wizard",children:(0,$.jsx)(jb,{baseConfig:yn,seedMode:qb,mode:"onboarding",targetProviderId:Wb,defaultProviderUserAgent:Yb,onApplyDraft:ev,onValidateDraft:tv,onSaveDraft:up,onSaveAndStart:nv},`onboarding-wizard-${qb}-${Wb||"new"}`)})]})}):(0,$.jsx)("div",{className:"console-shell min-h-screen px-4 py-4 md:px-6 md:py-6",children:(0,$.jsxs)("div",{className:"mx-auto flex max-w-7xl flex-col gap-4",children:[op?(0,$.jsx)(ET,{currentConfigPath:Hb,productionConfigPath:$b,routerPort:Hu,canSyncProductionConfig:ap,syncBusy:w,onSyncProductionConfig:Jb}):null,(0,$.jsx)(Ut,{className:"overflow-hidden",children:(0,$.jsx)(jt,{className:"p-5",children:(0,$.jsxs)("div",{className:"space-y-4",children:[(0,$.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,$.jsx)("div",{className:"min-w-0 flex-1",children:(0,$.jsxs)("h1",{className:"inline-flex items-center gap-2 text-2xl font-semibold tracking-tight text-foreground",children:[(0,$.jsx)("span",{children:"LLM Router Web Console"}),(0,$.jsx)(El,{connected:Ol,size:"md",srLabel:"Router running"}),op?(0,$.jsx)(Ne,{variant:"warning",className:"border-amber-300 bg-amber-100 text-amber-950",children:"Dev Mode"}):null]})}),(0,$.jsxs)("div",{className:"flex shrink-0 flex-wrap items-center gap-2",children:[(0,$.jsxs)("a",{href:vC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-amber-300 bg-amber-50/90 px-3 text-xs font-medium uppercase tracking-[0.16em] text-amber-900 transition-colors hover:bg-amber-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-amber-500/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Support LLM Router via GitHub Sponsors",title:"Support LLM Router",children:[(0,$.jsx)(OC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Buy me a coffee"})]}),(0,$.jsxs)("a",{href:bC,target:"_blank",rel:"noreferrer noopener",className:"inline-flex h-8 items-center gap-2 rounded-lg border border-border bg-background/80 px-3 text-xs font-medium uppercase tracking-[0.16em] text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring/60 focus-visible:ring-offset-2 focus-visible:ring-offset-background","aria-label":"Open the LLM Router GitHub repository",title:"Open GitHub repository",children:[(0,$.jsx)(kC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{children:"Repo"})]})]})]}),(0,$.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,$.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,$.jsxs)(U,{size:"sm",variant:Ol?"outline":void 0,className:"px-2 sm:px-3",onClick:()=>dp(Ol?"stop":"start"),disabled:g!=="","aria-label":ip,title:ip,children:[Ol?(0,$.jsx)(LC,{className:"h-3.5 w-3.5"}):(0,$.jsx)(_C,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:ip})]}),(0,$.jsxs)(U,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:dM,disabled:v,"aria-label":v?"Opening config file":"Open config file",title:v?"Opening config file":"Open config file",children:[(0,$.jsx)(DC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:v?"Opening\u2026":"Open config file"})]}),(0,$.jsxs)(U,{size:"sm",variant:"outline",className:"px-2 sm:px-3",onClick:()=>bM(Fb?"disable":"enable"),disabled:x!=="","aria-label":lp,title:lp,children:[(0,$.jsx)(BC,{className:"h-3.5 w-3.5"}),(0,$.jsx)("span",{className:"hidden sm:inline",children:lp})]})]}),(0,$.jsx)(jE,{endpointValue:ue||ou,endpointDisabled:!ue,gatewayValue:Zn?zT:"Generating\u2026",gatewayPending:!Zn,gatewayDisabled:!Zn||f,rotateDisabled:f,onCopyEndpoint:GT,onCopyGatewayKey:KT,onRotateKey:YT})]}),f||b?(0,$.jsx)("div",{className:"flex flex-wrap gap-2 text-xs text-muted-foreground",children:(0,$.jsx)("span",{className:"rounded-full bg-secondary px-2.5 py-1",children:f?"Saving changes\u2026":"Validating\u2026"})}):null,!Ol&&e?.router?.portBusy&&!e?.router?.portBusySelf?(0,$.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,$.jsx)(U,{size:"sm",variant:"outline",onClick:()=>dp("reclaim"),disabled:g!=="",children:g==="reclaim"?"Reclaiming\u2026":`Reclaim port ${Hu}`})}):null,Kb?(0,$.jsx)("div",{className:Q("rounded-xl border px-3 py-2 text-sm",e?.router?.portBusy?"border-amber-200 bg-amber-50 text-amber-900":"border-rose-200 bg-rose-50 text-rose-800"),children:Kb}):null]})})}),(0,$.jsx)(kb,{notices:s,onDismiss:Qb}),(0,$.jsx)("div",{className:"space-y-4",children:(0,$.jsx)(rT,{providers:ge.filter(A=>A?.type!=="ollama"),onAddProvider:VT,onRemove:SM,onCopyModelId:WT,onApplyProviderDetails:FT,onApplyProviderModels:QT,onSaveAndCloseEditor:HT,disabledReason:T,busy:f})}),(0,$.jsxs)(Vo,{value:C,onValueChange:M,className:"space-y-0",children:[(0,$.jsx)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:(0,$.jsxs)(Fo,{children:[(0,$.jsx)(xn,{value:"model-alias",children:"Alias & Fallback"}),(0,$.jsx)(xn,{value:"amp",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"AMP"}),(0,$.jsx)(El,{connected:$n,srLabel:"AMP connected"})]})}),(0,$.jsx)(xn,{value:"codex-cli",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Codex CLI"}),(0,$.jsx)(El,{connected:Ii,srLabel:"Codex CLI connected"})]})}),(0,$.jsx)(xn,{value:"claude-code",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Claude Code"}),(0,$.jsx)(El,{connected:zi,srLabel:"Claude Code connected"})]})}),(0,$.jsx)(xn,{value:"factory-droid",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Factory Droid"}),(0,$.jsx)(El,{connected:Fu,srLabel:"Factory Droid connected"})]})}),(0,$.jsx)(xn,{value:"local-models",children:(0,$.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,$.jsx)("span",{children:"Local Models"}),(0,$.jsx)(El,{connected:Cn.runningRuntimes>0,srLabel:"Local runtime connected"})]})}),(0,$.jsx)(xn,{value:"web-search",children:"Web Search"}),(0,$.jsx)(xn,{value:"activity",children:"Activity"})]})}),(0,$.jsx)(Sn,{value:"model-alias",className:"space-y-4",children:(0,$.jsx)($E,{aliases:re,config:O,aliasIds:Object.keys(re),routeOptions:je,defaultModel:String(O?.defaultModel||"").trim(),ampDefaultRoute:np,disabledReason:T,busy:f,onApplyAlias:XT,onRemoveAlias:JT,onCopyAliasId:qT})}),(0,$.jsx)(Sn,{value:"amp",className:"space-y-4",children:(0,$.jsx)(bT,{rows:Pi,routeOptions:Zs,webSearchSnapshot:qt,ampClientUrl:ue,ampClientGlobal:nt,routingBusy:q,onToggleGlobalRouting:ZT,onInboundChange:eM,onOutboundChange:tM,onCreateEntry:lM,onRemoveEntry:sM,onOpenWebSearchTab:()=>M("web-search"),onOpenConfigPath:()=>Fa(nt?.settingsFilePath,"AMP config file",{ensureMode:"jsonObject",successMessage:"Opened AMP config file in the default app."}),onOpenSecretsPath:()=>Fa(nt?.secretsFilePath,"AMP secrets file",{ensureMode:"jsonObject",successMessage:"Opened AMP secrets file in the default app."}),hasMasterKey:!!String(k?.masterKey||"").trim(),disabledReason:oa,autosaveState:Un})}),(0,$.jsx)(Sn,{value:"codex-cli",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Codex CLI",toolState:Me,endpointUrl:Me?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`,routeOptions:DT,connectionBusy:te,bindingBusy:ie,onToggleRouting:fM,onBindingChange:pM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(Me?.configFilePath,"Codex CLI config file",{ensureMode:"text",successMessage:"Opened Codex CLI config file in the default app."}),onOpenSecondaryPath:()=>Fa(Me?.backupFilePath,"Codex CLI backup file",{ensureMode:"jsonObject",successMessage:"Opened Codex CLI backup file in the default app."}),guideContent:ST({bindingValue:Me?.bindings?.defaultModel,thinkingLevel:Me?.bindings?.thinkingLevel,configFilePath:Me?.configFilePath,endpointUrl:Me?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Default model",description:"Choose a managed route/alias to set Codex CLI `model`, or use Inherit Codex CLI model to keep Codex built-in model names and route them through same-name LLM Router aliases.",envKey:"model",value:Me?.bindings?.defaultModel||"",allowUnset:!1,placeholder:"Select a default route",extraOptions:[{value:py,label:"Inherit Codex CLI model",hint:"Keep Codex built-in model names; route them via same-name aliases in LLM Router"}]},{id:"thinkingLevel",label:"Thinking level",description:"Maps to Codex CLI `model_reasoning_effort`. Official values are `minimal`, `low`, `medium`, `high`, and `xhigh` (`xhigh` is model-dependent).",envKey:"model_reasoning_effort",value:Me?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Codex default",options:RC}]})}),(0,$.jsx)(Sn,{value:"claude-code",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Claude Code",toolState:Y,endpointUrl:Y?.configuredBaseUrl||`${ue?`${ue}/anthropic`:""}`,routeOptions:BT,connectionBusy:V,bindingBusy:Ue,onToggleRouting:mM,onBindingChange:gM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(Y?.settingsFilePath,"Claude Code config file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code config file in the default app."}),onOpenSecondaryPath:()=>Fa(Y?.backupFilePath,"Claude Code backup file",{ensureMode:"jsonObject",successMessage:"Opened Claude Code backup file in the default app."}),guideContent:wT({bindings:Y?.bindings,settingsFilePath:Y?.settingsFilePath,endpointUrl:Y?.configuredBaseUrl||`${ue?`${ue}/anthropic`:""}`}),bindingFields:[{id:"primaryModel",label:"Current model override",description:"Optional. Set `ANTHROPIC_MODEL` only when you want to override Claude Code\u2019s own `model` setting with a managed route or alias.",envKey:"ANTHROPIC_MODEL",value:Y?.bindings?.primaryModel||"",allowUnset:!0,placeholder:"Inherit Claude Code default"},{id:"defaultOpusModel",label:"Default Opus",description:"Maps `ANTHROPIC_DEFAULT_OPUS_MODEL` so Claude Code\u2019s `opus` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_OPUS_MODEL",value:Y?.bindings?.defaultOpusModel||"",allowUnset:!0,placeholder:"Select an Opus route"},{id:"defaultSonnetModel",label:"Default Sonnet",description:"Maps `ANTHROPIC_DEFAULT_SONNET_MODEL` so Claude Code\u2019s `sonnet` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_SONNET_MODEL",value:Y?.bindings?.defaultSonnetModel||"",allowUnset:!0,placeholder:"Select a Sonnet route"},{id:"defaultHaikuModel",label:"Default Haiku",description:"Maps `ANTHROPIC_DEFAULT_HAIKU_MODEL` so Claude Code\u2019s `haiku` alias points to a managed route or alias.",envKey:"ANTHROPIC_DEFAULT_HAIKU_MODEL",value:Y?.bindings?.defaultHaikuModel||"",allowUnset:!0,placeholder:"Select a Haiku route"},{id:"subagentModel",label:"Sub-agent model",description:"Maps `CLAUDE_CODE_SUBAGENT_MODEL` for Claude Code sub-agents and background workers.",envKey:"CLAUDE_CODE_SUBAGENT_MODEL",value:Y?.bindings?.subagentModel||"",allowUnset:!0,placeholder:"Select a sub-agent route"},{id:"webSearchProvider",label:"Search capability",description:"Choose which configured router web-search backend powers Claude Code\u2019s native Anthropic web tools like `web_search_*`. Native `web_fetch_*` page retrieval is intercepted locally by LLM Router and does not use this provider selection.",envKey:"claudeCode.webSearchProvider",value:Y?.webSearchProvider||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Use default router web-search order",options:_T},{id:"thinkingLevel",label:"Effort level",description:'Sets `CLAUDE_CODE_EFFORT_LEVEL` in your shell profile (~/.zshrc or ~/.bashrc). Falls back to `effortLevel` in settings.json (only "high") if shell profile cannot be updated.',envKey:"CLAUDE_CODE_EFFORT_LEVEL",value:Y?.bindings?.thinkingLevel||"",allowUnset:!0,usesRouteOptions:!1,standaloneWhenDisconnected:!0,placeholder:"Inherit Claude Code adaptive default",options:NC}]})}),(0,$.jsx)(Sn,{value:"factory-droid",className:"space-y-4",children:(0,$.jsx)(ep,{toolName:"Factory Droid",toolState:ye,endpointUrl:ye?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`,routeOptions:IT,connectionBusy:ne,bindingBusy:pe,onToggleRouting:hM,onBindingChange:yM,hasMasterKey:!!Zn,disabledReason:aa,onOpenPrimaryPath:()=>Fa(ye?.settingsFilePath,"Factory Droid config file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid config file in the default app."}),onOpenSecondaryPath:()=>Fa(ye?.backupFilePath,"Factory Droid backup file",{ensureMode:"jsonObject",successMessage:"Opened Factory Droid backup file in the default app."}),guideContent:AT({bindings:ye?.bindings,settingsFilePath:ye?.settingsFilePath,endpointUrl:ye?.configuredBaseUrl||`${ue?`${ue}/openai/v1`:""}`}),bindingFields:[{id:"defaultModel",label:"Normal mode model",description:"Choose a managed route or alias for normal Factory sessions. LLM Router writes both the legacy `model` field and current `sessionDefaultSettings.model` default.",envKey:"sessionDefaultSettings.model",value:ye?.bindings?.defaultModel||"",allowUnset:!0,placeholder:"Select a default route"},{id:"missionOrchestratorModel",label:"Mission orchestrator",description:"Choose the managed route or alias used for Factory mission orchestration.",envKey:"missionOrchestratorModel",value:ye?.bindings?.missionOrchestratorModel||"",allowUnset:!0,placeholder:"Use Factory orchestrator default"},{id:"missionWorkerModel",label:"Mission worker",description:"Choose the managed route or alias used for Factory mission workers.",envKey:"missionModelSettings.workerModel",value:ye?.bindings?.missionWorkerModel||"",allowUnset:!0,placeholder:"Use Factory worker default"},{id:"missionValidatorModel",label:"Mission validator",description:"Choose the managed route or alias used for Factory validation workers.",envKey:"missionModelSettings.validationWorkerModel",value:ye?.bindings?.missionValidatorModel||"",allowUnset:!0,placeholder:"Use Factory validator default"},{id:"reasoningEffort",label:"Reasoning effort",description:"Maps to Factory Droid `reasoningEffort` setting. Controls the depth of extended thinking for supported models.",envKey:"reasoningEffort",value:ye?.bindings?.reasoningEffort||"",allowUnset:!0,usesRouteOptions:!1,placeholder:"Inherit Factory Droid default",options:EC}]})}),(0,$.jsx)(Sn,{value:"local-models",className:"space-y-4",children:(0,$.jsx)(hT,{summary:Cn,llamacpp:{runtime:ct.runtime?.llamacpp||{},library:Object.fromEntries(Object.entries(ct.library||{}).filter(([,A])=>String(A?.source||"").startsWith("llamacpp"))),variants:Object.fromEntries(Object.entries(ct.variants||{}).filter(([,A])=>A?.runtime==="llamacpp")),disableEditsReason:Ee.parseError?`Fix the raw JSON parse error first: ${Ee.parseError}`:wt.current!==bt.current?"Save or discard the current config draft before changing local models.":"",onSaveVariant:wM,onRefreshLibrary:AM,onSelectRuntime:TM,onStartRuntime:kM,onStopRuntime:OM,onSaveRuntimeSettings:MM,onAttachModel:CM,onLocateModel:RM,onRemoveModel:NM,onDownloadManagedModel:EM},ollama:{connected:Va,snapshot:Js,models:X,busy:Vr,refreshing:fn,config:O,onRefresh:ko,onLoad:_M,onUnload:LM,onPin:DM,onKeepAlive:BM,onContextLength:IM,onAddToRouter:zM,onRemoveFromRouter:PM,onAutoLoad:UM,onSaveSettings:jM,onInstall:VM,onStartServer:FM,onStopServer:HM,onSyncRouter:$M}})}),(0,$.jsx)(Sn,{value:"web-search",className:"space-y-4",children:(0,$.jsx)(vT,{webSearchConfig:kl,webSearchProviders:tp,hostedSearchCandidates:LT,onWebSearchStrategyChange:nM,onWebSearchProviderChange:rM,onWebSearchProviderMove:oM,onRemoveWebSearchProvider:aM,onAddHostedSearchEndpoint:iM,disabledReason:po,autosaveState:Un})}),(0,$.jsx)(Sn,{value:"activity",children:(0,$.jsx)(CT,{logs:e?.logs||[],activityLogEnabled:Jn,activityFilter:ke,busyAction:Le,onActivityFilterChange:Qe,onToggleEnabled:vM,onClear:xM})})]}),(0,$.jsx)(_n,{open:PT,onClose:sp,title:"Add provider",contentClassName:"max-h-[92vh] max-w-5xl rounded-2xl border border-border/70 bg-background/98 shadow-[0_32px_120px_rgba(15,23,42,0.48)]",closeOnBackdrop:!1,bodyClassName:"max-h-[calc(92vh-5.5rem)]",children:(0,$.jsx)(jb,{baseConfig:yn,seedMode:"blank",mode:"add",targetProviderId:"",defaultProviderUserAgent:Yb,onApplyDraft:ev,onValidateDraft:tv,onSaveDraft:cM,onSaveAndStart:uM,framed:!1,showHeader:!1},`provider-wizard-modal-${ee}`)})]})})}var OT=D(J(),1),MT=document.getElementById("app");MT&&(0,kT.createRoot)(MT).render((0,OT.jsx)(TT,{}));})();
|