@mastra/deployer-cloud 1.63.1-alpha.2 → 1.63.1-alpha.3
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/CHANGELOG.md +8 -0
- package/dist/studio/assets/{core-BA_i0TGa.js → core-CV6phFXx.js} +1 -1
- package/dist/studio/assets/{index-B32VvJ-V.js → index-CkbWutxD.js} +2 -2
- package/dist/studio/assets/{main-dK_FQoBT.js → main-k8qbLEJw.js} +3 -3
- package/dist/studio/index.html +1 -1
- package/package.json +5 -5
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-CV6phFXx.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js","./html-C2L_23MC.js","./javascript-ySlJ1b_l.js","./css-BPhBrDlE.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{_ as Da}from"./preload-helper-PPVm8Dsz.js";function mGt(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const a=Object.getOwnPropertyDescriptor(r,s);a&&Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var yj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ll(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var tX={exports:{}},tR={};var G$e;function gGt(){if(G$e)return tR;G$e=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,s,a){var i=null;if(a!==void 0&&(i=""+a),s.key!==void 0&&(i=""+s.key),"key"in s){a={};for(var l in s)l!=="key"&&(a[l]=s[l])}else a=s;return s=a.ref,{$$typeof:e,type:r,key:i,ref:s!==void 0?s:null,props:a}}return tR.Fragment=t,tR.jsx=n,tR.jsxs=n,tR}var Q$e;function vGt(){return Q$e||(Q$e=1,tX.exports=gGt()),tX.exports}var o=vGt(),nX={exports:{}},Wr={},Y$e;function yGt(){if(Y$e)return Wr;Y$e=1;var e={env:{}};var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),h=Symbol.iterator;function m(U){return U===null||typeof U!="object"?null:(U=h&&U[h]||U["@@iterator"],typeof U=="function"?U:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(U,$,q){this.props=U,this.context=$,this.refs=b,this.updater=q||v}x.prototype.isReactComponent={},x.prototype.setState=function(U,$){if(typeof U!="object"&&typeof U!="function"&&U!=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,U,$,"setState")},x.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(U,$,q){this.props=U,this.context=$,this.refs=b,this.updater=q||v}var _=k.prototype=new S;_.constructor=k,y(_,x.prototype),_.isPureReactComponent=!0;var C=Array.isArray;function T(){}var E={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(U,$,q){var Z=q.ref;return{$$typeof:t,type:U,key:$,ref:Z!==void 0?Z:null,props:q}}function A(U,$){return I(U.type,$,U.props)}function R(U){return typeof U=="object"&&U!==null&&U.$$typeof===t}function L(U){var $={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(q){return $[q]})}var D=/\/+/g;function F(U,$){return typeof U=="object"&&U!==null&&U.key!=null?L(""+U.key):$.toString(36)}function H(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function($){U.status==="pending"&&(U.status="fulfilled",U.value=$)},function($){U.status==="pending"&&(U.status="rejected",U.reason=$)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function B(U,$,q,Z,Y){var ne=typeof U;(ne==="undefined"||ne==="boolean")&&(U=null);var J=!1;if(U===null)J=!0;else switch(ne){case"bigint":case"string":case"number":J=!0;break;case"object":switch(U.$$typeof){case t:case n:J=!0;break;case f:return J=U._init,B(J(U._payload),$,q,Z,Y)}}if(J)return Y=Y(U),J=Z===""?"."+F(U,0):Z,C(Y)?(q="",J!=null&&(q=J.replace(D,"$&/")+"/"),B(Y,$,q,"",function(le){return le})):Y!=null&&(R(Y)&&(Y=A(Y,q+(Y.key==null||U&&U.key===Y.key?"":(""+Y.key).replace(D,"$&/")+"/")+J)),$.push(Y)),1;J=0;var ee=Z===""?".":Z+":";if(C(U))for(var se=0;se<U.length;se++)Z=U[se],ne=ee+F(Z,se),J+=B(Z,$,q,ne,Y);else if(se=m(U),typeof se=="function")for(U=se.call(U),se=0;!(Z=U.next()).done;)Z=Z.value,ne=ee+F(Z,se++),J+=B(Z,$,q,ne,Y);else if(ne==="object"){if(typeof U.then=="function")return B(H(U),$,q,Z,Y);throw $=String(U),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(U).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return J}function z(U,$,q){if(U==null)return U;var Z=[],Y=0;return B(U,Z,"","",function(ne){return $.call(q,ne,Y++)}),Z}function V(U){if(U._status===-1){var $=U._result;$=$(),$.then(function(q){(U._status===0||U._status===-1)&&(U._status=1,U._result=q)},function(q){(U._status===0||U._status===-1)&&(U._status=2,U._result=q)}),U._status===-1&&(U._status=0,U._result=$)}if(U._status===1)return U._result.default;throw U._result}var M=typeof reportError=="function"?reportError:function(U){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof U=="object"&&U!==null&&typeof U.message=="string"?String(U.message):String(U),error:U});if(!window.dispatchEvent($))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",U);return}console.error(U)},G={map:z,forEach:function(U,$,q){z(U,function(){$.apply(this,arguments)},q)},count:function(U){var $=0;return z(U,function(){$++}),$},toArray:function(U){return z(U,function($){return $})||[]},only:function(U){if(!R(U))throw Error("React.Children.only expected to receive a single React element child.");return U}};return Wr.Activity=p,Wr.Children=G,Wr.Component=x,Wr.Fragment=r,Wr.Profiler=a,Wr.PureComponent=k,Wr.StrictMode=s,Wr.Suspense=u,Wr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=E,Wr.__COMPILER_RUNTIME={__proto__:null,c:function(U){return E.H.useMemoCache(U)}},Wr.cache=function(U){return function(){return U.apply(null,arguments)}},Wr.cacheSignal=function(){return null},Wr.cloneElement=function(U,$,q){if(U==null)throw Error("The argument must be a React element, but you passed "+U+".");var Z=y({},U.props),Y=U.key;if($!=null)for(ne in $.key!==void 0&&(Y=""+$.key),$)!N.call($,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&$.ref===void 0||(Z[ne]=$[ne]);var ne=arguments.length-2;if(ne===1)Z.children=q;else if(1<ne){for(var J=Array(ne),ee=0;ee<ne;ee++)J[ee]=arguments[ee+2];Z.children=J}return I(U.type,Y,Z)},Wr.createContext=function(U){return U={$$typeof:l,_currentValue:U,_currentValue2:U,_threadCount:0,Provider:null,Consumer:null},U.Provider=U,U.Consumer={$$typeof:i,_context:U},U},Wr.createElement=function(U,$,q){var Z,Y={},ne=null;if($!=null)for(Z in $.key!==void 0&&(ne=""+$.key),$)N.call($,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(Y[Z]=$[Z]);var J=arguments.length-2;if(J===1)Y.children=q;else if(1<J){for(var ee=Array(J),se=0;se<J;se++)ee[se]=arguments[se+2];Y.children=ee}if(U&&U.defaultProps)for(Z in J=U.defaultProps,J)Y[Z]===void 0&&(Y[Z]=J[Z]);return I(U,ne,Y)},Wr.createRef=function(){return{current:null}},Wr.forwardRef=function(U){return{$$typeof:c,render:U}},Wr.isValidElement=R,Wr.lazy=function(U){return{$$typeof:f,_payload:{_status:-1,_result:U},_init:V}},Wr.memo=function(U,$){return{$$typeof:d,type:U,compare:$===void 0?null:$}},Wr.startTransition=function(U){var $=E.T,q={};E.T=q;try{var Z=U(),Y=E.S;Y!==null&&Y(q,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(T,M)}catch(ne){M(ne)}finally{$!==null&&q.types!==null&&($.types=q.types),E.T=$}},Wr.unstable_useCacheRefresh=function(){return E.H.useCacheRefresh()},Wr.use=function(U){return E.H.use(U)},Wr.useActionState=function(U,$,q){return E.H.useActionState(U,$,q)},Wr.useCallback=function(U,$){return E.H.useCallback(U,$)},Wr.useContext=function(U){return E.H.useContext(U)},Wr.useDebugValue=function(){},Wr.useDeferredValue=function(U,$){return E.H.useDeferredValue(U,$)},Wr.useEffect=function(U,$){return E.H.useEffect(U,$)},Wr.useEffectEvent=function(U){return E.H.useEffectEvent(U)},Wr.useId=function(){return E.H.useId()},Wr.useImperativeHandle=function(U,$,q){return E.H.useImperativeHandle(U,$,q)},Wr.useInsertionEffect=function(U,$){return E.H.useInsertionEffect(U,$)},Wr.useLayoutEffect=function(U,$){return E.H.useLayoutEffect(U,$)},Wr.useMemo=function(U,$){return E.H.useMemo(U,$)},Wr.useOptimistic=function(U,$){return E.H.useOptimistic(U,$)},Wr.useReducer=function(U,$,q){return E.H.useReducer(U,$,q)},Wr.useRef=function(U){return E.H.useRef(U)},Wr.useState=function(U){return E.H.useState(U)},Wr.useSyncExternalStore=function(U,$,q){return E.H.useSyncExternalStore(U,$,q)},Wr.useTransition=function(){return E.H.useTransition()},Wr.version="19.2.7",Wr}var K$e;function WN(){return K$e||(K$e=1,nX.exports=yGt()),nX.exports}var g=WN();const Fe=Ll(g),ZN=mGt({__proto__:null,default:Fe},[g]);var rX={exports:{}},nR={},sX={exports:{}},aX={};var X$e;function bGt(){return X$e||(X$e=1,(function(e){function t(H,B){var z=H.length;H.push(B);e:for(;0<z;){var V=z-1>>>1,M=H[V];if(0<s(M,B))H[V]=B,H[z]=M,z=V;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var B=H[0],z=H.pop();if(z!==B){H[0]=z;e:for(var V=0,M=H.length,G=M>>>1;V<G;){var U=2*(V+1)-1,$=H[U],q=U+1,Z=H[q];if(0>s($,z))q<M&&0>s(Z,$)?(H[V]=Z,H[q]=z,V=q):(H[V]=$,H[U]=z,V=U);else if(q<M&&0>s(Z,z))H[V]=Z,H[q]=z,V=q;else break e}}return B}function s(H,B){var z=H.sortIndex-B.sortIndex;return z!==0?z:H.id-B.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var c=[],u=[],d=1,f=null,p=3,h=!1,m=!1,v=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function k(H){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=H)r(u),B.sortIndex=B.expirationTime,t(c,B);else break;B=n(u)}}function _(H){if(v=!1,k(H),!m)if(n(c)!==null)m=!0,C||(C=!0,R());else{var B=n(u);B!==null&&F(_,B.startTime-H)}}var C=!1,T=-1,E=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<E)}function A(){if(y=!1,C){var H=e.unstable_now();N=H;var B=!0;try{e:{m=!1,v&&(v=!1,x(T),T=-1),h=!0;var z=p;try{t:{for(k(H),f=n(c);f!==null&&!(f.expirationTime>H&&I());){var V=f.callback;if(typeof V=="function"){f.callback=null,p=f.priorityLevel;var M=V(f.expirationTime<=H);if(H=e.unstable_now(),typeof M=="function"){f.callback=M,k(H),B=!0;break t}f===n(c)&&r(c),k(H)}else r(c);f=n(c)}if(f!==null)B=!0;else{var G=n(u);G!==null&&F(_,G.startTime-H),B=!1}}break e}finally{f=null,p=z,h=!1}B=void 0}}finally{B?R():C=!1}}}var R;if(typeof S=="function")R=function(){S(A)};else if(typeof MessageChannel<"u"){var L=new MessageChannel,D=L.port2;L.port1.onmessage=A,R=function(){D.postMessage(null)}}else R=function(){b(A,0)};function F(H,B){T=b(function(){H(e.unstable_now())},B)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(H){H.callback=null},e.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<H?Math.floor(1e3/H):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_next=function(H){switch(p){case 1:case 2:case 3:var B=3;break;default:B=p}var z=p;p=B;try{return H()}finally{p=z}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(H,B){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var z=p;p=H;try{return B()}finally{p=z}},e.unstable_scheduleCallback=function(H,B,z){var V=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?V+z:V):z=V,H){case 1:var M=-1;break;case 2:M=250;break;case 5:M=1073741823;break;case 4:M=1e4;break;default:M=5e3}return M=z+M,H={id:d++,callback:B,priorityLevel:H,startTime:z,expirationTime:M,sortIndex:-1},z>V?(H.sortIndex=z,t(u,H),n(c)===null&&H===n(u)&&(v?(x(T),T=-1):v=!0,F(_,z-V))):(H.sortIndex=M,t(c,H),m||h||(m=!0,C||(C=!0,R()))),H},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(H){var B=p;return function(){var z=p;p=B;try{return H.apply(this,arguments)}finally{p=z}}}})(aX)),aX}var J$e;function xGt(){return J$e||(J$e=1,sX.exports=bGt()),sX.exports}var iX={exports:{}},Eu={};var eMe;function wGt(){if(eMe)return Eu;eMe=1;var e=WN();function t(c){var u="https://react.dev/errors/"+c;if(1<arguments.length){u+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)u+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+c+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function a(c,u,d){var f=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:f==null?null:""+f,children:c,containerInfo:u,implementation:d}}var i=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(c,u){if(c==="font")return"";if(typeof u=="string")return u==="use-credentials"?u:""}return Eu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Eu.createPortal=function(c,u){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11)throw Error(t(299));return a(c,u,null,d)},Eu.flushSync=function(c){var u=i.T,d=r.p;try{if(i.T=null,r.p=2,c)return c()}finally{i.T=u,r.p=d,r.d.f()}},Eu.preconnect=function(c,u){typeof c=="string"&&(u?(u=u.crossOrigin,u=typeof u=="string"?u==="use-credentials"?u:"":void 0):u=null,r.d.C(c,u))},Eu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},Eu.preinit=function(c,u){if(typeof c=="string"&&u&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin),p=typeof u.integrity=="string"?u.integrity:void 0,h=typeof u.fetchPriority=="string"?u.fetchPriority:void 0;d==="style"?r.d.S(c,typeof u.precedence=="string"?u.precedence:void 0,{crossOrigin:f,integrity:p,fetchPriority:h}):d==="script"&&r.d.X(c,{crossOrigin:f,integrity:p,fetchPriority:h,nonce:typeof u.nonce=="string"?u.nonce:void 0})}},Eu.preinitModule=function(c,u){if(typeof c=="string")if(typeof u=="object"&&u!==null){if(u.as==null||u.as==="script"){var d=l(u.as,u.crossOrigin);r.d.M(c,{crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0})}}else u==null&&r.d.M(c)},Eu.preload=function(c,u){if(typeof c=="string"&&typeof u=="object"&&u!==null&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin);r.d.L(c,d,{crossOrigin:f,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0,type:typeof u.type=="string"?u.type:void 0,fetchPriority:typeof u.fetchPriority=="string"?u.fetchPriority:void 0,referrerPolicy:typeof u.referrerPolicy=="string"?u.referrerPolicy:void 0,imageSrcSet:typeof u.imageSrcSet=="string"?u.imageSrcSet:void 0,imageSizes:typeof u.imageSizes=="string"?u.imageSizes:void 0,media:typeof u.media=="string"?u.media:void 0})}},Eu.preloadModule=function(c,u){if(typeof c=="string")if(u){var d=l(u.as,u.crossOrigin);r.d.m(c,{as:typeof u.as=="string"&&u.as!=="script"?u.as:void 0,crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0})}else r.d.m(c)},Eu.requestFormReset=function(c){r.d.r(c)},Eu.unstable_batchedUpdates=function(c,u){return c(u)},Eu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},Eu.useFormStatus=function(){return i.H.useHostTransitionStatus()},Eu.version="19.2.7",Eu}var tMe;function jlt(){if(tMe)return iX.exports;tMe=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),iX.exports=wGt(),iX.exports}var nMe;function SGt(){if(nMe)return nR;nMe=1;var e={env:{}};var t=xGt(),n=WN(),r=jlt();function s(w){var O="https://react.dev/errors/"+w;if(1<arguments.length){O+="?args[]="+encodeURIComponent(arguments[1]);for(var j=2;j<arguments.length;j++)O+="&args[]="+encodeURIComponent(arguments[j])}return"Minified React error #"+w+"; visit "+O+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(w){return!(!w||w.nodeType!==1&&w.nodeType!==9&&w.nodeType!==11)}function i(w){var O=w,j=w;if(w.alternate)for(;O.return;)O=O.return;else{w=O;do O=w,(O.flags&4098)!==0&&(j=O.return),w=O.return;while(w)}return O.tag===3?j:null}function l(w){if(w.tag===13){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function c(w){if(w.tag===31){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function u(w){if(i(w)!==w)throw Error(s(188))}function d(w){var O=w.alternate;if(!O){if(O=i(w),O===null)throw Error(s(188));return O!==w?null:w}for(var j=w,P=O;;){var W=j.return;if(W===null)break;var Q=W.alternate;if(Q===null){if(P=W.return,P!==null){j=P;continue}break}if(W.child===Q.child){for(Q=W.child;Q;){if(Q===j)return u(W),w;if(Q===P)return u(W),O;Q=Q.sibling}throw Error(s(188))}if(j.return!==P.return)j=W,P=Q;else{for(var ie=!1,Oe=W.child;Oe;){if(Oe===j){ie=!0,j=W,P=Q;break}if(Oe===P){ie=!0,P=W,j=Q;break}Oe=Oe.sibling}if(!ie){for(Oe=Q.child;Oe;){if(Oe===j){ie=!0,j=Q,P=W;break}if(Oe===P){ie=!0,P=Q,j=W;break}Oe=Oe.sibling}if(!ie)throw Error(s(189))}}if(j.alternate!==P)throw Error(s(190))}if(j.tag!==3)throw Error(s(188));return j.stateNode.current===j?w:O}function f(w){var O=w.tag;if(O===5||O===26||O===27||O===6)return w;for(w=w.child;w!==null;){if(O=f(w),O!==null)return O;w=w.sibling}return null}var p=Object.assign,h=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),b=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),k=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),E=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),I=Symbol.for("react.activity"),A=Symbol.for("react.memo_cache_sentinel"),R=Symbol.iterator;function L(w){return w===null||typeof w!="object"?null:(w=R&&w[R]||w["@@iterator"],typeof w=="function"?w:null)}var D=Symbol.for("react.client.reference");function F(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===D?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case y:return"Fragment";case x:return"Profiler";case b:return"StrictMode";case C:return"Suspense";case T:return"SuspenseList";case I:return"Activity"}if(typeof w=="object")switch(w.$$typeof){case v:return"Portal";case k:return w.displayName||"Context";case S:return(w._context.displayName||"Context")+".Consumer";case _:var O=w.render;return w=w.displayName,w||(w=O.displayName||O.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case E:return O=w.displayName||null,O!==null?O:F(w.type)||"Memo";case N:O=w._payload,w=w._init;try{return F(w(O))}catch{}}return null}var H=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V={pending:!1,data:null,method:null,action:null},M=[],G=-1;function U(w){return{current:w}}function $(w){0>G||(w.current=M[G],M[G]=null,G--)}function q(w,O){G++,M[G]=w.current,w.current=O}var Z=U(null),Y=U(null),ne=U(null),J=U(null);function ee(w,O){switch(q(ne,O),q(Y,w),q(Z,null),O.nodeType){case 9:case 11:w=(w=O.documentElement)&&(w=w.namespaceURI)?v$e(w):0;break;default:if(w=O.tagName,O=O.namespaceURI)O=v$e(O),w=y$e(O,w);else switch(w){case"svg":w=1;break;case"math":w=2;break;default:w=0}}$(Z),q(Z,w)}function se(){$(Z),$(Y),$(ne)}function le(w){w.memoizedState!==null&&q(J,w);var O=Z.current,j=y$e(O,w.type);O!==j&&(q(Y,w),q(Z,j))}function X(w){Y.current===w&&($(Z),$(Y)),J.current===w&&($(J),KA._currentValue=V)}var te,re;function pe(w){if(te===void 0)try{throw Error()}catch(j){var O=j.stack.trim().match(/\n( *(at )?)/);te=O&&O[1]||"",re=-1<j.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<j.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+te+w+re}var ce=!1;function Se(w,O){if(!w||ce)return"";ce=!0;var j=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var P={DetermineComponentFrameRoot:function(){try{if(O){var Nt=function(){throw Error()};if(Object.defineProperty(Nt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Nt,[])}catch(ht){var lt=ht}Reflect.construct(w,[],Nt)}else{try{Nt.call()}catch(ht){lt=ht}w.call(Nt.prototype)}}else{try{throw Error()}catch(ht){lt=ht}(Nt=w())&&typeof Nt.catch=="function"&&Nt.catch(function(){})}}catch(ht){if(ht&<&&typeof ht.stack=="string")return[ht.stack,lt.stack]}return[null,null]}};P.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var W=Object.getOwnPropertyDescriptor(P.DetermineComponentFrameRoot,"name");W&&W.configurable&&Object.defineProperty(P.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=P.DetermineComponentFrameRoot(),ie=Q[0],Oe=Q[1];if(ie&&Oe){var qe=ie.split(`
|
|
@@ -231,7 +231,7 @@ attempted value: ${i}
|
|
|
231
231
|
\${}
|
|
232
232
|
}
|
|
233
233
|
}`,{label:"class",detail:"definition",type:"keyword"}),nf('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),nf('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],OSt=Zke.concat([nf("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),nf("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),nf("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),G8e=new T0t,_St=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function ER(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const uVn=["FunctionDeclaration"],dVn={FunctionDeclaration:ER("function"),ClassDeclaration:ER("class"),ClassExpression:()=>!0,EnumDeclaration:ER("constant"),TypeAliasDeclaration:ER("type"),NamespaceDeclaration:ER("namespace"),VariableDefinition(e,t){e.matchContext(uVn)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function CSt(e,t){let n=G8e.get(t);if(n)return n;let r=[],s=!0;function a(i,l){let c=e.sliceString(i.from,i.to);r.push({label:c,type:l})}return t.cursor(La.IncludeAnonymous).iterate(i=>{if(s)s=!1;else if(i.name){let l=dVn[i.name];if(l&&l(i,a)||_St.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of CSt(e,i.node))r.push(l);return!1}}),G8e.set(t,r),r}const BB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Gke=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function ESt(e){let t=yi(e.state).resolveInner(e.pos,-1);if(Gke.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&BB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)_St.has(s.name)&&(r=r.concat(CSt(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:BB}}function Hee(e,t,n){var r;let s=[];for(;;){let a=t.firstChild,i;if(a?.name=="VariableName")return s.push(e(a)),{path:s.reverse(),name:n};if(a?.name=="MemberExpression"&&((r=i=a.lastChild)===null||r===void 0?void 0:r.name)=="PropertyName")s.push(e(i)),t=a;else return null}}function TSt(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=yi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?Hee(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?Hee(t,n.parent,""):Gke.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&BB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?Hee(t,n,""):e.explicit?{path:[],name:""}:null}function fVn(e,t){let n=e,r=[],s=new Set;for(let a=0;;a++){for(let l of(Object.getOwnPropertyNames||Object.keys)(e)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(l)||s.has(l))continue;s.add(l);let c;try{c=n[l]}catch{continue}r.push({label:l,type:typeof c=="function"?/^[A-Z]/.test(l)?"class":t?"function":"method":t?"variable":"property",boost:-a})}let i=Object.getPrototypeOf(e);if(!i)return r;e=i}}function pVn(e){let t=new Map;return n=>{let r=TSt(n);if(!r)return null;let s=e;for(let i of r.path)if(s=s[i],!s)return null;let a=t.get(s);return a||t.set(s,a=fVn(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:BB}}}const em=VO.define({name:"javascript",parser:cVn.configure({props:[J_.add({IfStatement:KT({except:/^\s*({|else\b)/}),TryStatement:KT({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:o7n,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:i7n({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":KT({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),eC.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Eke,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,r=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:r.type.isError?e.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),jSt={test:e=>/^JSX/.test(e.name),facet:XH({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Qke=em.configure({dialect:"ts"},"typescript"),Yke=em.configure({dialect:"jsx",props:[Oke.add(e=>e.isTop?[jSt]:void 0)]}),Kke=em.configure({dialect:"jsx ts",props:[Oke.add(e=>e.isTop?[jSt]:void 0)]},"typescript");let NSt=e=>({label:e,type:"keyword"});const ISt="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(NSt),hVn=ISt.concat(["declare","implements","private","protected","public"].map(NSt));function UB(e={}){let t=e.jsx?e.typescript?Kke:Yke:e.typescript?Qke:em,n=e.typescript?OSt.concat(hVn):Zke.concat(ISt);return new WO(t,[em.data.of({autocomplete:W7n(Gke,j1t(n))}),em.data.of({autocomplete:ESt}),e.jsx?ASt:[]])}function mVn(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function Q8e(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return e.sliceString(r.from,Math.min(r.to,n));return""}const gVn=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),ASt=At.inputHandler.of((e,t,n,r,s)=>{if((gVn?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!em.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=yi(i).resolveInner(d-1,-1),p;if(f.name=="JSXStartTag"&&(f=f.parent),!(i.doc.sliceString(d-1,d)!=r||f.name=="JSXAttributeValue"&&f.to>d)){if(r==">"&&f.name=="JSXFragmentTag")return{range:c,changes:{from:d,insert:"</>"}};if(r=="/"&&f.name=="JSXStartCloseTag"){let h=f.parent,m=h.parent;if(m&&h.from==d-2&&((p=Q8e(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let v=`${p}>`;return{range:wt.cursor(d+v.length,-1),changes:{from:d,insert:v}}}}else if(r==">"){let h=mVn(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=Q8e(i.doc,h,d)))return{range:c,changes:{from:d,insert:`</${p}>`}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function vVn(e,t){return t||(t={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},e.getRules().forEach((n,r)=>{var s;!((s=n.meta.docs)===null||s===void 0)&&s.recommended&&(t.rules[r]=2)})),n=>{let{state:r}=n,s=[];for(let{from:a,to:i}of em.findRegions(r)){let l=r.doc.lineAt(a),c={line:l.number-1,col:a-l.from,pos:a};for(let u of e.verify(r.sliceDoc(a,i),t))s.push(yVn(u,r.doc,c))}return s}}function Y8e(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function yVn(e,t,n){let r=Y8e(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?Y8e(e.endLine,e.endColumn,t,n):r,message:e.message,source:e.ruleId?"eslint:"+e.ruleId:"eslint",severity:e.severity==1?"warning":"error"};if(e.fix){let{range:a,text:i}=e.fix,l=a[0]+n.pos-r,c=a[1]+n.pos-r;s.actions=[{name:"fix",apply(u,d){u.dispatch({changes:{from:d+l,to:d+c,insert:i},scrollIntoView:!0})}}]}return s}const uF=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:ASt,completionPath:TSt,esLint:vVn,javascript:UB,javascriptLanguage:em,jsxLanguage:Yke,localCompletionSource:ESt,scopeCompletionSource:pVn,snippets:Zke,tsxLanguage:Kke,typescriptLanguage:Qke,typescriptSnippets:OSt},Symbol.toStringTag,{value:"Module"})),TR=["_blank","_self","_top","_parent"],Wee=["ascii","utf-8","utf-16","latin1","latin1"],Zee=["get","post","put","delete"],Gee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],lp=["true","false"],Jn={},bVn={a:{attrs:{href:null,ping:null,type:null,media:null,target:TR,hreflang:null}},abbr:Jn,address:Jn,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Jn,aside:Jn,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Jn,base:{attrs:{href:null,target:TR}},bdi:Jn,bdo:Jn,blockquote:{attrs:{cite:null}},body:Jn,br:Jn,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Gee,formmethod:Zee,formnovalidate:["novalidate"],formtarget:TR,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Jn,center:Jn,cite:Jn,code:Jn,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Jn,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Jn,div:Jn,dl:Jn,dt:Jn,em:Jn,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Jn,figure:Jn,footer:Jn,form:{attrs:{action:null,name:null,"accept-charset":Wee,autocomplete:["on","off"],enctype:Gee,method:Zee,novalidate:["novalidate"],target:TR}},h1:Jn,h2:Jn,h3:Jn,h4:Jn,h5:Jn,h6:Jn,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Jn,hgroup:Jn,hr:Jn,html:{attrs:{manifest:null}},i:Jn,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Gee,formmethod:Zee,formnovalidate:["novalidate"],formtarget:TR,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Jn,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Jn,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Jn,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Wee,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Jn,noscript:Jn,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Jn,param:{attrs:{name:null,value:null}},pre:Jn,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Jn,rt:Jn,ruby:Jn,samp:Jn,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Wee}},section:Jn,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Jn,source:{attrs:{src:null,type:null,media:null}},span:Jn,strong:Jn,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Jn,summary:Jn,sup:Jn,table:Jn,tbody:Jn,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Jn,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Jn,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Jn,time:{attrs:{datetime:null}},title:Jn,tr:Jn,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Jn,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Jn},RSt={accesskey:null,class:null,contenteditable:lp,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:lp,autocorrect:lp,autocapitalize:lp,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":lp,"aria-autocomplete":["inline","list","both","none"],"aria-busy":lp,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":lp,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":lp,"aria-hidden":lp,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":lp,"aria-multiselectable":lp,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":lp,"aria-relevant":null,"aria-required":lp,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},PSt="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of PSt)RSt[e]=null;class OM{constructor(t,n){this.tags={...bVn,...t},this.globalAttrs={...RSt,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}OM.default=new OM;function Qj(e,t,n=e.length){if(!t)return"";let r=t.firstChild,s=r&&r.getChild("TagName");return s?e.sliceString(s.from,Math.min(s.to,n)):""}function Yj(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function $St(e,t,n){let r=n.tags[Qj(e,Yj(t))];return r?.children||n.allTags}function Xke(e,t){let n=[];for(let r=Yj(t);r&&!r.type.isTop;r=Yj(r.parent)){let s=Qj(e,r);if(s&&r.lastChild.name=="CloseTag")break;s&&n.indexOf(s)<0&&(t.name=="EndTag"||t.from>=r.firstChild.to)&&n.push(s)}return n}const MSt=/^[:\-\.\w\u00b7-\uffff]*$/;function K8e(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=Yj(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:$St(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(Xke(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function X8e(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:Xke(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:MSt}}function xVn(e,t,n,r){let s=[],a=0;for(let i of $St(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of Xke(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function wVn(e,t,n,r,s){let a=Yj(n),i=a?t.tags[Qj(e.doc,a)]:null,l=i&&i.attrs?Object.keys(i.attrs):[],c=i&&i.globalAttrs===!1?l:l.length?l.concat(t.globalAttrNames):t.globalAttrNames;return{from:r,to:s,options:c.map(u=>({label:u,type:"property"})),validFor:MSt}}function SVn(e,t,n,r,s){var a;let i=(a=n.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),l=[],c;if(i){let u=e.sliceDoc(i.from,i.to),d=t.globalAttrs[u];if(!d){let f=Yj(n),p=f?t.tags[Qj(e.doc,f)]:null;d=p?.attrs&&p.attrs[u]}if(d){let f=e.sliceDoc(r,s).toLowerCase(),p='"',h='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,p="",h=e.sliceDoc(s,s+1)==f[0]?"":f[0],f=f.slice(1),r++):c=/^[^\s<>='"]*$/;for(let m of d)l.push({label:m,apply:p+m+h,type:"constant"})}}return{from:r,to:s,options:l,validFor:c}}function DSt(e,t){let{state:n,pos:r}=t,s=yi(n).resolveInner(r,-1),a=s.resolve(r);for(let i=r,l;a==s&&(l=s.childBefore(i));){let c=l.lastChild;if(!c||!c.type.isError||c.from<c.to)break;a=s=l,i=c.from}return s.name=="TagName"?s.parent&&/CloseTag$/.test(s.parent.name)?X8e(n,s,s.from,r):K8e(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?K8e(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?X8e(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?wVn(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?SVn(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?xVn(n,e,s,r):null}function kVn(e){return DSt(OM.default,e)}function OVn(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new OM(t,n):OM.default;return s=>DSt(r,s)}const _Vn=em.parser.configure({top:"SingleExpression"}),LSt=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:Qke.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:Yke.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:Kke.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:_Vn},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:em.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:zB.parser}],FSt=[{name:"style",parser:zB.parser.configure({top:"Styles"})}].concat(PSt.map(e=>({name:e,parser:em.parser}))),zSt=VO.define({name:"html",parser:YUn.configure({props:[J_.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t=null,n;for(let r=e.node;;){let s=r.lastChild;if(!s||s.name!="Element"||s.to!=r.to)break;t=r=s}return t&&!((n=t.lastChild)&&(n.name=="CloseTag"||n.name=="SelfClosingTag"))?e.lineIndent(t.from)+e.unit:null}}),eC.add({Element(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:n.name=="CloseTag"?n.from:e.to}}}),S1t.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),V8=zSt.configure({wrap:vSt(LSt,FSt)});function CVn(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=vSt((e.nestedLanguages||[]).concat(LSt),(e.nestedAttributes||[]).concat(FSt)));let r=n?zSt.configure({wrap:n,dialect:t}):t?V8.configure({dialect:t}):V8;return new WO(r,[V8.data.of({autocomplete:OVn(e)}),e.autoCloseTags!==!1?EVn:[],UB().support,Aqn().support])}const J8e=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),EVn=At.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!V8.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u,d,f;let p=i.doc.sliceString(c.from-1,c.to)==r,{head:h}=c,m=yi(i).resolveInner(h,-1),v;if(p&&r==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(v=Qj(i.doc,y.parent,h))&&!J8e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`</${v}>`;return{range:c,changes:{from:h,to:b,insert:x}}}}else if(p&&r=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==h-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(v=Qj(i.doc,y,h))&&!J8e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`${v}>`;return{range:wt.cursor(h+x.length,-1),changes:{from:h,to:b,insert:x}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),BSt=XH({commentTokens:{block:{open:"<!--",close:"-->"}}}),USt=new Pr,qSt=XBn.configure({props:[eC.add(e=>!e.is("Block")||e.is("Document")||eve(e)!=null||TVn(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),USt.add(eve),J_.add({Document:()=>null}),Pw.add({Document:BSt})]});function eve(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function TVn(e){return e.name=="OrderedList"||e.name=="BulletList"}function jVn(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=eve(r.type))!=null&&s<=t)break;n=r}return n.to}const NVn=u1t.of((e,t,n)=>{for(let r=yi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(USt);if(s==null)continue;let a=jVn(r,s);if(a>n)return{from:n,to:a}}return null});function Jke(e){return new Tp(BSt,e,[],"markdown")}const VSt=Jke(qSt),IVn=qSt.configure([cUn,dUn,uUn,fUn,{props:[eC.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),QO=Jke(IVn);function AVn(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=ug.matchLanguageName(e,n,!0),r instanceof ug)return r.support?r.support.language.parser:HO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class Qee{constructor(t,n,r,s,a,i,l){this.node=t,this.from=n,this.to=r,this.spaceBefore=s,this.spaceAfter=a,this.type=i,this.item=l}blank(t,n=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;r.length<t;)r+=" ";return r}else{for(let s=this.to-this.from-r.length-this.spaceAfter.length;s>0;s--)r+=" ";return r+(n?this.spaceAfter:"")}}marker(t,n){let r=this.node.name=="OrderedList"?String(+WSt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function HSt(e,t){let n=[],r=[];for(let s=e;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&n.push(s)}for(let s=n.length-1;s>=0;s--){let a=n[s],i,l=t.lineAt(a.from),c=a.from-l.from;if(a.name=="Blockquote"&&(i=/^ *>( ?)/.exec(l.text.slice(c))))r.push(new Qee(a,c,c+i[0].length,"",i[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(i=/^( *)\d+([.)])( *)/.exec(l.text.slice(c)))){let u=i[3],d=i[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new Qee(a.parent,c,c+d,i[1],u,i[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(i=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(c)))){let u=i[4],d=i[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=i[2];i[3]&&(f+=i[3].replace(/[xX]/," ")),r.push(new Qee(a.parent,c,c+d,i[1],u,f,a))}}return r}function WSt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Yee(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=WSt(a,t),c=+l[2];if(s>=0){if(c!=s+1)return;n.push({from:a.from+l[1].length,to:a.from+l[0].length,insert:String(s+2+r)})}s=c}let i=a.nextSibling;if(!i)break;a=i}}function eOe(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(mI)!=" ")return e;let r=Bg(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const ZSt=(e={})=>({state:t,dispatch:n})=>{let r=yi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!QO.isActiveAt(t,l.from,-1)&&!QO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=HSt(r.resolveInner(c,-1),s);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return a={range:l};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return a={range:l};let p=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&p){let b=f.node.firstChild,x=f.node.getChild("ListItem","ListItem");if(b.to>=c||x&&x.to<c||u.from>0&&!/[^\s>]/.test(s.lineAt(u.from-1).text)||e.nonTightLists===!1){let S=d.length>1?d[d.length-2]:null,k,_="";S&&S.item?(k=u.from+S.from,_=S.marker(s,1)):k=u.from+(S?S.to:0);let C=[{from:k,to:c,insert:_}];return f.node.name=="OrderedList"&&Yee(f.item,s,C,-2),S&&S.node.name=="OrderedList"&&Yee(S.item,s,C),{range:wt.cursor(k+_.length),changes:C}}else{let S=t9e(d,t,u);return{range:wt.cursor(c+S.length+1),changes:{from:u.from,insert:S+t.lineBreak}}}}if(f.node.name=="Blockquote"&&p&&u.from){let b=s.lineAt(u.from-1),x=/>\s*$/.exec(b.text);if(x&&x.index==f.from){let S=t.changes([{from:b.from+x.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(S),changes:S}}}let h=[];f.node.name=="OrderedList"&&Yee(f.item,s,h);let m=f.item&&f.item.from<u.from,v="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,x=d.length-1;b<=x;b++)v+=b==x&&!m?d[b].marker(s,1):d[b].blank(b<x?Bg(u.text,4,d[b+1].from)-v.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return v=eOe(v,t),RVn(f.node,t.doc)&&(v=t9e(d,t,u)+t.lineBreak+v),h.push({from:y,to:c,insert:t.lineBreak+v}),{range:wt.cursor(y+v.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},GSt=ZSt();function e9e(e){return e.name=="QuoteMark"||e.name=="ListMark"}function RVn(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,r=e.getChild("ListItem","ListItem");if(!r)return!1;let s=t.lineAt(n.to),a=t.lineAt(r.from),i=/^[\s>]*$/.test(s.text);return s.number+(i?0:1)<a.number}function t9e(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?Bg(n.text,4,e[s+1].from)-r.length:null,s<a);return eOe(r,t)}function PVn(e,t){let n=e.resolveInner(t,-1),r=t;e9e(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(e9e(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const QSt=({state:e,dispatch:t})=>{let n=yi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&QO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=HSt(PVn(n,i),l);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(i-c.from>f&&!/\S/.test(c.text.slice(f,i-c.from)))return{range:wt.cursor(c.from+f),changes:{from:c.from+f,to:i}};if(i-c.from==f&&(!d.item||c.from<=d.item.from||!/\S/.test(c.text.slice(0,d.to)))){let p=c.from+d.from;if(d.item&&d.node.from<d.item.from&&/\S/.test(c.text.slice(d.from,d.to))){let h=d.blank(Bg(c.text,4,d.to)-Bg(c.text,4,d.from));return p==c.from&&(h=eOe(h,e)),{range:wt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:wt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},YSt=[{key:"Enter",run:GSt},{key:"Backspace",run:QSt}],KSt=CVn({matchClosingTags:!1});function tOe(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=VSt,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=KSt}=e;if(!(s instanceof nW))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,NVn],d;i&&u.push(XSt),n instanceof WO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?AVn(t,d):void 0;c.push(eUn({codeParser:f,htmlParser:l.language.parser})),r&&u.push(Jp.high(hI.of(YSt)));let p=Jke(s.configure(c));return a&&u.push(p.data.of({autocomplete:$Vn})),new WO(p,u)}function $Vn(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=yi(t).resolveInner(n,-1);for(;s&&!s.type.isTop;){if(s.name=="CodeBlock"||s.name=="FencedCode"||s.name=="ProcessingInstructionBlock"||s.name=="CommentBlock"||s.name=="Link"||s.name=="Image")return null;s=s.parent}return{from:n-r[0].length,to:n,options:MVn(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let Kee=null;function MVn(){if(Kee)return Kee;let e=kVn(new Ike(ps.create({extensions:KSt}),0,!0));return Kee=e?e.options:[]}const DVn=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,XSt=At.domEventHandlers({paste:(e,t)=>{var n;let{main:r}=t.state.selection;if(r.empty)return!1;let s=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!QO.isActiveAt(t.state,r.from,1)))return!1;let a=yi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||DVn.test(l.name))&&(i=!0)},leave:l=>{l.to<r.to&&(i=!0)}}),i?!1:(t.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${s})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),LVn=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:VSt,deleteMarkupBackward:QSt,insertNewlineContinueMarkup:GSt,insertNewlineContinueMarkupCommand:ZSt,markdown:tOe,markdownKeymap:YSt,markdownLanguage:QO,pasteURLAsLink:XSt},Symbol.toStringTag,{value:"Module"}));function YO(){return YO=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},YO.apply(null,arguments)}var FVn=e=>{var t=e.theme,n=e.settings,r=n===void 0?{}:n,s=e.styles,a=s===void 0?[]:s,i={".cm-gutters":{}},l={};r.background&&(l.backgroundColor=r.background),r.backgroundImage&&(l.backgroundImage=r.backgroundImage),r.foreground&&(l.color=r.foreground),r.fontSize&&(l.fontSize=r.fontSize),(r.background||r.foreground)&&(i["&"]=l),r.fontFamily&&(i["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(i[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(i[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(i[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(i[".cm-content"]={caretColor:r.caret},i[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var c={};r.gutterActiveForeground&&(c.color=r.gutterActiveForeground),r.lineHighlight&&(i[".cm-activeLine"]={backgroundColor:r.lineHighlight},c.backgroundColor=r.lineHighlight),i[".cm-activeLineGutter"]=c,r.selection&&(i["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:r.selection+" !important"}),r.selectionMatch&&(i["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var u=At.theme(i,{dark:t==="dark"}),d=Yg.define(a),f=[u,rS(d)];return f},zVn={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},BVn=[{tag:de.comment,color:"#6272a4"},{tag:de.string,color:"#f1fa8c"},{tag:de.atom,color:"#bd93f9"},{tag:de.meta,color:"#f8f8f2"},{tag:[de.keyword,de.operator,de.tagName],color:"#ff79c6"},{tag:[de.function(de.propertyName),de.propertyName],color:"#66d9ef"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"#50fa7b"},{tag:de.atom,color:"#bd93f9"}],vI=e=>{var t=e||{},n=t.theme,r=n===void 0?"dark":n,s=t.settings,a=s===void 0?{}:s,i=t.styles,l=i===void 0?[]:i;return FVn({theme:r,settings:YO({},zVn,a),styles:[...BVn,...l]})};vI();function JSt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const UVn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=rOe(e.state,n.from);return r.line?qVn(e):r.block?HVn(e):!1};function nOe(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=e(t,n);return s?(r(n.update(s)),!0):!1}}const qVn=nOe(GVn,0),VVn=nOe(ekt,0),HVn=nOe((e,t)=>ekt(e,t,ZVn(t)),0);function rOe(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const jR=50;function WVn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-jR,r),i=e.sliceDoc(s,s+jR),l=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(i)[0].length,u=a.length-l;if(a.slice(u-t.length,u)==t&&i.slice(c,c+n.length)==n)return{open:{pos:r-l,margin:l&&1},close:{pos:s+c,margin:c&&1}};let d,f;s-r<=2*jR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+jR),f=e.sliceDoc(s-jR,s));let p=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,m=f.length-h-n.length;return d.slice(p,p+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:r+p+t.length,margin:/\s/.test(d.charAt(p+t.length))?1:0},close:{pos:s-h-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function ZVn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),s=n.to<=r.to?r:e.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=s.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return t}function ekt(e,t,n=t.selection.ranges){let r=n.map(a=>rOe(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>WVn(t,r[i],a.from,a.to));if(e!=2&&!s.every(a=>a))return{changes:t.changes(n.map((a,i)=>s[i]?[]:[{from:a.from,insert:r[i].open+" "},{from:a.to,insert:" "+r[i].close}]))};if(e!=1&&s.some(a=>a)){let a=[];for(let i=0,l;i<s.length;i++)if(l=s[i]){let c=r[i],{open:u,close:d}=l;a.push({from:u.pos-c.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+c.close.length})}return{changes:a}}return null}function GVn(e,t,n=t.selection.ranges){let r=[],s=-1;e:for(let{from:a,to:i}of n){let l=r.length,c=1e9,u;for(let d=a;d<=i;){let f=t.doc.lineAt(d);if(u==null&&(u=rOe(t,f.from).line,!u))continue e;if(f.from>s&&(a==i||i>f.from)){s=f.from;let p=/^\s*/.exec(f.text)[0].length,h=p==f.length,m=f.text.slice(p,p+u.length)==u?p:-1;p<f.text.length&&p<c&&(c=p),r.push({line:f,comment:m,token:u,indent:p,empty:h,single:!1})}d=f.to+1}if(c<1e9)for(let d=l;d<r.length;d++)r[d].indent<r[d].line.text.length&&(r[d].indent=c);r.length==l+1&&(r[l].single=!0)}if(e!=2&&r.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:l,token:c,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:l.from+u,insert:c+" "});let i=t.changes(a);return{changes:i,selection:t.selection.map(i,1)}}else if(e!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:i,comment:l,token:c}of r)if(l>=0){let u=i.from+l,d=u+c.length;i.text[d-i.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const tve=zy.define(),QVn=zy.define(),YVn=xn.define(),tkt=xn.define({combine(e){return By(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,s)=>t(r,s)||n(r,s)})}}),nkt=bl.define({create(){return Xv.empty},update(e,t){let n=t.state.facet(tkt),r=t.annotation(tve);if(r){let c=bf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=qB(d,d.length,n.minDepth,c):d=akt(d,t.startState.selection),new Xv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(QVn);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(Il.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=bf.fromTransaction(t),i=t.annotation(Il.time),l=t.annotation(Il.userEvent);return a?e=e.addChanges(a,i,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,i,l,n.newGroupDelay)),(s=="full"||s=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new Xv(e.done.map(bf.fromJSON),e.undone.map(bf.fromJSON))}});function KVn(e={}){return[nkt,tkt.of(e),At.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?rkt:t.inputType=="historyRedo"?nve:null;return r?(t.preventDefault(),r(n)):!1}})]}function rW(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(nkt,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const rkt=rW(0,!1),nve=rW(1,!1),XVn=rW(0,!0),JVn=rW(1,!0);class bf{constructor(t,n,r,s,a){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=a}setSelAfter(t){return new bf(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(t){return new bf(t.changes&&jl.fromJSON(t.changes),[],t.mapped&&cy.fromJSON(t.mapped),t.startSelection&&wt.fromJSON(t.startSelection),t.selectionsAfter.map(wt.fromJSON))}static fromTransaction(t,n){let r=qh;for(let s of t.startState.facet(YVn)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new bf(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,qh)}static selection(t){return new bf(void 0,qh,void 0,void 0,t)}}function qB(e,t,n,r){let s=t+1>n+20?t-n-1:0,a=e.slice(s,t);return a.push(r),a}function eHn(e,t){let n=[],r=!1;return e.iterChangedRanges((s,a)=>n.push(s,a)),t.iterChangedRanges((s,a,i,l)=>{for(let c=0;c<n.length;){let u=n[c++],d=n[c++];l>=u&&i<=d&&(r=!0)}}),r}function tHn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function skt(e,t){return e.length?t.length?e.concat(t):e:t}const qh=[],nHn=200;function akt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-nHn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),qB(e,e.length-1,1e9,n.setSelAfter(r)))}else return[bf.selection([t])]}function rHn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function Xee(e,t){if(!e.length)return e;let n=e.length,r=qh;for(;n;){let s=sHn(e[n-1],t,r);if(s.changes&&!s.changes.empty||s.effects.length){let a=e.slice(0,n);return a[n-1]=s,a}else t=s.mapped,n--,r=s.selectionsAfter}return r.length?[bf.selection(r)]:qh}function sHn(e,t,n){let r=skt(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):qh,n);if(!e.changes)return bf.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new bf(s,dr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const aHn=/^(input\.type|delete)($|\.)/;class Xv{constructor(t,n,r=0,s=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Xv(this.done,this.undone):this}addChanges(t,n,r,s,a){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&t.changes&&(!r||aHn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,eHn(l.changes,t.changes))||r=="input.type.compose")?i=qB(i,i.length-1,s.minDepth,new bf(t.changes.compose(l.changes),skt(dr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,qh)):i=qB(i,i.length,s.minDepth,t),new Xv(i,qh,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:qh;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&tHn(a[a.length-1],t)?this:new Xv(akt(this.done,t),this.undone,n,r)}addMapping(t){return new Xv(Xee(this.done,t),Xee(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let s=t==0?this.done:this.undone;if(s.length==0)return null;let a=s[s.length-1],i=a.selectionsAfter[0]||(a.startSelection?a.startSelection.map(a.changes.invertedDesc,1):n.selection);if(r&&a.selectionsAfter.length)return n.update({selection:a.selectionsAfter[a.selectionsAfter.length-1],annotations:tve.of({side:t,rest:rHn(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?qh:s.slice(0,s.length-1);return a.mapped&&(l=Xee(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:tve.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Xv.empty=new Xv(qh,qh);const iHn=[{key:"Mod-z",run:rkt,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:nve,preventDefault:!0},{linux:"Ctrl-Shift-z",run:nve,preventDefault:!0},{key:"Mod-u",run:XVn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:JVn,preventDefault:!0}];function yI(e,t){return wt.create(e.ranges.map(t),e.mainIndex)}function Kg(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Xg({state:e,dispatch:t},n){let r=yI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Kg(e,r)),!0)}function sW(e,t){return wt.cursor(t?e.to:e.from)}function ikt(e,t){return Xg(e,n=>n.empty?e.moveByChar(n,t):sW(n,t))}function sd(e){return e.textDirectionAt(e.state.selection.main.head)==_i.LTR}const okt=e=>ikt(e,!sd(e)),lkt=e=>ikt(e,sd(e));function ckt(e,t){return Xg(e,n=>n.empty?e.moveByGroup(n,t):sW(n,t))}const oHn=e=>ckt(e,!sd(e)),lHn=e=>ckt(e,sd(e));function cHn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function aW(e,t,n){let r=yi(e).resolveInner(t.head),s=n?Pr.closedBy:Pr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;cHn(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Kv(e,r.from,1):Kv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,wt.cursor(l,n?-1:1)}const uHn=e=>Xg(e,t=>aW(e.state,t,!sd(e))),dHn=e=>Xg(e,t=>aW(e.state,t,sd(e)));function ukt(e,t){return Xg(e,n=>{if(!n.empty)return sW(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const dkt=e=>ukt(e,!1),fkt=e=>ukt(e,!0);function pkt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(At.scrollMargins)){let i=a(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function hkt(e,t){let n=pkt(e),{state:r}=e,s=yI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):sW(i,t));if(s.eq(r.selection))return!1;let a;if(n.selfScroll){let i=e.coordsAtPos(r.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),c=l.top+n.marginTop,u=l.bottom-n.marginBottom;i&&i.top>c&&i.bottom<u&&(a=At.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Kg(r,s),{effects:a}),!0}const n9e=e=>hkt(e,!1),rve=e=>hkt(e,!0);function sS(e,t,n){let r=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?r.to:r.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==r.from&&r.length){let a=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&t.head!=r.from+a&&(s=wt.cursor(r.from+a))}return s}const fHn=e=>Xg(e,t=>sS(e,t,!0)),pHn=e=>Xg(e,t=>sS(e,t,!1)),hHn=e=>Xg(e,t=>sS(e,t,!sd(e))),mHn=e=>Xg(e,t=>sS(e,t,sd(e))),gHn=e=>Xg(e,t=>wt.cursor(e.lineBlockAt(t.head).from,1)),vHn=e=>Xg(e,t=>wt.cursor(e.lineBlockAt(t.head).to,-1));function yHn(e,t,n){let r=!1,s=yI(e.selection,a=>{let i=Kv(e,a.head,-1)||Kv(e,a.head,1)||a.head>0&&Kv(e,a.head-1,1)||a.head<e.doc.length&&Kv(e,a.head+1,-1);if(!i||!i.end)return a;r=!0;let l=i.start.from==a.head?i.end.to:i.end.from;return wt.cursor(l)});return r?(t(Kg(e,s)),!0):!1}const bHn=({state:e,dispatch:t})=>yHn(e,t);function Am(e,t,n){let r=yI(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=wt.range(s.head,s.anchor));let a=n(s);return wt.range(s.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(Kg(e.state,r)),!0)}function mkt(e,t){return Am(e,t,n=>e.moveByChar(n,t))}const gkt=e=>mkt(e,!sd(e)),vkt=e=>mkt(e,sd(e));function ykt(e,t){return Am(e,t,n=>e.moveByGroup(n,t))}const xHn=e=>ykt(e,!sd(e)),wHn=e=>ykt(e,sd(e)),SHn=e=>{let t=!sd(e);return Am(e,t,n=>aW(e.state,n,t))},kHn=e=>{let t=sd(e);return Am(e,t,n=>aW(e.state,n,t))};function bkt(e,t){return Am(e,t,n=>e.moveVertically(n,t))}const xkt=e=>bkt(e,!1),wkt=e=>bkt(e,!0);function Skt(e,t){return Am(e,t,n=>e.moveVertically(n,t,pkt(e).height))}const r9e=e=>Skt(e,!1),s9e=e=>Skt(e,!0),OHn=e=>Am(e,!0,t=>sS(e,t,!0)),_Hn=e=>Am(e,!1,t=>sS(e,t,!1)),CHn=e=>{let t=!sd(e);return Am(e,t,n=>sS(e,n,t))},EHn=e=>{let t=sd(e);return Am(e,t,n=>sS(e,n,t))},THn=e=>Am(e,!1,t=>wt.cursor(e.lineBlockAt(t.head).from)),jHn=e=>Am(e,!0,t=>wt.cursor(e.lineBlockAt(t.head).to)),a9e=({state:e,dispatch:t})=>(t(Kg(e,{anchor:0})),!0),i9e=({state:e,dispatch:t})=>(t(Kg(e,{anchor:e.doc.length})),!0),o9e=({state:e,dispatch:t})=>(t(Kg(e,{anchor:e.selection.main.anchor,head:0})),!0),l9e=({state:e,dispatch:t})=>(t(Kg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),NHn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),IHn=({state:e,dispatch:t})=>{let n=iW(e).map(({from:r,to:s})=>wt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:wt.create(n),userEvent:"select"})),!0},AHn=({state:e,dispatch:t})=>{let n=yI(e.selection,r=>{let s=yi(e),a=s.resolveStack(r.from,1);if(r.empty){let i=s.resolveStack(r.from,-1);i.node.from>=a.node.from&&i.node.to<=a.node.to&&(a=i)}for(let i=a;i;i=i.next){let{node:l}=i;if((l.from<r.from&&l.to>=r.to||l.to>r.to&&l.from<=r.from)&&i.next)return wt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Kg(e,n)),!0)};function kkt(e,t){let{state:n}=e,r=n.selection,s=n.selection.ranges.slice();for(let a of n.selection.ranges){let i=n.doc.lineAt(a.head);if(t?i.to<e.state.doc.length:i.from>0)for(let l=a;;){let c=e.moveVertically(l,t);if(c.head<i.from||c.head>i.to){s.some(u=>u.head==c.head)||s.push(c);break}else{if(c.head==l.head)break;l=c}}}return s.length==r.ranges.length?!1:(e.dispatch(Kg(n,wt.create(s,s.length-1))),!0)}const RHn=e=>kkt(e,!1),PHn=e=>kkt(e,!0),$Hn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=wt.create([n.main]):n.main.empty||(r=wt.create([wt.cursor(n.main.head)])),r?(t(Kg(e,r)),!0):!1};function G3(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,s=r.changeByRange(a=>{let{from:i,to:l}=a;if(i==l){let c=t(a);c<i?(n="delete.backward",c=dF(e,c,!1)):c>i&&(n="delete.forward",c=dF(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=dF(e,i,!1),l=dF(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:wt.cursor(i,i<a.head?-1:1)}});return s.changes.empty?!1:(e.dispatch(r.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?At.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function dF(e,t,n){if(e instanceof At)for(let r of e.state.facet(At.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const Okt=(e,t,n)=>G3(e,r=>{let s=r.from,{state:a}=e,i=a.doc.lineAt(s),l,c;if(n&&!t&&s>i.from&&s<i.from+200&&!/[^ \t]/.test(l=i.text.slice(0,s-i.from))){if(l[l.length-1]==" ")return s-1;let u=Bg(l,a.tabSize),d=u%ZO(a)||ZO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=_c(i.text,s-i.from,t,t)+i.from,c==s&&i.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(i.text.slice(c-i.from,s-i.from))&&(c=_c(i.text,c-i.from,!1,!1)+i.from);return c}),sve=e=>Okt(e,!1,!0),_kt=e=>Okt(e,!0,!1),Ckt=(e,t)=>G3(e,n=>{let r=n.head,{state:s}=e,a=s.doc.lineAt(r),i=s.charCategorizer(r);for(let l=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);break}let c=_c(a.text,r-a.from,t)+a.from,u=a.text.slice(Math.min(r,c)-a.from,Math.max(r,c)-a.from),d=i(u);if(l!=null&&d!=l)break;(u!=" "||r!=n.head)&&(l=d),r=c}return r}),Ekt=e=>Ckt(e,!1),MHn=e=>Ckt(e,!0),DHn=e=>G3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),LHn=e=>G3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),FHn=e=>G3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),zHn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:ka.of(["",""])},range:wt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},BHn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let s=r.from,a=e.doc.lineAt(s),i=s==a.from?s-1:_c(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:_c(a.text,s-a.from,!0)+a.from;return{changes:{from:i,to:l,insert:e.doc.slice(s,l).append(e.doc.slice(i,s))},range:wt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function iW(e){let t=[],n=-1;for(let r of e.selection.ranges){let s=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=s.number){let i=t[t.length-1];i.to=a.to,i.ranges.push(r)}else t.push({from:s.from,to:a.to,ranges:[r]});n=a.number+1}return t}function Tkt(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of iW(e)){if(n?a.to==e.doc.length:a.from==0)continue;let i=e.doc.lineAt(n?a.to+1:a.from-1),l=i.length+1;if(n){r.push({from:a.to,to:i.to},{from:a.from,insert:i.text+e.lineBreak});for(let c of a.ranges)s.push(wt.range(Math.min(e.doc.length,c.anchor+l),Math.min(e.doc.length,c.head+l)))}else{r.push({from:i.from,to:a.from},{from:a.to,insert:e.lineBreak+i.text});for(let c of a.ranges)s.push(wt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:wt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const UHn=({state:e,dispatch:t})=>Tkt(e,t,!1),qHn=({state:e,dispatch:t})=>Tkt(e,t,!0);function jkt(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of iW(e))n?r.push({from:a.from,insert:e.doc.slice(a.from,a.to)+e.lineBreak}):r.push({from:a.to,insert:e.lineBreak+e.doc.slice(a.from,a.to)});let s=e.changes(r);return t(e.update({changes:s,selection:e.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const VHn=({state:e,dispatch:t})=>jkt(e,t,!1),HHn=({state:e,dispatch:t})=>jkt(e,t,!0),WHn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(iW(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=yI(t.selection,s=>{let a;if(e.lineWrapping){let i=e.lineBlockAt(s.head),l=e.coordsAtPos(s.head,s.assoc||1);l&&(a=i.bottom+e.documentTop-l.bottom+e.defaultLineHeight/2)}return e.moveVertically(s,!0,a)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function ZHn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=yi(e).resolveInner(t),r=n.childBefore(t),s=n.childAfter(t),a;return r&&s&&r.to<=t&&s.from>=t&&(a=r.type.prop(Pr.closedBy))&&a.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const c9e=Nkt(!1),GHn=Nkt(!0);function Nkt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(s=>{let{from:a,to:i}=s,l=t.doc.lineAt(a),c=!e&&a==i&&ZHn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new JH(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=_ke(u,a);for(d==null&&(d=Bg(/^\s*/.exec(t.doc.lineAt(a).text)[0],t.tabSize));i<l.to&&/\s/.test(l.text[i-l.from]);)i++;c?{from:a,to:i}=c:a>l.from&&a<l.from+100&&!/\S/.test(l.text.slice(0,a))&&(a=l.from);let f=["",gM(t,d)];return c&&f.push(gM(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:ka.of(f)},range:wt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function sOe(e,t){let n=-1;return e.changeByRange(r=>{let s=[];for(let i=r.from;i<=r.to;){let l=e.doc.lineAt(i);l.number>n&&(r.empty||r.to>l.from)&&(t(l,s,r),n=l.number),i=l.to+1}let a=e.changes(s);return{changes:s,range:wt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const QHn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new JH(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=sOe(e,(a,i,l)=>{let c=_ke(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=gM(e,c);(u!=d||l.from<a.from+u.length)&&(n[a.from]=c,i.push({from:a.from,to:a.from+u.length,insert:d}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0},Ikt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(sOe(e,(n,r)=>{r.push({from:n.from,insert:e.facet(mI)})}),{userEvent:"input.indent"})),!0),Akt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(sOe(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=Bg(s,e.tabSize),i=0,l=gM(e,Math.max(0,a-ZO(e)));for(;i<s.length&&i<l.length&&s.charCodeAt(i)==l.charCodeAt(i);)i++;r.push({from:n.from+i,to:n.from+s.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0),YHn=e=>(e.setTabFocusMode(),!0),KHn=[{key:"Ctrl-b",run:okt,shift:gkt,preventDefault:!0},{key:"Ctrl-f",run:lkt,shift:vkt},{key:"Ctrl-p",run:dkt,shift:xkt},{key:"Ctrl-n",run:fkt,shift:wkt},{key:"Ctrl-a",run:gHn,shift:THn},{key:"Ctrl-e",run:vHn,shift:jHn},{key:"Ctrl-d",run:_kt},{key:"Ctrl-h",run:sve},{key:"Ctrl-k",run:DHn},{key:"Ctrl-Alt-h",run:Ekt},{key:"Ctrl-o",run:zHn},{key:"Ctrl-t",run:BHn},{key:"Ctrl-v",run:rve}],XHn=[{key:"ArrowLeft",run:okt,shift:gkt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:oHn,shift:xHn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:hHn,shift:CHn,preventDefault:!0},{key:"ArrowRight",run:lkt,shift:vkt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:lHn,shift:wHn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:mHn,shift:EHn,preventDefault:!0},{key:"ArrowUp",run:dkt,shift:xkt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:a9e,shift:o9e},{mac:"Ctrl-ArrowUp",run:n9e,shift:r9e},{key:"ArrowDown",run:fkt,shift:wkt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:i9e,shift:l9e},{mac:"Ctrl-ArrowDown",run:rve,shift:s9e},{key:"PageUp",run:n9e,shift:r9e},{key:"PageDown",run:rve,shift:s9e},{key:"Home",run:pHn,shift:_Hn,preventDefault:!0},{key:"Mod-Home",run:a9e,shift:o9e},{key:"End",run:fHn,shift:OHn,preventDefault:!0},{key:"Mod-End",run:i9e,shift:l9e},{key:"Enter",run:c9e,shift:c9e},{key:"Mod-a",run:NHn},{key:"Backspace",run:sve,shift:sve,preventDefault:!0},{key:"Delete",run:_kt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ekt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:MHn,preventDefault:!0},{mac:"Mod-Backspace",run:LHn,preventDefault:!0},{mac:"Mod-Delete",run:FHn,preventDefault:!0}].concat(KHn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),JHn=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:uHn,shift:SHn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:dHn,shift:kHn},{key:"Alt-ArrowUp",run:UHn},{key:"Shift-Alt-ArrowUp",run:VHn},{key:"Alt-ArrowDown",run:qHn},{key:"Shift-Alt-ArrowDown",run:HHn},{key:"Mod-Alt-ArrowUp",run:RHn},{key:"Mod-Alt-ArrowDown",run:PHn},{key:"Escape",run:$Hn},{key:"Mod-Enter",run:GHn},{key:"Alt-l",mac:"Ctrl-l",run:IHn},{key:"Mod-i",run:AHn,preventDefault:!0},{key:"Mod-[",run:Akt},{key:"Mod-]",run:Ikt},{key:"Mod-Alt-\\",run:QHn},{key:"Shift-Mod-k",run:WHn},{key:"Shift-Mod-\\",run:bHn},{key:"Mod-/",run:UVn},{key:"Alt-A",run:VVn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:YHn}].concat(XHn),eWn={key:"Tab",run:Ikt,shift:Akt},u9e=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Dx{constructor(t,n,r=0,s=t.length,a,i){this.test=i,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,s),this.bufferStart=r,this.normalize=a?l=>a(u9e(l)):u9e,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return cf(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=ike(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=zv(t);let s=this.normalize(n);if(s.length)for(let a=0,i=r,l=!0;;a++){let c=s.charCodeAt(a),u=this.match(c,i,l,this.bufferPos+this.bufferStart,a==s.length-1);if(u)return this.value=u,this;if(a==s.length-1)break;l&&a<n.length&&n.charCodeAt(a)==c?i++:l=!1}}}match(t,n,r,s,a){let i=null;for(let l=0;l<this.matches.length;){let c=this.matches[l],u=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?i={from:c.from,to:s,precise:a&&c.precise}:(c.index++,u=!0)),u?l++:this.matches.splice(l,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?i={from:n,to:s,precise:r&&a}:this.matches.push({from:n,index:1,precise:r})),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Dx.prototype[Symbol.iterator]=function(){return this});const Rkt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},aOe="gm"+(/x/.unicode==null?"":"u");class Pkt{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=Rkt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new $kt(t,n,r,s,a);this.re=new RegExp(n,aOe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=VB(t,s),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=VB(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<s||r>this.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const Jee=new WeakMap;class JT{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=Jee.get(t);if(!s||s.from>=r||s.to<=n){let l=new JT(n,t.sliceString(n,r));return Jee.set(t,l),l}if(s.from==n&&s.to==r)return s;let{text:a,from:i}=s;return i>n&&(a=t.sliceString(n,i)+a,i=n),s.to<r&&(a+=t.sliceString(s.to,r)),Jee.set(t,new JT(i,a)),new JT(n,a.slice(n-i,r-i))}}class $kt{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=Rkt,this.matchPos=VB(t,s),this.re=new RegExp(n,aOe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=JT.get(t,s,this.chunkEnd(s+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this.matchPos=VB(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=JT.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Pkt.prototype[Symbol.iterator]=$kt.prototype[Symbol.iterator]=function(){return this});function tWn(e){try{return new RegExp(e,aOe),!0}catch{return!1}}function VB(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const nWn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=D9n(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return s.then(a=>{let i=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!i){e.dispatch({effects:r});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=i,p=d?+d.slice(1):0,h=u?+u:l.number;if(u&&f){let y=h/100;c&&(y=y*(c=="-"?-1:1)+l.number/t.doc.lines),h=Math.round(t.doc.lines*y)}else u&&c&&(h=h*(c=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,h))),v=wt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,At.scrollIntoView(v.from,{y:"center"})],selection:v})}),!0},rWn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},sWn=xn.define({combine(e){return By(e,rWn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function aWn(e){return[uWn,cWn]}const iWn=jn.mark({class:"cm-selectionMatch"}),oWn=jn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function d9e(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=bo.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=bo.Word)}function lWn(e,t,n,r){return e(t.sliceDoc(n,n+1))==bo.Word&&e(t.sliceDoc(r-1,r))==bo.Word}const cWn=Oo.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(sWn),{state:n}=e,r=n.selection;if(r.ranges.length>1)return jn.none;let s=r.main,a,i=null;if(s.empty){if(!t.highlightWordAroundCursor)return jn.none;let c=n.wordAt(s.head);if(!c)return jn.none;i=n.charCategorizer(s.head),a=n.sliceDoc(c.from,c.to)}else{let c=s.to-s.from;if(c<t.minSelectionLength||c>200)return jn.none;if(t.wholeWords){if(a=n.sliceDoc(s.from,s.to),i=n.charCategorizer(s.head),!(d9e(i,n,s.from,s.to)&&lWn(i,n,s.from,s.to)))return jn.none}else if(a=n.sliceDoc(s.from,s.to),!a)return jn.none}let l=[];for(let c of e.visibleRanges){let u=new Dx(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||d9e(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(oWn.range(d,f)):(d>=s.to||f<=s.from)&&l.push(iWn.range(d,f)),l.length>t.maxMatches))return jn.none}}return jn.set(l)}},{decorations:e=>e.decorations}),uWn=At.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),dWn=({state:e,dispatch:t})=>{let{selection:n}=e,r=wt.create(n.ranges.map(s=>e.wordAt(s.head)||wt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function fWn(e,t){let{main:n,ranges:r}=e.selection,s=e.wordAt(n.head),a=s&&s.from==n.from&&s.to==n.to;for(let i=!1,l=new Dx(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Dx(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),i=!0}else{if(i&&r.some(c=>c.from==l.value.from))continue;if(a){let c=e.wordAt(l.value.from);if(!c||c.from!=l.value.from||c.to!=l.value.to)continue}return l.value}}const pWn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return dWn({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(a=>e.sliceDoc(a.from,a.to)!=r))return!1;let s=fWn(e,r);return s?(t(e.update({selection:e.selection.addRange(wt.range(s.from,s.to),!1),effects:At.scrollIntoView(s.to)})),!0):!1},bI=xn.define({combine(e){return By(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new EWn(t),scrollToMatch:t=>At.scrollIntoView(t)})}});class Mkt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||tWn(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
|
|
234
|
-
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new bWn(this):new gWn(this)}getCursor(t,n=0,r){let s=t.doc?t:ps.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?YE(this,s,n,r):QE(this,s,n,r)}}class Dkt{constructor(t){this.spec=t}}function hWn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function QE(e,t,n,r){let s;return e.wholeWord&&(s=mWn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=hWn(e.test,t,s)),new Dx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function mWn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(HB(s,n-a))!=bo.Word||t(WB(s,n-a))!=bo.Word)&&(t(WB(s,r-a))!=bo.Word||t(HB(s,r-a))!=bo.Word))}class gWn extends Dkt{constructor(t){super(t)}nextMatch(t,n,r){let s=QE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=QE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=QE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=QE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=QE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function vWn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function YE(e,t,n,r){let s;return e.wholeWord&&(s=yWn(t.charCategorizer(t.selection.main.head))),e.test&&(s=vWn(e.test,t,s)),new Pkt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function HB(e,t){return e.slice(_c(e,t,!1),t)}function WB(e,t){return e.slice(t,_c(e,t))}function yWn(e){return(t,n,r)=>!r[0].length||(e(HB(r.input,r.index))!=bo.Word||e(WB(r.input,r.index))!=bo.Word)&&(e(WB(r.input,r.index+r[0].length))!=bo.Word||e(HB(r.input,r.index+r[0].length))!=bo.Word)}class bWn extends Dkt{nextMatch(t,n,r){let s=YE(this.spec,t,r,t.doc.length).next();return s.done&&(s=YE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=YE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=YE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=YE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const _M=dr.define(),iOe=dr.define(),Jw=bl.define({create(e){return new ete(ave(e).create(),null)},update(e,t){for(let n of t.effects)n.is(_M)?e=new ete(n.value.create(),e.panel):n.is(iOe)&&(e=new ete(e.query,n.value?oOe:null));return e},provide:e=>mM.from(e,t=>t.panel)});class ete{constructor(t,n){this.query=t,this.panel=n}}const xWn=jn.mark({class:"cm-searchMatch"}),wWn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),SWn=Oo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Jw))}update(e){let t=e.state.field(Jw);(t!=e.startState.field(Jw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return jn.none;let{view:n}=this,r=new Ld;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?wWn:xWn)})}return r.finish()}},{decorations:e=>e.decorations});function Q3(e){return t=>{let n=t.state.field(Jw,!1);return n&&n.query.spec.valid?e(t,n):zkt(t)}}const ZB=Q3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=wt.single(r.from,r.to),a=e.state.facet(bI);return e.dispatch({selection:s,effects:[lOe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Fkt(e),!0}),GB=Q3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=wt.single(s.from,s.to),i=e.state.facet(bI);return e.dispatch({selection:a,effects:[lOe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Fkt(e),!0}),kWn=Q3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:wt.create(n.map(r=>wt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),OWn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Dx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(wt.range(l.value.from,l.value.to))}return t(e.update({selection:wt.create(a,i),userEvent:"select.search.matches"})),!0},f9e=Q3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(At.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=wt.single(i.from,i.to).map(f),d.push(lOe(e,i)),d.push(n.facet(bI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),_Wn=Q3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:At.announce.of(r),userEvent:"input.replace.all"}),!0});function oOe(e){return e.state.facet(bI).createPanel(e)}function ave(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(bI);return new Mkt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Lkt(e){let t=kke(e,oOe);return t&&t.dom.querySelector("[main-field]")}function Fkt(e){let t=Lkt(e);t&&t==e.root.activeElement&&t.select()}const zkt=e=>{let t=e.state.field(Jw,!1);if(t&&t.panel){let n=Lkt(e);if(n&&n!=e.root.activeElement){let r=ave(e.state,t.query.spec);r.valid&&e.dispatch({effects:_M.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[iOe.of(!0),t?_M.of(ave(e.state,t.query.spec)):dr.appendConfig.of(jWn)]});return!0},Bkt=e=>{let t=e.state.field(Jw,!1);if(!t||!t.panel)return!1;let n=kke(e,oOe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:iOe.of(!1)}),!0},CWn=[{key:"Mod-f",run:zkt,scope:"editor search-panel"},{key:"F3",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Bkt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:OWn},{key:"Mod-Alt-g",run:nWn},{key:"Mod-d",run:pWn,preventDefault:!0}];class EWn{constructor(t){this.view=t;let n=this.query=t.state.field(Jw).query.spec;this.commit=this.commit.bind(this),this.searchField=pi("input",{value:n.search,placeholder:cp(t,"Find"),"aria-label":cp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=pi("input",{value:n.replace,placeholder:cp(t,"Replace"),"aria-label":cp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=pi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=pi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=pi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return pi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=pi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>ZB(t),[cp(t,"next")]),r("prev",()=>GB(t),[cp(t,"previous")]),r("select",()=>kWn(t),[cp(t,"all")]),pi("label",null,[this.caseField,cp(t,"match case")]),pi("label",null,[this.reField,cp(t,"regexp")]),pi("label",null,[this.wordField,cp(t,"by word")]),...t.state.readOnly?[]:[pi("br"),this.replaceField,r("replace",()=>f9e(t),[cp(t,"replace")]),r("replaceAll",()=>_Wn(t),[cp(t,"replace all")])],pi("button",{name:"close",onclick:()=>Bkt(t),"aria-label":cp(t,"close"),type:"button"},["×"])])}commit(){let t=new Mkt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:_M.of(t)}))}keydown(t){Z8n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?GB:ZB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),f9e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(_M)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(bI).top}}function cp(e,t){return e.state.phrase(t)}const fF=30,pF=/[\s\.,:;?!]/;function lOe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-fF),i=Math.min(s,n+fF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<fF;c++)if(!pF.test(l[c+1])&&pF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-fF;c--)if(!pF.test(l[c-1])&&pF.test(l[c])){l=l.slice(0,c);break}}return At.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const TWn=At.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),jWn=[Jw,Jp.low(SWn),TWn];class p9e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ek{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(CM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Ld,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=UWn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,jn.widget({widget:new LWn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new Ek(u,n,Kj(u))}}function Kj(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new p9e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new p9e(r.from,a,r.diagnostic)}}),r}function NWn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(CM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Ukt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function IWn(e,t){return e.field(jp,!1)?t:t.concat(dr.appendConfig.of(qWn))}const Ukt=dr.define(),cOe=dr.define(),qkt=dr.define(),jp=bl.define({create(){return new Ek(jn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=Kj(n,e.selected.diagnostic,a)||Kj(n,null,a)}!n.size&&s&&t.state.facet(CM).autoPanel&&(s=null),e=new Ek(n,s,r)}for(let n of t.effects)if(n.is(Ukt)){let r=t.state.facet(CM).autoPanel?n.value.length?EM.open:null:e.panel;e=Ek.init(n.value,r,t.state)}else n.is(cOe)?e=new Ek(e.diagnostics,n.value?EM.open:null,e.selected):n.is(qkt)&&(e=new Ek(e.diagnostics,e.panel,n.value));return e},provide:e=>[mM.from(e,t=>t.panel),At.decorations.from(e,t=>t.diagnostics)]}),AWn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function RWn(e,t,n){let{diagnostics:r}=e.state.field(jp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(CM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:PWn(e,s)}}}:null}function PWn(e,t){return pi("ul",{class:"cm-tooltip-lint"},t.map(n=>Hkt(e,n,!1)))}const $Wn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:IWn(e.state,[cOe.of(!0)])});let n=kke(e,EM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},h9e=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:cOe.of(!1)}),!0)},MWn=e=>{let t=e.state.field(jp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},DWn=[{key:"Mod-Shift-m",run:$Wn,preventDefault:!0},{key:"F8",run:MWn}],CM=xn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...By(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:m9e,tooltipFilter:m9e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function m9e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Vkt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function Hkt(e,t,n){var r;let s=n?Vkt(t.actions):[];return pi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},pi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=Kj(e.state.field(jp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),pi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return pi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&pi("div",{class:"cm-diagnosticSource"},t.source))}class LWn extends eh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return pi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class g9e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Hkt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class EM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)h9e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=Vkt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Kj(this.view.state.field(jp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=pi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=pi("div",{class:"cm-panel-lint"},this.list,pi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>h9e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(jp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(jp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new g9e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new g9e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(jp),r=Kj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:qkt.of(r)})}static open(t){return new EM(t)}}function FWn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function hF(e){return FWn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const zWn=At.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:hF("#d11")},".cm-lintRange-warning":{backgroundImage:hF("orange")},".cm-lintRange-info":{backgroundImage:hF("#999")},".cm-lintRange-hint":{backgroundImage:hF("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function BWn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function UWn(e){let t="hint",n=1;for(let r of e){let s=BWn(r.severity);s>n&&(n=s,t=r.severity)}return t}const qWn=[jp,At.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?jn.none:jn.set([AWn.range(t.from,t.to)])}),$9n(RWn,{hideOn:NWn}),zWn];var v9e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(ABn)),t.defaultKeymap!==!1&&(a=a.concat(JHn)),t.searchKeymap!==!1&&(a=a.concat(CWn)),t.historyKeymap!==!1&&(a=a.concat(iHn)),t.foldKeymap!==!1&&(a=a.concat(v7n)),t.completionKeymap!==!1&&(a=a.concat(F1t)),t.lintKeymap!==!1&&(a=a.concat(DWn));var i=[];return t.lineNumbers!==!1&&i.push(Z9n()),t.highlightActiveLineGutter!==!1&&i.push(Y9n()),t.highlightSpecialChars!==!1&&i.push(c9n()),t.history!==!1&&i.push(KVn()),t.foldGutter!==!1&&i.push(w7n()),t.drawSelection!==!1&&i.push(J8n()),t.dropCursor!==!1&&i.push(s9n()),t.allowMultipleSelections!==!1&&i.push(ps.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(c7n()),t.syntaxHighlighting!==!1&&i.push(rS(_7n,{fallback:!0})),t.bracketMatching!==!1&&i.push(A7n()),t.closeBrackets!==!1&&i.push(TBn()),t.autocompletion!==!1&&i.push(L1t()),t.rectangularSelection!==!1&&i.push(k9n()),s!==!1&&i.push(C9n()),t.highlightActiveLine!==!1&&i.push(m9n()),t.highlightSelectionMatches!==!1&&i.push(aWn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(mI.of(" ".repeat(t.tabSize))),i.concat([hI.of(a.flat())]).filter(Boolean)};const VWn="#e5c07b",y9e="#e06c75",HWn="#56b6c2",WWn="#ffffff",H8="#abb2bf",ive="#7d8799",ZWn="#61afef",GWn="#98c379",b9e="#d19a66",QWn="#c678dd",YWn="#21252b",x9e="#2c313a",w9e="#282c34",tte="#353a42",KWn="#3E4451",S9e="#528bff",XWn=At.theme({"&":{color:H8,backgroundColor:w9e},".cm-content":{caretColor:S9e},".cm-cursor, .cm-dropCursor":{borderLeftColor:S9e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:KWn},".cm-panels":{backgroundColor:YWn,color:H8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:w9e,color:ive,border:"none"},".cm-activeLineGutter":{backgroundColor:x9e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:tte},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:tte,borderBottomColor:tte},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:x9e,color:H8}}},{dark:!0}),JWn=Yg.define([{tag:de.keyword,color:QWn},{tag:[de.name,de.deleted,de.character,de.propertyName,de.macroName],color:y9e},{tag:[de.function(de.variableName),de.labelName],color:ZWn},{tag:[de.color,de.constant(de.name),de.standard(de.name)],color:b9e},{tag:[de.definition(de.name),de.separator],color:H8},{tag:[de.typeName,de.className,de.number,de.changed,de.annotation,de.modifier,de.self,de.namespace],color:VWn},{tag:[de.operator,de.operatorKeyword,de.url,de.escape,de.regexp,de.link,de.special(de.string)],color:HWn},{tag:[de.meta,de.comment],color:ive},{tag:de.strong,fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.link,color:ive,textDecoration:"underline"},{tag:de.heading,fontWeight:"bold",color:y9e},{tag:[de.atom,de.bool,de.special(de.variableName)],color:b9e},{tag:[de.processingInstruction,de.string,de.inserted],color:GWn},{tag:de.invalid,color:WWn}]),eZn=[XWn,rS(JWn)];var tZn=At.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),nZn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(hI.of([eWn])),m&&(typeof m=="boolean"?v.unshift(v9e()):v.unshift(v9e(m))),p&&v.unshift(b9n(p)),d){case"light":v.push(tZn);break;case"dark":v.push(eZn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(At.editable.of(!1)),c&&v.push(ps.readOnly.of(!0)),[...v]},rZn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class sZn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class k9e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var nte=null,aZn=()=>typeof window>"u"?new k9e:(nte||(nte=new k9e),nte),iZn=At.theme({"& .cm-scroller":{height:"100% !important"}}),O9e=null,rte=null;function oZn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===O9e||(O9e=i,rte=At.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),rte}var _9e=zy.define(),lZn=200,cZn=[];function uZn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?cZn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,T=C===void 0?null:C,E=e.placeholder,N=E===void 0?"":E,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,z=e.root,V=e.initialState,M=g.useState(),G=M[0],U=M[1],$=g.useState(),q=$[0],Z=$[1],Y=g.useState(),ne=Y[0],J=Y[1],ee=g.useState(()=>({current:null}))[0],se=g.useState(()=>({current:null}))[0],le=oZn(h,v,b,S,_,T),X=At.updateListener.of(pe=>{if(pe.docChanged&&typeof r=="function"&&!pe.transactions.some(ge=>ge.annotation(_9e))){ee.current?ee.current.reset():(ee.current=new sZn(()=>{if(se.current){var ge=se.current;se.current=null,ge()}ee.current=null},lZn),aZn().add(ee.current));var ce=pe.state.doc,Se=ce.toString();r(Se,pe)}s&&s(rZn(pe))}),te=nZn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),re=[X,...le?[le]:[],iZn,...te];return i&&typeof i=="function"&&re.push(At.updateListener.of(i)),re=re.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var pe={doc:t,selection:n,extensions:re},ce=V?ps.fromJSON(V.json,pe,V.fields):ps.create(pe);if(J(ce),!q){var Se=new At({state:ce,parent:G,root:z});Z(Se),a&&a(Se,ce)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&U(e.container)},[e.container]),g.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),g.useEffect(()=>{u&&q&&q.focus()},[u,q]),g.useEffect(()=>{q&&q.dispatch({effects:dr.reconfigure.of(re)})},[f,c,h,v,b,S,_,T,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var pe=q?q.state.doc.toString():"";if(q&&t!==pe){var ce=ee.current&&!ee.current.isDone,Se=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[_9e.of(!0)]})};ce?se.current=Se:Se()}}},[t,q]),{state:ne,setState:J,view:q,setView:Z,container:G,setContainer:U}}var dZn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xu=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,T=e.indentWithTab,E=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=JSt(e,dZn),L=g.useRef(null),D=uZn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:T,editable:E,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,z=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var V=g.useCallback(G=>{L.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",YO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const fZn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let ste=null;function pZn(){return ste||(ste=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Da(()=>import("./core-BA_i0TGa.js"),__vite__mapDeps([0,1,2]),import.meta.url),Da(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Da(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Da(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Da(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Da(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Da(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Da(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Da(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Da(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Da(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Da(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Da(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Da(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Da(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Da(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Da(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Da(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),ste}async function hZn(e,t){const n=fZn[t?.toLowerCase()];if(!n)return null;const r=await pZn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function mZn(e){return new WO(Tke.define(e))}const Wkt=[ug.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript())}}),ug.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Da(()=>Promise.resolve().then(()=>V7n),void 0,import.meta.url).then(e=>e.json())}}),ug.of({name:"JSX",extensions:["jsx"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ug.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Da(()=>Promise.resolve().then(()=>LVn),void 0,import.meta.url).then(e=>e.markdown())}}),ug.of({name:"TSX",extensions:["tsx"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ug.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ug.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Da(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>mZn(e.shell))}})];function gZn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function vZn(e){const t=gZn(e);return L1t({override:[yZn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function yZn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const bZn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,xZn=jn.mark({class:"cm-variable-highlight"}),C9e=new Xwt({regexp:bZn,decoration:()=>xZn}),wZn=Oo.fromClass(class{decorations;constructor(e){this.decorations=C9e.createDeco(e)}update(e){this.decorations=C9e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),SZn=wZn;function kZn(){const e=vI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[de.className,de.propertyName],color:"var(--neutral6)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:de.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=At.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function OZn(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Yg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[de.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[de.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:[de.deleted],color:"var(--accent2)"},{tag:de.invalid,color:"var(--error)"},{tag:[de.standard(de.tagName)],color:"var(--accent1)"}]);return[e,rS(t)]}const l0=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?kZn():OZn(),[e])},_Zn=Ha(K("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),CZn=Jp.highest(At.editorAttributes.of({style:"outline: none"})),EZn=Jp.highest(At.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),TZn=[CZn,EZn],Gr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=l0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...TZn];return f&&S.push(At.lineWrapping),a==="json"?S.push(Mp):a==="markdown"&&S.push(tOe({base:QO,codeLanguages:Wkt})),i&&a==="markdown"&&S.push(SZn),c&&a==="markdown"&&S.push(vZn(c)),p===!1&&S.push(ps.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:K(_Zn({variant:h}),s),...m,children:[r&&o.jsx(Ba,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Xu,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),jZn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},NZn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=l0(),{settings:r,setSettings:s}=AH(),a=r?.tracingOptions,i=g.useMemo(()=>jZn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ve,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xu,{value:l,onChange:d,theme:n,extensions:[Mp],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(oe,{type:"button",onClick:f,children:"Save"})})]})},IZn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(wV,{})})})}),o.jsx(On,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(Rs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Mr,{children:o.jsx(NZn,{onSaved:()=>t(!1)})})]})})]})};function AZn({status:e}){switch(e){case"running":return o.jsx(Vt,{});case"failed":return o.jsx(Os,{className:"text-accent2"});case"canceled":return o.jsx(Df,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(xj,{className:"text-neutral3"});case"suspended":return o.jsx(hV,{className:"text-accent3"});case"success":return o.jsx(ca,{className:"text-accent1"});default:return o.jsx(xj,{className:"text-neutral3"})}}function Zkt({status:e}){return o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(AZn,{status:e})})}),o.jsx(On,{children:e})]})}var ate,E9e;function uOe(){if(E9e)return ate;E9e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return ate=r,ate}var ite,T9e;function RZn(){return T9e||(T9e=1,ite="2.2.4"),ite}var ote,j9e;function PZn(){return j9e||(j9e=1,ote={Graph:uOe(),version:RZn()}),ote}var lte,N9e;function $Zn(){if(N9e)return lte;N9e=1;var e=uOe();lte={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return lte}var cte,I9e;function MZn(){if(I9e)return cte;I9e=1,cte=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return cte}var ute,A9e;function Gkt(){if(A9e)return ute;A9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return ute=e,ute}var dte,R9e;function Qkt(){if(R9e)return dte;R9e=1;var e=Gkt();dte=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return dte}var fte,P9e;function DZn(){if(P9e)return fte;P9e=1;var e=Qkt();fte=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return fte}var pte,$9e;function Ykt(){if($9e)return pte;$9e=1,pte=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return pte}var hte,M9e;function LZn(){if(M9e)return hte;M9e=1;var e=Ykt();hte=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return hte}var mte,D9e;function FZn(){if(D9e)return mte;D9e=1,mte=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return mte}var gte,L9e;function Kkt(){if(L9e)return gte;L9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return gte=e,e.CycleException=t,gte}var vte,F9e;function zZn(){if(F9e)return vte;F9e=1;var e=Kkt();vte=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return vte}var yte,z9e;function Xkt(){if(z9e)return yte;z9e=1,yte=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return yte}var bte,B9e;function BZn(){if(B9e)return bte;B9e=1;var e=Xkt();bte=t;function t(n,r){return e(n,r,"post")}return bte}var xte,U9e;function UZn(){if(U9e)return xte;U9e=1;var e=Xkt();xte=t;function t(n,r){return e(n,r,"pre")}return xte}var wte,q9e;function qZn(){if(q9e)return wte;q9e=1;var e=uOe(),t=Gkt();wte=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return wte}var Ste,V9e;function VZn(){return V9e||(V9e=1,Ste={components:MZn(),dijkstra:Qkt(),dijkstraAll:DZn(),findCycles:LZn(),floydWarshall:FZn(),isAcyclic:zZn(),postorder:BZn(),preorder:UZn(),prim:qZn(),tarjan:Ykt(),topsort:Kkt()}),Ste}var kte,H9e;function qg(){if(H9e)return kte;H9e=1;var e=PZn();return kte={Graph:e.Graph,json:$Zn(),alg:VZn(),version:e.version},kte}var Ote,W9e;function HZn(){if(W9e)return Ote;W9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return Ote=e,Ote}var _te,Z9e;function WZn(){if(Z9e)return _te;Z9e=1;let e=qg().Graph,t=HZn();_te=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return _te}var Cte,G9e;function Pl(){if(G9e)return Cte;G9e=1;let e=qg().Graph;Cte={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:T};function t(E,N,I,A){for(var R=A;E.hasNode(R);)R=S(A);return I.dummy=N,E.setNode(R,I),R}function n(E){let N=new e().setGraph(E.graph());return E.nodes().forEach(I=>N.setNode(I,E.node(I))),E.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=E.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(E){let N=new e({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(I=>{E.children(I).length||N.setNode(I,E.node(I))}),E.edges().forEach(I=>{N.setEdge(I,E.edge(I))}),N}function s(E){let N=E.nodes().map(I=>{let A={};return E.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function a(E){let N=E.nodes().map(I=>{let A={};return E.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function i(E,N){let I=E.x,A=E.y,R=N.x-I,L=N.y-A,D=E.width/2,F=E.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(E){let N=k(m(E)+1).map(()=>[]);return E.nodes().forEach(I=>{let A=E.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(E){let N=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);E.nodes().forEach(A=>{let R=E.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(E){let N=E.nodes().map(D=>E.node(D).rank),I=h(Math.min,N),A=[];E.nodes().forEach(D=>{let F=E.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=E.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>E.node(H).rank+=R)})}function d(E,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(E,"border",R,N)}function f(E,N=p){const I=[];for(let A=0;A<E.length;A+=N){const R=E.slice(A,A+N);I.push(R)}return I}const p=65535;function h(E,N){if(N.length>p){const I=f(N);return E.apply(null,I.map(A=>E.apply(null,A)))}else return E.apply(null,N)}function m(E){const I=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(E,N){let I={lhs:[],rhs:[]};return E.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(E,N){let I=Date.now();try{return N()}finally{console.log(E+" time: "+(Date.now()-I)+"ms")}}function b(E,N){return N()}let x=0;function S(E){var N=++x;return E+(""+N)}function k(E,N,I=1){N==null&&(N=E,E=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=E;A(L);L+=I)R.push(L);return R}function _(E,N){const I={};for(const A of N)E[A]!==void 0&&(I[A]=E[A]);return I}function C(E,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(E).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function T(E,N){return E.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Cte}var Ete,Q9e;function ZZn(){if(Q9e)return Ete;Q9e=1;let e=WZn(),t=Pl().uniqueId;Ete={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return Ete}var Tte,Y9e;function GZn(){if(Y9e)return Tte;Y9e=1;let e=Pl();Tte={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return Tte}var jte,K9e;function QB(){if(K9e)return jte;K9e=1;const{applyWithChunking:e}=Pl();jte={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return jte}var Nte,X9e;function Jkt(){if(X9e)return Nte;X9e=1;var e=qg().Graph,t=QB().slack;Nte=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return Nte}var Ite,J9e;function QZn(){if(J9e)return Ite;J9e=1;var e=Jkt(),t=QB().slack,n=QB().longestPath,r=qg().alg.preorder,s=qg().alg.postorder,a=Pl().simplify;Ite=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,_;k=p(S);)_=h(S,x,k),m(S,x,k,_)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(x,S,_))}function c(x,S,k){var _=x.node(k),C=_.parent;x.edge(k,C).cutvalue=u(x,S,k)}function u(x,S,k){var _=x.node(k),C=_.parent,T=!0,E=S.edge(k,C),N=0;return E||(T=!1,E=S.edge(C,k)),N=E.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===T,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var T=k,E=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),E.low=T,E.lim=k++,C?E.parent=C:delete E.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var T=x.node(_),E=x.node(C),N=T,I=!1;T.lim>E.lim&&(N=E,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,_){var C=k.v,T=k.w;x.removeEdge(C,T),x.setEdge(_.v,_.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var T=x.node(C).parent,E=S.edge(C,T),N=!1;E||(E=S.edge(T,C),N=!0),S.node(C).rank=S.node(T).rank+(N?E.minlen:-E.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return Ite}var Ate,e7e;function YZn(){if(e7e)return Ate;e7e=1;var e=QB(),t=e.longestPath,n=Jkt(),r=QZn();Ate=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return Ate}var Rte,t7e;function KZn(){if(t7e)return Rte;t7e=1,Rte=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return Rte}var Pte,n7e;function XZn(){if(n7e)return Pte;n7e=1;let e=Pl();Pte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,_=x.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,v,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return Pte}var $te,r7e;function JZn(){if(r7e)return $te;r7e=1;let e=Pl();$te=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return $te}var Mte,s7e;function eGn(){if(s7e)return Mte;s7e=1,Mte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return Mte}var Dte,a7e;function tGn(){if(a7e)return Dte;a7e=1;let e=Pl();Dte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return Dte}var Lte,i7e;function nGn(){if(i7e)return Lte;i7e=1;let e=Pl().zipObject;Lte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return Lte}var Fte,o7e;function rGn(){if(o7e)return Fte;o7e=1,Fte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return Fte}var zte,l7e;function sGn(){if(l7e)return zte;l7e=1;let e=Pl();zte=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return zte}var Bte,c7e;function aGn(){if(c7e)return Bte;c7e=1;let e=Pl();Bte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return Bte}var Ute,u7e;function iGn(){if(u7e)return Ute;u7e=1;let e=rGn(),t=sGn(),n=aGn();Ute=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return Ute}var qte,d7e;function oGn(){if(d7e)return qte;d7e=1;let e=qg().Graph,t=Pl();qte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return qte}var Vte,f7e;function lGn(){if(f7e)return Vte;f7e=1,Vte=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Vte}var Hte,p7e;function cGn(){if(p7e)return Hte;p7e=1;let e=tGn(),t=nGn(),n=iGn(),r=oGn(),s=lGn(),a=qg().Graph,i=Pl();Hte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,x=Object.assign({},y),b=_)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return Hte}var Wte,h7e;function uGn(){if(h7e)return Wte;h7e=1;let e=qg().Graph,t=Pl();Wte={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,_){let C=0,T=0,E=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:E;(R||I===N)&&(_.slice(T,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<C||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),T=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,T,E,N){let I;t.range(C,T).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<E||L.order>N)&&a(x,R,I)})})}function k(_,C){let T=-1,E,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(E=y.node(R[0]).order,S(C,N,A,T,E),N=A,T=E)}S(C,N,C.length,E,_.length)}),C}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},_={},C={};return b.forEach(T=>{T.forEach((E,N)=>{k[E]=E,_[E]=E,C[E]=N})}),b.forEach(T=>{let E=-1;T.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>C[R]-C[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];_[N]===N&&E<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],E=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),T=k?"borderLeft":"borderRight";function E(A,R){let L=C.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){_[A]=C.inEdges(A).reduce((R,L)=>Math.max(R,_[L.v]+C.edge(L)),0)}function I(A){let R=C.outEdges(A).reduce((D,F)=>Math.min(D,_[F.w]-C.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==T&&(_[A]=Math.max(_[A],R))}return E(N,C.predecessors.bind(C)),E(I,C.successors.bind(C)),Object.keys(S).forEach(A=>_[A]=_[x[A]]),_}function u(y,b,x,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(T=>{let E;T.forEach(N=>{let I=x[N];if(k.setNode(I),E){var A=x[E],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,E),R||0))}E=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([T,E])=>{let N=v(y,T)/2;k=Math.max(E+N,k),_=Math.min(E-N,_)});const C=k-_;return C<x[0]&&(x=[C,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let T=_+C,E=y[T];if(E===b)return;let N=Object.values(E),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[T]=t.mapValues(E,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(T=>{T==="r"&&(k=k.map(A=>Object.values(A).reverse()));let E=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,E),I=c(y,k,N.root,N.align,T==="r");T==="r"&&(I=t.mapValues(I,A=>-A)),S[C+T]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,x){return(S,k,_)=>{let C=S.node(k),T=S.node(_),E=0,N;if(E+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(E+=x?N:-N),N=0,E+=(C.dummy?b:y)/2,E+=(T.dummy?b:y)/2,E+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=T.width/2;break;case"r":N=-T.width/2;break}return N&&(E+=x?N:-N),N=0,E}}function v(y,b){return y.node(b).width}return Wte}var Zte,m7e;function dGn(){if(m7e)return Zte;m7e=1;let e=Pl(),t=uGn().positionX;Zte=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return Zte}var Gte,g7e;function fGn(){if(g7e)return Gte;g7e=1;let e=ZZn(),t=GZn(),n=YZn(),r=Pl().normalizeRanks,s=KZn(),a=Pl().removeEmptyRanks,i=XZn(),l=JZn(),c=eGn(),u=cGn(),d=dGn(),f=Pl(),p=qg().Graph;Gte=h;function h($,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let Y=Z(" buildLayoutGraph",()=>E($));Z(" runLayout",()=>m(Y,Z,q)),Z(" updateInputGraph",()=>v($,Y))})}function m($,q,Z){q(" makeSpaceForEdgeLabels",()=>N($)),q(" removeSelfEdges",()=>z($)),q(" acyclic",()=>e.run($)),q(" nestingGraph.run",()=>i.run($)),q(" rank",()=>n(f.asNonCompoundGraph($))),q(" injectEdgeLabelProxies",()=>I($)),q(" removeEmptyRanks",()=>a($)),q(" nestingGraph.cleanup",()=>i.cleanup($)),q(" normalizeRanks",()=>r($)),q(" assignRankMinMax",()=>A($)),q(" removeEdgeLabelProxies",()=>R($)),q(" normalize.run",()=>t.run($)),q(" parentDummyChains",()=>s($)),q(" addBorderSegments",()=>l($)),q(" order",()=>u($,Z)),q(" insertSelfEdges",()=>V($)),q(" adjustCoordinateSystem",()=>c.adjust($)),q(" position",()=>d($)),q(" positionSelfEdges",()=>M($)),q(" removeBorderNodes",()=>B($)),q(" normalize.undo",()=>t.undo($)),q(" fixupEdgeLabelCoords",()=>F($)),q(" undoCoordinateSystem",()=>c.undo($)),q(" translateGraph",()=>L($)),q(" assignNodeIntersects",()=>D($)),q(" reversePoints",()=>H($)),q(" acyclic.undo",()=>e.undo($))}function v($,q){$.nodes().forEach(Z=>{let Y=$.node(Z),ne=q.node(Z);Y&&(Y.x=ne.x,Y.y=ne.y,Y.rank=ne.rank,q.children(Z).length&&(Y.width=ne.width,Y.height=ne.height))}),$.edges().forEach(Z=>{let Y=$.edge(Z),ne=q.edge(Z);Y.points=ne.points,Object.hasOwn(ne,"x")&&(Y.x=ne.x,Y.y=ne.y)}),$.graph().width=q.graph().width,$.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},T=["labelpos"];function E($){let q=new p({multigraph:!0,compound:!0}),Z=U($.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(Y=>{let ne=U($.node(Y));const J=G(ne,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(Y,J),q.setParent(Y,$.parent(Y))}),$.edges().forEach(Y=>{let ne=U($.edge(Y));q.setEdge(Y,Object.assign({},C,G(ne,_),f.pick(ne,T)))}),q}function N($){let q=$.graph();q.ranksep/=2,$.edges().forEach(Z=>{let Y=$.edge(Z);Y.minlen*=2,Y.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?Y.width+=Y.labeloffset:Y.height+=Y.labeloffset)})}function I($){$.edges().forEach(q=>{let Z=$.edge(q);if(Z.width&&Z.height){let Y=$.node(q.v),J={rank:($.node(q.w).rank-Y.rank)/2+Y.rank,e:q};f.addDummyNode($,"edge-proxy",J,"_ep")}})}function A($){let q=0;$.nodes().forEach(Z=>{let Y=$.node(Z);Y.borderTop&&(Y.minRank=$.node(Y.borderTop).rank,Y.maxRank=$.node(Y.borderBottom).rank,q=Math.max(q,Y.maxRank))}),$.graph().maxRank=q}function R($){$.nodes().forEach(q=>{let Z=$.node(q);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(q))})}function L($){let q=Number.POSITIVE_INFINITY,Z=0,Y=Number.POSITIVE_INFINITY,ne=0,J=$.graph(),ee=J.marginx||0,se=J.marginy||0;function le(X){let te=X.x,re=X.y,pe=X.width,ce=X.height;q=Math.min(q,te-pe/2),Z=Math.max(Z,te+pe/2),Y=Math.min(Y,re-ce/2),ne=Math.max(ne,re+ce/2)}$.nodes().forEach(X=>le($.node(X))),$.edges().forEach(X=>{let te=$.edge(X);Object.hasOwn(te,"x")&&le(te)}),q-=ee,Y-=se,$.nodes().forEach(X=>{let te=$.node(X);te.x-=q,te.y-=Y}),$.edges().forEach(X=>{let te=$.edge(X);te.points.forEach(re=>{re.x-=q,re.y-=Y}),Object.hasOwn(te,"x")&&(te.x-=q),Object.hasOwn(te,"y")&&(te.y-=Y)}),J.width=Z-q+ee,J.height=ne-Y+se}function D($){$.edges().forEach(q=>{let Z=$.edge(q),Y=$.node(q.v),ne=$.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=ne,ee=Y),Z.points.unshift(f.intersectRect(Y,J)),Z.points.push(f.intersectRect(ne,ee))})}function F($){$.edges().forEach(q=>{let Z=$.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(q=>{let Z=$.edge(q);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(q=>{if($.children(q).length){let Z=$.node(q),Y=$.node(Z.borderTop),ne=$.node(Z.borderBottom),J=$.node(Z.borderLeft[Z.borderLeft.length-1]),ee=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(ne.y-Y.y),Z.x=J.x+Z.width/2,Z.y=Y.y+Z.height/2}}),$.nodes().forEach(q=>{$.node(q).dummy==="border"&&$.removeNode(q)})}function z($){$.edges().forEach(q=>{if(q.v===q.w){var Z=$.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:$.edge(q)}),$.removeEdge(q)}})}function V($){var q=f.buildLayerMatrix($);q.forEach(Z=>{var Y=0;Z.forEach((ne,J)=>{var ee=$.node(ne);ee.order=J+Y,(ee.selfEdges||[]).forEach(se=>{f.addDummyNode($,"selfedge",{width:se.label.width,height:se.label.height,rank:ee.rank,order:J+ ++Y,e:se.e,label:se.label},"_se")}),delete ee.selfEdges})})}function M($){$.nodes().forEach(q=>{var Z=$.node(q);if(Z.dummy==="selfedge"){var Y=$.node(Z.e.v),ne=Y.x+Y.width/2,J=Y.y,ee=Z.x-ne,se=Y.height/2;$.setEdge(Z.e,Z.label),$.removeNode(q),Z.label.points=[{x:ne+2*ee/3,y:J-se},{x:ne+5*ee/6,y:J-se},{x:ne+ee,y:J},{x:ne+5*ee/6,y:J+se},{x:ne+2*ee/3,y:J+se}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,q){return f.mapValues(f.pick($,q),Number)}function U($){var q={};return $&&Object.entries($).forEach(([Z,Y])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=Y}),q}return Gte}var Qte,v7e;function pGn(){if(v7e)return Qte;v7e=1;let e=Pl(),t=qg().Graph;Qte={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Qte}var Yte,y7e;function hGn(){return y7e||(y7e=1,Yte="1.1.8"),Yte}var Kte,b7e;function mGn(){return b7e||(b7e=1,Kte={graphlib:qg(),layout:fGn(),debug:pGn(),util:{time:Pl().time,notime:Pl().notime},version:hGn()}),Kte}var gGn=mGn();const x7e=Ll(gGn);function Ul(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Ul(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var vGn={value:()=>{}};function oW(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new W8(n)}function W8(e){this._=e}function yGn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}W8.prototype=oW.prototype={constructor:W8,on:function(e,t){var n=this._,r=yGn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=bGn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=w7e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=w7e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new W8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function bGn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function w7e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=vGn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ove="http://www.w3.org/1999/xhtml";const S7e={svg:"http://www.w3.org/2000/svg",xhtml:ove,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function lW(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),S7e.hasOwnProperty(t)?{space:S7e[t],local:e}:e}function xGn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ove&&t.documentElement.namespaceURI===ove?t.createElement(e):t.createElementNS(n,e)}}function wGn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function eOt(e){var t=lW(e);return(t.local?wGn:xGn)(t)}function SGn(){}function dOe(e){return e==null?SGn:function(){return this.querySelector(e)}}function kGn(e){typeof e!="function"&&(e=dOe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Gp(r,this._parents)}function OGn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function _Gn(){return[]}function tOt(e){return e==null?_Gn:function(){return this.querySelectorAll(e)}}function CGn(e){return function(){return OGn(e.apply(this,arguments))}}function EGn(e){typeof e=="function"?e=CGn(e):e=tOt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Gp(r,s)}function nOt(e){return function(){return this.matches(e)}}function rOt(e){return function(t){return t.matches(e)}}var TGn=Array.prototype.find;function jGn(e){return function(){return TGn.call(this.children,e)}}function NGn(){return this.firstElementChild}function IGn(e){return this.select(e==null?NGn:jGn(typeof e=="function"?e:rOt(e)))}var AGn=Array.prototype.filter;function RGn(){return Array.from(this.children)}function PGn(e){return function(){return AGn.call(this.children,e)}}function $Gn(e){return this.selectAll(e==null?RGn:PGn(typeof e=="function"?e:rOt(e)))}function MGn(e){typeof e!="function"&&(e=nOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Gp(r,this._parents)}function sOt(e){return new Array(e.length)}function DGn(){return new Gp(this._enter||this._groups.map(sOt),this._parents)}function YB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}YB.prototype={constructor:YB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function LGn(e){return function(){return e}}function FGn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new YB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function zGn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new YB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function BGn(e){return e.__data__}function UGn(e,t){if(!arguments.length)return Array.from(this,BGn);var n=t?zGn:FGn,r=this._parents,s=this._groups;typeof e!="function"&&(e=LGn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=qGn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Gp(i,r),i._enter=l,i._exit=c,i}function qGn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function VGn(){return new Gp(this._exit||this._groups.map(sOt),this._parents)}function HGn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function WGn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Gp(l,this._parents)}function ZGn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function GGn(e){e||(e=QGn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Gp(s,this._parents).order()}function QGn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function YGn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function KGn(){return Array.from(this)}function XGn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function JGn(){let e=0;for(const t of this)++e;return e}function eQn(){return!this.node()}function tQn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function nQn(e){return function(){this.removeAttribute(e)}}function rQn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function sQn(e,t){return function(){this.setAttribute(e,t)}}function aQn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function iQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function oQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function lQn(e,t){var n=lW(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?rQn:nQn:typeof t=="function"?n.local?oQn:iQn:n.local?aQn:sQn)(n,t))}function aOt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function cQn(e){return function(){this.style.removeProperty(e)}}function uQn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function dQn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function fQn(e,t,n){return arguments.length>1?this.each((t==null?cQn:typeof t=="function"?dQn:uQn)(e,t,n??"")):Xj(this.node(),e)}function Xj(e,t){return e.style.getPropertyValue(t)||aOt(e).getComputedStyle(e,null).getPropertyValue(t)}function pQn(e){return function(){delete this[e]}}function hQn(e,t){return function(){this[e]=t}}function mQn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function gQn(e,t){return arguments.length>1?this.each((t==null?pQn:typeof t=="function"?mQn:hQn)(e,t)):this.node()[e]}function iOt(e){return e.trim().split(/^|\s+/)}function fOe(e){return e.classList||new oOt(e)}function oOt(e){this._node=e,this._names=iOt(e.getAttribute("class")||"")}oOt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function lOt(e,t){for(var n=fOe(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function cOt(e,t){for(var n=fOe(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function vQn(e){return function(){lOt(this,e)}}function yQn(e){return function(){cOt(this,e)}}function bQn(e,t){return function(){(t.apply(this,arguments)?lOt:cOt)(this,e)}}function xQn(e,t){var n=iOt(e+"");if(arguments.length<2){for(var r=fOe(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?bQn:t?vQn:yQn)(n,t))}function wQn(){this.textContent=""}function SQn(e){return function(){this.textContent=e}}function kQn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function OQn(e){return arguments.length?this.each(e==null?wQn:(typeof e=="function"?kQn:SQn)(e)):this.node().textContent}function _Qn(){this.innerHTML=""}function CQn(e){return function(){this.innerHTML=e}}function EQn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function TQn(e){return arguments.length?this.each(e==null?_Qn:(typeof e=="function"?EQn:CQn)(e)):this.node().innerHTML}function jQn(){this.nextSibling&&this.parentNode.appendChild(this)}function NQn(){return this.each(jQn)}function IQn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function AQn(){return this.each(IQn)}function RQn(e){var t=typeof e=="function"?e:eOt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function PQn(){return null}function $Qn(e,t){var n=typeof e=="function"?e:eOt(e),r=t==null?PQn:typeof t=="function"?t:dOe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function MQn(){var e=this.parentNode;e&&e.removeChild(this)}function DQn(){return this.each(MQn)}function LQn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function FQn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function zQn(e){return this.select(e?FQn:LQn)}function BQn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function UQn(e){return function(t){e.call(this,t,this.__data__)}}function qQn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function VQn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function HQn(e,t,n){return function(){var r=this.__on,s,a=UQn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function WQn(e,t,n){var r=qQn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?HQn:VQn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function uOt(e,t,n){var r=aOt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function ZQn(e,t){return function(){return uOt(this,e,t)}}function GQn(e,t){return function(){return uOt(this,e,t.apply(this,arguments))}}function QQn(e,t){return this.each((typeof t=="function"?GQn:ZQn)(e,t))}function*YQn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var dOt=[null];function Gp(e,t){this._groups=e,this._parents=t}function Y3(){return new Gp([[document.documentElement]],dOt)}function KQn(){return this}Gp.prototype=Y3.prototype={constructor:Gp,select:kGn,selectAll:EGn,selectChild:IGn,selectChildren:$Gn,filter:MGn,data:UGn,enter:DGn,exit:VGn,join:HGn,merge:WGn,selection:KQn,order:ZGn,sort:GGn,call:YGn,nodes:KGn,node:XGn,size:JGn,empty:eQn,each:tQn,attr:lQn,style:fQn,property:gQn,classed:xQn,text:OQn,html:TQn,raise:NQn,lower:AQn,append:RQn,insert:$Qn,remove:DQn,clone:zQn,datum:BQn,on:WQn,dispatch:QQn,[Symbol.iterator]:YQn};function _p(e){return typeof e=="string"?new Gp([[document.querySelector(e)]],[document.documentElement]):new Gp([[e]],dOt)}function XQn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function dg(e,t){if(e=XQn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const JQn={passive:!1},TM={capture:!0,passive:!1};function Xte(e){e.stopImmediatePropagation()}function ej(e){e.preventDefault(),e.stopImmediatePropagation()}function fOt(e){var t=e.document.documentElement,n=_p(e).on("dragstart.drag",ej,TM);"onselectstart"in t?n.on("selectstart.drag",ej,TM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function pOt(e,t){var n=e.document.documentElement,r=_p(e).on("dragstart.drag",null);t&&(r.on("click.drag",ej,TM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const mF=e=>()=>e;function lve(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}lve.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function eYn(e){return!e.ctrlKey&&!e.button}function tYn(){return this.parentNode}function nYn(e,t){return t??{x:e.x,y:e.y}}function rYn(){return navigator.maxTouchPoints||"ontouchstart"in this}function hOt(){var e=eYn,t=tYn,n=nYn,r=rYn,s={},a=oW("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,JQn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(_p(k.view).on("mousemove.drag",m,TM).on("mouseup.drag",v,TM),fOt(k.view),Xte(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(ej(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function v(k){_p(k.view).on("mousemove.drag mouseup.drag",null),pOt(k.view,u),ej(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,T=t.call(this,k,_),E=C.length,N,I;for(N=0;N<E;++N)(I=S(this,T,k,_,C[N].identifier,C[N]))&&(Xte(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,T,E;for(T=0;T<C;++T)(E=s[_[T].identifier])&&(ej(k),E("drag",k,_[T]))}function x(k){var _=k.changedTouches,C=_.length,T,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),T=0;T<C;++T)(E=s[_[T].identifier])&&(Xte(k),E("end",k,_[T]))}function S(k,_,C,T,E,N){var I=a.copy(),A=dg(N||C,_),R,L,D;if((D=n.call(k,new lve("beforestart",{sourceEvent:C,target:p,identifier:E,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),T))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,z){var V=A,M;switch(H){case"start":s[E]=F,M=i++;break;case"end":delete s[E],--i;case"drag":A=dg(z||B,_),M=i;break}I.call(H,k,new lve(H,{sourceEvent:B,subject:D,target:p,identifier:E,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),T)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:mF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:mF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:mF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:mF(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function pOe(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function mOt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function K3(){}var jM=.7,KB=1/jM,tj="\\s*([+-]?\\d+)\\s*",NM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",uy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",sYn=/^#([0-9a-f]{3,8})$/,aYn=new RegExp(`^rgb\\(${tj},${tj},${tj}\\)$`),iYn=new RegExp(`^rgb\\(${uy},${uy},${uy}\\)$`),oYn=new RegExp(`^rgba\\(${tj},${tj},${tj},${NM}\\)$`),lYn=new RegExp(`^rgba\\(${uy},${uy},${uy},${NM}\\)$`),cYn=new RegExp(`^hsl\\(${NM},${uy},${uy}\\)$`),uYn=new RegExp(`^hsla\\(${NM},${uy},${uy},${NM}\\)$`),k7e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pOe(K3,KO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:O7e,formatHex:O7e,formatHex8:dYn,formatHsl:fYn,formatRgb:_7e,toString:_7e});function O7e(){return this.rgb().formatHex()}function dYn(){return this.rgb().formatHex8()}function fYn(){return gOt(this).formatHsl()}function _7e(){return this.rgb().formatRgb()}function KO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=sYn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?C7e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?gF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?gF(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=aYn.exec(e))?new xf(t[1],t[2],t[3],1):(t=iYn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=oYn.exec(e))?gF(t[1],t[2],t[3],t[4]):(t=lYn.exec(e))?gF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=cYn.exec(e))?j7e(t[1],t[2]/100,t[3]/100,1):(t=uYn.exec(e))?j7e(t[1],t[2]/100,t[3]/100,t[4]):k7e.hasOwnProperty(e)?C7e(k7e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function C7e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function gF(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function pYn(e){return e instanceof K3||(e=KO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function cve(e,t,n,r){return arguments.length===1?pYn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}pOe(xf,cve,mOt(K3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jM:Math.pow(jM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(sO(this.r),sO(this.g),sO(this.b),XB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:E7e,formatHex:E7e,formatHex8:hYn,formatRgb:T7e,toString:T7e}));function E7e(){return`#${Dk(this.r)}${Dk(this.g)}${Dk(this.b)}`}function hYn(){return`#${Dk(this.r)}${Dk(this.g)}${Dk(this.b)}${Dk((isNaN(this.opacity)?1:this.opacity)*255)}`}function T7e(){const e=XB(this.opacity);return`${e===1?"rgb(":"rgba("}${sO(this.r)}, ${sO(this.g)}, ${sO(this.b)}${e===1?")":`, ${e})`}`}function XB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function sO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dk(e){return e=sO(e),(e<16?"0":"")+e.toString(16)}function j7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new yg(e,t,n,r)}function gOt(e){if(e instanceof yg)return new yg(e.h,e.s,e.l,e.opacity);if(e instanceof K3||(e=KO(e)),!e)return new yg;if(e instanceof yg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new yg(i,l,c,e.opacity)}function mYn(e,t,n,r){return arguments.length===1?gOt(e):new yg(e,t,n,r??1)}function yg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}pOe(yg,mYn,mOt(K3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new yg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jM:Math.pow(jM,e),new yg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(Jte(e>=240?e-240:e+120,s,r),Jte(e,s,r),Jte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new yg(N7e(this.h),vF(this.s),vF(this.l),XB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=XB(this.opacity);return`${e===1?"hsl(":"hsla("}${N7e(this.h)}, ${vF(this.s)*100}%, ${vF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function N7e(e){return e=(e||0)%360,e<0?e+360:e}function vF(e){return Math.max(0,Math.min(1,e||0))}function Jte(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const hOe=e=>()=>e;function gYn(e,t){return function(n){return e+n*t}}function vYn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function yYn(e){return(e=+e)==1?vOt:function(t,n){return n-t?vYn(t,n,e):hOe(isNaN(t)?n:t)}}function vOt(e,t){var n=t-e;return n?gYn(e,n):hOe(isNaN(e)?t:e)}const JB=(function e(t){var n=yYn(t);function r(s,a){var i=n((s=cve(s)).r,(a=cve(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=vOt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function bYn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function xYn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function wYn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=bx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function SYn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function pg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function kYn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=bx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var uve=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ene=new RegExp(uve.source,"g");function OYn(e){return function(){return e}}function _Yn(e){return function(t){return e(t)+""}}function yOt(e,t){var n=uve.lastIndex=ene.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=uve.exec(e))&&(s=ene.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:pg(r,s)})),n=ene.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?_Yn(c[0].x):OYn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function bx(e,t){var n=typeof t,r;return t==null||n==="boolean"?hOe(t):(n==="number"?pg:n==="string"?(r=KO(t))?(t=r,JB):yOt:t instanceof KO?JB:t instanceof Date?SYn:xYn(t)?bYn:Array.isArray(t)?wYn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?kYn:pg)(e,t)}function mOe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var I7e=180/Math.PI,dve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function bOt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*I7e,skewX:Math.atan(c)*I7e,scaleX:i,scaleY:l}}var yF;function CYn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?dve:bOt(t.a,t.b,t.c,t.d,t.e,t.f)}function EYn(e){return e==null||(yF||(yF=document.createElementNS("http://www.w3.org/2000/svg","g")),yF.setAttribute("transform",e),!(e=yF.transform.baseVal.consolidate()))?dve:(e=e.matrix,bOt(e.a,e.b,e.c,e.d,e.e,e.f))}function xOt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:pg(u,f)},{i:v-2,x:pg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:pg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:pg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:pg(u,f)},{i:v-2,x:pg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var TYn=xOt(CYn,"px, ","px)","deg)"),jYn=xOt(EYn,", ",")",")"),NYn=1e-12;function A7e(e){return((e=Math.exp(e))+1/e)/2}function IYn(e){return((e=Math.exp(e))-1/e)/2}function AYn(e){return((e=Math.exp(2*e))-1)/(e+1)}const Z8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<NYn)b=Math.log(p/u)/t,y=function(T){return[l+T*h,c+T*m,u*Math.exp(t*T*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(T){var E=T*b,N=A7e(_),I=u/(n*x)*(N*AYn(t*E+_)-IYn(_));return[l+I*h,c+I*m,u*N/A7e(t*E+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function RYn(e,t){t===void 0&&(t=e,e=bx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var Jj=0,WP=0,NR=0,wOt=1e3,eU,ZP,tU=0,XO=0,cW=0,IM=typeof performance=="object"&&performance.now?performance:Date,SOt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gOe(){return XO||(SOt(PYn),XO=IM.now()+cW)}function PYn(){XO=0}function nU(){this._call=this._time=this._next=null}nU.prototype=kOt.prototype={constructor:nU,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?gOe():+n)+(t==null?0:+t),!this._next&&ZP!==this&&(ZP?ZP._next=this:eU=this,ZP=this),this._call=e,this._time=n,fve()},stop:function(){this._call&&(this._call=null,this._time=1/0,fve())}};function kOt(e,t,n){var r=new nU;return r.restart(e,t,n),r}function $Yn(){gOe(),++Jj;for(var e=eU,t;e;)(t=XO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Jj}function R7e(){XO=(tU=IM.now())+cW,Jj=WP=0;try{$Yn()}finally{Jj=0,DYn(),XO=0}}function MYn(){var e=IM.now(),t=e-tU;t>wOt&&(cW-=t,tU=e)}function DYn(){for(var e,t=eU,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:eU=n);ZP=e,fve(r)}function fve(e){if(!Jj){WP&&(WP=clearTimeout(WP));var t=e-XO;t>24?(e<1/0&&(WP=setTimeout(R7e,e-IM.now()-cW)),NR&&(NR=clearInterval(NR))):(NR||(tU=IM.now(),NR=setInterval(MYn,wOt)),Jj=1,SOt(R7e))}}function P7e(e,t,n){var r=new nU;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var LYn=oW("start","end","cancel","interrupt"),FYn=[],OOt=0,$7e=1,pve=2,G8=3,M7e=4,hve=5,Q8=6;function uW(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;zYn(e,n,{name:t,index:r,group:s,on:LYn,tween:FYn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:OOt})}function vOe(e,t){var n=Jg(e,t);if(n.state>OOt)throw new Error("too late; already scheduled");return n}function Uy(e,t){var n=Jg(e,t);if(n.state>G8)throw new Error("too late; already running");return n}function Jg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function zYn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=kOt(a,0,n.time);function a(u){n.state=$7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==$7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===G8)return P7e(i);h.state===M7e?(h.state=Q8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=Q8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(P7e(function(){n.state===G8&&(n.state=M7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=pve,n.on.call("start",e,e.__data__,n.index,n.group),n.state===pve){for(n.state=G8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=hve,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===hve&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Q8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function Y8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>pve&&r.state<hve,r.state=Q8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function BYn(e){return this.each(function(){Y8(this,e)})}function UYn(e,t){var n,r;return function(){var s=Uy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function qYn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Uy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function VYn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Jg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?UYn:qYn)(n,e,t))}function yOe(e,t,n){var r=e._id;return e.each(function(){var s=Uy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Jg(s,r).value[t]}}function _Ot(e,t){var n;return(typeof t=="number"?pg:t instanceof KO?JB:(n=KO(t))?(t=n,JB):yOt)(e,t)}function HYn(e){return function(){this.removeAttribute(e)}}function WYn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ZYn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function GYn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function QYn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function YYn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function KYn(e,t){var n=lW(e),r=n==="transform"?jYn:_Ot;return this.attrTween(e,typeof t=="function"?(n.local?YYn:QYn)(n,r,yOe(this,"attr."+e,t)):t==null?(n.local?WYn:HYn)(n):(n.local?GYn:ZYn)(n,r,t))}function XYn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function JYn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function eKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&JYn(e,a)),n}return s._value=t,s}function tKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&XYn(e,a)),n}return s._value=t,s}function nKn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=lW(e);return this.tween(n,(r.local?eKn:tKn)(r,t))}function rKn(e,t){return function(){vOe(this,e).delay=+t.apply(this,arguments)}}function sKn(e,t){return t=+t,function(){vOe(this,e).delay=t}}function aKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?rKn:sKn)(t,e)):Jg(this.node(),t).delay}function iKn(e,t){return function(){Uy(this,e).duration=+t.apply(this,arguments)}}function oKn(e,t){return t=+t,function(){Uy(this,e).duration=t}}function lKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?iKn:oKn)(t,e)):Jg(this.node(),t).duration}function cKn(e,t){if(typeof t!="function")throw new Error;return function(){Uy(this,e).ease=t}}function uKn(e){var t=this._id;return arguments.length?this.each(cKn(t,e)):Jg(this.node(),t).ease}function dKn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Uy(this,e).ease=n}}function fKn(e){if(typeof e!="function")throw new Error;return this.each(dKn(this._id,e))}function pKn(e){typeof e!="function"&&(e=nOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Lx(r,this._parents,this._name,this._id)}function hKn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Lx(i,this._parents,this._name,this._id)}function mKn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function gKn(e,t,n){var r,s,a=mKn(t)?vOe:Uy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function vKn(e,t){var n=this._id;return arguments.length<2?Jg(this.node(),n).on.on(e):this.each(gKn(n,e,t))}function yKn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function bKn(){return this.on("end.remove",yKn(this._id))}function xKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dOe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,uW(u[p],t,n,p,u,Jg(d,n)));return new Lx(a,this._parents,t,n)}function wKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=tOt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Jg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&uW(h,t,n,v,p,m);a.push(p),i.push(d)}return new Lx(a,i,t,n)}var SKn=Y3.prototype.constructor;function kKn(){return new SKn(this._groups,this._parents)}function OKn(e,t){var n,r,s;return function(){var a=Xj(this,e),i=(this.style.removeProperty(e),Xj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function COt(e){return function(){this.style.removeProperty(e)}}function _Kn(e,t,n){var r,s=n+"",a;return function(){var i=Xj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function CKn(e,t,n){var r,s,a;return function(){var i=Xj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),Xj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function EKn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Uy(this,e),u=c.on,d=c.value[a]==null?l||(l=COt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function TKn(e,t,n){var r=(e+="")=="transform"?TYn:_Ot;return t==null?this.styleTween(e,OKn(e,r)).on("end.style."+e,COt(e)):typeof t=="function"?this.styleTween(e,CKn(e,r,yOe(this,"style."+e,t))).each(EKn(this._id,e)):this.styleTween(e,_Kn(e,r,t),n).on("end.style."+e,null)}function jKn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function NKn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&jKn(e,i,n)),r}return a._value=t,a}function IKn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,NKn(e,t,n??""))}function AKn(e){return function(){this.textContent=e}}function RKn(e){return function(){var t=e(this);this.textContent=t??""}}function PKn(e){return this.tween("text",typeof e=="function"?RKn(yOe(this,"text",e)):AKn(e==null?"":e+""))}function $Kn(e){return function(t){this.textContent=e.call(this,t)}}function MKn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&$Kn(s)),t}return r._value=e,r}function DKn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,MKn(e))}function LKn(){for(var e=this._name,t=this._id,n=EOt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Jg(c,t);uW(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Lx(r,this._parents,e,n)}function FKn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=Uy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var zKn=0;function Lx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function EOt(){return++zKn}var _b=Y3.prototype;Lx.prototype={constructor:Lx,select:xKn,selectAll:wKn,selectChild:_b.selectChild,selectChildren:_b.selectChildren,filter:pKn,merge:hKn,selection:kKn,transition:LKn,call:_b.call,nodes:_b.nodes,node:_b.node,size:_b.size,empty:_b.empty,each:_b.each,on:vKn,attr:KYn,attrTween:nKn,style:TKn,styleTween:IKn,text:PKn,textTween:DKn,remove:bKn,tween:VYn,delay:aKn,duration:lKn,ease:uKn,easeVarying:fKn,end:FKn,[Symbol.iterator]:_b[Symbol.iterator]};function BKn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var UKn={time:null,delay:0,duration:250,ease:BKn};function qKn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function VKn(e){var t,n;e instanceof Lx?(t=e._id,e=e._name):(t=EOt(),(n=UKn).time=gOe(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&uW(c,e,t,u,i,n||qKn(c,t));return new Lx(r,this._parents,e,t)}Y3.prototype.interrupt=BYn;Y3.prototype.transition=VKn;const bF=e=>()=>e;function HKn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function ox(e,t,n){this.k=e,this.x=t,this.y=n}ox.prototype={constructor:ox,scale:function(e){return e===1?this:new ox(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ox(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var dW=new ox(1,0,0);TOt.prototype=ox.prototype;function TOt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return dW;return e.__zoom}function tne(e){e.stopImmediatePropagation()}function IR(e){e.preventDefault(),e.stopImmediatePropagation()}function WKn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ZKn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function D7e(){return this.__zoom||dW}function GKn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function QKn(){return navigator.maxTouchPoints||"ontouchstart"in this}function YKn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function jOt(){var e=WKn,t=ZKn,n=YKn,r=GKn,s=QKn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Z8,u=oW("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",D7e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var z=D.selection?D.selection():D;z.property("__zoom",D7e),D!==z?_(D,F,H,B):z.interrupt().each(function(){C(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var z=this.__zoom.k,V=typeof F=="function"?F.apply(this,arguments):F;return z*V},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var z=t.apply(this,arguments),V=this.__zoom,M=H==null?k(z):typeof H=="function"?H.apply(this,arguments):H,G=V.invert(M),U=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(V,U),M,G),z,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,z){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,G=B==null?k(V):typeof B=="function"?B.apply(this,arguments):B;return n(dW.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},B,z)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new ox(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,z=F[1]-H[1]*D.k;return B===D.x&&z===D.y?D:new ox(D.k,B,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,F,H,B){D.on("start.zoom",function(){C(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(B).end()}).tween("zoom",function(){var z=this,V=arguments,M=C(z,V).event(B),G=t.apply(z,V),U=H==null?k(G):typeof H=="function"?H.apply(z,V):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof F=="function"?F.apply(z,V):F,Y=c(q.invert(U).concat($/q.k),Z.invert(U).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var J=Y(ne),ee=$/J[2];ne=new ox(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,ne)}})}function C(D,F,H){return!H&&D.__zooming||new T(D,F)}function T(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}T.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=_p(this.that).datum();u.call(D,this.that,new HKn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function E(D,...F){if(!e.apply(this,arguments))return;var H=C(this,F).event(D),B=this.__zoom,z=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=dg(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=B.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(B.k===z)return;H.mouse=[V,B.invert(V)],Y8(this),H.start()}IR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,z),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=C(this,F,!0).event(D),z=_p(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),V=dg(D,H),M=D.clientX,G=D.clientY;fOt(D.view),tne(D),B.mouse=[V,this.__zoom.invert(V)],Y8(this),B.start();function U(q){if(IR(q),!B.moved){var Z=q.clientX-M,Y=q.clientY-G;B.moved=Z*Z+Y*Y>v}B.event(q).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=dg(q,H),B.mouse[1]),B.extent,i))}function $(q){z.on("mousemove.zoom mouseup.zoom",null),pOt(q.view,B.moved),IR(q),B.event(q).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=dg(D.changedTouches?D.changedTouches[0]:D,this),z=H.invert(B),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),B,z),t.apply(this,F),i);IR(D),l>0?_p(this).transition().duration(l).call(_,M,B,D):_p(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,z=C(this,F,D.changedTouches.length===B).event(D),V,M,G,U;for(tne(D),M=0;M<B;++M)G=H[M],U=dg(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,V=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),Y8(this),z.start())}}function R(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M,G,U;for(IR(D),V=0;V<z;++V)M=B[V],G=dg(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],q=H.touch0[1],Z=H.touch1[0],Y=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,J=(J=Y[0]-q[0])*J+(J=Y[1]-q[1])*J;M=x(M,Math.sqrt(ne/J)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],U=[(q[0]+Y[0])/2,(q[1]+Y[1])/2]}else if(H.touch0)G=H.touch0[0],U=H.touch0[1];else return;H.zoom("touch",n(S(M,G,U),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M;for(tne(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<z;++V)M=B[V],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=dg(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=_p(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:bF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:bF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:bF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:bF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const _y={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},AM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],NOt=["Enter"," ","Escape"],IOt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var eN;(function(e){e.Strict="strict",e.Loose="loose"})(eN||(eN={}));var aO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(aO||(aO={}));var RM;(function(e){e.Partial="partial",e.Full="full"})(RM||(RM={}));const AOt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cw||(Cw={}));var PM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(PM||(PM={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const L7e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function ROt(e){return e===null?null:e?"valid":"invalid"}const POt=e=>"id"in e&&"source"in e&&"target"in e,KKn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),bOe=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),X3=(e,t=[0,0])=>{const{width:n,height:r}=c0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},XKn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):bOe(s)?s:t.nodeLookup.get(s.id));const l=i?rU(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return fW(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return pW(n)},J3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=fW(n,rU(s)),r=!0)}),r?pW(n):{x:0,y:0,width:0,height:0}},xOe=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...t4(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=$M(l,nN(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},JKn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function eXn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function tXn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=eXn(e,i),c=J3(l),u=wOe(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function $Ot({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",_y.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&rN(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=rN(f)?JO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",_y.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function nXn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=JKn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const tN=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),JO=(e={x:0,y:0},t,n)=>({x:tN(e.x,t[0][0],t[1][0]-(n?.width??0)),y:tN(e.y,t[0][1],t[1][1]-(n?.height??0))});function MOt(e,t,n){const{width:r,height:s}=c0(n),{x:a,y:i}=n.internals.positionAbsolute;return JO(e,[[a,i],[a+r,i+s]],t)}const F7e=(e,t,n)=>e<t?tN(Math.abs(e-t),1,t)/t:e>n?-tN(Math.abs(e-n),1,t)/t:0,DOt=(e,t,n=15,r=40)=>{const s=F7e(e.x,r,t.width-r)*n,a=F7e(e.y,r,t.height-r)*n;return[s,a]},fW=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),mve=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),pW=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),nN=(e,t=[0,0])=>{const{x:n,y:r}=bOe(e)?e.internals.positionAbsolute:X3(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},rU=(e,t=[0,0])=>{const{x:n,y:r}=bOe(e)?e.internals.positionAbsolute:X3(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},LOt=(e,t)=>pW(fW(mve(e),mve(t))),$M=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},z7e=e=>kg(e.width)&&kg(e.height)&&kg(e.x)&&kg(e.y),kg=e=>!isNaN(e)&&isFinite(e),rXn=(e,t)=>{},e4=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),t4=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?e4(l,i):l},sU=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function mE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function sXn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=mE(e,n),s=mE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=mE(e.top??e.y??0,n),s=mE(e.bottom??e.y??0,n),a=mE(e.left??e.x??0,t),i=mE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function aXn(e,t,n,r,s,a){const{x:i,y:l}=sU(e,[t,n,r]),{x:c,y:u}=sU({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const wOe=(e,t,n,r,s,a)=>{const i=sXn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=tN(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=aXn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},MM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function rN(e){return e!=null&&e!=="parent"}function c0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function FOt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function zOt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function B7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function iXn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function oXn(e){return{...IOt,...e||{}}}function j2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=Og(e),l=t4({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?e4(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const SOe=e=>({width:e.offsetWidth,height:e.offsetHeight}),BOt=e=>e?.getRootNode?.()||window?.document,lXn=["INPUT","SELECT","TEXTAREA"];function UOt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:lXn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const qOt=e=>"clientX"in e,Og=(e,t)=>{const n=qOt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},U7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...SOe(i)}})};function VOt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function xF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function q7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-xF(t-r,a),n];case nr.Right:return[t+xF(r-t,a),n];case nr.Top:return[t,n-xF(n-s,a)];case nr.Bottom:return[t,n+xF(s-n,a)]}}function kOe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=q7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=q7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=VOt({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function HOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function cXn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function uXn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=fW(rU(e),rU(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return $M(i,pW(a))>0}const dXn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,fXn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),pXn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||dXn;let s;return POt(e)?s={...e}:s={...e,id:r(e)},fXn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function WOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=HOt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const V7e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},hXn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},H7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function mXn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=V7e[t],c=V7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=hXn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=HOt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const E=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?E:N:m=p==="x"?N:E}else{const E=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:E:m=l.y===h?E:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?E:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+x.x,y:d.y+x.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],v,y,S,k]}function gXn(e,t,n,r){const s=Math.min(H7e(e,t)/2,H7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function gve({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=mXn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=gXn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function W7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function vXn(e){const{sourceNode:t,targetNode:n}=e;if(!W7e(t)||!W7e(n))return null;const r=t.internals.handleBounds||Z7e(t.handles),s=n.internals.handleBounds||Z7e(n.handles),a=G7e(r?.source??[],e.sourceHandle),i=G7e(e.connectionMode===eN.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",_y.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=e_(t,a,l),d=e_(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function Z7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function e_(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??c0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function G7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function vve(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function yXn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=vve(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const ZOt=1e3,bXn=10,OOe={nodeOrigin:[0,0],nodeExtent:AM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},xXn={...OOe,checkEquality:!0};function _Oe(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function wXn(e,t,n){const r=_Oe(OOe,n);for(const s of e.values())if(s.parentId)EOe(s,e,t,r);else{const a=X3(s,r.nodeOrigin),i=rN(s.extent)?s.extent:r.nodeExtent,l=JO(a,i,c0(s));s.internals.positionAbsolute=l}}function SXn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function COe(e){return e==="manual"}function yve(e,t,n,r={}){const s=_Oe(xXn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!COe(s.zIndexMode)?ZOt:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=X3(d,s.nodeOrigin),h=rN(d.extent)?d.extent:s.nodeExtent,m=JO(p,h,c0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:SXn(d,f),z:GOt(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&EOe(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function kXn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function EOe(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=_Oe(OOe,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}kXn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*bXn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!COe(c)?ZOt:0,{x:p,y:h,z:m}=OXn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function GOt(e,t,n){const r=kg(e.zIndex)?e.zIndex:0;return COe(n)?r:r+(e.selected?t:0)}function OXn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=c0(e),u=X3(e,n),d=rN(e.extent)?JO(u,e.extent,c):u;let f=JO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=MOt(f,c,t));const p=GOt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function TOe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??nN(l),u=LOt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=c0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function _Xn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=SOe(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=rN(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=MOt(k,v,t.get(m.parentId)):S&&(k=JO(k,S,v));const _={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:U7e("source",h.nodeElement,x,f,m.id),target:U7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&EOe(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:nN(_,s)}))}}if(p.length>0){const h=TOe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function CXn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function Q7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function QOt(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;Q7e("source",c,d,e,s,i),Q7e("target",c,u,e,a,l),t.set(r.id,r)}}function YOt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:YOt(n,t):!1}function Y7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function EXn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!YOt(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function nne({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function TXn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=e4(a,t);return{x:i.x-a.x,y:i.y-a.y}}function jXn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:T=0}){p=_p(k);function E({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:z,onNodeDrag:V,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:R,y:L};let $=!1;const q=l.size>1,Z=q&&F?mve(J3(l)):null,Y=q&&B?TXn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,J]of l){if(!D.has(ne))continue;let ee={x:R-J.distance.x,y:L-J.distance.y};B&&(ee=Y?{x:Math.round(ee.x+Y.x),y:Math.round(ee.y+Y.y)}:e4(ee,H));let se=null;if(q&&F&&!J.extent&&Z){const{positionAbsolute:te}=J.internals,re=te.x-Z.x+F[0][0],pe=te.x+J.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],Se=te.y+J.measured.height-Z.y2+F[1][1];se=[[re,ce],[pe,Se]]}const{position:le,positionAbsolute:X}=$Ot({nodeId:ne,nextPosition:ee,nodeLookup:D,nodeExtent:se||F,nodeOrigin:z,onError:G});$=$||J.position.x!==le.x||J.position.y!==le.y,J.position=le,J.internals.positionAbsolute=X}if(m=m||$,!!$&&(U(l,!0),v&&(r||V||!C&&M))){const[ne,J]=nne({nodeId:C,dragItems:l,nodeLookup:D});r?.(v,l,ne,J),V?.(v,ne,J),C||M?.(v,J)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=DOt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&E(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:z,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||U()),_&&V&&C&&e?.(C);const $=j2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:z,containerBounds:d});if(a=$,l=EXn(L,F,$,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=nne({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,q,Z),M?.(R.sourceEvent,q,Z),C||G?.(R.sourceEvent,Z)}}const A=hOt().clickDistance(T).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=j2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=Og(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:z}=t(),V=j2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=Og(R.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>B&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=Og(R.sourceEvent,d),E(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!C&&H){const[B,z]=nne({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,z),F?.(R.sourceEvent,B,z),C||H?.(R.sourceEvent,z)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!Y7e(L,`.${x}`,k))&&(!S||Y7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function NXn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())$M(s,nN(a))>0&&r.push(a);return r}const IXn=250;function AXn(e,t,n,r){let s=[],a=1/0;const i=NXn(e,n,t+IXn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=e_(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function KOt(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...e_(i,c,c.position,!0)}:c}function XOt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function RXn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const JOt=()=>!0;function PXn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=JOt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:T=1,handleDomNode:E}){const N=BOt(e.target);let I=0,A;const{x:R,y:L}=Og(e),D=XOt(a,E),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=KOt(s,D,r,c,t);if(!B)return;let z=Og(e,F),V=!1,M=null,G=!1,U=null;function $(){if(!d||!F)return;const[le,X]=DOt(z,F,C);p({x:le,y:X}),I=requestAnimationFrame($)}const q={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:e_(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:L7e[q.position],toNode:null,pointer:z};function J(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}T===0&&J();function ee(le){if(!H){const{x:Se,y:ge}=Og(le),ke=Se-R,Ne=ge-L;if(!(ke*ke+Ne*Ne>T*T))return;J()}if(!_()||!q){se(le);return}const X=k();z=Og(le,F),A=AXn(t4(z,X,!1,[1,1]),n,c,q),V||($(),V=!0);const te=e_t(le,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=te.handleDomNode,M=te.connection,G=RXn(!!A,te.isValid);const re=c.get(s),pe=re?e_(re,q,nr.Left,!0):ne.from,ce={...ne,from:pe,isValid:G,to:te.toHandle&&G?sU({x:te.toHandle.x,y:te.toHandle.y},X):z,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:L7e[q.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:z};S(ce),ne=ce}function se(le){if(!("touches"in le&&le.touches.length>0)){if(H){(A||U)&&M&&G&&v?.(M);const{inProgress:X,...te}=ne,re={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(le,re),a&&x?.(le,re)}h(),cancelAnimationFrame(I),V=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",se),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",se)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",se),N.addEventListener("touchmove",ee),N.addEventListener("touchend",se)}function e_t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=JOt,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=Og(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=XOt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!x)return b;const T={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=T;const N=_&&C&&(n===eN.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(T),b.toHandle=KOt(S,x,k,d,n,!0)}return b}const bve={onPointerDown:PXn,isValid:e_t};function $Xn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=_p(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&MM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,T=k[2]*Math.pow(2,C*_);t.scaleTo(T)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-v[0],_[1]-v[1]];v=_;const T=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),E={x:k[0]-C[0]*T,y:k[1]-C[1]*T},N=[[0,0],[c,u]];t.setViewportConstrained({x:E.x,y:E.y,zoom:k[2]},N,l)},x=jOt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:dg}}const hW=e=>({x:e.x,y:e.y,zoom:e.k}),rne=({x:e,y:t,zoom:n})=>dW.translate(e,t).scale(n),gT=(e,t)=>e.target.closest(`.${t}`),t_t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),MXn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,sne=(e,t=0,n=MXn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},n_t=e=>{const t=e.ctrlKey&&MM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function DXn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(gT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=dg(d),b=n_t(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===aO.Vertical?0:d.deltaX*p,m=s===aO.Horizontal?0:d.deltaY*p;!MM()&&d.shiftKey&&s!==aO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=hW(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function LXn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=gT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function FXn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=hW(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function zXn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&t_t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,hW(a.transform))}}function BXn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&t_t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=hW(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function UXn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(gT(f,`${u}-flow__node`)||gT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||gT(f,l)&&m||gT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function qXn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=jOt().scaleExtent([t,n]).translateExtent(r),p=_p(e).call(f);x({x:s.x,y:s.y,zoom:tN(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(n_t);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).transform(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:z,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:q,onTransformChange:Z,connectionInProgress:Y,paneClickDistance:ne,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=F&&!$&&!D;f.clickDistance(J?1/0:!kg(ne)||ne<0?0:ne);const se=ee?DXn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):LXn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",se,{passive:!1}),!D){const X=FXn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",X);const te=zXn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const re=BXn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",re)}const le=UXn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:q,connectionInProgress:Y});f.filter(le),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=rne(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=rne(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=rne(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function _(){const A=p?TOt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function C(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).scaleTo(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).scaleBy(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!kg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:T,setScaleExtent:E,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var sN;(function(e){e.Line="line",e.Handle="handle"})(sN||(sN={}));function VXn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function K7e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function nw(e,t){return Math.max(0,t-e)}function rw(e,t){return Math.max(0,e-t)}function wF(e,t,n){return Math.max(0,t-e,e-n)}function X7e(e,t){return e?!t:t}function HXn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:T}=e;let E=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-E:E),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=wF(I,v,y),F=wF(A,b,x);if(i){let z=0,V=0;c&&E<0?z=nw(S+E+R,i[0][0]):!c&&E>0&&(z=rw(S+I+R,i[1][0])),u&&N<0?V=nw(k+N+L,i[0][1]):!u&&N>0&&(V=rw(k+A+L,i[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(l){let z=0,V=0;c&&E>0?z=rw(S+E,l[0][0]):!c&&E<0&&(z=nw(S+I,l[1][0])),u&&N>0?V=rw(k+N,l[0][1]):!u&&N<0&&(V=nw(k+A,l[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(s){if(d){const z=wF(I/T,b,x)*T;if(D=Math.max(D,z),i){let V=0;!c&&!u||c&&!u&&p?V=rw(k+L+I/T,i[1][1])*T:V=nw(k+L+(c?E:-E)/T,i[0][1])*T,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=nw(k+I/T,l[1][1])*T:V=rw(k+(c?E:-E)/T,l[0][1])*T,D=Math.max(D,V)}}if(f){const z=wF(A*T,v,y)/T;if(F=Math.max(F,z),i){let V=0;!c&&!u||u&&!c&&p?V=rw(S+A*T+R,i[1][0])/T:V=nw(S+(u?N:-N)*T+R,i[0][0])/T,F=Math.max(F,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=nw(S+A*T,l[1][0])/T:V=rw(S+(u?N:-N)*T,l[0][0])/T,F=Math.max(F,V)}}}N=N+(N<0?F:-F),E=E+(E<0?D:-D),s&&(p?I>A*T?N=(X7e(c,u)?-E:E)/T:E=(X7e(c,u)?-N:N)*T:d?(N=E/T,u=c):(E=N*T,c=u));const H=c?S+E:S,B=u?k+N:k;return{width:_+(c?-E:E),height:C+(u?-N:N),x:a[0]*E*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const r_t={width:0,height:0,x:0,y:0},WXn={...r_t,pointerX:0,pointerY:0,aspectRatio:1};function ZXn(e){return[[0,0],[e.measured.width,e.measured.height]]}function GXn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function QXn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=_p(e);let i={controlDirection:K7e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...r_t},x={...WXn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:K7e(u)};let S,k=null,_=[],C,T,E,N=!1;const I=hOt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:V}=j2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:z,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),T=C&&S.extent==="parent"?ZXn(C):void 0),_=[],E=void 0;for(const[M,G]of R)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=GXn(G,S,G.origin??H);E?E=[[Math.min(U[0][0],E[0][0]),Math.min(U[0][1],E[0][1])],[Math.max(U[1][0],E[1][0]),Math.max(U[1][1],E[1][1])]]:E=U}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=j2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:z,y:V,width:M,height:G}=b,U={},$=S.origin??F,{width:q,height:Z,x:Y,y:ne}=HXn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,T,E),J=q!==M,ee=Z!==G,se=Y!==z&&J,le=ne!==V&ⅇif(!se&&!le&&!J&&!ee)return;if((se||le||$[0]===1||$[1]===1)&&(U.x=se?Y:b.x,U.y=le?ne:b.y,b.x=U.x,b.y=U.y,_.length>0)){const pe=Y-z,ce=ne-V;for(const Se of _)Se.position={x:Se.position.x-pe+$[0]*(q-M),y:Se.position.y-ce+$[1]*(Z-G)},B.push(Se)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const pe=$[0]*(U.width??0);U.x&&U.x<pe&&(b.x=pe,x.x=x.x-(U.x-pe));const ce=$[1]*(U.height??0);U.y&&U.y<ce&&(b.y=ce,x.y=x.y-(U.y-ce))}const X=VXn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:X};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(U,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const YXn={},J7e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(YXn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},KXn=e=>e?J7e(e):J7e,{useDebugValue:XXn}=Fe,{useSyncExternalStoreWithSelector:JXn}=_Tn,eJn=e=>e;function s_t(e,t=eJn,n){const r=JXn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return XXn(r),r}const eBe=(e,t)=>{const n=KXn(e),r=(s,a=t)=>s_t(n,s,a);return Object.assign(r,n),r},tJn=(e,t)=>e?eBe(e,t):eBe;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const mW=g.createContext(null),nJn=mW.Provider,a_t=_y.error001();function qs(e,t){const n=g.useContext(mW);if(n===null)throw new Error(a_t);return s_t(n,e,t)}function Eo(){const e=g.useContext(mW);if(e===null)throw new Error(a_t);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const tBe={display:"none"},rJn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},i_t="react-flow__node-desc",o_t="react-flow__edge-desc",sJn="react-flow__aria-live",aJn=e=>e.ariaLiveMessage,iJn=e=>e.ariaLabelConfig;function oJn({rfId:e}){const t=qs(aJn);return o.jsx("div",{id:`${sJn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:rJn,children:t})}function lJn({rfId:e,disableKeyboardA11y:t}){const n=qs(iJn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${i_t}-${e}`,style:tBe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${o_t}-${e}`,style:tBe,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(oJn,{rfId:e})]})}const n4=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Ul(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});n4.displayName="Panel";function cJn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(n4,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const uJn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},SF=e=>e.id;function dJn(e,t){return io(e.selectedNodes.map(SF),t.selectedNodes.map(SF))&&io(e.selectedEdges.map(SF),t.selectedEdges.map(SF))}function fJn({onSelectionChange:e}){const t=Eo(),{selectedNodes:n,selectedEdges:r}=qs(uJn,dJn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const pJn=e=>!!e.onSelectionChangeHandlers;function hJn({onSelectionChange:e}){const t=qs(pJn);return e||t?o.jsx(fJn,{onSelectionChange:e}):null}const xve=typeof window<"u"?g.useLayoutEffect:g.useEffect,l_t=[0,0],mJn={x:0,y:0,zoom:1},gJn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],nBe=[...gJn,"rfId"],vJn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),rBe={translateExtent:AM,nodeOrigin:l_t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function yJn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=qs(vJn,io),u=Eo();xve(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=rBe,l()}),[]);const d=g.useRef(rBe);return xve(()=>{for(const f of nBe){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:oXn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},nBe.map(f=>e[f])),null}function sBe(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function bJn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=sBe(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:sBe()?.matches?"dark":"light"}const aBe=typeof document<"u"?document:null;function DM(e=null,t={target:aBe,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
234
|
+
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new bWn(this):new gWn(this)}getCursor(t,n=0,r){let s=t.doc?t:ps.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?YE(this,s,n,r):QE(this,s,n,r)}}class Dkt{constructor(t){this.spec=t}}function hWn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function QE(e,t,n,r){let s;return e.wholeWord&&(s=mWn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=hWn(e.test,t,s)),new Dx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function mWn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(HB(s,n-a))!=bo.Word||t(WB(s,n-a))!=bo.Word)&&(t(WB(s,r-a))!=bo.Word||t(HB(s,r-a))!=bo.Word))}class gWn extends Dkt{constructor(t){super(t)}nextMatch(t,n,r){let s=QE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=QE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=QE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=QE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=QE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function vWn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function YE(e,t,n,r){let s;return e.wholeWord&&(s=yWn(t.charCategorizer(t.selection.main.head))),e.test&&(s=vWn(e.test,t,s)),new Pkt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function HB(e,t){return e.slice(_c(e,t,!1),t)}function WB(e,t){return e.slice(t,_c(e,t))}function yWn(e){return(t,n,r)=>!r[0].length||(e(HB(r.input,r.index))!=bo.Word||e(WB(r.input,r.index))!=bo.Word)&&(e(WB(r.input,r.index+r[0].length))!=bo.Word||e(HB(r.input,r.index+r[0].length))!=bo.Word)}class bWn extends Dkt{nextMatch(t,n,r){let s=YE(this.spec,t,r,t.doc.length).next();return s.done&&(s=YE(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=YE(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=YE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=YE(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const _M=dr.define(),iOe=dr.define(),Jw=bl.define({create(e){return new ete(ave(e).create(),null)},update(e,t){for(let n of t.effects)n.is(_M)?e=new ete(n.value.create(),e.panel):n.is(iOe)&&(e=new ete(e.query,n.value?oOe:null));return e},provide:e=>mM.from(e,t=>t.panel)});class ete{constructor(t,n){this.query=t,this.panel=n}}const xWn=jn.mark({class:"cm-searchMatch"}),wWn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),SWn=Oo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Jw))}update(e){let t=e.state.field(Jw);(t!=e.startState.field(Jw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return jn.none;let{view:n}=this,r=new Ld;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?wWn:xWn)})}return r.finish()}},{decorations:e=>e.decorations});function Q3(e){return t=>{let n=t.state.field(Jw,!1);return n&&n.query.spec.valid?e(t,n):zkt(t)}}const ZB=Q3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=wt.single(r.from,r.to),a=e.state.facet(bI);return e.dispatch({selection:s,effects:[lOe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Fkt(e),!0}),GB=Q3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=wt.single(s.from,s.to),i=e.state.facet(bI);return e.dispatch({selection:a,effects:[lOe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Fkt(e),!0}),kWn=Q3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:wt.create(n.map(r=>wt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),OWn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Dx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(wt.range(l.value.from,l.value.to))}return t(e.update({selection:wt.create(a,i),userEvent:"select.search.matches"})),!0},f9e=Q3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(At.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=wt.single(i.from,i.to).map(f),d.push(lOe(e,i)),d.push(n.facet(bI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),_Wn=Q3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:At.announce.of(r),userEvent:"input.replace.all"}),!0});function oOe(e){return e.state.facet(bI).createPanel(e)}function ave(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(bI);return new Mkt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Lkt(e){let t=kke(e,oOe);return t&&t.dom.querySelector("[main-field]")}function Fkt(e){let t=Lkt(e);t&&t==e.root.activeElement&&t.select()}const zkt=e=>{let t=e.state.field(Jw,!1);if(t&&t.panel){let n=Lkt(e);if(n&&n!=e.root.activeElement){let r=ave(e.state,t.query.spec);r.valid&&e.dispatch({effects:_M.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[iOe.of(!0),t?_M.of(ave(e.state,t.query.spec)):dr.appendConfig.of(jWn)]});return!0},Bkt=e=>{let t=e.state.field(Jw,!1);if(!t||!t.panel)return!1;let n=kke(e,oOe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:iOe.of(!1)}),!0},CWn=[{key:"Mod-f",run:zkt,scope:"editor search-panel"},{key:"F3",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Bkt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:OWn},{key:"Mod-Alt-g",run:nWn},{key:"Mod-d",run:pWn,preventDefault:!0}];class EWn{constructor(t){this.view=t;let n=this.query=t.state.field(Jw).query.spec;this.commit=this.commit.bind(this),this.searchField=pi("input",{value:n.search,placeholder:cp(t,"Find"),"aria-label":cp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=pi("input",{value:n.replace,placeholder:cp(t,"Replace"),"aria-label":cp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=pi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=pi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=pi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return pi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=pi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>ZB(t),[cp(t,"next")]),r("prev",()=>GB(t),[cp(t,"previous")]),r("select",()=>kWn(t),[cp(t,"all")]),pi("label",null,[this.caseField,cp(t,"match case")]),pi("label",null,[this.reField,cp(t,"regexp")]),pi("label",null,[this.wordField,cp(t,"by word")]),...t.state.readOnly?[]:[pi("br"),this.replaceField,r("replace",()=>f9e(t),[cp(t,"replace")]),r("replaceAll",()=>_Wn(t),[cp(t,"replace all")])],pi("button",{name:"close",onclick:()=>Bkt(t),"aria-label":cp(t,"close"),type:"button"},["×"])])}commit(){let t=new Mkt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:_M.of(t)}))}keydown(t){Z8n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?GB:ZB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),f9e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(_M)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(bI).top}}function cp(e,t){return e.state.phrase(t)}const fF=30,pF=/[\s\.,:;?!]/;function lOe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-fF),i=Math.min(s,n+fF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<fF;c++)if(!pF.test(l[c+1])&&pF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-fF;c--)if(!pF.test(l[c-1])&&pF.test(l[c])){l=l.slice(0,c);break}}return At.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const TWn=At.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),jWn=[Jw,Jp.low(SWn),TWn];class p9e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ek{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(CM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Ld,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=UWn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,jn.widget({widget:new LWn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new Ek(u,n,Kj(u))}}function Kj(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new p9e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new p9e(r.from,a,r.diagnostic)}}),r}function NWn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(CM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Ukt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function IWn(e,t){return e.field(jp,!1)?t:t.concat(dr.appendConfig.of(qWn))}const Ukt=dr.define(),cOe=dr.define(),qkt=dr.define(),jp=bl.define({create(){return new Ek(jn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=Kj(n,e.selected.diagnostic,a)||Kj(n,null,a)}!n.size&&s&&t.state.facet(CM).autoPanel&&(s=null),e=new Ek(n,s,r)}for(let n of t.effects)if(n.is(Ukt)){let r=t.state.facet(CM).autoPanel?n.value.length?EM.open:null:e.panel;e=Ek.init(n.value,r,t.state)}else n.is(cOe)?e=new Ek(e.diagnostics,n.value?EM.open:null,e.selected):n.is(qkt)&&(e=new Ek(e.diagnostics,e.panel,n.value));return e},provide:e=>[mM.from(e,t=>t.panel),At.decorations.from(e,t=>t.diagnostics)]}),AWn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function RWn(e,t,n){let{diagnostics:r}=e.state.field(jp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(CM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:PWn(e,s)}}}:null}function PWn(e,t){return pi("ul",{class:"cm-tooltip-lint"},t.map(n=>Hkt(e,n,!1)))}const $Wn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:IWn(e.state,[cOe.of(!0)])});let n=kke(e,EM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},h9e=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:cOe.of(!1)}),!0)},MWn=e=>{let t=e.state.field(jp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},DWn=[{key:"Mod-Shift-m",run:$Wn,preventDefault:!0},{key:"F8",run:MWn}],CM=xn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...By(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:m9e,tooltipFilter:m9e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function m9e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Vkt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function Hkt(e,t,n){var r;let s=n?Vkt(t.actions):[];return pi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},pi("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=Kj(e.state.field(jp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),pi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return pi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&pi("div",{class:"cm-diagnosticSource"},t.source))}class LWn extends eh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return pi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class g9e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Hkt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class EM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)h9e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=Vkt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Kj(this.view.state.field(jp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=pi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=pi("div",{class:"cm-panel-lint"},this.list,pi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>h9e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(jp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(jp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new g9e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new g9e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(jp),r=Kj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:qkt.of(r)})}static open(t){return new EM(t)}}function FWn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function hF(e){return FWn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const zWn=At.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:hF("#d11")},".cm-lintRange-warning":{backgroundImage:hF("orange")},".cm-lintRange-info":{backgroundImage:hF("#999")},".cm-lintRange-hint":{backgroundImage:hF("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function BWn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function UWn(e){let t="hint",n=1;for(let r of e){let s=BWn(r.severity);s>n&&(n=s,t=r.severity)}return t}const qWn=[jp,At.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?jn.none:jn.set([AWn.range(t.from,t.to)])}),$9n(RWn,{hideOn:NWn}),zWn];var v9e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(ABn)),t.defaultKeymap!==!1&&(a=a.concat(JHn)),t.searchKeymap!==!1&&(a=a.concat(CWn)),t.historyKeymap!==!1&&(a=a.concat(iHn)),t.foldKeymap!==!1&&(a=a.concat(v7n)),t.completionKeymap!==!1&&(a=a.concat(F1t)),t.lintKeymap!==!1&&(a=a.concat(DWn));var i=[];return t.lineNumbers!==!1&&i.push(Z9n()),t.highlightActiveLineGutter!==!1&&i.push(Y9n()),t.highlightSpecialChars!==!1&&i.push(c9n()),t.history!==!1&&i.push(KVn()),t.foldGutter!==!1&&i.push(w7n()),t.drawSelection!==!1&&i.push(J8n()),t.dropCursor!==!1&&i.push(s9n()),t.allowMultipleSelections!==!1&&i.push(ps.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(c7n()),t.syntaxHighlighting!==!1&&i.push(rS(_7n,{fallback:!0})),t.bracketMatching!==!1&&i.push(A7n()),t.closeBrackets!==!1&&i.push(TBn()),t.autocompletion!==!1&&i.push(L1t()),t.rectangularSelection!==!1&&i.push(k9n()),s!==!1&&i.push(C9n()),t.highlightActiveLine!==!1&&i.push(m9n()),t.highlightSelectionMatches!==!1&&i.push(aWn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(mI.of(" ".repeat(t.tabSize))),i.concat([hI.of(a.flat())]).filter(Boolean)};const VWn="#e5c07b",y9e="#e06c75",HWn="#56b6c2",WWn="#ffffff",H8="#abb2bf",ive="#7d8799",ZWn="#61afef",GWn="#98c379",b9e="#d19a66",QWn="#c678dd",YWn="#21252b",x9e="#2c313a",w9e="#282c34",tte="#353a42",KWn="#3E4451",S9e="#528bff",XWn=At.theme({"&":{color:H8,backgroundColor:w9e},".cm-content":{caretColor:S9e},".cm-cursor, .cm-dropCursor":{borderLeftColor:S9e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:KWn},".cm-panels":{backgroundColor:YWn,color:H8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:w9e,color:ive,border:"none"},".cm-activeLineGutter":{backgroundColor:x9e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:tte},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:tte,borderBottomColor:tte},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:x9e,color:H8}}},{dark:!0}),JWn=Yg.define([{tag:de.keyword,color:QWn},{tag:[de.name,de.deleted,de.character,de.propertyName,de.macroName],color:y9e},{tag:[de.function(de.variableName),de.labelName],color:ZWn},{tag:[de.color,de.constant(de.name),de.standard(de.name)],color:b9e},{tag:[de.definition(de.name),de.separator],color:H8},{tag:[de.typeName,de.className,de.number,de.changed,de.annotation,de.modifier,de.self,de.namespace],color:VWn},{tag:[de.operator,de.operatorKeyword,de.url,de.escape,de.regexp,de.link,de.special(de.string)],color:HWn},{tag:[de.meta,de.comment],color:ive},{tag:de.strong,fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.link,color:ive,textDecoration:"underline"},{tag:de.heading,fontWeight:"bold",color:y9e},{tag:[de.atom,de.bool,de.special(de.variableName)],color:b9e},{tag:[de.processingInstruction,de.string,de.inserted],color:GWn},{tag:de.invalid,color:WWn}]),eZn=[XWn,rS(JWn)];var tZn=At.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),nZn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(hI.of([eWn])),m&&(typeof m=="boolean"?v.unshift(v9e()):v.unshift(v9e(m))),p&&v.unshift(b9n(p)),d){case"light":v.push(tZn);break;case"dark":v.push(eZn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(At.editable.of(!1)),c&&v.push(ps.readOnly.of(!0)),[...v]},rZn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class sZn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class k9e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var nte=null,aZn=()=>typeof window>"u"?new k9e:(nte||(nte=new k9e),nte),iZn=At.theme({"& .cm-scroller":{height:"100% !important"}}),O9e=null,rte=null;function oZn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===O9e||(O9e=i,rte=At.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),rte}var _9e=zy.define(),lZn=200,cZn=[];function uZn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?cZn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,T=C===void 0?null:C,E=e.placeholder,N=E===void 0?"":E,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,z=e.root,V=e.initialState,M=g.useState(),G=M[0],U=M[1],$=g.useState(),q=$[0],Z=$[1],Y=g.useState(),ne=Y[0],J=Y[1],ee=g.useState(()=>({current:null}))[0],se=g.useState(()=>({current:null}))[0],le=oZn(h,v,b,S,_,T),X=At.updateListener.of(pe=>{if(pe.docChanged&&typeof r=="function"&&!pe.transactions.some(ge=>ge.annotation(_9e))){ee.current?ee.current.reset():(ee.current=new sZn(()=>{if(se.current){var ge=se.current;se.current=null,ge()}ee.current=null},lZn),aZn().add(ee.current));var ce=pe.state.doc,Se=ce.toString();r(Se,pe)}s&&s(rZn(pe))}),te=nZn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),re=[X,...le?[le]:[],iZn,...te];return i&&typeof i=="function"&&re.push(At.updateListener.of(i)),re=re.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var pe={doc:t,selection:n,extensions:re},ce=V?ps.fromJSON(V.json,pe,V.fields):ps.create(pe);if(J(ce),!q){var Se=new At({state:ce,parent:G,root:z});Z(Se),a&&a(Se,ce)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&U(e.container)},[e.container]),g.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),g.useEffect(()=>{u&&q&&q.focus()},[u,q]),g.useEffect(()=>{q&&q.dispatch({effects:dr.reconfigure.of(re)})},[f,c,h,v,b,S,_,T,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var pe=q?q.state.doc.toString():"";if(q&&t!==pe){var ce=ee.current&&!ee.current.isDone,Se=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[_9e.of(!0)]})};ce?se.current=Se:Se()}}},[t,q]),{state:ne,setState:J,view:q,setView:Z,container:G,setContainer:U}}var dZn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xu=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,T=e.indentWithTab,E=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=JSt(e,dZn),L=g.useRef(null),D=uZn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:T,editable:E,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,z=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var V=g.useCallback(G=>{L.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",YO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const fZn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let ste=null;function pZn(){return ste||(ste=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Da(()=>import("./core-CV6phFXx.js"),__vite__mapDeps([0,1,2]),import.meta.url),Da(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Da(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Da(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Da(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Da(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Da(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Da(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Da(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Da(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Da(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Da(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Da(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Da(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Da(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Da(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Da(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Da(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),ste}async function hZn(e,t){const n=fZn[t?.toLowerCase()];if(!n)return null;const r=await pZn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function mZn(e){return new WO(Tke.define(e))}const Wkt=[ug.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript())}}),ug.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Da(()=>Promise.resolve().then(()=>V7n),void 0,import.meta.url).then(e=>e.json())}}),ug.of({name:"JSX",extensions:["jsx"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ug.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Da(()=>Promise.resolve().then(()=>LVn),void 0,import.meta.url).then(e=>e.markdown())}}),ug.of({name:"TSX",extensions:["tsx"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ug.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Da(()=>Promise.resolve().then(()=>uF),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ug.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Da(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>mZn(e.shell))}})];function gZn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function vZn(e){const t=gZn(e);return L1t({override:[yZn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function yZn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const bZn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,xZn=jn.mark({class:"cm-variable-highlight"}),C9e=new Xwt({regexp:bZn,decoration:()=>xZn}),wZn=Oo.fromClass(class{decorations;constructor(e){this.decorations=C9e.createDeco(e)}update(e){this.decorations=C9e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),SZn=wZn;function kZn(){const e=vI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[de.className,de.propertyName],color:"var(--neutral6)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:de.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=At.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function OZn(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Yg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[de.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[de.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:[de.deleted],color:"var(--accent2)"},{tag:de.invalid,color:"var(--error)"},{tag:[de.standard(de.tagName)],color:"var(--accent1)"}]);return[e,rS(t)]}const l0=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?kZn():OZn(),[e])},_Zn=Ha(K("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),CZn=Jp.highest(At.editorAttributes.of({style:"outline: none"})),EZn=Jp.highest(At.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),TZn=[CZn,EZn],Gr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=l0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...TZn];return f&&S.push(At.lineWrapping),a==="json"?S.push(Mp):a==="markdown"&&S.push(tOe({base:QO,codeLanguages:Wkt})),i&&a==="markdown"&&S.push(SZn),c&&a==="markdown"&&S.push(vZn(c)),p===!1&&S.push(ps.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:K(_Zn({variant:h}),s),...m,children:[r&&o.jsx(Ba,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Xu,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),jZn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},NZn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=l0(),{settings:r,setSettings:s}=AH(),a=r?.tracingOptions,i=g.useMemo(()=>jZn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ve,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xu,{value:l,onChange:d,theme:n,extensions:[Mp],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(oe,{type:"button",onClick:f,children:"Save"})})]})},IZn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(wV,{})})})}),o.jsx(On,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(Rs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Mr,{children:o.jsx(NZn,{onSaved:()=>t(!1)})})]})})]})};function AZn({status:e}){switch(e){case"running":return o.jsx(Vt,{});case"failed":return o.jsx(Os,{className:"text-accent2"});case"canceled":return o.jsx(Df,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(xj,{className:"text-neutral3"});case"suspended":return o.jsx(hV,{className:"text-accent3"});case"success":return o.jsx(ca,{className:"text-accent1"});default:return o.jsx(xj,{className:"text-neutral3"})}}function Zkt({status:e}){return o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(AZn,{status:e})})}),o.jsx(On,{children:e})]})}var ate,E9e;function uOe(){if(E9e)return ate;E9e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return ate=r,ate}var ite,T9e;function RZn(){return T9e||(T9e=1,ite="2.2.4"),ite}var ote,j9e;function PZn(){return j9e||(j9e=1,ote={Graph:uOe(),version:RZn()}),ote}var lte,N9e;function $Zn(){if(N9e)return lte;N9e=1;var e=uOe();lte={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return lte}var cte,I9e;function MZn(){if(I9e)return cte;I9e=1,cte=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return cte}var ute,A9e;function Gkt(){if(A9e)return ute;A9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return ute=e,ute}var dte,R9e;function Qkt(){if(R9e)return dte;R9e=1;var e=Gkt();dte=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return dte}var fte,P9e;function DZn(){if(P9e)return fte;P9e=1;var e=Qkt();fte=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return fte}var pte,$9e;function Ykt(){if($9e)return pte;$9e=1,pte=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return pte}var hte,M9e;function LZn(){if(M9e)return hte;M9e=1;var e=Ykt();hte=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return hte}var mte,D9e;function FZn(){if(D9e)return mte;D9e=1,mte=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return mte}var gte,L9e;function Kkt(){if(L9e)return gte;L9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return gte=e,e.CycleException=t,gte}var vte,F9e;function zZn(){if(F9e)return vte;F9e=1;var e=Kkt();vte=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return vte}var yte,z9e;function Xkt(){if(z9e)return yte;z9e=1,yte=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return yte}var bte,B9e;function BZn(){if(B9e)return bte;B9e=1;var e=Xkt();bte=t;function t(n,r){return e(n,r,"post")}return bte}var xte,U9e;function UZn(){if(U9e)return xte;U9e=1;var e=Xkt();xte=t;function t(n,r){return e(n,r,"pre")}return xte}var wte,q9e;function qZn(){if(q9e)return wte;q9e=1;var e=uOe(),t=Gkt();wte=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return wte}var Ste,V9e;function VZn(){return V9e||(V9e=1,Ste={components:MZn(),dijkstra:Qkt(),dijkstraAll:DZn(),findCycles:LZn(),floydWarshall:FZn(),isAcyclic:zZn(),postorder:BZn(),preorder:UZn(),prim:qZn(),tarjan:Ykt(),topsort:Kkt()}),Ste}var kte,H9e;function qg(){if(H9e)return kte;H9e=1;var e=PZn();return kte={Graph:e.Graph,json:$Zn(),alg:VZn(),version:e.version},kte}var Ote,W9e;function HZn(){if(W9e)return Ote;W9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return Ote=e,Ote}var _te,Z9e;function WZn(){if(Z9e)return _te;Z9e=1;let e=qg().Graph,t=HZn();_te=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return _te}var Cte,G9e;function Pl(){if(G9e)return Cte;G9e=1;let e=qg().Graph;Cte={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:T};function t(E,N,I,A){for(var R=A;E.hasNode(R);)R=S(A);return I.dummy=N,E.setNode(R,I),R}function n(E){let N=new e().setGraph(E.graph());return E.nodes().forEach(I=>N.setNode(I,E.node(I))),E.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=E.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(E){let N=new e({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(I=>{E.children(I).length||N.setNode(I,E.node(I))}),E.edges().forEach(I=>{N.setEdge(I,E.edge(I))}),N}function s(E){let N=E.nodes().map(I=>{let A={};return E.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function a(E){let N=E.nodes().map(I=>{let A={};return E.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function i(E,N){let I=E.x,A=E.y,R=N.x-I,L=N.y-A,D=E.width/2,F=E.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(E){let N=k(m(E)+1).map(()=>[]);return E.nodes().forEach(I=>{let A=E.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(E){let N=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);E.nodes().forEach(A=>{let R=E.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(E){let N=E.nodes().map(D=>E.node(D).rank),I=h(Math.min,N),A=[];E.nodes().forEach(D=>{let F=E.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=E.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>E.node(H).rank+=R)})}function d(E,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(E,"border",R,N)}function f(E,N=p){const I=[];for(let A=0;A<E.length;A+=N){const R=E.slice(A,A+N);I.push(R)}return I}const p=65535;function h(E,N){if(N.length>p){const I=f(N);return E.apply(null,I.map(A=>E.apply(null,A)))}else return E.apply(null,N)}function m(E){const I=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(E,N){let I={lhs:[],rhs:[]};return E.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(E,N){let I=Date.now();try{return N()}finally{console.log(E+" time: "+(Date.now()-I)+"ms")}}function b(E,N){return N()}let x=0;function S(E){var N=++x;return E+(""+N)}function k(E,N,I=1){N==null&&(N=E,E=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=E;A(L);L+=I)R.push(L);return R}function _(E,N){const I={};for(const A of N)E[A]!==void 0&&(I[A]=E[A]);return I}function C(E,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(E).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function T(E,N){return E.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Cte}var Ete,Q9e;function ZZn(){if(Q9e)return Ete;Q9e=1;let e=WZn(),t=Pl().uniqueId;Ete={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return Ete}var Tte,Y9e;function GZn(){if(Y9e)return Tte;Y9e=1;let e=Pl();Tte={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return Tte}var jte,K9e;function QB(){if(K9e)return jte;K9e=1;const{applyWithChunking:e}=Pl();jte={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return jte}var Nte,X9e;function Jkt(){if(X9e)return Nte;X9e=1;var e=qg().Graph,t=QB().slack;Nte=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return Nte}var Ite,J9e;function QZn(){if(J9e)return Ite;J9e=1;var e=Jkt(),t=QB().slack,n=QB().longestPath,r=qg().alg.preorder,s=qg().alg.postorder,a=Pl().simplify;Ite=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,_;k=p(S);)_=h(S,x,k),m(S,x,k,_)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(x,S,_))}function c(x,S,k){var _=x.node(k),C=_.parent;x.edge(k,C).cutvalue=u(x,S,k)}function u(x,S,k){var _=x.node(k),C=_.parent,T=!0,E=S.edge(k,C),N=0;return E||(T=!1,E=S.edge(C,k)),N=E.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===T,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var T=k,E=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),E.low=T,E.lim=k++,C?E.parent=C:delete E.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var T=x.node(_),E=x.node(C),N=T,I=!1;T.lim>E.lim&&(N=E,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,_){var C=k.v,T=k.w;x.removeEdge(C,T),x.setEdge(_.v,_.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var T=x.node(C).parent,E=S.edge(C,T),N=!1;E||(E=S.edge(T,C),N=!0),S.node(C).rank=S.node(T).rank+(N?E.minlen:-E.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return Ite}var Ate,e7e;function YZn(){if(e7e)return Ate;e7e=1;var e=QB(),t=e.longestPath,n=Jkt(),r=QZn();Ate=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return Ate}var Rte,t7e;function KZn(){if(t7e)return Rte;t7e=1,Rte=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return Rte}var Pte,n7e;function XZn(){if(n7e)return Pte;n7e=1;let e=Pl();Pte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,_=x.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,v,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return Pte}var $te,r7e;function JZn(){if(r7e)return $te;r7e=1;let e=Pl();$te=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return $te}var Mte,s7e;function eGn(){if(s7e)return Mte;s7e=1,Mte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return Mte}var Dte,a7e;function tGn(){if(a7e)return Dte;a7e=1;let e=Pl();Dte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return Dte}var Lte,i7e;function nGn(){if(i7e)return Lte;i7e=1;let e=Pl().zipObject;Lte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return Lte}var Fte,o7e;function rGn(){if(o7e)return Fte;o7e=1,Fte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return Fte}var zte,l7e;function sGn(){if(l7e)return zte;l7e=1;let e=Pl();zte=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return zte}var Bte,c7e;function aGn(){if(c7e)return Bte;c7e=1;let e=Pl();Bte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return Bte}var Ute,u7e;function iGn(){if(u7e)return Ute;u7e=1;let e=rGn(),t=sGn(),n=aGn();Ute=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return Ute}var qte,d7e;function oGn(){if(d7e)return qte;d7e=1;let e=qg().Graph,t=Pl();qte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return qte}var Vte,f7e;function lGn(){if(f7e)return Vte;f7e=1,Vte=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Vte}var Hte,p7e;function cGn(){if(p7e)return Hte;p7e=1;let e=tGn(),t=nGn(),n=iGn(),r=oGn(),s=lGn(),a=qg().Graph,i=Pl();Hte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,x=Object.assign({},y),b=_)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return Hte}var Wte,h7e;function uGn(){if(h7e)return Wte;h7e=1;let e=qg().Graph,t=Pl();Wte={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,_){let C=0,T=0,E=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:E;(R||I===N)&&(_.slice(T,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<C||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),T=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,T,E,N){let I;t.range(C,T).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<E||L.order>N)&&a(x,R,I)})})}function k(_,C){let T=-1,E,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(E=y.node(R[0]).order,S(C,N,A,T,E),N=A,T=E)}S(C,N,C.length,E,_.length)}),C}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},_={},C={};return b.forEach(T=>{T.forEach((E,N)=>{k[E]=E,_[E]=E,C[E]=N})}),b.forEach(T=>{let E=-1;T.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>C[R]-C[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];_[N]===N&&E<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],E=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),T=k?"borderLeft":"borderRight";function E(A,R){let L=C.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){_[A]=C.inEdges(A).reduce((R,L)=>Math.max(R,_[L.v]+C.edge(L)),0)}function I(A){let R=C.outEdges(A).reduce((D,F)=>Math.min(D,_[F.w]-C.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==T&&(_[A]=Math.max(_[A],R))}return E(N,C.predecessors.bind(C)),E(I,C.successors.bind(C)),Object.keys(S).forEach(A=>_[A]=_[x[A]]),_}function u(y,b,x,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(T=>{let E;T.forEach(N=>{let I=x[N];if(k.setNode(I),E){var A=x[E],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,E),R||0))}E=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([T,E])=>{let N=v(y,T)/2;k=Math.max(E+N,k),_=Math.min(E-N,_)});const C=k-_;return C<x[0]&&(x=[C,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let T=_+C,E=y[T];if(E===b)return;let N=Object.values(E),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[T]=t.mapValues(E,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(T=>{T==="r"&&(k=k.map(A=>Object.values(A).reverse()));let E=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,E),I=c(y,k,N.root,N.align,T==="r");T==="r"&&(I=t.mapValues(I,A=>-A)),S[C+T]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,x){return(S,k,_)=>{let C=S.node(k),T=S.node(_),E=0,N;if(E+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(E+=x?N:-N),N=0,E+=(C.dummy?b:y)/2,E+=(T.dummy?b:y)/2,E+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=T.width/2;break;case"r":N=-T.width/2;break}return N&&(E+=x?N:-N),N=0,E}}function v(y,b){return y.node(b).width}return Wte}var Zte,m7e;function dGn(){if(m7e)return Zte;m7e=1;let e=Pl(),t=uGn().positionX;Zte=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return Zte}var Gte,g7e;function fGn(){if(g7e)return Gte;g7e=1;let e=ZZn(),t=GZn(),n=YZn(),r=Pl().normalizeRanks,s=KZn(),a=Pl().removeEmptyRanks,i=XZn(),l=JZn(),c=eGn(),u=cGn(),d=dGn(),f=Pl(),p=qg().Graph;Gte=h;function h($,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let Y=Z(" buildLayoutGraph",()=>E($));Z(" runLayout",()=>m(Y,Z,q)),Z(" updateInputGraph",()=>v($,Y))})}function m($,q,Z){q(" makeSpaceForEdgeLabels",()=>N($)),q(" removeSelfEdges",()=>z($)),q(" acyclic",()=>e.run($)),q(" nestingGraph.run",()=>i.run($)),q(" rank",()=>n(f.asNonCompoundGraph($))),q(" injectEdgeLabelProxies",()=>I($)),q(" removeEmptyRanks",()=>a($)),q(" nestingGraph.cleanup",()=>i.cleanup($)),q(" normalizeRanks",()=>r($)),q(" assignRankMinMax",()=>A($)),q(" removeEdgeLabelProxies",()=>R($)),q(" normalize.run",()=>t.run($)),q(" parentDummyChains",()=>s($)),q(" addBorderSegments",()=>l($)),q(" order",()=>u($,Z)),q(" insertSelfEdges",()=>V($)),q(" adjustCoordinateSystem",()=>c.adjust($)),q(" position",()=>d($)),q(" positionSelfEdges",()=>M($)),q(" removeBorderNodes",()=>B($)),q(" normalize.undo",()=>t.undo($)),q(" fixupEdgeLabelCoords",()=>F($)),q(" undoCoordinateSystem",()=>c.undo($)),q(" translateGraph",()=>L($)),q(" assignNodeIntersects",()=>D($)),q(" reversePoints",()=>H($)),q(" acyclic.undo",()=>e.undo($))}function v($,q){$.nodes().forEach(Z=>{let Y=$.node(Z),ne=q.node(Z);Y&&(Y.x=ne.x,Y.y=ne.y,Y.rank=ne.rank,q.children(Z).length&&(Y.width=ne.width,Y.height=ne.height))}),$.edges().forEach(Z=>{let Y=$.edge(Z),ne=q.edge(Z);Y.points=ne.points,Object.hasOwn(ne,"x")&&(Y.x=ne.x,Y.y=ne.y)}),$.graph().width=q.graph().width,$.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},T=["labelpos"];function E($){let q=new p({multigraph:!0,compound:!0}),Z=U($.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(Y=>{let ne=U($.node(Y));const J=G(ne,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(Y,J),q.setParent(Y,$.parent(Y))}),$.edges().forEach(Y=>{let ne=U($.edge(Y));q.setEdge(Y,Object.assign({},C,G(ne,_),f.pick(ne,T)))}),q}function N($){let q=$.graph();q.ranksep/=2,$.edges().forEach(Z=>{let Y=$.edge(Z);Y.minlen*=2,Y.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?Y.width+=Y.labeloffset:Y.height+=Y.labeloffset)})}function I($){$.edges().forEach(q=>{let Z=$.edge(q);if(Z.width&&Z.height){let Y=$.node(q.v),J={rank:($.node(q.w).rank-Y.rank)/2+Y.rank,e:q};f.addDummyNode($,"edge-proxy",J,"_ep")}})}function A($){let q=0;$.nodes().forEach(Z=>{let Y=$.node(Z);Y.borderTop&&(Y.minRank=$.node(Y.borderTop).rank,Y.maxRank=$.node(Y.borderBottom).rank,q=Math.max(q,Y.maxRank))}),$.graph().maxRank=q}function R($){$.nodes().forEach(q=>{let Z=$.node(q);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(q))})}function L($){let q=Number.POSITIVE_INFINITY,Z=0,Y=Number.POSITIVE_INFINITY,ne=0,J=$.graph(),ee=J.marginx||0,se=J.marginy||0;function le(X){let te=X.x,re=X.y,pe=X.width,ce=X.height;q=Math.min(q,te-pe/2),Z=Math.max(Z,te+pe/2),Y=Math.min(Y,re-ce/2),ne=Math.max(ne,re+ce/2)}$.nodes().forEach(X=>le($.node(X))),$.edges().forEach(X=>{let te=$.edge(X);Object.hasOwn(te,"x")&&le(te)}),q-=ee,Y-=se,$.nodes().forEach(X=>{let te=$.node(X);te.x-=q,te.y-=Y}),$.edges().forEach(X=>{let te=$.edge(X);te.points.forEach(re=>{re.x-=q,re.y-=Y}),Object.hasOwn(te,"x")&&(te.x-=q),Object.hasOwn(te,"y")&&(te.y-=Y)}),J.width=Z-q+ee,J.height=ne-Y+se}function D($){$.edges().forEach(q=>{let Z=$.edge(q),Y=$.node(q.v),ne=$.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=ne,ee=Y),Z.points.unshift(f.intersectRect(Y,J)),Z.points.push(f.intersectRect(ne,ee))})}function F($){$.edges().forEach(q=>{let Z=$.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(q=>{let Z=$.edge(q);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(q=>{if($.children(q).length){let Z=$.node(q),Y=$.node(Z.borderTop),ne=$.node(Z.borderBottom),J=$.node(Z.borderLeft[Z.borderLeft.length-1]),ee=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(ne.y-Y.y),Z.x=J.x+Z.width/2,Z.y=Y.y+Z.height/2}}),$.nodes().forEach(q=>{$.node(q).dummy==="border"&&$.removeNode(q)})}function z($){$.edges().forEach(q=>{if(q.v===q.w){var Z=$.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:$.edge(q)}),$.removeEdge(q)}})}function V($){var q=f.buildLayerMatrix($);q.forEach(Z=>{var Y=0;Z.forEach((ne,J)=>{var ee=$.node(ne);ee.order=J+Y,(ee.selfEdges||[]).forEach(se=>{f.addDummyNode($,"selfedge",{width:se.label.width,height:se.label.height,rank:ee.rank,order:J+ ++Y,e:se.e,label:se.label},"_se")}),delete ee.selfEdges})})}function M($){$.nodes().forEach(q=>{var Z=$.node(q);if(Z.dummy==="selfedge"){var Y=$.node(Z.e.v),ne=Y.x+Y.width/2,J=Y.y,ee=Z.x-ne,se=Y.height/2;$.setEdge(Z.e,Z.label),$.removeNode(q),Z.label.points=[{x:ne+2*ee/3,y:J-se},{x:ne+5*ee/6,y:J-se},{x:ne+ee,y:J},{x:ne+5*ee/6,y:J+se},{x:ne+2*ee/3,y:J+se}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,q){return f.mapValues(f.pick($,q),Number)}function U($){var q={};return $&&Object.entries($).forEach(([Z,Y])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=Y}),q}return Gte}var Qte,v7e;function pGn(){if(v7e)return Qte;v7e=1;let e=Pl(),t=qg().Graph;Qte={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Qte}var Yte,y7e;function hGn(){return y7e||(y7e=1,Yte="1.1.8"),Yte}var Kte,b7e;function mGn(){return b7e||(b7e=1,Kte={graphlib:qg(),layout:fGn(),debug:pGn(),util:{time:Pl().time,notime:Pl().notime},version:hGn()}),Kte}var gGn=mGn();const x7e=Ll(gGn);function Ul(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Ul(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var vGn={value:()=>{}};function oW(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new W8(n)}function W8(e){this._=e}function yGn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}W8.prototype=oW.prototype={constructor:W8,on:function(e,t){var n=this._,r=yGn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=bGn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=w7e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=w7e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new W8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function bGn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function w7e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=vGn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var ove="http://www.w3.org/1999/xhtml";const S7e={svg:"http://www.w3.org/2000/svg",xhtml:ove,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function lW(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),S7e.hasOwnProperty(t)?{space:S7e[t],local:e}:e}function xGn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===ove&&t.documentElement.namespaceURI===ove?t.createElement(e):t.createElementNS(n,e)}}function wGn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function eOt(e){var t=lW(e);return(t.local?wGn:xGn)(t)}function SGn(){}function dOe(e){return e==null?SGn:function(){return this.querySelector(e)}}function kGn(e){typeof e!="function"&&(e=dOe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Gp(r,this._parents)}function OGn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function _Gn(){return[]}function tOt(e){return e==null?_Gn:function(){return this.querySelectorAll(e)}}function CGn(e){return function(){return OGn(e.apply(this,arguments))}}function EGn(e){typeof e=="function"?e=CGn(e):e=tOt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Gp(r,s)}function nOt(e){return function(){return this.matches(e)}}function rOt(e){return function(t){return t.matches(e)}}var TGn=Array.prototype.find;function jGn(e){return function(){return TGn.call(this.children,e)}}function NGn(){return this.firstElementChild}function IGn(e){return this.select(e==null?NGn:jGn(typeof e=="function"?e:rOt(e)))}var AGn=Array.prototype.filter;function RGn(){return Array.from(this.children)}function PGn(e){return function(){return AGn.call(this.children,e)}}function $Gn(e){return this.selectAll(e==null?RGn:PGn(typeof e=="function"?e:rOt(e)))}function MGn(e){typeof e!="function"&&(e=nOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Gp(r,this._parents)}function sOt(e){return new Array(e.length)}function DGn(){return new Gp(this._enter||this._groups.map(sOt),this._parents)}function YB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}YB.prototype={constructor:YB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function LGn(e){return function(){return e}}function FGn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new YB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function zGn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new YB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function BGn(e){return e.__data__}function UGn(e,t){if(!arguments.length)return Array.from(this,BGn);var n=t?zGn:FGn,r=this._parents,s=this._groups;typeof e!="function"&&(e=LGn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=qGn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Gp(i,r),i._enter=l,i._exit=c,i}function qGn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function VGn(){return new Gp(this._exit||this._groups.map(sOt),this._parents)}function HGn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function WGn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Gp(l,this._parents)}function ZGn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function GGn(e){e||(e=QGn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Gp(s,this._parents).order()}function QGn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function YGn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function KGn(){return Array.from(this)}function XGn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function JGn(){let e=0;for(const t of this)++e;return e}function eQn(){return!this.node()}function tQn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function nQn(e){return function(){this.removeAttribute(e)}}function rQn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function sQn(e,t){return function(){this.setAttribute(e,t)}}function aQn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function iQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function oQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function lQn(e,t){var n=lW(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?rQn:nQn:typeof t=="function"?n.local?oQn:iQn:n.local?aQn:sQn)(n,t))}function aOt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function cQn(e){return function(){this.style.removeProperty(e)}}function uQn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function dQn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function fQn(e,t,n){return arguments.length>1?this.each((t==null?cQn:typeof t=="function"?dQn:uQn)(e,t,n??"")):Xj(this.node(),e)}function Xj(e,t){return e.style.getPropertyValue(t)||aOt(e).getComputedStyle(e,null).getPropertyValue(t)}function pQn(e){return function(){delete this[e]}}function hQn(e,t){return function(){this[e]=t}}function mQn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function gQn(e,t){return arguments.length>1?this.each((t==null?pQn:typeof t=="function"?mQn:hQn)(e,t)):this.node()[e]}function iOt(e){return e.trim().split(/^|\s+/)}function fOe(e){return e.classList||new oOt(e)}function oOt(e){this._node=e,this._names=iOt(e.getAttribute("class")||"")}oOt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function lOt(e,t){for(var n=fOe(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function cOt(e,t){for(var n=fOe(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function vQn(e){return function(){lOt(this,e)}}function yQn(e){return function(){cOt(this,e)}}function bQn(e,t){return function(){(t.apply(this,arguments)?lOt:cOt)(this,e)}}function xQn(e,t){var n=iOt(e+"");if(arguments.length<2){for(var r=fOe(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?bQn:t?vQn:yQn)(n,t))}function wQn(){this.textContent=""}function SQn(e){return function(){this.textContent=e}}function kQn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function OQn(e){return arguments.length?this.each(e==null?wQn:(typeof e=="function"?kQn:SQn)(e)):this.node().textContent}function _Qn(){this.innerHTML=""}function CQn(e){return function(){this.innerHTML=e}}function EQn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function TQn(e){return arguments.length?this.each(e==null?_Qn:(typeof e=="function"?EQn:CQn)(e)):this.node().innerHTML}function jQn(){this.nextSibling&&this.parentNode.appendChild(this)}function NQn(){return this.each(jQn)}function IQn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function AQn(){return this.each(IQn)}function RQn(e){var t=typeof e=="function"?e:eOt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function PQn(){return null}function $Qn(e,t){var n=typeof e=="function"?e:eOt(e),r=t==null?PQn:typeof t=="function"?t:dOe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function MQn(){var e=this.parentNode;e&&e.removeChild(this)}function DQn(){return this.each(MQn)}function LQn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function FQn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function zQn(e){return this.select(e?FQn:LQn)}function BQn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function UQn(e){return function(t){e.call(this,t,this.__data__)}}function qQn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function VQn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function HQn(e,t,n){return function(){var r=this.__on,s,a=UQn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function WQn(e,t,n){var r=qQn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?HQn:VQn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function uOt(e,t,n){var r=aOt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function ZQn(e,t){return function(){return uOt(this,e,t)}}function GQn(e,t){return function(){return uOt(this,e,t.apply(this,arguments))}}function QQn(e,t){return this.each((typeof t=="function"?GQn:ZQn)(e,t))}function*YQn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var dOt=[null];function Gp(e,t){this._groups=e,this._parents=t}function Y3(){return new Gp([[document.documentElement]],dOt)}function KQn(){return this}Gp.prototype=Y3.prototype={constructor:Gp,select:kGn,selectAll:EGn,selectChild:IGn,selectChildren:$Gn,filter:MGn,data:UGn,enter:DGn,exit:VGn,join:HGn,merge:WGn,selection:KQn,order:ZGn,sort:GGn,call:YGn,nodes:KGn,node:XGn,size:JGn,empty:eQn,each:tQn,attr:lQn,style:fQn,property:gQn,classed:xQn,text:OQn,html:TQn,raise:NQn,lower:AQn,append:RQn,insert:$Qn,remove:DQn,clone:zQn,datum:BQn,on:WQn,dispatch:QQn,[Symbol.iterator]:YQn};function _p(e){return typeof e=="string"?new Gp([[document.querySelector(e)]],[document.documentElement]):new Gp([[e]],dOt)}function XQn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function dg(e,t){if(e=XQn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const JQn={passive:!1},TM={capture:!0,passive:!1};function Xte(e){e.stopImmediatePropagation()}function ej(e){e.preventDefault(),e.stopImmediatePropagation()}function fOt(e){var t=e.document.documentElement,n=_p(e).on("dragstart.drag",ej,TM);"onselectstart"in t?n.on("selectstart.drag",ej,TM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function pOt(e,t){var n=e.document.documentElement,r=_p(e).on("dragstart.drag",null);t&&(r.on("click.drag",ej,TM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const mF=e=>()=>e;function lve(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}lve.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function eYn(e){return!e.ctrlKey&&!e.button}function tYn(){return this.parentNode}function nYn(e,t){return t??{x:e.x,y:e.y}}function rYn(){return navigator.maxTouchPoints||"ontouchstart"in this}function hOt(){var e=eYn,t=tYn,n=nYn,r=rYn,s={},a=oW("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,JQn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(_p(k.view).on("mousemove.drag",m,TM).on("mouseup.drag",v,TM),fOt(k.view),Xte(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(ej(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function v(k){_p(k.view).on("mousemove.drag mouseup.drag",null),pOt(k.view,u),ej(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,T=t.call(this,k,_),E=C.length,N,I;for(N=0;N<E;++N)(I=S(this,T,k,_,C[N].identifier,C[N]))&&(Xte(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,T,E;for(T=0;T<C;++T)(E=s[_[T].identifier])&&(ej(k),E("drag",k,_[T]))}function x(k){var _=k.changedTouches,C=_.length,T,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),T=0;T<C;++T)(E=s[_[T].identifier])&&(Xte(k),E("end",k,_[T]))}function S(k,_,C,T,E,N){var I=a.copy(),A=dg(N||C,_),R,L,D;if((D=n.call(k,new lve("beforestart",{sourceEvent:C,target:p,identifier:E,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),T))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,z){var V=A,M;switch(H){case"start":s[E]=F,M=i++;break;case"end":delete s[E],--i;case"drag":A=dg(z||B,_),M=i;break}I.call(H,k,new lve(H,{sourceEvent:B,subject:D,target:p,identifier:E,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),T)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:mF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:mF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:mF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:mF(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function pOe(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function mOt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function K3(){}var jM=.7,KB=1/jM,tj="\\s*([+-]?\\d+)\\s*",NM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",uy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",sYn=/^#([0-9a-f]{3,8})$/,aYn=new RegExp(`^rgb\\(${tj},${tj},${tj}\\)$`),iYn=new RegExp(`^rgb\\(${uy},${uy},${uy}\\)$`),oYn=new RegExp(`^rgba\\(${tj},${tj},${tj},${NM}\\)$`),lYn=new RegExp(`^rgba\\(${uy},${uy},${uy},${NM}\\)$`),cYn=new RegExp(`^hsl\\(${NM},${uy},${uy}\\)$`),uYn=new RegExp(`^hsla\\(${NM},${uy},${uy},${NM}\\)$`),k7e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};pOe(K3,KO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:O7e,formatHex:O7e,formatHex8:dYn,formatHsl:fYn,formatRgb:_7e,toString:_7e});function O7e(){return this.rgb().formatHex()}function dYn(){return this.rgb().formatHex8()}function fYn(){return gOt(this).formatHsl()}function _7e(){return this.rgb().formatRgb()}function KO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=sYn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?C7e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?gF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?gF(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=aYn.exec(e))?new xf(t[1],t[2],t[3],1):(t=iYn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=oYn.exec(e))?gF(t[1],t[2],t[3],t[4]):(t=lYn.exec(e))?gF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=cYn.exec(e))?j7e(t[1],t[2]/100,t[3]/100,1):(t=uYn.exec(e))?j7e(t[1],t[2]/100,t[3]/100,t[4]):k7e.hasOwnProperty(e)?C7e(k7e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function C7e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function gF(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function pYn(e){return e instanceof K3||(e=KO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function cve(e,t,n,r){return arguments.length===1?pYn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}pOe(xf,cve,mOt(K3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jM:Math.pow(jM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(sO(this.r),sO(this.g),sO(this.b),XB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:E7e,formatHex:E7e,formatHex8:hYn,formatRgb:T7e,toString:T7e}));function E7e(){return`#${Dk(this.r)}${Dk(this.g)}${Dk(this.b)}`}function hYn(){return`#${Dk(this.r)}${Dk(this.g)}${Dk(this.b)}${Dk((isNaN(this.opacity)?1:this.opacity)*255)}`}function T7e(){const e=XB(this.opacity);return`${e===1?"rgb(":"rgba("}${sO(this.r)}, ${sO(this.g)}, ${sO(this.b)}${e===1?")":`, ${e})`}`}function XB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function sO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Dk(e){return e=sO(e),(e<16?"0":"")+e.toString(16)}function j7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new yg(e,t,n,r)}function gOt(e){if(e instanceof yg)return new yg(e.h,e.s,e.l,e.opacity);if(e instanceof K3||(e=KO(e)),!e)return new yg;if(e instanceof yg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new yg(i,l,c,e.opacity)}function mYn(e,t,n,r){return arguments.length===1?gOt(e):new yg(e,t,n,r??1)}function yg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}pOe(yg,mYn,mOt(K3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new yg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jM:Math.pow(jM,e),new yg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(Jte(e>=240?e-240:e+120,s,r),Jte(e,s,r),Jte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new yg(N7e(this.h),vF(this.s),vF(this.l),XB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=XB(this.opacity);return`${e===1?"hsl(":"hsla("}${N7e(this.h)}, ${vF(this.s)*100}%, ${vF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function N7e(e){return e=(e||0)%360,e<0?e+360:e}function vF(e){return Math.max(0,Math.min(1,e||0))}function Jte(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const hOe=e=>()=>e;function gYn(e,t){return function(n){return e+n*t}}function vYn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function yYn(e){return(e=+e)==1?vOt:function(t,n){return n-t?vYn(t,n,e):hOe(isNaN(t)?n:t)}}function vOt(e,t){var n=t-e;return n?gYn(e,n):hOe(isNaN(e)?t:e)}const JB=(function e(t){var n=yYn(t);function r(s,a){var i=n((s=cve(s)).r,(a=cve(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=vOt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function bYn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function xYn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function wYn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=bx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function SYn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function pg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function kYn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=bx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var uve=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ene=new RegExp(uve.source,"g");function OYn(e){return function(){return e}}function _Yn(e){return function(t){return e(t)+""}}function yOt(e,t){var n=uve.lastIndex=ene.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=uve.exec(e))&&(s=ene.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:pg(r,s)})),n=ene.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?_Yn(c[0].x):OYn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function bx(e,t){var n=typeof t,r;return t==null||n==="boolean"?hOe(t):(n==="number"?pg:n==="string"?(r=KO(t))?(t=r,JB):yOt:t instanceof KO?JB:t instanceof Date?SYn:xYn(t)?bYn:Array.isArray(t)?wYn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?kYn:pg)(e,t)}function mOe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var I7e=180/Math.PI,dve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function bOt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*I7e,skewX:Math.atan(c)*I7e,scaleX:i,scaleY:l}}var yF;function CYn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?dve:bOt(t.a,t.b,t.c,t.d,t.e,t.f)}function EYn(e){return e==null||(yF||(yF=document.createElementNS("http://www.w3.org/2000/svg","g")),yF.setAttribute("transform",e),!(e=yF.transform.baseVal.consolidate()))?dve:(e=e.matrix,bOt(e.a,e.b,e.c,e.d,e.e,e.f))}function xOt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:pg(u,f)},{i:v-2,x:pg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:pg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:pg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:pg(u,f)},{i:v-2,x:pg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var TYn=xOt(CYn,"px, ","px)","deg)"),jYn=xOt(EYn,", ",")",")"),NYn=1e-12;function A7e(e){return((e=Math.exp(e))+1/e)/2}function IYn(e){return((e=Math.exp(e))-1/e)/2}function AYn(e){return((e=Math.exp(2*e))-1)/(e+1)}const Z8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<NYn)b=Math.log(p/u)/t,y=function(T){return[l+T*h,c+T*m,u*Math.exp(t*T*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(T){var E=T*b,N=A7e(_),I=u/(n*x)*(N*AYn(t*E+_)-IYn(_));return[l+I*h,c+I*m,u*N/A7e(t*E+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function RYn(e,t){t===void 0&&(t=e,e=bx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var Jj=0,WP=0,NR=0,wOt=1e3,eU,ZP,tU=0,XO=0,cW=0,IM=typeof performance=="object"&&performance.now?performance:Date,SOt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function gOe(){return XO||(SOt(PYn),XO=IM.now()+cW)}function PYn(){XO=0}function nU(){this._call=this._time=this._next=null}nU.prototype=kOt.prototype={constructor:nU,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?gOe():+n)+(t==null?0:+t),!this._next&&ZP!==this&&(ZP?ZP._next=this:eU=this,ZP=this),this._call=e,this._time=n,fve()},stop:function(){this._call&&(this._call=null,this._time=1/0,fve())}};function kOt(e,t,n){var r=new nU;return r.restart(e,t,n),r}function $Yn(){gOe(),++Jj;for(var e=eU,t;e;)(t=XO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Jj}function R7e(){XO=(tU=IM.now())+cW,Jj=WP=0;try{$Yn()}finally{Jj=0,DYn(),XO=0}}function MYn(){var e=IM.now(),t=e-tU;t>wOt&&(cW-=t,tU=e)}function DYn(){for(var e,t=eU,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:eU=n);ZP=e,fve(r)}function fve(e){if(!Jj){WP&&(WP=clearTimeout(WP));var t=e-XO;t>24?(e<1/0&&(WP=setTimeout(R7e,e-IM.now()-cW)),NR&&(NR=clearInterval(NR))):(NR||(tU=IM.now(),NR=setInterval(MYn,wOt)),Jj=1,SOt(R7e))}}function P7e(e,t,n){var r=new nU;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var LYn=oW("start","end","cancel","interrupt"),FYn=[],OOt=0,$7e=1,pve=2,G8=3,M7e=4,hve=5,Q8=6;function uW(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;zYn(e,n,{name:t,index:r,group:s,on:LYn,tween:FYn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:OOt})}function vOe(e,t){var n=Jg(e,t);if(n.state>OOt)throw new Error("too late; already scheduled");return n}function Uy(e,t){var n=Jg(e,t);if(n.state>G8)throw new Error("too late; already running");return n}function Jg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function zYn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=kOt(a,0,n.time);function a(u){n.state=$7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==$7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===G8)return P7e(i);h.state===M7e?(h.state=Q8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=Q8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(P7e(function(){n.state===G8&&(n.state=M7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=pve,n.on.call("start",e,e.__data__,n.index,n.group),n.state===pve){for(n.state=G8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=hve,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===hve&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Q8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function Y8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>pve&&r.state<hve,r.state=Q8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function BYn(e){return this.each(function(){Y8(this,e)})}function UYn(e,t){var n,r;return function(){var s=Uy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function qYn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Uy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function VYn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Jg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?UYn:qYn)(n,e,t))}function yOe(e,t,n){var r=e._id;return e.each(function(){var s=Uy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Jg(s,r).value[t]}}function _Ot(e,t){var n;return(typeof t=="number"?pg:t instanceof KO?JB:(n=KO(t))?(t=n,JB):yOt)(e,t)}function HYn(e){return function(){this.removeAttribute(e)}}function WYn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ZYn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function GYn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function QYn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function YYn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function KYn(e,t){var n=lW(e),r=n==="transform"?jYn:_Ot;return this.attrTween(e,typeof t=="function"?(n.local?YYn:QYn)(n,r,yOe(this,"attr."+e,t)):t==null?(n.local?WYn:HYn)(n):(n.local?GYn:ZYn)(n,r,t))}function XYn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function JYn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function eKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&JYn(e,a)),n}return s._value=t,s}function tKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&XYn(e,a)),n}return s._value=t,s}function nKn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=lW(e);return this.tween(n,(r.local?eKn:tKn)(r,t))}function rKn(e,t){return function(){vOe(this,e).delay=+t.apply(this,arguments)}}function sKn(e,t){return t=+t,function(){vOe(this,e).delay=t}}function aKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?rKn:sKn)(t,e)):Jg(this.node(),t).delay}function iKn(e,t){return function(){Uy(this,e).duration=+t.apply(this,arguments)}}function oKn(e,t){return t=+t,function(){Uy(this,e).duration=t}}function lKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?iKn:oKn)(t,e)):Jg(this.node(),t).duration}function cKn(e,t){if(typeof t!="function")throw new Error;return function(){Uy(this,e).ease=t}}function uKn(e){var t=this._id;return arguments.length?this.each(cKn(t,e)):Jg(this.node(),t).ease}function dKn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Uy(this,e).ease=n}}function fKn(e){if(typeof e!="function")throw new Error;return this.each(dKn(this._id,e))}function pKn(e){typeof e!="function"&&(e=nOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Lx(r,this._parents,this._name,this._id)}function hKn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Lx(i,this._parents,this._name,this._id)}function mKn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function gKn(e,t,n){var r,s,a=mKn(t)?vOe:Uy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function vKn(e,t){var n=this._id;return arguments.length<2?Jg(this.node(),n).on.on(e):this.each(gKn(n,e,t))}function yKn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function bKn(){return this.on("end.remove",yKn(this._id))}function xKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dOe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,uW(u[p],t,n,p,u,Jg(d,n)));return new Lx(a,this._parents,t,n)}function wKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=tOt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Jg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&uW(h,t,n,v,p,m);a.push(p),i.push(d)}return new Lx(a,i,t,n)}var SKn=Y3.prototype.constructor;function kKn(){return new SKn(this._groups,this._parents)}function OKn(e,t){var n,r,s;return function(){var a=Xj(this,e),i=(this.style.removeProperty(e),Xj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function COt(e){return function(){this.style.removeProperty(e)}}function _Kn(e,t,n){var r,s=n+"",a;return function(){var i=Xj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function CKn(e,t,n){var r,s,a;return function(){var i=Xj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),Xj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function EKn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Uy(this,e),u=c.on,d=c.value[a]==null?l||(l=COt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function TKn(e,t,n){var r=(e+="")=="transform"?TYn:_Ot;return t==null?this.styleTween(e,OKn(e,r)).on("end.style."+e,COt(e)):typeof t=="function"?this.styleTween(e,CKn(e,r,yOe(this,"style."+e,t))).each(EKn(this._id,e)):this.styleTween(e,_Kn(e,r,t),n).on("end.style."+e,null)}function jKn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function NKn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&jKn(e,i,n)),r}return a._value=t,a}function IKn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,NKn(e,t,n??""))}function AKn(e){return function(){this.textContent=e}}function RKn(e){return function(){var t=e(this);this.textContent=t??""}}function PKn(e){return this.tween("text",typeof e=="function"?RKn(yOe(this,"text",e)):AKn(e==null?"":e+""))}function $Kn(e){return function(t){this.textContent=e.call(this,t)}}function MKn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&$Kn(s)),t}return r._value=e,r}function DKn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,MKn(e))}function LKn(){for(var e=this._name,t=this._id,n=EOt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Jg(c,t);uW(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Lx(r,this._parents,e,n)}function FKn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=Uy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var zKn=0;function Lx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function EOt(){return++zKn}var _b=Y3.prototype;Lx.prototype={constructor:Lx,select:xKn,selectAll:wKn,selectChild:_b.selectChild,selectChildren:_b.selectChildren,filter:pKn,merge:hKn,selection:kKn,transition:LKn,call:_b.call,nodes:_b.nodes,node:_b.node,size:_b.size,empty:_b.empty,each:_b.each,on:vKn,attr:KYn,attrTween:nKn,style:TKn,styleTween:IKn,text:PKn,textTween:DKn,remove:bKn,tween:VYn,delay:aKn,duration:lKn,ease:uKn,easeVarying:fKn,end:FKn,[Symbol.iterator]:_b[Symbol.iterator]};function BKn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var UKn={time:null,delay:0,duration:250,ease:BKn};function qKn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function VKn(e){var t,n;e instanceof Lx?(t=e._id,e=e._name):(t=EOt(),(n=UKn).time=gOe(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&uW(c,e,t,u,i,n||qKn(c,t));return new Lx(r,this._parents,e,t)}Y3.prototype.interrupt=BYn;Y3.prototype.transition=VKn;const bF=e=>()=>e;function HKn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:s}})}function ox(e,t,n){this.k=e,this.x=t,this.y=n}ox.prototype={constructor:ox,scale:function(e){return e===1?this:new ox(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ox(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var dW=new ox(1,0,0);TOt.prototype=ox.prototype;function TOt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return dW;return e.__zoom}function tne(e){e.stopImmediatePropagation()}function IR(e){e.preventDefault(),e.stopImmediatePropagation()}function WKn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function ZKn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function D7e(){return this.__zoom||dW}function GKn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function QKn(){return navigator.maxTouchPoints||"ontouchstart"in this}function YKn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function jOt(){var e=WKn,t=ZKn,n=YKn,r=GKn,s=QKn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=Z8,u=oW("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",D7e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var z=D.selection?D.selection():D;z.property("__zoom",D7e),D!==z?_(D,F,H,B):z.interrupt().each(function(){C(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var z=this.__zoom.k,V=typeof F=="function"?F.apply(this,arguments):F;return z*V},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var z=t.apply(this,arguments),V=this.__zoom,M=H==null?k(z):typeof H=="function"?H.apply(this,arguments):H,G=V.invert(M),U=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(V,U),M,G),z,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,z){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,G=B==null?k(V):typeof B=="function"?B.apply(this,arguments):B;return n(dW.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},B,z)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new ox(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,z=F[1]-H[1]*D.k;return B===D.x&&z===D.y?D:new ox(D.k,B,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,F,H,B){D.on("start.zoom",function(){C(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(B).end()}).tween("zoom",function(){var z=this,V=arguments,M=C(z,V).event(B),G=t.apply(z,V),U=H==null?k(G):typeof H=="function"?H.apply(z,V):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof F=="function"?F.apply(z,V):F,Y=c(q.invert(U).concat($/q.k),Z.invert(U).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var J=Y(ne),ee=$/J[2];ne=new ox(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,ne)}})}function C(D,F,H){return!H&&D.__zooming||new T(D,F)}function T(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}T.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=_p(this.that).datum();u.call(D,this.that,new HKn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function E(D,...F){if(!e.apply(this,arguments))return;var H=C(this,F).event(D),B=this.__zoom,z=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=dg(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=B.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(B.k===z)return;H.mouse=[V,B.invert(V)],Y8(this),H.start()}IR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,z),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=C(this,F,!0).event(D),z=_p(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),V=dg(D,H),M=D.clientX,G=D.clientY;fOt(D.view),tne(D),B.mouse=[V,this.__zoom.invert(V)],Y8(this),B.start();function U(q){if(IR(q),!B.moved){var Z=q.clientX-M,Y=q.clientY-G;B.moved=Z*Z+Y*Y>v}B.event(q).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=dg(q,H),B.mouse[1]),B.extent,i))}function $(q){z.on("mousemove.zoom mouseup.zoom",null),pOt(q.view,B.moved),IR(q),B.event(q).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=dg(D.changedTouches?D.changedTouches[0]:D,this),z=H.invert(B),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),B,z),t.apply(this,F),i);IR(D),l>0?_p(this).transition().duration(l).call(_,M,B,D):_p(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,z=C(this,F,D.changedTouches.length===B).event(D),V,M,G,U;for(tne(D),M=0;M<B;++M)G=H[M],U=dg(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,V=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),Y8(this),z.start())}}function R(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M,G,U;for(IR(D),V=0;V<z;++V)M=B[V],G=dg(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],q=H.touch0[1],Z=H.touch1[0],Y=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,J=(J=Y[0]-q[0])*J+(J=Y[1]-q[1])*J;M=x(M,Math.sqrt(ne/J)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],U=[(q[0]+Y[0])/2,(q[1]+Y[1])/2]}else if(H.touch0)G=H.touch0[0],U=H.touch0[1];else return;H.zoom("touch",n(S(M,G,U),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M;for(tne(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<z;++V)M=B[V],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=dg(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=_p(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:bF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:bF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:bF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:bF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const _y={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},AM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],NOt=["Enter"," ","Escape"],IOt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var eN;(function(e){e.Strict="strict",e.Loose="loose"})(eN||(eN={}));var aO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(aO||(aO={}));var RM;(function(e){e.Partial="partial",e.Full="full"})(RM||(RM={}));const AOt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cw||(Cw={}));var PM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(PM||(PM={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const L7e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function ROt(e){return e===null?null:e?"valid":"invalid"}const POt=e=>"id"in e&&"source"in e&&"target"in e,KKn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),bOe=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),X3=(e,t=[0,0])=>{const{width:n,height:r}=c0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},XKn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):bOe(s)?s:t.nodeLookup.get(s.id));const l=i?rU(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return fW(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return pW(n)},J3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=fW(n,rU(s)),r=!0)}),r?pW(n):{x:0,y:0,width:0,height:0}},xOe=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...t4(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=$M(l,nN(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},JKn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function eXn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function tXn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=eXn(e,i),c=J3(l),u=wOe(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function $Ot({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",_y.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&rN(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=rN(f)?JO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",_y.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function nXn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=JKn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const tN=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),JO=(e={x:0,y:0},t,n)=>({x:tN(e.x,t[0][0],t[1][0]-(n?.width??0)),y:tN(e.y,t[0][1],t[1][1]-(n?.height??0))});function MOt(e,t,n){const{width:r,height:s}=c0(n),{x:a,y:i}=n.internals.positionAbsolute;return JO(e,[[a,i],[a+r,i+s]],t)}const F7e=(e,t,n)=>e<t?tN(Math.abs(e-t),1,t)/t:e>n?-tN(Math.abs(e-n),1,t)/t:0,DOt=(e,t,n=15,r=40)=>{const s=F7e(e.x,r,t.width-r)*n,a=F7e(e.y,r,t.height-r)*n;return[s,a]},fW=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),mve=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),pW=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),nN=(e,t=[0,0])=>{const{x:n,y:r}=bOe(e)?e.internals.positionAbsolute:X3(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},rU=(e,t=[0,0])=>{const{x:n,y:r}=bOe(e)?e.internals.positionAbsolute:X3(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},LOt=(e,t)=>pW(fW(mve(e),mve(t))),$M=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},z7e=e=>kg(e.width)&&kg(e.height)&&kg(e.x)&&kg(e.y),kg=e=>!isNaN(e)&&isFinite(e),rXn=(e,t)=>{},e4=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),t4=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?e4(l,i):l},sU=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function mE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function sXn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=mE(e,n),s=mE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=mE(e.top??e.y??0,n),s=mE(e.bottom??e.y??0,n),a=mE(e.left??e.x??0,t),i=mE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function aXn(e,t,n,r,s,a){const{x:i,y:l}=sU(e,[t,n,r]),{x:c,y:u}=sU({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const wOe=(e,t,n,r,s,a)=>{const i=sXn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=tN(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=aXn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},MM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function rN(e){return e!=null&&e!=="parent"}function c0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function FOt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function zOt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function B7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function iXn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function oXn(e){return{...IOt,...e||{}}}function j2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=Og(e),l=t4({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?e4(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const SOe=e=>({width:e.offsetWidth,height:e.offsetHeight}),BOt=e=>e?.getRootNode?.()||window?.document,lXn=["INPUT","SELECT","TEXTAREA"];function UOt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:lXn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const qOt=e=>"clientX"in e,Og=(e,t)=>{const n=qOt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},U7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...SOe(i)}})};function VOt({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function xF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function q7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-xF(t-r,a),n];case nr.Right:return[t+xF(r-t,a),n];case nr.Top:return[t,n-xF(n-s,a)];case nr.Bottom:return[t,n+xF(s-n,a)]}}function kOe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=q7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=q7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=VOt({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function HOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function cXn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function uXn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=fW(rU(e),rU(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return $M(i,pW(a))>0}const dXn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,fXn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),pXn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||dXn;let s;return POt(e)?s={...e}:s={...e,id:r(e)},fXn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function WOt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=HOt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const V7e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},hXn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},H7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function mXn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=V7e[t],c=V7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=hXn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=HOt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const E=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?E:N:m=p==="x"?N:E}else{const E=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:E:m=l.y===h?E:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?E:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+x.x,y:d.y+x.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],v,y,S,k]}function gXn(e,t,n,r){const s=Math.min(H7e(e,t)/2,H7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function gve({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=mXn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=gXn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function W7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function vXn(e){const{sourceNode:t,targetNode:n}=e;if(!W7e(t)||!W7e(n))return null;const r=t.internals.handleBounds||Z7e(t.handles),s=n.internals.handleBounds||Z7e(n.handles),a=G7e(r?.source??[],e.sourceHandle),i=G7e(e.connectionMode===eN.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",_y.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=e_(t,a,l),d=e_(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function Z7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function e_(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??c0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function G7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function vve(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function yXn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=vve(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const ZOt=1e3,bXn=10,OOe={nodeOrigin:[0,0],nodeExtent:AM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},xXn={...OOe,checkEquality:!0};function _Oe(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function wXn(e,t,n){const r=_Oe(OOe,n);for(const s of e.values())if(s.parentId)EOe(s,e,t,r);else{const a=X3(s,r.nodeOrigin),i=rN(s.extent)?s.extent:r.nodeExtent,l=JO(a,i,c0(s));s.internals.positionAbsolute=l}}function SXn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function COe(e){return e==="manual"}function yve(e,t,n,r={}){const s=_Oe(xXn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!COe(s.zIndexMode)?ZOt:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=X3(d,s.nodeOrigin),h=rN(d.extent)?d.extent:s.nodeExtent,m=JO(p,h,c0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:SXn(d,f),z:GOt(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&EOe(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function kXn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function EOe(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=_Oe(OOe,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}kXn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*bXn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!COe(c)?ZOt:0,{x:p,y:h,z:m}=OXn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function GOt(e,t,n){const r=kg(e.zIndex)?e.zIndex:0;return COe(n)?r:r+(e.selected?t:0)}function OXn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=c0(e),u=X3(e,n),d=rN(e.extent)?JO(u,e.extent,c):u;let f=JO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=MOt(f,c,t));const p=GOt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function TOe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??nN(l),u=LOt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=c0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function _Xn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=SOe(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=rN(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=MOt(k,v,t.get(m.parentId)):S&&(k=JO(k,S,v));const _={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:U7e("source",h.nodeElement,x,f,m.id),target:U7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&EOe(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:nN(_,s)}))}}if(p.length>0){const h=TOe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function CXn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function Q7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function QOt(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;Q7e("source",c,d,e,s,i),Q7e("target",c,u,e,a,l),t.set(r.id,r)}}function YOt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:YOt(n,t):!1}function Y7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function EXn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!YOt(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function nne({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function TXn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=e4(a,t);return{x:i.x-a.x,y:i.y-a.y}}function jXn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:T=0}){p=_p(k);function E({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:z,onNodeDrag:V,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:R,y:L};let $=!1;const q=l.size>1,Z=q&&F?mve(J3(l)):null,Y=q&&B?TXn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,J]of l){if(!D.has(ne))continue;let ee={x:R-J.distance.x,y:L-J.distance.y};B&&(ee=Y?{x:Math.round(ee.x+Y.x),y:Math.round(ee.y+Y.y)}:e4(ee,H));let se=null;if(q&&F&&!J.extent&&Z){const{positionAbsolute:te}=J.internals,re=te.x-Z.x+F[0][0],pe=te.x+J.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],Se=te.y+J.measured.height-Z.y2+F[1][1];se=[[re,ce],[pe,Se]]}const{position:le,positionAbsolute:X}=$Ot({nodeId:ne,nextPosition:ee,nodeLookup:D,nodeExtent:se||F,nodeOrigin:z,onError:G});$=$||J.position.x!==le.x||J.position.y!==le.y,J.position=le,J.internals.positionAbsolute=X}if(m=m||$,!!$&&(U(l,!0),v&&(r||V||!C&&M))){const[ne,J]=nne({nodeId:C,dragItems:l,nodeLookup:D});r?.(v,l,ne,J),V?.(v,ne,J),C||M?.(v,J)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=DOt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&E(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:z,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||U()),_&&V&&C&&e?.(C);const $=j2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:z,containerBounds:d});if(a=$,l=EXn(L,F,$,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=nne({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,q,Z),M?.(R.sourceEvent,q,Z),C||G?.(R.sourceEvent,Z)}}const A=hOt().clickDistance(T).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=j2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=Og(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:z}=t(),V=j2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=Og(R.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>B&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=Og(R.sourceEvent,d),E(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!C&&H){const[B,z]=nne({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,z),F?.(R.sourceEvent,B,z),C||H?.(R.sourceEvent,z)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!Y7e(L,`.${x}`,k))&&(!S||Y7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function NXn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())$M(s,nN(a))>0&&r.push(a);return r}const IXn=250;function AXn(e,t,n,r){let s=[],a=1/0;const i=NXn(e,n,t+IXn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=e_(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function KOt(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...e_(i,c,c.position,!0)}:c}function XOt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function RXn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const JOt=()=>!0;function PXn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=JOt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:T=1,handleDomNode:E}){const N=BOt(e.target);let I=0,A;const{x:R,y:L}=Og(e),D=XOt(a,E),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=KOt(s,D,r,c,t);if(!B)return;let z=Og(e,F),V=!1,M=null,G=!1,U=null;function $(){if(!d||!F)return;const[le,X]=DOt(z,F,C);p({x:le,y:X}),I=requestAnimationFrame($)}const q={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:e_(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:L7e[q.position],toNode:null,pointer:z};function J(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}T===0&&J();function ee(le){if(!H){const{x:Se,y:ge}=Og(le),ke=Se-R,Ne=ge-L;if(!(ke*ke+Ne*Ne>T*T))return;J()}if(!_()||!q){se(le);return}const X=k();z=Og(le,F),A=AXn(t4(z,X,!1,[1,1]),n,c,q),V||($(),V=!0);const te=e_t(le,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=te.handleDomNode,M=te.connection,G=RXn(!!A,te.isValid);const re=c.get(s),pe=re?e_(re,q,nr.Left,!0):ne.from,ce={...ne,from:pe,isValid:G,to:te.toHandle&&G?sU({x:te.toHandle.x,y:te.toHandle.y},X):z,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:L7e[q.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:z};S(ce),ne=ce}function se(le){if(!("touches"in le&&le.touches.length>0)){if(H){(A||U)&&M&&G&&v?.(M);const{inProgress:X,...te}=ne,re={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(le,re),a&&x?.(le,re)}h(),cancelAnimationFrame(I),V=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",se),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",se)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",se),N.addEventListener("touchmove",ee),N.addEventListener("touchend",se)}function e_t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=JOt,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=Og(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=XOt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!x)return b;const T={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=T;const N=_&&C&&(n===eN.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(T),b.toHandle=KOt(S,x,k,d,n,!0)}return b}const bve={onPointerDown:PXn,isValid:e_t};function $Xn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=_p(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&MM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,T=k[2]*Math.pow(2,C*_);t.scaleTo(T)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-v[0],_[1]-v[1]];v=_;const T=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),E={x:k[0]-C[0]*T,y:k[1]-C[1]*T},N=[[0,0],[c,u]];t.setViewportConstrained({x:E.x,y:E.y,zoom:k[2]},N,l)},x=jOt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:dg}}const hW=e=>({x:e.x,y:e.y,zoom:e.k}),rne=({x:e,y:t,zoom:n})=>dW.translate(e,t).scale(n),gT=(e,t)=>e.target.closest(`.${t}`),t_t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),MXn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,sne=(e,t=0,n=MXn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},n_t=e=>{const t=e.ctrlKey&&MM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function DXn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(gT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=dg(d),b=n_t(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===aO.Vertical?0:d.deltaX*p,m=s===aO.Horizontal?0:d.deltaY*p;!MM()&&d.shiftKey&&s!==aO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=hW(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function LXn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=gT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function FXn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=hW(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function zXn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&t_t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,hW(a.transform))}}function BXn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&t_t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=hW(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function UXn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(gT(f,`${u}-flow__node`)||gT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||gT(f,l)&&m||gT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function qXn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=jOt().scaleExtent([t,n]).translateExtent(r),p=_p(e).call(f);x({x:s.x,y:s.y,zoom:tN(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(n_t);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).transform(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:z,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:q,onTransformChange:Z,connectionInProgress:Y,paneClickDistance:ne,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=F&&!$&&!D;f.clickDistance(J?1/0:!kg(ne)||ne<0?0:ne);const se=ee?DXn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):LXn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",se,{passive:!1}),!D){const X=FXn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",X);const te=zXn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const re=BXn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",re)}const le=UXn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:q,connectionInProgress:Y});f.filter(le),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=rne(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=rne(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=rne(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function _(){const A=p?TOt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function C(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).scaleTo(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?bx:Z8).scaleBy(sne(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!kg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:T,setScaleExtent:E,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var sN;(function(e){e.Line="line",e.Handle="handle"})(sN||(sN={}));function VXn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function K7e(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function nw(e,t){return Math.max(0,t-e)}function rw(e,t){return Math.max(0,e-t)}function wF(e,t,n){return Math.max(0,t-e,e-n)}function X7e(e,t){return e?!t:t}function HXn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:T}=e;let E=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-E:E),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=wF(I,v,y),F=wF(A,b,x);if(i){let z=0,V=0;c&&E<0?z=nw(S+E+R,i[0][0]):!c&&E>0&&(z=rw(S+I+R,i[1][0])),u&&N<0?V=nw(k+N+L,i[0][1]):!u&&N>0&&(V=rw(k+A+L,i[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(l){let z=0,V=0;c&&E>0?z=rw(S+E,l[0][0]):!c&&E<0&&(z=nw(S+I,l[1][0])),u&&N>0?V=rw(k+N,l[0][1]):!u&&N<0&&(V=nw(k+A,l[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(s){if(d){const z=wF(I/T,b,x)*T;if(D=Math.max(D,z),i){let V=0;!c&&!u||c&&!u&&p?V=rw(k+L+I/T,i[1][1])*T:V=nw(k+L+(c?E:-E)/T,i[0][1])*T,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=nw(k+I/T,l[1][1])*T:V=rw(k+(c?E:-E)/T,l[0][1])*T,D=Math.max(D,V)}}if(f){const z=wF(A*T,v,y)/T;if(F=Math.max(F,z),i){let V=0;!c&&!u||u&&!c&&p?V=rw(S+A*T+R,i[1][0])/T:V=nw(S+(u?N:-N)*T+R,i[0][0])/T,F=Math.max(F,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=nw(S+A*T,l[1][0])/T:V=rw(S+(u?N:-N)*T,l[0][0])/T,F=Math.max(F,V)}}}N=N+(N<0?F:-F),E=E+(E<0?D:-D),s&&(p?I>A*T?N=(X7e(c,u)?-E:E)/T:E=(X7e(c,u)?-N:N)*T:d?(N=E/T,u=c):(E=N*T,c=u));const H=c?S+E:S,B=u?k+N:k;return{width:_+(c?-E:E),height:C+(u?-N:N),x:a[0]*E*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const r_t={width:0,height:0,x:0,y:0},WXn={...r_t,pointerX:0,pointerY:0,aspectRatio:1};function ZXn(e){return[[0,0],[e.measured.width,e.measured.height]]}function GXn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function QXn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=_p(e);let i={controlDirection:K7e("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...r_t},x={...WXn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:K7e(u)};let S,k=null,_=[],C,T,E,N=!1;const I=hOt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:V}=j2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:z,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),T=C&&S.extent==="parent"?ZXn(C):void 0),_=[],E=void 0;for(const[M,G]of R)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=GXn(G,S,G.origin??H);E?E=[[Math.min(U[0][0],E[0][0]),Math.min(U[0][1],E[0][1])],[Math.max(U[1][0],E[1][0]),Math.max(U[1][1],E[1][1])]]:E=U}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=j2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:z,y:V,width:M,height:G}=b,U={},$=S.origin??F,{width:q,height:Z,x:Y,y:ne}=HXn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,T,E),J=q!==M,ee=Z!==G,se=Y!==z&&J,le=ne!==V&ⅇif(!se&&!le&&!J&&!ee)return;if((se||le||$[0]===1||$[1]===1)&&(U.x=se?Y:b.x,U.y=le?ne:b.y,b.x=U.x,b.y=U.y,_.length>0)){const pe=Y-z,ce=ne-V;for(const Se of _)Se.position={x:Se.position.x-pe+$[0]*(q-M),y:Se.position.y-ce+$[1]*(Z-G)},B.push(Se)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const pe=$[0]*(U.width??0);U.x&&U.x<pe&&(b.x=pe,x.x=x.x-(U.x-pe));const ce=$[1]*(U.height??0);U.y&&U.y<ce&&(b.y=ce,x.y=x.y-(U.y-ce))}const X=VXn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:X};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(U,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const YXn={},J7e=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(YXn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},KXn=e=>e?J7e(e):J7e,{useDebugValue:XXn}=Fe,{useSyncExternalStoreWithSelector:JXn}=_Tn,eJn=e=>e;function s_t(e,t=eJn,n){const r=JXn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return XXn(r),r}const eBe=(e,t)=>{const n=KXn(e),r=(s,a=t)=>s_t(n,s,a);return Object.assign(r,n),r},tJn=(e,t)=>e?eBe(e,t):eBe;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const mW=g.createContext(null),nJn=mW.Provider,a_t=_y.error001();function qs(e,t){const n=g.useContext(mW);if(n===null)throw new Error(a_t);return s_t(n,e,t)}function Eo(){const e=g.useContext(mW);if(e===null)throw new Error(a_t);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const tBe={display:"none"},rJn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},i_t="react-flow__node-desc",o_t="react-flow__edge-desc",sJn="react-flow__aria-live",aJn=e=>e.ariaLiveMessage,iJn=e=>e.ariaLabelConfig;function oJn({rfId:e}){const t=qs(aJn);return o.jsx("div",{id:`${sJn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:rJn,children:t})}function lJn({rfId:e,disableKeyboardA11y:t}){const n=qs(iJn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${i_t}-${e}`,style:tBe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${o_t}-${e}`,style:tBe,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(oJn,{rfId:e})]})}const n4=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Ul(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});n4.displayName="Panel";function cJn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(n4,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const uJn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},SF=e=>e.id;function dJn(e,t){return io(e.selectedNodes.map(SF),t.selectedNodes.map(SF))&&io(e.selectedEdges.map(SF),t.selectedEdges.map(SF))}function fJn({onSelectionChange:e}){const t=Eo(),{selectedNodes:n,selectedEdges:r}=qs(uJn,dJn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const pJn=e=>!!e.onSelectionChangeHandlers;function hJn({onSelectionChange:e}){const t=qs(pJn);return e||t?o.jsx(fJn,{onSelectionChange:e}):null}const xve=typeof window<"u"?g.useLayoutEffect:g.useEffect,l_t=[0,0],mJn={x:0,y:0,zoom:1},gJn=["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],nBe=[...gJn,"rfId"],vJn=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),rBe={translateExtent:AM,nodeOrigin:l_t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function yJn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=qs(vJn,io),u=Eo();xve(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=rBe,l()}),[]);const d=g.useRef(rBe);return xve(()=>{for(const f of nBe){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:oXn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},nBe.map(f=>e[f])),null}function sBe(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function bJn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=sBe(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:sBe()?.matches?"dark":"light"}const aBe=typeof document<"u"?document:null;function DM(e=null,t={target:aBe,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
235
235
|
`).replace(`
|
|
236
236
|
|
|
237
237
|
`,`
|
|
@@ -641,7 +641,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
|
|
|
641
641
|
}
|
|
642
642
|
]`})]})]})}function Gms({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border-accent2/30 rounded-md border p-3",children:[o.jsxs("div",{className:"text-accent2 mb-2 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(Cf,{className:"h-4 w-4"})}),o.jsxs("span",{className:"text-sm font-medium",children:[e.length," validation error",e.length!==1?"s":""]})]}),o.jsx("ul",{className:"text-accent2/80 space-y-1 text-sm",children:n.map((s,a)=>o.jsxs("li",{className:"flex gap-2",children:[o.jsx("span",{className:"shrink-0",children:"•"}),o.jsx("span",{children:s.message})]},a))}),r>0&&o.jsxs("div",{className:"text-accent2/60 mt-2 text-xs",children:["+",r," more error",r!==1?"s":""]})]})}function Qms({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("upload"),[i,l]=g.useState(null),[c,u]=g.useState({current:0,total:0}),[d,f]=g.useState(null),[p,h]=g.useState(!1),{parseFile:m,isParsing:v,error:y}=Nhs(),{batchInsertItems:b}=Vi(),x=g.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),S=g.useCallback(async()=>{if(!i||i.items.length===0)return;a("importing"),h(!0);const{items:I}=i;u({current:0,total:I.length});try{await b.mutateAsync({datasetId:e,items:I.map(A=>({input:A.input,groundTruth:A.groundTruth,metadata:A.metadata}))}),f({success:I.length,errors:0})}catch{f({success:0,errors:I.length})}u({current:I.length,total:I.length}),h(!1),a("complete")},[i,b,e]),k=g.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&Be.success(`Imported ${d.success} item${d.success!==1?"s":""}`),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150)},[n,r,d]),_=g.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),C=i&&i.items.length>0&&i.errors.length===0,T=()=>{switch(s){case"upload":return o.jsx(Zms,{onFileSelect:x,isParsing:v,error:y?.message});case"preview":return i?o.jsx("div",{className:"flex flex-col gap-4",children:i.errors.length>0?o.jsxs(o.Fragment,{children:[o.jsx(Gms,{errors:i.errors}),o.jsx("div",{className:"text-neutral4 text-sm",children:"Please fix the errors in your JSON file and try again."})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"text-neutral4 text-sm",children:["Found ",i.items.length," valid item",i.items.length!==1?"s":""," to import."]}),o.jsx(Wms,{items:i.items,maxRows:5})]})}):null;case"importing":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx(Vt,{}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Importing items..."}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[c.current," of ",c.total]})]})]});case"complete":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx("div",{className:"text-4xl",children:d&&d.errors===0?"✓":"⚠"}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Import Complete"}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[d?.success??0," item",d?.success!==1?"s":""," imported",d&&d.errors>0&&o.jsxs("span",{className:"text-accent2",children:[" ","(",d.errors," error",d.errors!==1?"s":"",")"]})]})]})]})}},E=()=>{switch(s){case"upload":return o.jsx(oe,{onClick:_,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(oe,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(oe,{variant:"primary",onClick:S,disabled:!C,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(oe,{variant:"primary",onClick:k,children:"Done"})}},N={upload:"Import JSON",preview:"Preview Data",importing:"Importing",complete:"Import Complete"};return o.jsx(vr,{open:t,onOpenChange:_,children:o.jsxs(yr,{className:"max-h-[90vh] max-w-2xl",children:[o.jsxs(br,{children:[o.jsx(hr,{children:N[s]}),o.jsx(Rs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Mr,{className:"max-h-[50vh] min-h-[200px] overflow-y-auto",children:T()}),o.jsx(ac,{className:"flex justify-end gap-2 px-6 pt-4",children:E()})]})})}function Yms(e){if(!(e instanceof HTMLElement))return!1;if(e.isContentEditable)return!0;const t=e.tagName;return t==="INPUT"||t==="TEXTAREA"||t==="SELECT"?!0:!!e.closest('[role="dialog"]:not([data-item-panel])')}function dVt({active:e,onPrevious:t,onNext:n,onClose:r}){g.useEffect(()=>{if(!e)return;const s=a=>{a.defaultPrevented||Yms(a.target)||(a.key==="PageUp"?(a.preventDefault(),t?.()):a.key==="PageDown"?(a.preventDefault(),n?.()):a.key==="Escape"&&(a.preventDefault(),r()))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t,n,r])}const fVt=g.createContext(null);function Kms({datasetId:e,items:t,isLoadingItems:n,children:r}){const s=es(),i=ggt("/datasets/:datasetId/items/:itemId")?.params.itemId,l=g.useCallback(h=>{s(`/datasets/${e}/items/${encodeURIComponent(h)}`)},[s,e]),c=g.useCallback(()=>{s(`/datasets/${e}`)},[s,e]),u=g.useMemo(()=>i?t.findIndex(h=>h.id===i):-1,[t,i]),d=g.useMemo(()=>{if(u<=0)return;const h=t[u-1].id;return()=>l(h)},[u,t,l]),f=g.useMemo(()=>{if(u<0||u>=t.length-1)return;const h=t[u+1].id;return()=>l(h)},[u,t,l]);dVt({active:!!i,onPrevious:d,onNext:f,onClose:c});const p=g.useMemo(()=>({datasetId:e,items:t,isLoadingItems:n,currentItemId:i,openItem:l,close:c,goToPreviousItem:d,goToNextItem:f}),[e,t,n,i,l,c,d,f]);return o.jsx(fVt.Provider,{value:p,children:r})}function pVt(){const e=g.useContext(fVt);if(!e)throw new Error("useDatasetItemPanel must be used within a DatasetItemPanelProvider");return e}const zAe=e=>{const t=Ge(),{data:n}=AD(e),r=n?.experiments;return yt({queryKey:["dataset-review-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="needs-review").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})},Xms=e=>{const t=Ge(),{data:n}=AD(e),r=n?.experiments;return yt({queryKey:["dataset-completed-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="complete").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})};function BAe({label:e,wide:t=!1,children:n}){return o.jsxs("div",{className:K("pointer-events-none absolute inset-0 z-30","grid transition-[grid-template-columns] duration-300 ease-in-out",t?"grid-cols-[1fr_4fr]":"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"pointer-events-none"}),o.jsx("div",{role:"dialog","data-item-panel":!0,"aria-label":e,className:"pointer-events-auto h-full min-h-0 min-w-0 overflow-y-auto",children:n})]})}function Jms(e,t){if(typeof e=="string")return e.length>t?e.slice(0,t)+"...":e;try{const n=JSON.stringify(e);return n.length>t?n.slice(0,t)+"...":n}catch{return String(e)}}function hVt({datasetId:e,experimentId:t,featuredItemId:n,detailPanelVariant:r="inline"}){const s=Ge(),{data:a}=Qg(e),{data:i,isLoading:l}=zAe(e),{data:c,isLoading:u}=Xms(e),d=g.useMemo(()=>t?(i??[]).filter($e=>$e.experimentId===t):i,[i,t]),f=g.useMemo(()=>t?(c??[]).filter($e=>$e.experimentId===t):c,[c,t]),{updateExperimentResult:p}=Vi(),[h,m]=g.useState(n??null);g.useEffect(()=>{n!==void 0&&m(n)},[n]);const[v,y]=g.useState(null),[b,x]=g.useState(new Set),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState(!1),[N,I]=g.useState(""),[A,R]=g.useState(""),[L,D]=g.useState(""),[F,H]=g.useState([]),[B,z]=g.useState(!1),[V,M]=g.useState(null),G=g.useMemo(()=>V??d??[],[V,d]);g.useEffect(()=>{M(null)},[e,t]),g.useEffect(()=>{d&&V===null&&M(d)},[d,V]);const U=g.useMemo(()=>{const $e=new Set;if(a?.tags)for(const ye of a.tags)$e.add(ye);for(const ye of G)for(const xe of ye.tags)$e.add(xe);return[...$e].sort()},[a,G]),$=g.useCallback($e=>{!a||!e||(a.tags??[]).includes($e)},[a,e]),q=g.useMemo(()=>v?v==="__untagged__"?G.filter($e=>$e.tags.length===0):G.filter($e=>$e.tags.includes(v)):G,[G,v]),Z=g.useMemo(()=>{const $e=new Map;for(const ye of G)for(const xe of ye.tags)$e.set(xe,($e.get(xe)??0)+1);return[...$e.entries()].sort((ye,xe)=>xe[1]-ye[1])},[G]),Y=g.useMemo(()=>G.filter($e=>$e.tags.length===0).length,[G]),ne=g.useMemo(()=>{let $e=0;return v&&$e++,S&&$e++,$e},[v,S]),J=g.useCallback(($e,ye)=>{M(Re=>(Re??[]).map(He=>He.id===$e?{...He,tags:ye}:He));const xe=G.find(Re=>Re.id===$e);xe?.experimentId&&xe?.datasetId&&p.mutate({datasetId:xe.datasetId,experimentId:xe.experimentId,resultId:xe.id,tags:ye})},[G,p]),ee=g.useCallback(($e,ye)=>{const xe=G.find(Re=>Re.id===$e);xe?.traceId&&ye!==void 0&&s.createFeedback({feedback:{traceId:xe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:ye==="positive"?1:-1,experimentId:xe.experimentId??void 0,sourceId:xe.id}}).catch(()=>{}),M(Re=>(Re??[]).map(He=>He.id===$e?{...He,rating:ye}:He))},[G,s]),se=g.useCallback(($e,ye)=>{const xe=G.find(Re=>Re.id===$e);xe?.experimentId&&xe?.datasetId&&p.mutate({datasetId:xe.datasetId,experimentId:xe.experimentId,resultId:xe.id,comment:ye}),xe?.traceId&&s.createFeedback({feedback:{traceId:xe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:ye,comment:ye,experimentId:xe.experimentId??void 0,sourceId:xe.id}}).catch(()=>{}),M(Re=>(Re??[]).map(He=>He.id===$e?{...He,comment:ye}:He))},[G,s,p]),le=g.useCallback($e=>{const ye=G.find(xe=>xe.id===$e);M(xe=>(xe??[]).filter(Re=>Re.id!==$e)),x(xe=>{const Re=new Set(xe);return Re.delete($e),Re}),h===$e&&m(null),ye?.experimentId&&ye?.datasetId&&p.mutate({datasetId:ye.datasetId,experimentId:ye.experimentId,resultId:ye.id,status:null})},[G,p,h]),X=g.useCallback($e=>{const ye=G.find(xe=>xe.id===$e);M(xe=>(xe??[]).filter(Re=>Re.id!==$e)),x(xe=>{const Re=new Set(xe);return Re.delete($e),Re}),h===$e&&m(null),ye?.experimentId&&ye?.datasetId&&p.mutate({datasetId:ye.datasetId,experimentId:ye.experimentId,resultId:ye.id,status:"complete"})},[G,p,h]),te=g.useMemo(()=>{const $e=S?f??[]:q;return!S||!v?$e:v==="__untagged__"?$e.filter(ye=>ye.tags.length===0):$e.filter(ye=>ye.tags.includes(v))},[S,f,q,v]),re=S?u:!1,pe=g.useMemo(()=>new Set(te.map($e=>$e.id)),[te]),ce=g.useMemo(()=>[...b].filter($e=>pe.has($e)).length,[b,pe]),Se=te.length>0&&ce===te.length,ge=ce>0&&!Se,ke=g.useCallback($e=>{x(ye=>{const xe=new Set(ye);return xe.has($e)?xe.delete($e):xe.add($e),xe})},[]),Ne=g.useCallback(()=>{x(Se?new Set:new Set(te.map($e=>$e.id)))},[Se,te]),Pe=g.useCallback($e=>{for(const ye of b){const xe=G.find(Re=>Re.id===ye);xe&&!xe.tags.includes($e)&&J(ye,[...xe.tags,$e])}},[G,b,J]),Ae=g.useCallback($e=>{for(const ye of b){const xe=G.find(Re=>Re.id===ye);xe&&xe.tags.includes($e)&&J(ye,xe.tags.filter(Re=>Re!==$e))}},[G,b,J]),Ie=g.useCallback(()=>{for(const $e of b)X($e);x(new Set)},[b,X]),ae=g.useCallback(()=>{for(const $e of b)le($e);x(new Set)},[b,le]),fe=g.useCallback(()=>{I(""),E(!0)},[]),ue=g.useCallback(async()=>{if(!(!A||!L)){C(!0),E(!1);try{const $e=G.filter(xe=>b.has(xe.id));if($e.length===0){C(!1);return}const ye=await s.clusterFailures({modelId:`${A}/${L}`,items:$e.map(xe=>({id:xe.id,input:xe.input,output:xe.output??void 0,error:typeof xe.error=="string"?xe.error:xe.error?String(xe.error):void 0,scores:xe.scores,existingTags:xe.tags.length>0?xe.tags:void 0})),availableTags:U.length>0?U:void 0,prompt:N||void 0});ye.proposedTags&&ye.proposedTags.length>0&&(H(ye.proposedTags.map(xe=>({...xe,accepted:!0}))),z(!0))}catch($e){console.error("Analysis failed:",$e)}finally{C(!1)}}},[A,L,G,b,s,U,N]),we=g.useCallback(()=>{for(const $e of F){if(!$e.accepted)continue;const ye=G.find(xe=>xe.id===$e.itemId);if(ye){const xe=[...new Set([...ye.tags,...$e.tags])];J(ye.id,xe)}}z(!1)},[F,G,J]),Ee=g.useCallback($e=>{m(ye=>ye===$e?null:$e)},[]),me=g.useMemo(()=>h?te.find($e=>$e.id===h)??null:null,[h,te]),_e=h?te.findIndex($e=>$e.id===h):-1,Ue=_e>0?()=>m(te[_e-1].id):void 0,Le=_e>=0&&_e<te.length-1?()=>m(te[_e+1].id):void 0,ze="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem",{containerRef:Ye,getRowProps:rt}=So({count:te.length});if(l)return o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Vt,{className:"h-6 w-6"})});const gt=me?o.jsx(RUt,{className:"h-full",item:me,isCompleted:S,tagVocabulary:U,onRate:$e=>ee(me.id,$e),onSetTags:$e=>{J(me.id,$e);for(const ye of $e)U.includes(ye)||$(ye)},onComment:$e=>se(me.id,$e),onRemove:()=>le(me.id),onComplete:S?void 0:()=>X(me.id),onPrevious:Ue,onNext:Le,onClose:()=>m(null)}):null;return o.jsxs("div",{className:K("flex h-full min-h-0 flex-1",r==="overlay"?"overflow-visible":"overflow-hidden"),children:[o.jsx(vr,{open:T,onOpenChange:E,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Analyze Items"}),o.jsx(Rs,{children:"Use an LLM to automatically suggest tags for the selected items."})]}),o.jsxs("div",{className:"space-y-4 py-2",children:[o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[o.jsxs("div",{children:[o.jsx($t,{className:"mb-1 block text-xs",children:"Provider"}),o.jsx(Zy,{value:A,onValueChange:R})]}),o.jsxs("div",{children:[o.jsx($t,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Gy,{llmId:A,value:L,onValueChange:D})]})]}),o.jsxs(ve,{variant:"ui-xs",className:"text-neutral3",children:[b.size," item",b.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx($t,{className:"text-xs",children:"Instructions (optional)"}),o.jsx(Rl,{value:N,onChange:$e=>I($e.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"mt-1 text-xs"})]})]}),o.jsxs(ac,{children:[o.jsx(oe,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(oe,{onClick:ue,disabled:!A||!L||_,children:[_?o.jsx(Vt,{className:"mr-1 h-4 w-4"}):null,"Analyze"]})]})]})}),o.jsx(vr,{open:B,onOpenChange:z,children:o.jsxs(yr,{className:"max-h-[80vh] max-w-2xl overflow-y-auto",children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Review Proposed Tags"}),o.jsxs(Rs,{children:[F.filter($e=>$e.accepted).length," of ",F.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:F.map(($e,ye)=>{const xe=G.find(Re=>Re.id===$e.itemId);return o.jsx("div",{className:K("p-3 border rounded-lg",!$e.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ko,{checked:$e.accepted,onCheckedChange:Re=>H(He=>He.map((et,Rt)=>Rt===ye?{...et,accepted:!!Re}:et))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ve,{variant:"ui-xs",className:"text-neutral4 block truncate",children:xe?typeof xe.input=="string"?xe.input.slice(0,100):JSON.stringify(xe.input).slice(0,100):$e.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:$e.tags.map((Re,He)=>o.jsx($Ut,{tag:Re,onRename:et=>H(Rt=>Rt.map((Te,Ke)=>Ke===ye?{...Te,tags:Te.tags.map((pt,Wt)=>Wt===He?et:pt)}:Te)),onRemove:()=>H(et=>et.map((Rt,Te)=>Te===ye?{...Rt,tags:Rt.tags.filter((Ke,pt)=>pt!==He)}:Rt))},`${Re}-${He}`))}),$e.reason&&o.jsx(ve,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:$e.reason})]})]})},$e.itemId)})}),o.jsxs(ac,{children:[o.jsx(oe,{variant:"outline",onClick:()=>z(!1),children:"Cancel"}),o.jsxs(oe,{onClick:we,disabled:F.filter($e=>$e.accepted).length===0,children:["Accept ",F.filter($e=>$e.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:K("grid h-full min-h-0 w-full grid-cols-1 gap-4",r==="overlay"?"overflow-visible":"overflow-hidden",me&&r==="inline"&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid min-h-0 w-full grid-rows-[auto_1fr] gap-3 overflow-hidden pt-3",children:[(G.length>0||ne>0)&&o.jsxs("div",{className:"flex w-full flex-wrap items-center justify-start gap-3",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(oe,{size:"sm",children:[o.jsx(Blt,{}),"Filter",ne>0&&o.jsx(Xt,{variant:"default",size:"xs",children:ne})]})}),o.jsxs(it.Content,{align:"start",className:K("min-w-48"),children:[o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Status",S&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!S,onCheckedChange:()=>{k(!1),m(null)},onSelect:$e=>$e.preventDefault(),children:"Review Queue"}),o.jsx(it.CheckboxItem,{checked:S,onCheckedChange:()=>{k(!0),m(null)},onSelect:$e=>$e.preventDefault(),children:"Completed"})]})]}),o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Tags",v&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!v,onCheckedChange:()=>y(null),onSelect:$e=>$e.preventDefault(),children:"All"}),Y>0&&o.jsx(it.CheckboxItem,{checked:v==="__untagged__",onCheckedChange:()=>y(v==="__untagged__"?null:"__untagged__"),onSelect:$e=>$e.preventDefault(),children:"Untagged"}),Z.length>0&&o.jsx(it.Separator,{}),Z.map(([$e])=>o.jsx(it.CheckboxItem,{checked:v===$e,onCheckedChange:()=>y(v===$e?null:$e),onSelect:ye=>ye.preventDefault(),children:$e},$e))]})]}),ne>0&&o.jsxs(o.Fragment,{children:[o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:()=>{y(null),k(!1),m(null)},children:[o.jsx(Os,{}),"Clear all filters"]})]})]})]}),ne>0&&o.jsxs(oe,{size:"sm",onClick:()=>{y(null),k(!1),m(null)},children:[o.jsx(Os,{}),"Reset"]})]}),!S&&b.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(PUt,{selectedCount:b.size,vocabulary:U,onApplyTag:Pe,onRemoveTag:Ae,onNewTag:$e=>Pe($e)}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(oe,{size:"sm",disabled:_,children:[_?o.jsx(Vt,{className:"h-4 w-4"}):o.jsx(Ve,{size:"sm",children:o.jsx(Sa,{})}),"Actions"]})}),o.jsxs(it.Content,{align:"end",children:[o.jsxs(it.Item,{onSelect:Ie,children:[o.jsx(Ve,{size:"sm",children:o.jsx(mO,{})}),"Complete"]}),o.jsxs(it.Item,{onSelect:ae,children:[o.jsx(Ve,{size:"sm",children:o.jsx(td,{})}),"Remove"]}),o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:fe,children:[o.jsx(Ve,{size:"sm",children:o.jsx(Rg,{})}),"Analyze"]})]})]})]})]}),re?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Vt,{className:"h-6 w-6"})}):te.length===0?o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Cr,{iconSlot:o.jsx(vO,{className:"text-neutral3 h-8 w-8"}),titleSlot:S?"No completed reviews yet":"No items to review",descriptionSlot:S?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})}):o.jsxs(be,{columns:ze,className:"min-w-0",scrollRef:Ye,children:[o.jsxs(be.Top,{hasLeadingCell:!0,children:[S?o.jsx(be.TopCell,{children:" "}):o.jsx(be.TopSelectCell,{checked:Se?!0:ge?"indeterminate":!1,onToggle:()=>Ne(),"aria-label":"Select all"}),o.jsxs(be.TopCells,{colStart:2,children:[o.jsx(be.TopCell,{children:"Input"}),o.jsx(be.TopCell,{children:"Comment"}),o.jsx(be.TopCell,{children:"Tags"}),o.jsx(be.TopCell,{children:"Rating"}),o.jsx(be.TopCell,{children:"Scores"})]})]}),te.map(($e,ye)=>{const xe=$e.scores?Object.entries($e.scores):[],Re=h===$e.id,He=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{className:"text-neutral4 min-w-0",children:o.jsx("span",{className:"block truncate",children:Jms($e.input,200)})}),o.jsx(be.Cell,{className:"min-w-0",children:$e.comment?o.jsx(ve,{variant:"ui-xs",className:"text-neutral3 truncate",children:$e.comment}):o.jsx(ve,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(be.Cell,{className:"min-w-0",children:$e.tags.length>0?o.jsx(ve,{variant:"ui-xs",className:"text-neutral4 truncate",children:$e.tags.join(", ")}):o.jsx(ve,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(be.Cell,{children:[$e.rating==="positive"&&o.jsx(Ve,{size:"sm",className:"text-positive1",children:o.jsx(m0e,{})}),$e.rating==="negative"&&o.jsx(Ve,{size:"sm",className:"text-negative1",children:o.jsx(h0e,{})}),!$e.rating&&o.jsx(ve,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(be.Cell,{children:xe.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ve,{size:"sm",className:"text-neutral3",children:o.jsx(lm,{})}),o.jsx(ve,{variant:"ui-xs",className:"text-neutral4 font-mono",children:xe[0][1].toFixed(2)}),xe.length>1&&o.jsxs(Xt,{variant:"default",children:["+",xe.length-1]})]}):o.jsx(ve,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(be.RowWrapper,{children:[S?o.jsx(be.Cell,{className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":$e.error?"Error":"Success",title:$e.error?"Error":"Success",className:K("w-2 h-2 rounded-full",$e.error?"bg-red-700":"bg-green-600")})}):o.jsx(be.SelectCell,{checked:b.has($e.id),onToggle:()=>ke($e.id),"aria-label":`Select item ${$e.id}`}),o.jsx(be.RowButton,{colStart:2,featured:Re,onClick:()=>Ee($e.id),...rt(ye),children:He})]},$e.id)})]})]}),gt&&(r==="overlay"?o.jsx(BAe,{label:`Review item ${me?.id??""}`,children:gt}):gt)]})]})}function egs({datasetId:e,onAddItemClick:t,onNavigateToDataset:n,rightSlot:r}){const[s,a]=si(),{tab:i,activeVersion:l,handleTabChange:c}=FAe(s,a),[u,d]=g.useState(!1),[f,p]=g.useState(!1),[h,m]=g.useState(!1),[v,y]=g.useState([]),[b,x]=g.useState(!1),[S,k]=g.useState([]),[_,C]=g.useState(!1),[T,E]=g.useState([]),[N,I]=g.useState(0),[A,R]=g.useState(""),[L]=LH(A,300),{data:D}=Qg(e),{data:F=[],total:H,isLoading:B,setEndOfListElement:z,isFetchingNextPage:V,hasNextPage:M}=Qx(e,L||void 0,l),{total:G}=Qx(e,void 0,l),[U,$]=g.useState({}),{data:q,isLoading:Z}=AD(e,void 0,U),{data:Y}=AD(e),{deleteItems:ne}=Vi(),J=q?.experiments??[],ee=Y?.experiments??[],se=bms({hasSearchQuery:!!L,filteredItemsLength:F.length,unfilteredItemsTotal:G,itemsTotal:H}),{data:le}=zAe(e),X=le?.length??0,{currentItemId:te,openItem:re,close:pe}=pVt(),ce=ae=>{te===ae?pe():re(ae)},Se=ae=>{y(ae),m(!0)},ge=ae=>{k(ae),x(!0)},ke=ae=>{x(ae),ae||(k([]),I(fe=>fe+1))},Ne=ae=>{E(ae),C(!0)},Pe=async()=>{await ne.mutateAsync({datasetId:e,itemIds:T}),Be.success(`Deleted ${T.length} items`),C(!1),E([]),I(ae=>ae+1)},Ae=ae=>{m(!1),y([]),I(fe=>fe+1),n?.(ae)},Ie=ae=>{m(ae),ae||(y([]),I(fe=>fe+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(Vl,{defaultTab:"items",value:i,onValueChange:c,className:"grid h-full grid-rows-[auto_1fr]",children:[o.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-3",children:[o.jsxs(ql,{variant:"pill-ghost",children:[o.jsxs(mr,{value:"items",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(wj,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Items"}),o.jsx(Pa,{color:"gray",children:se})]}),o.jsxs(mr,{value:"experiments",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(i0e,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Experiments"}),o.jsx(Pa,{color:"gray",children:J.length})]}),o.jsxs(mr,{value:"review",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Review"}),X>0&&o.jsx(Pa,{color:"orange",children:X})]})]}),r&&o.jsx("div",{className:"shrink-0 whitespace-nowrap",children:r})]}),o.jsx(Ur,{value:"items",className:"border-border1 grid overflow-auto border-t py-0",children:o.jsx(Hms,{items:F,isLoading:B,onItemClick:ce,featuredItemId:te,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ne,onCreateDatasetClick:Se,onAddToDatasetClick:ge,datasetName:D?.name,clearSelectionTrigger:N,setEndOfListElement:z,isFetchingNextPage:V,hasNextPage:M,searchQuery:A,activeSearchQuery:L,onSearchChange:R,currentDatasetVersion:D?.version})}),o.jsx(Ur,{value:"experiments",className:"border-border1 grid overflow-auto border-t px-6 pt-3 pb-6",children:o.jsx(zms,{experiments:J,allExperiments:ee,isLoading:Z,datasetId:e,filters:U,onFiltersChange:$})}),o.jsx(Ur,{value:"review",className:"border-border1 overflow-auto border-t px-6 pt-3 pb-6",children:o.jsx(hVt,{datasetId:e})})]}),o.jsx(Tms,{datasetId:e,open:u,onOpenChange:d}),o.jsx(Qms,{datasetId:e,open:f,onOpenChange:p}),o.jsx(ims,{open:h,onOpenChange:Ie,items:v,onSuccess:Ae}),o.jsx(oms,{open:b,onOpenChange:ke,items:S,currentDatasetId:e}),o.jsx(Mt,{open:_,onOpenChange:C,children:o.jsxs(Mt.Content,{children:[o.jsxs(Mt.Header,{children:[o.jsx(Mt.Title,{children:"Delete Items"}),o.jsxs(Mt.Description,{children:["Are you sure you want to delete ",T.length," item",T.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Mt.Footer,{children:[o.jsx(Mt.Cancel,{children:"Cancel"}),o.jsx(Mt.Action,{onClick:Pe,children:ne.isPending?"Deleting...":"Delete"})]})]})})]})}function mVt({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r,label:s="Scorers (Optional)",helperText:a}){const{data:i,isLoading:l}=lh(),c=Object.entries(i??{}).filter(([,u])=>u.isRegistered).map(([u,d])=>({value:u,label:d.scorer?.config?.name||u,description:d.scorer?.config?.description||""}));return o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{children:s}),a?o.jsx("p",{className:"text-muted-foreground text-xs",children:a}):null,o.jsx(yl,{multiple:!0,options:c,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||l,container:r})]})}function gVt({overrideEnabled:e,onOverrideEnabledChange:t,selectedScorerIds:n,onSelectedScorerIdsChange:r,disabled:s=!1}){return o.jsxs("div",{className:"grid gap-3",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(sc,{id:"override-dataset-scorers",checked:e,onCheckedChange:t,disabled:s}),o.jsx($t,{htmlFor:"override-dataset-scorers",children:"Override dataset scorers"})]}),o.jsx("p",{className:"text-muted-foreground text-xs",children:e?"Only selected scorers run for this item. Leave empty to run no scorers.":"Use scorers attached to the dataset."}),e?o.jsx(mVt,{selectedScorers:n,setSelectedScorers:r,disabled:s,label:"Item scorers",helperText:"Choose from scorers that can be resolved by this Mastra instance."}):null]})}function tgs(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function _ie({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-destructive text-xs",children:[o.jsxs("code",{className:"bg-destructive/10 rounded px-1",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function ngs({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("{}"),[i,l]=g.useState(""),[c,u]=g.useState(""),[d,f]=g.useState(""),[p,h]=g.useState(!1),[m,v]=g.useState([]),[y,b]=g.useState(""),[x,S]=g.useState(null),{addItem:k}=Vi(),_=()=>{a("{}"),l(""),u(""),f(""),h(!1),v([]),b(""),S(null)},C=R=>{_(),n(R)},T=async R=>{R.preventDefault();let L;try{L=JSON.parse(s)}catch{Be.error("Input must be valid JSON");return}let D;if(i.trim())try{D=JSON.parse(i)}catch{Be.error("Ground Truth must be valid JSON");return}let F;if(c.trim())try{F=JSON.parse(c)}catch{Be.error("Expected Trajectory must be valid JSON");return}let H;if(d.trim())try{const z=JSON.parse(d);if(!Array.isArray(z)){Be.error("Tool Mocks must be a JSON array");return}H=z}catch{Be.error("Tool Mocks must be valid JSON");return}let B;if(y.trim())try{B=JSON.parse(y)}catch{Be.error("Request Context must be valid JSON");return}try{await k.mutateAsync({datasetId:e,input:L,groundTruth:D,expectedTrajectory:F,toolMocks:H,scorerIds:p?m:void 0,requestContext:B}),Be.success("Item added successfully"),C(!1),r?.()}catch(z){const V=tgs(z);V?S(V):Be.error(`Failed to add item: ${z instanceof Error?z.message:"Unknown error"}`)}},E=R=>{a(R),x?.field==="input"&&S(null)},N=R=>{l(R),x?.field==="groundTruth"&&S(null)},I=R=>{f(R),x?.field==="toolMocks"&&S(null)},A=()=>{C(!1)};return o.jsxs(Bs,{dialogTitle:"Add Item",dialogDescription:"Create a new dataset item",isOpen:t,onClose:A,level:1,children:[o.jsx(Bs.Top,{children:"Add Item"}),o.jsxs(Bs.Content,{children:[o.jsx(Bs.Header,{children:o.jsx(Bs.Heading,{children:"Add Item"})}),o.jsxs("form",{onSubmit:T,className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Gr,{value:s,onChange:E,showCopyButton:!1,className:"min-h-[240px]"}),x?.field==="input"&&o.jsx(_ie,{field:"input",errors:x.errors})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Gr,{value:i,onChange:N,showCopyButton:!1,className:"min-h-[200px]"}),x?.field==="groundTruth"&&o.jsx(_ie,{field:"groundTruth",errors:x.errors})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Gr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[200px]"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Gr,{value:d,onChange:I,showCopyButton:!1,className:"min-h-[200px]"}),x?.field==="toolMocks"&&o.jsx(_ie,{field:"toolMocks",errors:x.errors})]}),o.jsx(gVt,{overrideEnabled:p,onOverrideEnabledChange:h,selectedScorerIds:m,onSelectedScorerIdsChange:v,disabled:k.isPending}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Gr,{value:y,onChange:b,showCopyButton:!1,className:"min-h-[200px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(oe,{type:"button",onClick:A,children:"Cancel"}),o.jsx(oe,{type:"submit",variant:"primary",disabled:k.isPending,children:k.isPending?"Adding...":"Add Item"})]})]})]})]})}function rgs({item:e}){return o.jsx(bs,{withMargins:!1,children:o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{size:"smaller",children:[o.jsx(VD,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(Ba,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(bs.Description,{children:[o.jsxs(Al,{children:[o.jsx(sQt,{})," Created ",xr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Al,{children:[o.jsx(KN,{})," Version v",e.datasetVersion]})]})]})})}function UAe({item:e}){const t=e?.input?JSON.stringify(e.input,null,2):"null",n=e?.groundTruth?JSON.stringify(e.groundTruth,null,2):"null",r=e?.metadata?JSON.stringify(e.metadata,null,2):"null",s=e?.expectedTrajectory?JSON.stringify(e.expectedTrajectory,null,2):null;return o.jsxs(gBt,{children:[o.jsx(Bs.CodeSection,{title:"Input",icon:o.jsx(yO,{}),codeStr:t}),o.jsx(Bs.CodeSection,{title:"Ground Truth",icon:o.jsx(Tg,{}),codeStr:n}),s&&o.jsx(Bs.CodeSection,{title:"Expected Trajectory",icon:o.jsx(d0e,{}),codeStr:s}),o.jsx(Bs.CodeSection,{title:"Scorers",icon:o.jsx(yV,{}),codeStr:e.scorerIds===void 0?"Inherited from dataset":JSON.stringify(e.scorerIds,null,2)}),o.jsx(Bs.CodeSection,{title:"Metadata",icon:o.jsx(XN,{}),codeStr:r})]})}function Cie({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-destructive text-xs",children:[o.jsxs("code",{className:"bg-destructive/10 rounded px-1",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function sgs({inputValue:e,setInputValue:t,groundTruthValue:n,setGroundTruthValue:r,metadataValue:s,setMetadataValue:a,trajectoryValue:i,setTrajectoryValue:l,toolMocksValue:c,setToolMocksValue:u,scorerOverrideEnabled:d,setScorerOverrideEnabled:f,selectedScorerIds:p,setSelectedScorerIds:h,requestContextValue:m,setRequestContextValue:v,validationErrors:y,onSave:b,onCancel:x,isSaving:S}){return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"mb-4",children:o.jsxs("h3",{className:"flex items-center gap-2 text-lg font-medium",children:[o.jsx(cm,{className:"h-5 w-5"})," Edit Item"]})}),o.jsxs("div",{className:"space-y-6",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Input (JSON) *"}),o.jsx(Gr,{value:e,onChange:t,showCopyButton:!1,className:"min-h-[120px]"}),y?.field==="input"&&o.jsx(Cie,{field:"input",errors:y.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Ground Truth (JSON, optional)"}),o.jsx(Gr,{value:n,onChange:r,showCopyButton:!1,className:"min-h-[100px]"}),y?.field==="groundTruth"&&o.jsx(Cie,{field:"groundTruth",errors:y.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Expected Trajectory (JSON, optional)"}),o.jsx(Gr,{value:i,onChange:l,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Tool Mocks (JSON array, optional)"}),o.jsxs("p",{className:"text-muted-foreground text-xs",children:["Ordered static mocks served in place of executing the tool. Each entry is"," ",o.jsx("code",{children:'{ "toolName", "args", "output" }'}),". Calling a mocked tool with non-matching args fails the item; unmocked tools run live."]}),o.jsx(Gr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[100px]"}),y?.field==="toolMocks"&&o.jsx(Cie,{field:"toolMocks",errors:y.errors})]}),o.jsx(gVt,{overrideEnabled:d,onOverrideEnabledChange:f,selectedScorerIds:p,onSelectedScorerIdsChange:h,disabled:S}),o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Request Context (JSON, optional)"}),o.jsx(Gr,{value:m,onChange:v,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Metadata (JSON, optional)"}),o.jsx(Gr,{value:s,onChange:a,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex gap-2 pt-4",children:[o.jsx(oe,{variant:"primary",onClick:b,disabled:S,children:S?"Saving...":"Save Changes"}),o.jsx(oe,{onClick:x,disabled:S,children:"Cancel"})]})]})]})}const ags=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function igs({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=$m(),{data:l,isLoading:c}=Qy(),{data:u,isLoading:d}=lh(),f=e==="agent"?Object.entries(a??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="workflow"?Object.entries(l??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="scorer"?Object.entries(u??{}).map(([v,y])=>({value:v,label:y.scorer?.config?.name??v})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=v=>{t(v),r("")},m=e==="agent"?"Agent":e==="workflow"?"Workflow":"Scorer";return o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{children:"Target Type"}),o.jsx(yl,{options:ags,value:e,onValueChange:h,placeholder:"Select target type",searchPlaceholder:"Search types...",emptyText:"No types available",container:s})]}),e&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{children:m}),o.jsx(yl,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function ogs({requestContextSchema:e,onChange:t}){const n=g.useMemo(()=>{try{return gm(e)}catch(r){return console.error("Failed to parse requestContextSchema:",r),null}},[e]);return n?o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Request Context"}),o.jsx(U3,{schema:n,onValuesChange:t,className:"[&_button[type=submit]]:hidden"})]}):o.jsx("p",{className:"text-destructive text-sm",children:"Failed to parse request context schema"})}function qAe({initialDatasetId:e,initialDatasetVersion:t,initialScorerIds:n,open:r,onOpenChange:s,onSuccess:a}){const i=g.useRef(null),[l,c]=g.useState(e??""),[u,d]=g.useState(t??null),[f,p]=g.useState(""),[h,m]=g.useState(""),[v,y]=g.useState(n??[]),[b,x]=g.useState({}),[S,k]=g.useState(""),{triggerExperiment:_}=Vi(),{data:C}=Qg(l),T=C?.requestContextSchema,E=!!(T&&Object.keys(T).length>0),N=l&&f&&h,I=_.isPending,A=H=>{c(H),d(null),x({})},R=()=>{c(e??""),d(t??null),p(""),m(""),y(n??[]),x({}),k("")},L=()=>{if(E){const H=Object.entries(b).filter(([,B])=>B!==void 0&&B!=="");return H.length>0?Object.fromEntries(H):void 0}if(S.trim()){let H;try{H=JSON.parse(S)}catch{throw new Error("Request Context must be valid JSON")}if(!H||typeof H!="object"||Array.isArray(H))throw new Error("Request Context must be a JSON object");return H}},D=async()=>{if(!N)return;let H;try{H=L()}catch(B){const z=B instanceof Error?B.message:"Request Context must be valid JSON";cu.error(z);return}try{const B=await _.mutateAsync({datasetId:l,targetType:f,targetId:h,scorerIds:v.length>0?v:void 0,version:u??void 0,requestContext:H});cu.success("Experiment triggered successfully"),s(!1),a?.(B.experimentId),R()}catch(B){const z=B instanceof Error?B.message:"Failed to trigger experiment";cu.error(z)}},F=()=>{I||(s(!1),R())};return o.jsx(vr,{open:r,onOpenChange:F,children:o.jsxs(yr,{ref:i,children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Experiment"}),o.jsx(Rs,{children:u!=null?`Execute items from version v${u} of the dataset against a target.`:"Execute dataset items against a target."})]}),o.jsxs(Mr,{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{children:"Dataset"}),o.jsx(pms,{value:l,onValueChange:A,container:i})]}),l&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx($t,{children:"Version"}),o.jsx(iVt,{datasetId:l,value:u,onValueChange:d,container:i})]})]}),o.jsx(igs,{targetType:f,setTargetType:p,targetId:h,setTargetId:m,container:i}),o.jsx(mVt,{selectedScorers:v,setSelectedScorers:y,disabled:I,container:i}),E?o.jsx(ogs,{requestContextSchema:T,onChange:x}):o.jsxs("div",{className:"space-y-2",children:[o.jsx($t,{children:"Request Context (JSON, optional)"}),o.jsx(Gr,{value:S,onChange:k,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(ac,{className:"px-6 pt-4",children:[o.jsx(oe,{onClick:F,disabled:I,children:"Cancel"}),o.jsx(oe,{variant:"primary",onClick:D,disabled:!N||I,children:I?o.jsxs(o.Fragment,{children:[o.jsx(Vt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const vVt=g.createContext(null);function lgs({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,children:i}){const l=es(),u=ggt("/experiments/:experimentId/items/:itemId")?.params.itemId,d=g.useCallback(b=>{l(`/experiments/${e}/items/${encodeURIComponent(b)}`)},[l,e]),f=g.useCallback(()=>{l(`/experiments/${e}`)},[l,e]),p=g.useCallback(b=>{l(`/experiments/${e}?review=${encodeURIComponent(b)}`)},[l,e]),h=g.useMemo(()=>u?r.findIndex(b=>b.itemId===u):-1,[r,u]),m=g.useMemo(()=>{if(h<=0)return;const b=r[h-1].itemId;return()=>d(b)},[h,r,d]),v=g.useMemo(()=>{if(h<0||h>=r.length-1)return;const b=r[h+1].itemId;return()=>d(b)},[h,r,d]);dVt({active:!!u,onPrevious:m,onNext:v,onClose:f});const y=g.useMemo(()=>({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,currentItemId:u,openItem:d,close:f,openInReview:p,goToPreviousItem:m,goToNextItem:v}),[e,t,n,r,s,a,u,d,f,p,m,v]);return o.jsx(vVt.Provider,{value:y,children:i})}function yVt(){const e=g.useContext(vVt);if(!e)throw new Error("useExperimentItemPanel must be used within an ExperimentItemPanelProvider");return e}function cgs({results:e,isLoading:t,featuredResultId:n,onResultClick:r,columns:s,scoresByItemId:a,scorerIds:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u,selectedIds:d,onToggleSelect:f}){const{Link:p,paths:h}=pn(),m=!!(d&&f),v=[m?"auto":"",...s.map(k=>k.size)].filter(Boolean).join(" "),y=s.some(k=>k.name==="input"),{containerRef:b,getRowProps:x}=So({count:e.length}),S=k=>i?.includes(k.name)?o.jsx(be.TopCell,{children:o.jsxs(p,{href:h.scorerLink(k.name),target:"_blank",rel:"noopener noreferrer",className:"flex min-w-0 items-center gap-1.5 hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0",children:[o.jsx(qQ,{}),o.jsx("span",{className:"min-w-0 truncate",children:k.label}),o.jsx(Vs,{className:"text-neutral3"})]})},k.name):o.jsx(be.TopCell,{children:k.label},k.name);return t?o.jsx(vl,{columns:v}):o.jsxs(be,{columns:v,className:"min-w-0",scrollRef:b,children:[o.jsxs(be.Top,{hasLeadingCell:m,children:[m&&o.jsx(be.TopCell,{children:" "}),m?o.jsx(be.TopCells,{colStart:2,children:s.map(S)}):s.map(S)]}),e.length===0?o.jsx(be.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map((k,_)=>{const C=!!k.error,T=k.id===n,E=o.jsxs(o.Fragment,{children:[o.jsx(be.IdCell,{id:k.itemId}),o.jsx(be.Cell,{children:o.jsxs(En,{children:[o.jsx(kn,{render:o.jsx("div",{className:"relative flex h-full w-10 items-center justify-center bg-transparent",children:C?o.jsx(gO,{role:"img","aria-label":"Error",className:"text-error size-4"}):o.jsx(UD,{role:"img","aria-label":"Success",className:"text-accent1 size-4"})})}),o.jsx(On,{children:C?"Error":"Success"})]})}),y&&o.jsx(be.TextCell,{font:"mono",children:dgs(ugs(k.input),200)}),i?.map(N=>{const A=a?.[k.itemId]?.find(R=>R.scorerId===N);return o.jsx(be.Cell,{className:"text-neutral3 text-ui-smd font-mono",children:A!=null?A.score.toFixed(3):"-"},N)})]});return m?o.jsxs(be.RowWrapper,{children:[o.jsx(be.SelectCell,{checked:d.has(k.id),onToggle:()=>f(k.id),"aria-label":`Select result ${k.itemId}`}),o.jsx(be.RowButton,{colStart:2,featured:T,"data-selected":T||void 0,onClick:()=>r(k.id),...x(_),children:E})]},k.id):o.jsx(be.RowButton,{featured:T,"data-selected":T||void 0,onClick:()=>r(k.id),...x(_),children:E},k.id)}),o.jsx(be.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function ugs(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function dgs(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function fgs({scoresByItemId:e,experimentStatus:t}){const{Link:n,paths:r}=pn(),{data:s}=lh(),a=g.useMemo(()=>{if(!e)return[];const i={};for(const l of Object.values(e))for(const c of l)i[c.scorerId]||(i[c.scorerId]={sum:0,count:0,failed:0}),i[c.scorerId].sum+=c.score,i[c.scorerId].count++,c.score<1&&i[c.scorerId].failed++;return Object.entries(i).map(([l,{sum:c,count:u,failed:d}])=>({scorerId:l,avg:c/u,count:u,failed:d})).sort((l,c)=>l.scorerId.localeCompare(c.scorerId))},[e]);if(a.length===0){const i=t==="running"||t==="pending",l=e!==void 0;let c,u;return i?(c="Experiment in progress",u="Summary metrics will appear here once the experiment completes."):l?(c="No scorers configured",u="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(c="Loading scores",u="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Cr,{iconSlot:o.jsx(lm,{className:"text-neutral3 h-8 w-8"}),titleSlot:c,descriptionSlot:u})})}return o.jsx("div",{className:"flex flex-wrap content-start gap-3",children:a.map(({scorerId:i,avg:l,count:c,failed:u})=>{const d=s?.[i]?.scorer?.config?.name??i;return o.jsxs(Zr,{className:"max-w-96",children:[o.jsxs(n,{href:r.scorerLink(i),target:"_blank",rel:"noopener noreferrer",className:"text-ui-md text-neutral3 [&>svg]:text-neutral3 flex min-w-0 items-center gap-1.5 leading-relaxed hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0",children:[o.jsx(qQ,{}),o.jsx("span",{className:"truncate",children:d}),o.jsx(Vs,{})]}),o.jsxs("strong",{className:"text-header-lg text-neutral4 font-semibold",children:[o.jsx("span",{className:u===0?"text-accent1":"text-error",children:u}),o.jsxs("span",{className:"text-neutral3",children:["/",c]}),o.jsx("span",{className:"text-ui-md text-neutral3 ml-1.5 font-normal",children:"failed"})]}),o.jsx(Zr.Label,{className:"text-ui-sm text-neutral2",children:`Avg score ${l.toFixed(3)}`})]},i)})})}function pgs({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const{currentItemId:c,openItem:u,close:d}=yVt(),[f,p]=g.useState(new Set),[h,m]=g.useState(!1),{updateExperimentResult:v}=Vi(),y=g.useCallback(z=>{p(V=>{const M=new Set(V);return M.has(z)?M.delete(z):M.add(z),M})},[]),b=g.useCallback(()=>p(new Set),[]),x=g.useCallback(()=>{const z=r.filter(V=>!!V.error).map(V=>V.id);p(new Set(z))},[r]),S=g.useCallback(async z=>{if(h||z.length===0)return;m(!0);let V=0;const M=new Set;try{for(const G of z)try{await v.mutateAsync({datasetId:t,experimentId:e,resultId:G,status:"needs-review"}),V++,M.add(G)}catch{}}finally{m(!1)}M.size>0&&p(G=>{const U=new Set(G);for(const $ of M)U.delete($);return U}),V>0&&Be(`${V} result${V>1?"s":""} flagged for review`)},[t,e,h,v]),k=g.useMemo(()=>c?r.find(z=>z.itemId===c)?.id??null:null,[r,c]),[_,C]=g.useState("summary"),[T,E]=si(),N=T.get("review"),I=c?"results":N?"reviews":_,A=z=>{C(z),z!=="results"&&c&&d(),z!=="reviews"&&N&&E(V=>{const M=new URLSearchParams(V);return M.delete("review"),M},{replace:!0})},{data:R}=zAe(t),L=(R??[]).filter(z=>z.experimentId===e).length,{data:D}=SQ(e,n),F=g.useMemo(()=>{if(!D)return[];const z=new Set;for(const V of Object.values(D))for(const M of V)z.add(M.scorerId);return[...z].sort()},[D]),H=g.useCallback(z=>{const V=r.find(M=>M.id===z);V&&(V.itemId===c?d():u(V.itemId))},[r,c,d,u]),B=g.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...F.map(z=>({name:z,label:z,size:"12rem"}))],[F]);return o.jsxs(Vl,{defaultTab:"summary",value:I,onValueChange:A,className:"grid h-full grid-rows-[auto_1fr] overflow-visible",children:[o.jsxs(ql,{variant:"pill-ghost",children:[o.jsxs(mr,{value:"summary",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(lQt,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Scorers summary"})]}),o.jsxs(mr,{value:"results",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(wj,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Results"})]}),o.jsxs(mr,{value:"reviews",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),o.jsx(ve,{variant:"ui-sm",className:"text-inherit",children:"Reviews"}),L>0&&o.jsx(Xt,{variant:"default",size:"xs",children:L})]})]}),o.jsx(Ur,{value:"summary",className:"overflow-y-auto pt-3",children:o.jsx(fgs,{scoresByItemId:D,experimentStatus:n})}),o.jsx(Ur,{value:"reviews",className:"h-full min-h-0 overflow-visible py-0",children:o.jsx(hVt,{datasetId:t,experimentId:e,featuredItemId:N,detailPanelVariant:"overlay"})}),o.jsxs(Ur,{value:"results",className:"grid grid-rows-[auto_1fr] gap-3 overflow-hidden pt-3",children:[f.size>0?o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs(oe,{variant:"outline",size:"sm",disabled:h,onClick:()=>S([...f]),children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),"Flag ",f.size," to review"]}),o.jsx(oe,{variant:"ghost",size:"sm",onClick:b,children:"Clear"})]}):r.length>0&&!s?o.jsx("div",{className:"flex items-center gap-2",children:o.jsxs(oe,{size:"sm",onClick:x,children:[o.jsx(Ve,{size:"sm",children:o.jsx(yV,{})}),"Select all failures"]})}):o.jsx("div",{}),o.jsx("div",{className:"min-h-0 overflow-y-auto",children:o.jsx(cgs,{results:r,isLoading:s,featuredResultId:k,onResultClick:H,columns:B,scoresByItemId:D,scorerIds:F,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:f,onToggleSelect:y})})]})]})}const qet={pending:{icon:o.jsx(xj,{className:"text-warning1 size-4"}),label:"Pending"},running:{icon:o.jsx(Vt,{size:"sm"}),label:"Running"},completed:{icon:o.jsx(UD,{className:"text-accent1 size-4"}),label:"Completed"},failed:{icon:o.jsx(gO,{className:"text-error size-4"}),label:"Failed"}};function hgs({status:e,className:t}){const n=qet[e]??qet.pending;return o.jsxs(En,{children:[o.jsx(kn,{render:o.jsx("span",{tabIndex:0,className:K("flex shrink-0 items-center",t),children:n.icon})}),o.jsx(On,{children:n.label})]})}const mgs=e=>{const t=Ge();return yt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},select:$Ae,enabled:!!e})};function ggs({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs(Jr,{spacing:"close",children:[o.jsxs(oe,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx(_3,{})," Prev"]}),o.jsxs(oe,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(O3,{})]})]})}function bVt({children:e,className:t}){return o.jsx("div",{className:K("",t),children:e})}function vgs({date:e,className:t,withTime:n=!1}){const r=e?mxt(new Date(e)):!1,s=e?$3(new Date(e))?"Today":xr(new Date(e),"MMM dd"):"",a=e&&!r?xr(new Date(e),"yyyy"):"",i=e&&n?`${xr(new Date(e),"'at' h:mm aaa")}`:"";return o.jsxs("div",{className:K("truncate text-ui-md text-neutral2",t),children:[s," ",a," ",i]})}function VAe(e){return!e||e.length===0?"":e?.map(t=>t.size).join(" ")}function ygs({columns:e,isSelectionActive:t,children:n}){return o.jsx("div",{className:K("sticky top-0 z-10 mb-4 rounded-lg bg-surface3 px-4"),children:o.jsx("div",{className:K("grid items-center gap-4 text-left text-ui-xs tracking-widest text-neutral3 uppercase",{"pl-12 [&>label]:absolute [&>label]:left-0":t}),style:{gridTemplateColumns:VAe(e)},children:n})})}function bgs({children:e,className:t}){return o.jsx("span",{className:K("py-3",t),children:e})}function xgs({id:e,className:t,isShortened:n=!0}){const r=n?e.slice(0,8):e;return o.jsx("div",{className:K("truncate py-[0.6rem] text-ui-md text-neutral2",t),children:r})}function wgs({children:e}){return o.jsx("ul",{className:"grid content-start",children:e})}function Sgs({children:e}){const t=g.useRef(null);return o.jsx("div",{ref:t,className:K("overflow-y-auto"),children:e})}function kgs({children:e,className:t}){return o.jsx("label",{className:K("flex h-full w-14 items-center justify-center rounded-lg hover:bg-surface5",t),children:e})}function Ogs({children:e,href:t,className:n,LinkComponent:r}){return o.jsx(r,{href:t,className:K("flex w-full items-center justify-center gap-6 rounded-lg px-3 py-[0.6rem] text-left","hover:bg-surface4",Qr.colors,j3.visible,n),children:e})}function _gs({children:e,message:t,className:n,type:r}){return!e&&!t?null:o.jsx("div",{className:K("grid border-t border-border1",n),children:t?o.jsxs("p",{className:K("grid justify-center justify-items-center gap-2 p-8 text-center text-ui-md text-neutral3","[&>svg]:size-[1.5em] [&>svg]:opacity-75",{"[&>svg]:text-red-500":r==="error"}),children:[r==="error"?o.jsx(C3,{}):o.jsx(G1e,{})," ",t]}):e})}function Cgs({isLoading:e,hasMore:t,setEndOfListElement:n,loadingText:r="Loading more data...",noMoreDataText:s="No more data to load"}){return n?o.jsxs("div",{ref:n,className:"text-ui-md text-neutral3 mt-8 flex justify-center opacity-50",children:[e&&r,!t&&!e&&s]}):null}function Egs({currentPage:e,hasMore:t,onNextPage:n,onPrevPage:r}){const s=typeof e=="number"&&e>0||t;return o.jsxs("div",{className:K("flex items-center justify-center gap-8 pt-6 text-ui-md text-neutral3"),children:[o.jsxs("span",{children:["Page ",o.jsx("b",{children:e?e+1:"1"})]}),s&&o.jsxs("div",{className:K("flex gap-4","[&>button]:flex [&>button]:items-center [&>button]:gap-2 [&>button]:rounded-md [&>button]:border [&>button]:border-border1 [&>button]:p-1 [&>button]:px-2 [&>button]:text-neutral4 [&>button]:transition-colors [&>button:hover]:text-neutral5","[&_svg]:size-[1em] [&_svg]:text-neutral3"),children:[typeof e=="number"&&e>0&&o.jsxs("button",{onClick:r,children:[o.jsx(wH,{}),"Previous"]}),t&&o.jsxs("button",{onClick:n,children:["Next",o.jsx(B7,{})]})]})]})}function Tgs({children:e,className:t}){return o.jsx("div",{className:K("grid grid-rows-[auto_1fr] overflow-y-auto",t),children:e})}function jgs({isSelected:e,children:t,columns:n}){return o.jsx("li",{className:K("flex overflow-hidden rounded-lg border border-transparent border-t-border1 py-[3px] pb-[2px] text-ui-md text-neutral5 first:border-t-transparent","[&:last-child>button]:rounded-b-lg","[&.selected-row]:border [&.selected-row]:border-dashed [&.selected-row]:border-white/50 [&.selected-row]:pr-[3px] [&.selected-row]:first:border-t","[&:has(+.selected-row)]:rounded-b-none [&:has(+.selected-row)]:border-b-transparent","[.selected-row+&]:rounded-t-none",Qr.colors,{"selected-row":e,"grid px-4 gap-4 ":n}),style:{gridTemplateColumns:VAe(n)},children:t})}function Ngs({item:e,isFeatured:t,onClick:n,children:r,columns:s,className:a,disabled:i}){const l=()=>{n?.(e?.id)};return o.jsx("button",{onClick:l,className:K("grid w-full items-center gap-4 rounded-lg px-4 text-left",Qr.colors,j3.visible,{"bg-surface4":t,"hover:bg-surface4":e&&!t&&!i},a),style:{gridTemplateColumns:VAe(s)},disabled:i,children:r})}function Igs(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Ags({status:e}){return e?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("div",{className:K("relative flex h-full w-10 items-center justify-center bg-transparent"),children:o.jsx("div",{className:K("size-2 rounded-full",{"bg-green-600":["success","completed"].includes(e),"bg-red-700":["error","failed"].includes(e),"bg-yellow-500":["pending","running"].includes(e)})})})}),o.jsx(On,{children:Igs(e)})]}):null}function Rgs({children:e,isLoading:t,className:n}){return o.jsx("div",{className:K("truncate py-[0.6rem] text-ui-md text-neutral4",n),children:t?o.jsx("div",{className:"bg-surface4 h-4 animate-pulse rounded-md text-transparent select-none"}):e})}function Pgs({version:e,date:t,isLatest:n,isDeleted:r}){return o.jsxs(bVt,{className:K("grid grid-cols-[1fr_auto] pl-1"),children:[o.jsxs("div",{className:K("grid gap-1 leading-none text-neutral3",{"text-neutral4":n}),children:[o.jsxs("strong",{className:"font-normal",children:["v. ",e]}),o.jsx("em",{className:"text-ui-sm text-neutral2 font-normal",children:t?xr(new Date(t),"MMM d, yyyy HH:mm"):null})]}),(n||r)&&o.jsxs("div",{className:"flex items-center gap-1",children:[n&&o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Pa,{color:"blue",children:o.jsx(PIn,{})})}),o.jsx(On,{children:"Latest version"})]}),r&&o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(Pa,{color:"red",children:o.jsx(pyt,{})})}),o.jsx(On,{children:"Deleted in this version"})]})]})]})}const pr=Object.assign(Tgs,{Header:ygs,HeaderCol:bgs,Items:wgs,Scroller:Sgs,Row:jgs,RowButton:Ngs,Message:_gs,NextPageLoading:Cgs,Pagination:Egs,Cell:bVt,TextCell:Rgs,StatusCell:Ags,VersionCell:Pgs,IdCell:xgs,DateCell:vgs,LinkCell:Ogs,LabelCell:kgs});function HAe({delta:e}){const t=e>0?o.jsx(Pa,{size:"small",color:"green",intensity:"muted",children:o.jsx(zD,{})}):e<0?o.jsx(Pa,{size:"small",color:"red",intensity:"muted",children:o.jsx(AGt,{})}):null;return o.jsxs("span",{className:K("font-mono text-sm text-neutral4 min-w-20"),children:[o.jsx("span",{className:"inline-block w-3",children:e>0?"+ ":e<0?"- ":""}),Math.abs(e).toFixed(2)," ",t]})}function Wz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function $gs({item:e,baselineId:t,contenderId:n,baselineVersion:r,contenderVersion:s,onPrevious:a,onNext:i,onClose:l}){const c=e.results[t],u=e.results[n],d=!!(c&&u),f=new Set;if(c)for(const h of Object.keys(c.scores))f.add(h);if(u)for(const h of Object.keys(u.scores))f.add(h);const p=[...f].sort();return o.jsxs(xs,{withLeftSeparator:!0,children:[o.jsxs(xs.Toolbar,{children:[o.jsx(ggs,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx(Jr,{children:o.jsx(oe,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(Os,{})})})]}),o.jsxs(xs.Content,{className:"pb-6",children:[o.jsx(bs,{withMargins:!1,children:o.jsx(bs.Column,{children:o.jsxs(bs.Title,{size:"smaller",children:[o.jsx(VD,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(gBt,{children:[p.length>0&&o.jsxs("div",{className:"grid gap-3",children:[o.jsx("h4",{className:"text-neutral5 text-sm font-medium",children:"Scores"}),o.jsx("div",{className:"grid gap-2",children:p.map(h=>{const m=c?.scores[h]??null,v=u?.scores[h]??null,y=m!=null&&v!=null?v-m:null;return o.jsxs("div",{className:"bg-surface2 flex items-center justify-between gap-4 rounded-lg px-3 py-2",children:[o.jsx("span",{className:"text-neutral5 text-sm font-medium",children:h}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs("span",{className:"text-neutral3 text-sm",children:[m!=null?m.toFixed(3):"-"," →"," ",v!=null?v.toFixed(3):"-"]}),y!=null&&o.jsx(HAe,{delta:y})]})]},h)})})]}),o.jsx(Bs.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Pa,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(Tg,{}),codeStr:Wz(c?.output)}),o.jsx(Bs.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Pa,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(Tg,{}),codeStr:Wz(u?.output)}),o.jsx(Bs.CodeSection,{title:"Item Input",icon:o.jsx(yO,{}),codeStr:Wz(e.input)}),o.jsx(Bs.CodeSection,{title:"Item Ground Truth",icon:o.jsx(p0e,{}),codeStr:Wz(e.groundTruth)})]})}):o.jsx(Dn,{variant:"warning",title:"Comparison not available",children:o.jsx(Dn.Message,{children:(()=>{const h=c?"Contender":"Baseline",m=c?s:r;return o.jsxs(o.Fragment,{children:["The ",h," experiment was run against dataset",m!=null?` v. ${m}`:"",", which does not contain this item."]})})()})})]})]})}function Mgs({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(xs,{children:o.jsxs(pr,{children:[o.jsxs(pr.Header,{columns:a,children:[o.jsx(pr.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(pr.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(pr.Scroller,{children:o.jsx(pr.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(pr.Row,{children:o.jsxs(pr.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(pr.IdCell,{id:l.itemId,className:d?"":"text-neutral1"}),!s&&o.jsx(o.Fragment,{children:r.map(f=>{const p=c?.scores[f]??null,h=u?.scores[f]??null,m=p!=null&&h!=null?h-p:null;return o.jsx(pr.Cell,{className:"flex items-center justify-center gap-5 font-mono",children:m!=null?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"text-neutral2 flex min-w-24 items-center",children:[p?.toFixed(2)," → ",h?.toFixed(2)]}),o.jsx(HAe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const Dgs={baseline:{label:"Baseline",color:"purple",customStyle:"items-end justify-items-end [&>div]:justify-end border-r-0 rounded-r-none"},contender:{label:"Contender",color:"cyan",customStyle:"items-start justify-items-start [&>div]:justify-start border-l-0 rounded-l-none"}};function Vet({experiment:e,type:t}){const{Link:n}=pn(),{label:r,color:s,customStyle:a}=Dgs[t];if(!e)return null;const i=e.createdAt?new Date(e.createdAt):null,l=dS(e.id)??e.id,c=e.name||l,u=o.jsx(oe,{as:n,href:`/experiments/${e.id}`,children:o.jsx("span",{className:"min-w-0 truncate",children:c})});return o.jsxs("div",{className:`border-border1 grid gap-3 rounded-lg border-2 p-5 ${a}`,children:[o.jsxs("div",{className:"flex w-full items-center gap-3 overflow-clip",children:[t==="contender"&&o.jsxs(Pa,{size:"small",color:s,children:[r,o.jsx(Hg,{})]}),e.description?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:u}),o.jsx(On,{children:e.description})]}):u,t==="baseline"&&o.jsxs(Pa,{size:"small",color:s,children:[o.jsx($c,{})," ",r]})]}),o.jsxs("div",{className:"text-ui-sm text-neutral3 flex flex-wrap gap-x-4 gap-y-1",children:[e.name&&o.jsxs(Al,{children:[o.jsx(WYt,{})," ",l]}),o.jsxs(Al,{children:[o.jsx(p0e,{})," ",e.targetType," / ",e.targetId]}),o.jsxs(Al,{children:[o.jsx(vV,{})," v",e.datasetVersion??"—"]}),i&&o.jsxs(Al,{children:[o.jsx(Mlt,{})," ",xr(i,"MMM d, yyyy HH:mm")]})]})]})}function Lgs({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=g.useState(null),{data:i,isLoading:l,error:c}=xhs(e,t,n),{data:u}=Ixe(e,t),{data:d}=Ixe(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=g.useMemo(()=>{if(!i)return[];const T=new Set;for(const E of i.items)for(const N of Object.values(E.results))if(N)for(const I of Object.keys(N.scores))T.add(I);return[...T].sort()},[i]),h=g.useMemo(()=>{if(!i||p.length===0)return[];const T=i.baselineId,E=t===T?n:t;return p.map(N=>{let I=0,A=0,R=0,L=0;for(const B of i.items){const z=B.results[T]?.scores[N],V=B.results[E]?.scores[N];z!=null&&(I+=z,R++),V!=null&&(A+=V,L++)}const D=R>0?I/R:null,F=L>0?A/L:null,H=D!=null&&F!=null?F-D:null;return{scorerId:N,avgA:D,avgB:F,delta:H}})},[i,p,t,n]),m=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"baselineAvg",label:"Baseline Avg",size:"1fr"},{name:"comparisonAvg",label:"Comparison Avg",size:"1fr"},{name:"delta",label:"Delta",size:"1fr"}],v=g.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(T=>({name:T,label:T,size:"1fr"}))],[p,s]),y=i?.items.find(T=>T.itemId===s)??null,b=T=>{a(T===s?null:T)},x=()=>{a(null)},S=()=>{if(!i||!s)return;const T=i.items.findIndex(E=>E.itemId===s);if(T>=0&&T<i.items.length-1)return()=>a(i.items[T+1].itemId)},k=()=>{if(!i||!s)return;const T=i.items.findIndex(E=>E.itemId===s);if(T>0)return()=>a(i.items[T-1].itemId)};if(l)return o.jsx("div",{className:"flex h-64 items-center justify-center",children:o.jsx(Vt,{})});if(c)return o.jsx(Dn,{variant:"warning",title:"Error loading comparison",children:o.jsx(Dn.Message,{children:c instanceof Error?c.message:"Unknown error"})});if(!i||i.items.length===0)return o.jsx("div",{className:"text-neutral4 py-8 text-center text-sm",children:"No comparison data"});const _=i.baselineId,C=t===_?n:t;return o.jsxs("div",{className:"grid gap-10",children:[u&&d&&o.jsxs("div",{className:K("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(Vet,{experiment:u,type:"baseline"}),o.jsx("div",{className:"before:bg-border1 relative flex items-center justify-center px-[2vw] before:absolute before:inset-y-0 before:left-1/2 before:w-[2px] before:-translate-x-1/2",children:o.jsx("div",{className:"bg-surface2 relative z-1 rounded-lg p-2",children:o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(oe,{onClick:r,children:"VS"})}),o.jsx(On,{children:"Switch the order"})]})})}),o.jsx(Vet,{experiment:d,type:"contender"})]}),f&&o.jsx(Dn,{variant:"warning",title:"Version mismatch",children:o.jsxs(Dn.Message,{children:["These experiments used different dataset versions (v",u.datasetVersion," vs v",d.datasetVersion,"). Results may not be directly comparable."]})}),h.length>0&&o.jsxs(pr,{children:[o.jsxs(pr.Header,{columns:m,children:[o.jsx(pr.HeaderCol,{children:"Scorer"}),o.jsx(pr.HeaderCol,{className:"flex justify-center",children:o.jsxs($Je,{children:[o.jsx(Pa,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(Pa,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(pr.HeaderCol,{className:"flex justify-center",children:o.jsxs($Je,{children:[o.jsx(Pa,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(Pa,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(pr.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(pr.Scroller,{children:o.jsx(pr.Items,{children:h.map(({scorerId:T,avgA:E,avgB:N,delta:I})=>o.jsxs(pr.Row,{columns:m,children:[o.jsx(pr.TextCell,{children:T}),o.jsx(pr.TextCell,{className:"text-center font-mono",children:E!=null?E.toFixed(3):"-"}),o.jsx(pr.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(pr.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(HAe,{delta:I}):"-"})]},T))})})]}),o.jsxs(my,{className:K({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(Mgs,{items:i.items,baselineId:_,contenderId:C,scorerIds:p,featuredItemId:s,columns:v,onItemClick:b}),!!y&&o.jsx($gs,{item:y,baselineId:_,contenderId:C,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:x})]})]})}function Fgs({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=LAe(e,t),[l,c]=g.useState(!1),[u,d]=g.useState(new Set),f=b=>{n?.(b)},p=b=>s==null?b.isLatest:b.datasetVersion===s,h=b=>{d(x=>{const S=new Set(x);if(S.has(b))S.delete(b);else if(S.size>=2){const[k]=Array.from(S);return new Set([k,b])}else S.add(b);return S})},m=()=>{c(!1),d(new Set)},v=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(xs,{className:"min-w-56",children:[l?o.jsx(xs.Toolbar,{className:"grid w-full justify-stretch gap-3",children:o.jsxs(Jr,{children:[o.jsx(oe,{onClick:m,children:"Cancel"}),o.jsx(oe,{variant:"primary",disabled:u.size!==2,onClick:y,tooltip:u.size!==2?"Check 2 versions to compare":void 0,className:"grow",children:"Compare"})]})}):o.jsx(o.Fragment,{children:(a||[]).length>1&&o.jsx(xs.Toolbar,{children:o.jsxs(oe,{onClick:v,className:"w-full",children:[o.jsx(bO,{})," Compare Ver."]})})}),i?o.jsx(zgs,{}):o.jsxs(pr,{children:[o.jsx(pr.Header,{children:o.jsx(pr.HeaderCol,{children:"Item Version History"})}),o.jsx(pr.Scroller,{children:o.jsx(pr.Items,{children:a?.map(b=>{const x=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(pr.Row,{isSelected:l&&u.has(x),children:[l&&o.jsx(pr.LabelCell,{children:o.jsx(ko,{checked:u.has(x),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(x)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(pr.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(pr.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function zgs(){return o.jsxs(pr,{children:[o.jsx(pr.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(pr.HeaderCol,{children:"Item Version History"})}),o.jsx(pr.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(pr.Row,{children:o.jsx(pr.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(pr.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function Bgs(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${xr(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function Ugs({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=fAe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${Bgs(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(xs.Toolbar,{className:"grid w-full grid-cols-[1fr_1fr_1fr_10rem] gap-4",children:[o.jsx("div",{}),o.jsx(Tc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(Tc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const qgs=[{name:"id",label:"ID",size:"1fr"},{name:"versionA",label:"Version A",size:"1fr"},{name:"versionB",label:"Version B",size:"1fr"},{name:"compare",label:"Compare",size:"10rem"}],Vgs={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Yr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(XKt,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(nYt,{}),tooltip:"Same in both versions"}};function Eie({red:e=!1,tooltip:t}){return o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx(BGt,{className:K("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(On,{children:t})]})}function dk({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{color:n,icon:r,tooltip:s}=Vgs[e];return o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsxs("div",{className:"grid grid-cols-[1fr_auto]",children:[t!==void 0&&o.jsxs("span",{className:"text-ui-md text-neutral4 flex min-w-16 justify-end pr-3",children:["v. ",t]}),o.jsx(Pa,{color:n,size:"small",children:r})]})}),o.jsx(On,{children:s})]})}function Hgs(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function Wgs({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=pn(),l=t>n;return o.jsx(pr,{children:o.jsx(pr.Scroller,{children:o.jsx(pr.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=Hgs(u,d);return o.jsxs(pr.Row,{columns:qgs,children:[o.jsx(pr.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(pr.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(dk,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(dk,{variant:"changed",version:u.datasetVersion}):o.jsx(dk,{version:u.datasetVersion})}):o.jsx(pr.Cell,{className:"flex items-center justify-center",children:o.jsx(Eie,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(pr.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(dk,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(dk,{variant:"changed",version:d.datasetVersion}):o.jsx(dk,{version:d.datasetVersion})}):o.jsx(pr.Cell,{className:"flex items-center justify-center",children:o.jsx(Eie,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(pr.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(dk,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(pr.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(pr.Cell,{children:o.jsx(Eie,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const Het={needsReview:"#facc15",complete:"#22c55e"},Zgs=[{label:"Needs Review",color:Het.needsReview},{label:"Reviewed",color:Het.complete}];function Ggs({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=g.useMemo(()=>{if(!e?.counts||!t)return{data:[],maxVal:0,totalInPipeline:0};const u=new Map;for(const m of t)u.set(m.id,m);const d=new Map;if(n)for(const m of n)d.set(m.id,m.name);let f=0,p=0;const h=[];for(const m of e.counts){const v=m.needsReview+m.complete;if(v===0)continue;p+=v,v>f&&(f=v);const y=u.get(m.experimentId),b=y?.datasetId?d.get(y.datasetId):void 0,x=b?`${b} · ${m.experimentId.slice(0,8)}`:m.experimentId.slice(0,8);h.push({name:x,values:[m.needsReview,m.complete]})}return{data:h,maxVal:f,totalInPipeline:p}},[e,t,n]),c=a.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Bt.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Bt.Loading,{}):s?o.jsx(Bt.Error,{message:"Failed to load review data"}):o.jsx(Bt.Content,{children:c?o.jsx(BN,{data:a,segments:Zgs,maxVal:i,fmt:u=>String(u)}):o.jsx(Bt.NoData,{message:"No items have been sent to review yet"})})]})}function WAe(){const e=Ge();return yt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function xVt(e){const t=new Map;if(!e?.counts)return t;for(const n of e.counts)t.set(n.experimentId,{needsReview:n.needsReview,complete:n.complete,total:n.total});return t}function Qgs(e,t){const n=new Map,r=xVt(e);if(!r.size||!t)return n;for(const s of t){const a=r.get(s.id);if(!a||!s.datasetId||a.needsReview+a.complete===0)continue;const l=n.get(s.datasetId)??{needsReview:0,complete:0};l.needsReview+=a.needsReview,l.complete+=a.complete,n.set(s.datasetId,l)}return n}function Ygs(e){return e?.counts?e.counts.reduce((t,n)=>({needsReview:t.needsReview+n.needsReview,complete:t.complete+n.complete,inPipeline:t.inPipeline+n.needsReview+n.complete}),{needsReview:0,complete:0,inPipeline:0}):{needsReview:0,complete:0,inPipeline:0}}const Kgs=10;function Xgs(){const e=es(),[t,n]=g.useState(""),[r,s]=g.useState("all"),[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(0),{data:f,isLoading:p,error:h}=jm({page:u,perPage:Kgs}),{data:m,isLoading:v,error:y}=UQ(),{data:b}=WAe(),x=g.useMemo(()=>f?.datasets??[],[f?.datasets]),S=f?.pagination?.hasMore??!1,k=g.useMemo(()=>m?.experiments??[],[m?.experiments]),_=g.useMemo(()=>Fhs(x),[x]),C=g.useMemo(()=>Qgs(b,k),[b,k]),T=p||v,E=h||y,N=()=>{e("/datasets/new")},I=g.useCallback(()=>d(z=>z+1),[]),A=g.useCallback(()=>d(z=>Math.max(0,z-1)),[]),R=g.useCallback(z=>{n(z),d(0)},[]),L=g.useCallback(z=>{s(z),d(0)},[]),D=g.useCallback(z=>{i(z),d(0)},[]),F=g.useCallback(z=>{c(z),d(0)},[]);if(E&&ks(E))return o.jsx(ar,{children:o.jsx(Js,{})});if(E&&_s(E))return o.jsx(ar,{children:o.jsx(Zs,{resource:"datasets"})});if(E)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load datasets",message:E.message})});if(x.length===0&&!T&&u===0)return o.jsx(ar,{children:o.jsx(Vhs,{onCreateClick:N})});const H=r!=="all"||a!=="all"||l!=="all"||t!=="",B=()=>{n(""),s("all"),i("all"),c("all"),d(0)};return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(Zhs,{search:t,onSearchChange:R,targetFilter:r,onTargetFilterChange:L,experimentFilter:a,onExperimentFilterChange:D,tagFilter:l,onTagFilterChange:F,tagOptions:_,onReset:B,hasActiveFilters:H,onCreateClick:N})}),o.jsx(qhs,{datasets:x,experiments:k,reviewByDataset:C,isLoading:T,search:t,targetFilter:r,experimentFilter:a,tagFilter:l,currentPage:u,hasMore:S,onNextPage:I,onPrevPage:A})]})}function Zz({children:e}){return o.jsxs(Ut,{height:"full",children:[o.jsx("div",{}),o.jsx(Ut.MainArea,{isCentered:!0,children:e})]})}function Jgs(){const{datasetId:e}=Sr(),t=es(),[n,r]=si(),{activeVersion:s,handleVersionChange:a}=FAe(n,r),[i,l]=g.useState(!1),[c,u]=g.useState(!1),[d,f]=g.useState(!1),[p,h]=g.useState(!1),{data:m,error:v,isLoading:y}=Qg(e),{data:b=[],isLoading:x}=Qx(e,void 0,s),S=!x&&b.length===0;if(y)return null;if(v&&ks(v))return o.jsx(Zz,{children:o.jsx(Js,{})});if(v&&_s(v))return o.jsx(Zz,{children:o.jsx(Zs,{resource:"datasets"})});if(v&&y$t(v)||!y&&!v&&!m)return o.jsx(Zz,{children:o.jsx(Cr,{iconSlot:o.jsx(om,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(oe,{as:ni,to:"/datasets",children:[o.jsx($c,{}),"Back to Datasets"]})})});if(v)return o.jsx(Zz,{children:o.jsx(qi,{title:"Failed to load dataset",message:v instanceof Error?v.message:"An unexpected error occurred. Please try again."})});const k=C=>{t(`/experiments/${C}`)},_=()=>{t("/datasets")};return o.jsxs(Kms,{datasetId:e,items:b,isLoadingItems:x,children:[o.jsxs("div",{className:"relative h-full overflow-hidden",children:[o.jsx(Ut,{height:"full",className:"grid-rows-[1fr] p-0",children:o.jsx(Ut.MainArea,{children:o.jsx(egs,{datasetId:e,onAddItemClick:()=>u(!0),rightSlot:o.jsxs(Jr,{children:[o.jsx("span",{className:"text-ui-sm text-neutral3 mr-3 whitespace-nowrap",children:m?.createdAt?`Created ${xr(new Date(m.createdAt),"MMM d")}`:""}),o.jsx(iVt,{datasetId:e,value:s,onValueChange:a,currentVersion:m?.version,className:"w-36"}),S?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"cursor-not-allowed",children:o.jsx("div",{className:"pointer-events-none opacity-50",inert:!0,"aria-disabled":"true",children:o.jsxs(oe,{variant:"primary",children:[o.jsx(pu,{}),"Run Experiment"]})})})}),o.jsx(On,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(pu,{}),"Run Experiment"]}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsx(oe,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(qD,{})})}),o.jsxs(it.Content,{align:"end",className:"w-48",children:[o.jsxs(it.Item,{onSelect:()=>{t(`/datasets/${e}/edit`)},children:[o.jsx(cm,{})," Edit Dataset"]}),o.jsxs(it.Item,{onSelect:()=>h(!0),children:[o.jsx(im,{})," Duplicate Dataset"]}),o.jsxs(it.Item,{onSelect:()=>f(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(td,{})," Delete Dataset"]})]})]})]})})})}),o.jsx(Dg,{})]}),o.jsx(qAe,{initialDatasetId:e,initialDatasetVersion:s??void 0,open:i,onOpenChange:l,onSuccess:k},`${e}:${s??"latest"}`),o.jsx(ngs,{datasetId:e,open:c,onOpenChange:u}),m&&o.jsx(lms,{open:p,onOpenChange:h,sourceDatasetId:m.id,sourceDatasetName:m.name,sourceDatasetDescription:m.description,sourceDatasetTargetType:m.targetType}),m&&o.jsx(fms,{open:d,onOpenChange:f,datasetId:m.id,datasetName:m.name,onSuccess:_})]})}function Tie({children:e}){return o.jsxs(Ut,{height:"full",children:[o.jsx("div",{}),o.jsx(Ut.MainArea,{isCentered:!0,children:e})]})}function evs(){const{datasetId:e}=Sr(),t=es(),{data:n,error:r,isLoading:s}=Qg(e),a=()=>{t(`/datasets/${e}`)};return s?null:r&&ks(r)?o.jsx(Tie,{children:o.jsx(Js,{})}):r&&_s(r)?o.jsx(Tie,{children:o.jsx(Zs,{resource:"datasets"})}):r||!n?o.jsx(Tie,{children:o.jsx(qi,{title:"Failed to load dataset",message:r instanceof Error?r.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Ut,{height:"full",children:[o.jsx("div",{}),o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsxs("div",{className:"w-full max-w-2xl overflow-y-auto px-6 py-8",children:[o.jsx(bs,{className:"mb-6 p-0",children:o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(om,{})," Edit dataset"]}),o.jsx(bs.Description,{children:n.name})]})}),o.jsx(qy,{className:"p-6",children:o.jsx(dms,{dataset:{id:n.id,name:n.name,description:n.description||"",targetType:n.targetType,inputSchema:n.inputSchema,groundTruthSchema:n.groundTruthSchema,requestContextSchema:n.requestContextSchema},onSuccess:a,onCancel:a})})]})})]})}function tvs(){const{datasetId:e}=Sr(),[t,n]=si(),{error:r}=Qg(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&ks(r)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})})}):r&&_s(r)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"datasets"})})}):!e||!s||!a?o.jsx($s,{children:o.jsx(Gx,{children:o.jsxs("div",{className:"text-neutral4 py-8 text-center",children:[o.jsx("p",{children:"Select two experiments to compare."}),o.jsxs("p",{className:"mt-2 text-sm",children:["Use the URL format: /datasets/","{datasetId}","/experiments?baseline=","{experimentIdA}","&contender=","{experimentIdB}"]})]})})}):o.jsx($s,{children:o.jsx(Gx,{children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[100rem] content-start px-12",children:[o.jsxs(bs,{children:[o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(bO,{})," Dataset Experiments Comparison"]}),o.jsxs(bs.Description,{children:["Comparing ",o.jsx(ni,{to:`/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(ni,{to:`/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(bs.Column,{children:o.jsxs(oe,{as:ni,to:`/datasets/${e}`,children:[o.jsx($c,{}),"Back to Dataset"]})})]}),o.jsx(Lgs,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}const Gz=()=>{},nvs=new Set,rvs=[{name:"id",label:"ID",size:"7rem"},{name:"input",label:"Input",size:"minmax(10rem,1fr)"},{name:"groundTruth",label:"Ground Truth",size:"minmax(10rem,1fr)"},{name:"trajectory",label:"Trajectory",size:"8rem"},{name:"createdAt",label:"Created",size:"10rem"}];function svs({datasetId:e,currentItemId:t,open:n,onOpenChange:r}){const{navigate:s,paths:a}=pn(),[i,l]=g.useState(""),[c]=LH(i,300),{data:u,isLoading:d,setEndOfListElement:f,isFetchingNextPage:p,hasNextPage:h}=Qx(e,c||void 0),m=u.filter(y=>y.id!==t),v=y=>{r(!1),s(a.datasetItemCompareLink(e,t,y))};return o.jsx(vr,{open:n,onOpenChange:r,children:o.jsxs(yr,{className:"sm:max-w-[min(72rem,calc(100%-4rem))]",children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Compare with…"}),o.jsx(Rs,{children:"Pick an item to compare with the current one."})]}),o.jsxs(Mr,{className:"grid max-h-[70vh] min-h-[24rem] grid-rows-[auto_1fr] gap-3",children:[o.jsx(v_,{name:"compare-with-dialog-search",label:"Search items to compare",labelIsHidden:!0,value:i,onChange:y=>l(y.target.value),placeholder:"Search items..."}),o.jsx("div",{className:"min-h-0 overflow-y-auto",children:o.jsx(uVt,{items:m,isLoading:d,onItemClick:v,selectOnNavigate:!1,columns:rvs,searchQuery:c||" ",setEndOfListElement:f,isFetchingNextPage:p,hasNextPage:h,isSelectionActive:!1,selectedIds:nvs,onToggleSelection:Gz,onSelectAll:Gz,onClearSelection:Gz,onAddClick:Gz})})]})]})})}function avs(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function ivs({datasetId:e,item:t,items:n,onItemChange:r,onClose:s}){const{Link:a}=pn(),{updateItem:i,deleteItem:l}=Vi(),[c,u]=g.useState(!1),[d,f]=g.useState(""),[p,h]=g.useState(""),[m,v]=g.useState(""),[y,b]=g.useState(""),[x,S]=g.useState(""),[k,_]=g.useState(t.scorerIds!==void 0),[C,T]=g.useState(t.scorerIds??[]),[E,N]=g.useState(""),[I,A]=g.useState(null),[R,L]=g.useState(!1),[D,F]=g.useState(!1);g.useEffect(()=>{t&&(f(JSON.stringify(t.input,null,2)),h(t.groundTruth?JSON.stringify(t.groundTruth,null,2):""),v(t.metadata?JSON.stringify(t.metadata,null,2):""),b(t.expectedTrajectory?JSON.stringify(t.expectedTrajectory,null,2):""),S(t.toolMocks?.length?JSON.stringify(t.toolMocks,null,2):""),_(t.scorerIds!==void 0),T(t.scorerIds??[]),N(t.requestContext?JSON.stringify(t.requestContext,null,2):""),u(!1),L(!1),A(null))},[t?.id]);const H=n.findIndex(q=>q.id===t.id),B=H>0?()=>r(n[H-1].id):void 0,z=H>=0&&H<n.length-1?()=>r(n[H+1].id):void 0,V=async()=>{let q;try{q=JSON.parse(d)}catch{Be.error("Input must be valid JSON");return}let Z;if(p.trim())try{Z=JSON.parse(p)}catch{Be.error("Ground Truth must be valid JSON");return}let Y;if(m.trim())try{Y=JSON.parse(m)}catch{Be.error("Metadata must be valid JSON");return}let ne=null;if(y.trim())try{ne=JSON.parse(y)}catch{Be.error("Expected Trajectory must be valid JSON");return}let J;if(x.trim())try{const le=JSON.parse(x);if(!Array.isArray(le)){Be.error("Tool Mocks must be a JSON array");return}J=le}catch{Be.error("Tool Mocks must be valid JSON");return}else J=[];let ee;if(E.trim())try{ee=JSON.parse(E)}catch{Be.error("Request Context must be valid JSON");return}let se;k?se=C:t.scorerIds!==void 0&&(se=null);try{const le=await i.mutateAsync({datasetId:e,itemId:t.id,input:q,groundTruth:Z,metadata:Y,expectedTrajectory:ne,toolMocks:J,scorerIds:se,requestContext:ee});Be.success("Item updated successfully"),_(le.scorerIds!==void 0),T(le.scorerIds??[]),u(!1),A(null)}catch(le){const X=avs(le);X?A(X):Be.error(`Failed to update item: ${le instanceof Error?le.message:"Unknown error"}`)}},M=()=>{f(JSON.stringify(t.input,null,2)),h(t.groundTruth?JSON.stringify(t.groundTruth,null,2):""),v(t.metadata?JSON.stringify(t.metadata,null,2):""),b(t.expectedTrajectory?JSON.stringify(t.expectedTrajectory,null,2):""),S(t.toolMocks?.length?JSON.stringify(t.toolMocks,null,2):""),_(t.scorerIds!==void 0),T(t.scorerIds??[]),N(t.requestContext?JSON.stringify(t.requestContext,null,2):""),u(!1),A(null)},G=q=>{f(q),I?.field==="input"&&A(null)},U=q=>{h(q),I?.field==="groundTruth"&&A(null)},$=async()=>{try{await l.mutateAsync({datasetId:e,itemId:t.id}),Be.success("Item deleted successfully"),L(!1),s()}catch(q){Be.error(`Failed to delete item: ${q instanceof Error?q.message:"Unknown error"}`)}};return o.jsxs(o.Fragment,{children:[o.jsxs(vn,{children:[o.jsxs(vn.Header,{children:[o.jsxs(vn.Heading,{children:["Item ",o.jsxs("b",{children:["# ",t.id.length>12?`${t.id.slice(0,12)}…`:t.id]})]}),o.jsxs(Jr,{className:"ml-auto shrink-0",children:[o.jsx(vn.NextPrevNav,{onPrevious:B,onNext:z,previousLabel:"Previous item",nextLabel:"Next item"}),!c&&o.jsxs(o.Fragment,{children:[o.jsx(oe,{as:a,href:`/datasets/${e}/items/${t.id}/versions`,size:"md",tooltip:"Go to item versions history","aria-label":"Go to item versions history",children:o.jsx(KN,{})}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsx(oe,{size:"md","aria-label":"Actions menu",children:o.jsx(qD,{})})}),o.jsxs(it.Content,{align:"end",className:"w-48",children:[o.jsxs(it.Item,{onSelect:()=>u(!0),children:[o.jsx(cm,{}),"Edit"]}),o.jsxs(it.Item,{onSelect:()=>F(!0),children:[o.jsx(bO,{}),"Compare with…"]}),o.jsxs(it.Item,{onSelect:()=>L(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(td,{}),"Delete Item"]})]})]})]}),o.jsx(vn.CloseButton,{onClick:s,tooltip:"Close detail panel"})]})]}),o.jsx(vn.Content,{children:c?o.jsx(sgs,{inputValue:d,setInputValue:G,groundTruthValue:p,setGroundTruthValue:U,metadataValue:m,setMetadataValue:v,trajectoryValue:y,setTrajectoryValue:b,toolMocksValue:x,setToolMocksValue:S,scorerOverrideEnabled:k,setScorerOverrideEnabled:_,selectedScorerIds:C,setSelectedScorerIds:T,requestContextValue:E,setRequestContextValue:N,validationErrors:I,onSave:V,onCancel:M,isSaving:i.isPending}):o.jsxs(o.Fragment,{children:[o.jsxs(Zt,{children:[o.jsx(Zt.Key,{children:"Dataset Id"}),o.jsx(Zt.ValueWithCopyBtn,{copyTooltip:"Copy Dataset Id to clipboard",copyValue:t.datasetId,children:t.datasetId}),o.jsx(Zt.Key,{children:"Version"}),o.jsxs(Zt.Value,{children:["v",t.datasetVersion]}),o.jsx(Zt.Key,{children:"Created"}),o.jsx(Zt.Value,{children:xr(new Date(t.createdAt),"MMM d, yyyy h:mm aaa")}),t.updatedAt&&new Date(t.updatedAt).getTime()!==new Date(t.createdAt).getTime()&&o.jsxs(o.Fragment,{children:[o.jsx(Zt.Key,{children:"Updated"}),o.jsx(Zt.Value,{children:xr(new Date(t.updatedAt),"MMM d, yyyy h:mm aaa")})]})]}),o.jsxs("div",{className:"mt-3 grid gap-3",children:[o.jsx(vn.CodeSection,{title:"Input",icon:o.jsx(yO,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(vn.CodeSection,{title:"Ground Truth",icon:o.jsx(Tg,{}),codeStr:JSON.stringify(t.groundTruth??null,null,2)}),t.expectedTrajectory!=null&&o.jsx(vn.CodeSection,{title:"Expected Trajectory",icon:o.jsx(d0e,{}),codeStr:JSON.stringify(t.expectedTrajectory,null,2)}),o.jsx(vn.CodeSection,{title:"Tool Mocks",icon:o.jsx(Vp,{}),codeStr:JSON.stringify(t.toolMocks??[],null,2)}),o.jsx(vn.CodeSection,{title:"Scorers",icon:o.jsx(yV,{}),codeStr:t.scorerIds===void 0?"Inherited from dataset":JSON.stringify(t.scorerIds,null,2)}),t.requestContext!=null&&o.jsx(vn.CodeSection,{title:"Request Context",icon:o.jsx(Iy,{}),codeStr:JSON.stringify(t.requestContext,null,2)}),o.jsx(vn.CodeSection,{title:"Metadata",icon:o.jsx(XN,{}),codeStr:JSON.stringify(t.metadata??null,null,2)})]})]})})]}),o.jsx(svs,{datasetId:e,currentItemId:t.id,open:D,onOpenChange:F}),o.jsx(Mt,{open:R,onOpenChange:L,children:o.jsxs(Mt.Content,{children:[o.jsxs(Mt.Header,{children:[o.jsx(Mt.Title,{children:"Delete Item"}),o.jsx(Mt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Mt.Footer,{children:[o.jsx(Mt.Cancel,{children:"Cancel"}),o.jsx(Mt.Action,{onClick:$,children:l.isPending?"Deleting...":"Yes, Delete"})]})]})})]})}function ovs(){const{itemId:e}=Sr(),{datasetId:t,items:n,isLoadingItems:r,openItem:s,close:a}=pVt(),i=g.useMemo(()=>n.find(d=>d.id===e)??null,[n,e]),{data:l,isLoading:c}=RD(i?"":t,!i&&e?e:""),u=i??l??null;return e?o.jsx(BAe,{label:`Dataset item ${e}`,children:u?o.jsx("div",{className:"[&>section]:bg-surface3 flex min-h-full flex-col p-3 [&>section]:min-h-0 [&>section]:flex-1 [&>section]:rounded-lg [&>section]:shadow-lg",children:o.jsx(ivs,{datasetId:t,item:u,items:n,onItemChange:s,onClose:a})}):r||c?o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Vt,{})})}):o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Cr,{iconSlot:o.jsx(om,{}),titleSlot:"Item not found",descriptionSlot:`No loaded item "${e}".`,actionSlot:o.jsx(oe,{onClick:a,children:"Close"})})})})}):null}function Wet(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function lvs(){const{datasetId:e,itemId:t,secondItemId:n}=Sr(),r=es(),s=[t,n].filter(h=>!!h),{data:a,error:i}=Qg(e??""),{Link:l,paths:c}=pn(),[u,d]=g.useState(!1),{data:f}=RD(e??"",s[0]??""),{data:p}=RD(e??"",s[1]??"");return i&&ks(i)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})})}):i&&_s(i)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"datasets"})})}):!e||s.length<2?o.jsx($s,{children:o.jsx(Gx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two items to compare."})})})}):o.jsxs($s,{children:[o.jsx(Dy,{owner:"dataset-items-compare",children:o.jsxs(oe,{as:ni,to:`/datasets/${e}`,variant:"outline",children:[o.jsx($c,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":u}),children:[o.jsxs(bs,{children:[o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(bO,{}),"Compare Dataset Items"]}),o.jsx(bs.Description,{children:o.jsxs(Al,{children:["Comparing ",s.length," items of"," ",o.jsx(ni,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:a?.name||e?.slice(0,8)})]})})]}),o.jsx(bs.Column,{children:o.jsx(Jr,{children:o.jsx(oe,{variant:"primary",onClick:()=>d(h=>!h),children:u?o.jsxs(o.Fragment,{children:[o.jsx(r0e,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(GQt,{})," Diff View"]})})})})]}),o.jsx(my,{className:"grid-cols-[1fr_3vw_1fr]",children:s.map((h,m)=>o.jsxs(g.Fragment,{children:[o.jsx(cvs,{datasetId:e,itemId:h,Link:l,idx:m,itemIds:s,showContent:!u,onItemChange:v=>{const y=[...s];y[m]=v,r(c.datasetItemCompareLink(e,y[0],y[1]))}}),m==0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),u&&f&&p&&o.jsx(dje,{codeA:Wet(f),codeB:Wet(p)})]})})]})}function cvs({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=RD(e,t),{data:u}=Qx(e),d=new Set(s.filter((p,h)=>h!==r)),f=(u??[]).map(p=>({value:p.id,label:p.id,disabled:d.has(p.id)}));return o.jsxs(xs,{children:[o.jsxs(xs.Toolbar,{className:"flex gap-4",children:[o.jsxs(ma,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(va,{"aria-label":"Item",children:o.jsx(ga,{placeholder:"Select item"})}),o.jsx(ya,{children:f.map(p=>o.jsx(Ir,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(oe,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(KN,{}),"Versions"]})]}),i&&o.jsx(xs.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(rgs,{item:l}),o.jsx(UAe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function Zet(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,scorerIds:e.scorerIds??null,metadata:e.metadata??null},null,2)}function uvs(){const{datasetId:e,itemId:t}=Sr(),[n,r]=si(),[s,a]=g.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Qg(e??""),{Link:u}=pn(),{data:d}=LAe(e??"",t??""),{data:f}=Dxe(e??"",t??"",i[0]??0,l?.version),{data:p}=Dxe(e??"",t??"",i[1]??0,l?.version);return c&&ks(c)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})})}):c&&_s(c)?o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"datasets"})})}):!e||!t?o.jsx($s,{children:o.jsx(Gx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Item not found."})})})}):i.length<2?o.jsx(dvs,{datasetId:e,itemId:t,Link:u,onCompare:h=>r({ids:h.join(",")})}):o.jsxs($s,{children:[o.jsx(Dy,{owner:"dataset-item-versions-compare",children:o.jsxs(oe,{as:ni,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx($c,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(bs,{children:[o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(bO,{}),"Compare Dataset Item Versions"]}),o.jsx(bs.Description,{children:o.jsxs(Al,{children:["Comparing ",i.length," versions of"," ",o.jsx(ni,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(bs.Column,{children:o.jsx(Jr,{children:o.jsx(oe,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(r0e,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(RYt,{})," Diff View"]})})})})]}),o.jsx(my,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(g.Fragment,{children:[o.jsx(fvs,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:v=>{const y=[...i];y[m]=v,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(dje,{codeA:Zet(f),codeB:Zet(p)})]})})]})}function dvs({datasetId:e,itemId:t,Link:n,onCompare:r}){const[s,a]=g.useState(null),{data:i,isLoading:l}=LAe(e,t),c=(s!=null?i?.find(d=>d.datasetVersion===s):void 0)??i?.[0],u=c?{id:c.id,datasetId:e,datasetVersion:c.datasetVersion,input:c.input,groundTruth:c.groundTruth,scorerIds:c.scorerIds,metadata:c.metadata,createdAt:c.createdAt,updatedAt:c.updatedAt}:null;return o.jsxs($s,{children:[o.jsx(Dy,{owner:"dataset-item-versions-history",children:o.jsxs(oe,{as:ni,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx($c,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[140rem] grid-rows-[auto_1fr] gap-6",children:[o.jsx(bs,{children:o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(KN,{}),"Item Version History"]}),o.jsx(bs.Description,{children:o.jsxs(Al,{children:["Versions of ",t]})})]})}),o.jsxs(my,{className:"grid-cols-[1fr_auto]",children:[o.jsx(xs,{children:o.jsx(xs.Content,{children:l?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):u?o.jsx(UAe,{item:u,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})})}),o.jsx(Fgs,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:d=>a(d.datasetVersion),onCompareVersionsClick:r,activeVersion:s})]})]})})]})}function fvs({datasetId:e,itemId:t,datasetVersion:n,latestVersion:r,allVersions:s,versionNumbers:a,Link:i,idx:l,showContent:c=!0,onVersionChange:u}){const{data:d,isLoading:f}=Dxe(e,t,n,r),p=new Set(a.filter((v,y)=>y!==l)),h=s.map(v=>{const y=typeof v.updatedAt=="string"?new Date(v.updatedAt):v.updatedAt;return{value:String(v.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",v.datasetVersion]})," - ",xr(y,"MMM d, yyyy h:mm a"),v.isLatest?o.jsx(Pa,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(v.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,scorerIds:d.scorerIds,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(xs,{children:[o.jsxs(xs.Toolbar,{className:"grid grid-cols-[auto_1fr] gap-4",children:[o.jsx(KN,{className:"h-6 w-6 opacity-50"}),o.jsxs(ma,{name:`compare-version-${l}`,value:String(n),onValueChange:v=>u(Number(v)),children:[o.jsx(va,{"aria-label":"Version",className:"w-full",children:o.jsx(ga,{placeholder:"Select version"})}),o.jsx(ya,{children:h.map(v=>o.jsx(Ir,{value:v.value,disabled:v.disabled,children:v.label},v.value))})]})]}),c&&o.jsx(xs.Content,{children:f?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):!d||!m?o.jsxs("div",{className:"text-neutral4 text-sm",children:["Version ",n," not found"]}):o.jsx(UAe,{item:m,Link:i})})]})}function pvs(){const{datasetId:e}=Sr(),[t]=si(),n=t.get("ids")?.split(",").map(Number).filter(v=>!isNaN(v)&&v>0)??[],r=es(),{data:s,error:a}=Qg(e??""),i=Qx(e??"",void 0,n[0]??null),l=Qx(e??"",void 0,n[1]??null),c=g.useMemo(()=>i.data??[],[i.data]),u=g.useMemo(()=>l.data??[],[l.data]),d=g.useMemo(()=>{const v=new Map;for(const y of[...c,...u])v.has(y.id)||v.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...v.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=g.useMemo(()=>new Map(c.map(v=>[v.id,v])),[c]),p=g.useMemo(()=>new Map(u.map(v=>[v.id,v])),[u]);if(a&&ks(a))return o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})})});if(a&&_s(a))return o.jsx($s,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx($s,{children:o.jsx(Gx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})});const h=(v,y,b)=>{r(`/datasets/${e}/items/${v}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(v,y)=>{r(`/datasets/${e}/versions?ids=${v},${y}`,{replace:!0})};return o.jsx($s,{children:o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[140rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(bs,{children:[o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(OXt,{})," Compare Dataset Versions"]}),o.jsx(bs.Description,{children:o.jsxs(Al,{children:[o.jsx(KN,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(bs.Column,{children:o.jsxs(oe,{as:ni,to:`/datasets/${e}`,children:[o.jsx($c,{}),"Back to Dataset"]})})]}),o.jsx(my,{children:o.jsxs(xs,{children:[o.jsx(Ugs,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Wgs,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function hvs(){const e=es(),[t]=si(),n=t.get("targetType"),r=MD(n)?n:void 0,s=t.get("targetIds"),a=r&&s?s.split(",").map(i=>i.trim()).filter(Boolean):void 0;return o.jsxs(Ut,{height:"full",children:[o.jsx("div",{}),o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsxs("div",{className:"w-full max-w-2xl overflow-y-auto px-6 py-8",children:[o.jsx(bs,{className:"mb-6 p-0",children:o.jsxs(bs.Column,{children:[o.jsxs(bs.Title,{children:[o.jsx(om,{})," Create new dataset"]}),o.jsx(bs.Description,{children:"Datasets group test cases used to evaluate your agents and workflows."})]})}),o.jsx(qy,{className:"p-6",children:o.jsx(ams,{targetType:r,targetIds:a,onSuccess:i=>{e(`/datasets/${i}`)},onCancel:()=>{e(-1)}})})]})})]})}function zxe({children:e,className:t}){return o.jsx("div",{className:K("flex flex-wrap gap-8",t),children:e})}function mvs(e){if(!e||e.length<2)return null;const t=[...e].sort((i,l)=>new Date(i.createdAt).getTime()-new Date(l.createdAt).getTime()),n=Math.floor(t.length/2),r=n,s=t.length-n;if(r===0)return null;const a=(s-r)/r*100;return{changePct:Math.round(a*10)/10,prevValue:String(r)}}function gvs({scorers:e,datasets:t,experiments:n,avgScore:r,prevAvgScore:s,totalNeedsReview:a,isLoadingScorers:i,isLoadingDatasets:l,isLoadingExperiments:c,isLoadingScores:u,isLoadingReview:d}){const f=e?Object.keys(e).length:void 0,p=t?.length,h=n?.length,m=r!=null&&s!=null&&s!==0?{changePct:Math.round((r-s)/s*100*10)/10,prevValue:String(s)}:null,v=mvs(n);return o.jsxs(o.Fragment,{children:[o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:"Total Scorers"}),i?o.jsx(Zr.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(Zr.Value,{children:String(f)}),o.jsx(Zr.NoChange,{message:"Static count"})]}):o.jsx(Zr.NoData,{})]}),o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:"Total Datasets"}),l?o.jsx(Zr.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(Zr.Value,{children:String(p)}),o.jsx(Zr.NoChange,{message:"Static count"})]}):o.jsx(Zr.NoData,{})]}),o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:"Avg Score"}),u?o.jsx(Zr.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(Zr.Value,{children:String(r)}),m?o.jsx(Zr.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(Zr.NoChange,{})]}):o.jsx(Zr.NoData,{})]}),o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:"Total Experiments"}),c?o.jsx(Zr.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(Zr.Value,{children:String(h)}),v?o.jsx(Zr.Change,{changePct:v.changePct,prevValue:v.prevValue}):o.jsx(Zr.NoChange,{})]}):o.jsx(Zr.NoData,{})]}),o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:"Needs Review"}),d?o.jsx(Zr.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(Zr.Value,{children:String(a)}),a>0?o.jsx(Zr.NoChange,{message:"items pending review"}):o.jsx(Zr.NoChange,{message:"All caught up"})]}):o.jsx(Zr.NoData,{})]})]})}const Get=`${oVt} ${jms} ${lVt}`;function vvs({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=pn(),u=g.useMemo(()=>{const m=new Map;return t?.forEach(v=>m.set(v.id,v.name)),m},[t]),d=g.useMemo(()=>[...e].sort((m,v)=>{const y=m.createdAt?new Date(m.createdAt).getTime():0;return(v.createdAt?new Date(v.createdAt).getTime():0)-y}),[e]),f=g.useMemo(()=>{const m=s.toLowerCase();return d.filter(v=>{const y=v.datasetId?u.get(v.datasetId)??"":"",b=!m||v.id.toLowerCase().includes(m)||(v.name??"").toLowerCase().includes(m)||y.toLowerCase().includes(m)||(v.targetId??"").toLowerCase().includes(m),x=a==="all"||v.status===a,S=i==="all"||v.datasetId===i;return b&&x&&S})},[d,s,u,a,i]),{containerRef:p,getRowProps:h}=So({count:f.length});return r?o.jsx(vl,{columns:Get}):o.jsxs(be,{columns:Get,variant:"striped",scrollRef:p,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:Xc.experiment}),o.jsx(be.TopCell,{children:Xc.dataset}),o.jsx(be.TopCell,{children:Xc.target}),o.jsx(be.TopCell,{children:Xc.status}),o.jsx(be.TopCell,{className:"text-center",children:Xc.items}),o.jsx(be.TopCell,{className:"text-center",children:Xc.succeeded}),o.jsx(be.TopCell,{className:"text-center",children:Xc.failed}),o.jsx(be.TopCell,{className:"text-center",children:Xc.review}),o.jsx(be.TopCell,{children:Xc.date})]}),f.map((m,v)=>{const y=m.datasetId?u.get(m.datasetId)??dS(m.datasetId)??m.datasetId:"—";return o.jsx(be.RowLink,{to:l.experimentLink(m.id),LinkComponent:c,...h(v),children:o.jsx(cVt,{experiment:m,datasetName:y,review:n?.get(m.id)})},m.id)})]})}const yvs=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function bvs(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const Qz={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},xvs=[{label:"Completed",color:Qz.completed},{label:"Running",color:Qz.running},{label:"Pending",color:Qz.pending},{label:"Failed",color:Qz.failed}];function wvs({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=g.useMemo(()=>{if(!e||e.length===0)return{data:[],maxVal:0};const l=new Map;if(t)for(const f of t)l.set(f.id,f.name);const c=new Map;for(const f of e){const p=f.datasetId??"unknown";c.has(p)||c.set(p,{completed:0,running:0,pending:0,failed:0});const h=c.get(p),m=f.status;m in h&&h[m]++}let u=0;return{data:Array.from(c.entries()).map(([f,p])=>{const h=p.completed+p.running+p.pending+p.failed;return h>u&&(u=h),{name:l.get(f)??f.slice(0,12),values:[p.completed,p.running,p.pending,p.failed]}}),maxVal:u}},[e,t]),i=s.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Bt.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Bt.Loading,{}):r?o.jsx(Bt.Error,{message:"Failed to load experiments data"}):o.jsx(Bt.Content,{children:i?o.jsx(BN,{data:s,segments:xvs,maxVal:a,fmt:l=>String(l)}):o.jsx(Bt.NoData,{message:"No experiments have been run yet"})})]})}const Svs=({onRunExperiment:e})=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Experiments yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Run an experiment from a dataset to evaluate ",o.jsx("br",{}),"your agents and workflows."]}),actionSlot:o.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e&&o.jsxs(oe,{variant:"primary",onClick:e,children:[o.jsx(pu,{}),"Run Experiment"]}),o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(Vs,{})]})]})})});function kvs({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c,onRunClick:u,runTooltip:d="Run an experiment"}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx("div",{className:"max-w-120 min-w-64 flex-1",children:o.jsx(Bf,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t})}),o.jsxs(Jr,{children:[o.jsx(Tc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...yvs],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(Tc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(oe,{onClick:l,size:"sm",variant:"default",children:[o.jsx(Os,{className:"size-3"})," Reset"]})]}),u&&o.jsxs(oe,{onClick:u,tooltip:d,variant:"primary",className:"ml-auto shrink-0",children:[o.jsx(pu,{}),"Run Experiment"]})]})}function Ovs(){const[e,t]=g.useState("all"),[n,r]=g.useState({}),{data:s,isLoading:a,error:i}=lh(),{data:l,isLoading:c,error:u}=jm(),{data:d,isLoading:f,error:p}=UQ(),{data:h,isLoading:m,isError:v,error:y}=wis(n),{data:b,isLoading:x,isError:S,error:k}=WAe(),_=l?.datasets,C=d?.experiments,T=g.useMemo(()=>Ygs(b),[b]),E=i||u||p||y||k;return E&&ks(E)?o.jsx(ar,{children:o.jsx(Js,{})}):E&&_s(E)?o.jsx(ar,{children:o.jsx(Zs,{resource:"evaluation"})}):E?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load evaluation data",message:E.message})}):o.jsxs(Ut,{width:"wide",height:"full",children:[o.jsx(Ut.TopArea,{children:o.jsx(Ut.Row,{children:o.jsx(Ut.Column,{children:o.jsx(I4,{preset:e,onPresetChange:t,dateFrom:n.start,dateTo:n.end,onDateChange:(N,I)=>r(A=>I==="from"?{...A,start:N}:{...A,end:N})})})})}),o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(zxe,{children:o.jsx(gvs,{scorers:s,datasets:_,experiments:C,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:T.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(Nas,{summaryData:h?.summaryData??[],overTimeData:h?.overTimeData??[],scorerNames:h?.scorerNames??[],avgScore:h?.avgScore??null,isLoading:m,isError:v}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(Whs,{experiments:C,isLoading:f,isError:!!p}),o.jsx(wvs,{experiments:C,datasets:_,isLoading:f,isError:!!p})]}),o.jsx(Ggs,{reviewSummary:b,experiments:C,datasets:_,isLoading:x,isError:!!S})]})]})}function _vs(){const[e,t]=g.useState(""),[n,r]=g.useState("all"),[s,a]=g.useState("all"),[i,l]=g.useState(!1),c=es(),{data:u,isLoading:d,error:f}=jm(),{data:p,isLoading:h,error:m}=UQ(),{data:v}=WAe(),y=g.useMemo(()=>u?.datasets??[],[u?.datasets]),b=g.useMemo(()=>p?.experiments??[],[p?.experiments]),x=g.useMemo(()=>bvs(y),[y]),S=g.useMemo(()=>xVt(v),[v]),k=d||h,_=m||f;if(_&&ks(_))return o.jsx(ar,{children:o.jsx(Js,{})});if(m&&_s(m))return o.jsx(ar,{children:o.jsx(Zs,{resource:"experiments"})});if(f&&_s(f))return o.jsx(ar,{children:o.jsx(Zs,{resource:"datasets"})});if(_)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load experiments",message:_.message})});const C=o.jsx(qAe,{open:i,onOpenChange:l,onSuccess:N=>{c(`/experiments/${N}`)}});if(b.length===0&&!k)return o.jsxs(ar,{children:[o.jsx(Svs,{onRunExperiment:()=>l(!0)}),C]});const T=n!=="all"||s!=="all"||e!=="",E=()=>{t(""),r("all"),a("all")};return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(kvs,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:x,onReset:E,hasActiveFilters:T,onRunClick:()=>l(!0)})}),o.jsx(vvs,{experiments:b,datasets:y,reviewByExperiment:S,isLoading:k,search:e,statusFilter:n,datasetFilter:s}),C]})}function Yz({label:e,children:t}){return o.jsxs("div",{className:"min-w-0 flex-1 px-6 py-3",children:[o.jsx("div",{className:"text-ui-sm text-neutral2 tracking-widest uppercase",children:e}),o.jsx("div",{className:"text-ui-md text-neutral5 mt-1 flex flex-wrap items-baseline gap-x-1.5",children:t})]})}function Cvs(e){if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1).replace(/\.0$/,"")}s`;const t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);if(t<60)return n>0?`${t}m ${n}s`:`${t}m`;const r=Math.floor(t/60),s=t%60;return s>0?`${r}h ${s}m`:`${r}h`}function Evs({experiment:e,className:t}){const{Link:n,paths:r}=pn(),{data:s,isLoading:a}=Qg(e.datasetId??""),i=e.startedAt??e.createdAt,l=i?new Date(i):null,c=(()=>{if(e.status==="running")return"Running…";if(!e.startedAt||!e.completedAt)return"—";const u=new Date(e.completedAt).getTime()-new Date(e.startedAt).getTime();return u<0?"—":Cvs(u)})();return o.jsxs("div",{className:K("flex w-full items-stretch divide-x divide-border1 border-y border-border1",t),children:[o.jsx(Yz,{label:"Results",children:(e.failedCount??0)===0&&e.succeededCount===e.totalItems?o.jsx("span",{className:"text-accent1",children:"All passed"}):o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"font-mono",children:[o.jsx("span",{className:"text-error",children:e.failedCount??0}),o.jsxs("span",{className:"text-neutral3",children:["/",e.totalItems]})]}),o.jsx("span",{children:"failed"})]})}),o.jsx(Yz,{label:"Started",children:l?o.jsxs(o.Fragment,{children:[o.jsx("span",{children:xr(l,"MMM d, h:mm a")}),o.jsxs("span",{className:"text-neutral3",children:["· ",dDn(l,{addSuffix:!0})]})]}):o.jsx("span",{children:"—"})}),o.jsx(Yz,{label:"Duration",children:o.jsx("span",{children:c})}),o.jsx(Yz,{label:"Dataset",children:e.datasetId?a?o.jsx(St,{className:"h-4 w-40"}):o.jsxs(o.Fragment,{children:[o.jsxs(n,{href:r.datasetLink(e.datasetId),target:"_blank",rel:"noopener noreferrer",className:"[&>svg]:text-neutral3 flex min-w-0 items-center gap-1.5 hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0",children:[o.jsx("span",{className:"truncate",children:s?.name??e.datasetId}),o.jsx(Vs,{})]}),e.datasetVersion!=null&&o.jsxs("span",{className:"text-neutral3 shrink-0",children:["v",e.datasetVersion]}),o.jsxs("span",{className:"text-neutral3 shrink-0",children:["· ",e.totalItems," item",e.totalItems===1?"":"s"]})]}):o.jsx("span",{children:"—"})})]})}function Tvs({experiment:e}){const{Link:t,paths:n}=pn(),{data:r}=$m(),{data:s}=Qy(),{data:a}=lh(),{data:i}=SQ(e.id,e.status),l=g.useMemo(()=>{if(!i)return;const f=Object.values(i).flat();if(f.length!==0)return f.reduce((p,h)=>p+h.score,0)/f.length},[i]),c=()=>{if(!e.targetId)return null;switch(e.targetType){case"agent":return n.agentLink(e.targetId);case"workflow":return n.workflowLink(e.targetId);case"scorer":return n.scorerLink(e.targetId);default:return"#"}},u=()=>{const f=e.targetId;if(!f)return"External (caller-run)";switch(e.targetType){case"agent":return r?.[f]?.name??f;case"workflow":return s?.[f]?.name??f;case"scorer":return a?.[f]?.scorer?.config?.name??f;default:return f}},d=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsxs(Ut.TopArea,{children:[o.jsxs(Ut.Row,{children:[o.jsx(Ut.Column,{className:"justify-items-start gap-3",children:o.jsxs("div",{className:"flex items-start gap-3",children:[o.jsx(hgs,{status:e.status,className:"mt-4 h-7"}),o.jsxs(fu,{children:[o.jsx("p",{className:"text-ui-xs text-neutral3 tracking-wider uppercase",children:"Evaluation target"}),o.jsxs(fu.Title,{children:[(()=>{const f=c();return f?o.jsxs(t,{href:f,target:"_blank",rel:"noopener noreferrer",className:K("flex items-center gap-2 transition-colors","hover:text-neutral4 [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-neutral3"),children:[u(),o.jsx(Vs,{})]}):u()})(),l!==void 0&&o.jsxs(Xt,{size:"sm",children:["Avg ",l.toFixed(3)]})]}),e.description&&o.jsx(fu.Description,{children:e.description})]})]})}),o.jsx(Ut.Column,{className:"justify-items-end gap-3",children:e.agentVersion&&o.jsxs(Zt,{numOfCol:1,children:[o.jsx(Zt.Key,{children:"Version"}),d?o.jsx(Zt.ValueLink,{href:d,as:t,children:e.agentVersion}):o.jsx(Zt.Value,{children:e.agentVersion})]})})]}),o.jsx(Evs,{experiment:e,className:"-mx-6 w-auto"})]})}function Kz({children:e}){return o.jsxs(Ut,{height:"full",children:[o.jsx("div",{}),o.jsx(Ut.MainArea,{isCentered:!0,children:e})]})}function jvs(){const{experimentId:e}=Sr(),{data:t,isLoading:n}=UQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=Ixe(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=uAe({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&ks(l)?o.jsx(Kz,{children:o.jsx(Js,{})}):l&&_s(l)?o.jsx(Kz,{children:o.jsx(Zs,{resource:"datasets"})}):l&&y$t(l)||!n&&!s||!i&&!l&&!a?o.jsx(Kz,{children:o.jsx(Cr,{iconSlot:o.jsx(n0e,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(oe,{as:ni,to:"/experiments",children:[o.jsx($c,{}),"Back to Experiments"]})})}):l?o.jsx(Kz,{children:o.jsx(qi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsx(lgs,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoadingResults:u,hasNextPage:p,children:o.jsxs("div",{className:"relative h-full overflow-hidden",children:[o.jsxs(Ut,{height:"full",children:[o.jsx(Tvs,{experiment:a}),o.jsx(Ut.MainArea,{className:"overflow-visible",children:o.jsx(pgs,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]}),o.jsx(Dg,{})]})})}const ZAe=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 9.45892 8.88606",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.53702 7.36403C8.98547 7.36403 9.34918 7.70502 9.34918 8.12535C9.34906 8.54559 8.9854 8.88606 8.53702 8.88606H5.6839C5.23552 8.88606 4.87186 8.54559 4.87174 8.12535C4.87174 7.70502 5.23545 7.36403 5.6839 7.36403H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.53702 3.67209C8.98547 3.67209 9.34918 4.01309 9.34918 4.43342C9.34911 4.8537 8.98543 5.19413 8.53702 5.19413H5.6839C5.23549 5.19413 4.87181 4.8537 4.87174 4.43342C4.87174 4.01309 5.23545 3.67209 5.6839 3.67209H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.67155 0C9.10635 2.06584e-05 9.45892 0.341006 9.45892 0.761326C9.45878 1.18153 9.10627 1.52201 8.67155 1.52203H2.88163C2.4469 1.52203 2.0944 1.18154 2.09427 0.761326C2.09427 0.340993 2.44681 3.80132e-08 2.88163 0H8.67155Z",fill:"currentColor"}),o.jsx("path",{d:"M0.757606 0.760086V4.01122H3.50594V4.76883H0.759466L0.762566 5.4291C0.76837 6.70703 1.8058 7.73972 3.08374 7.73973H3.67953V8.49796H3.08374C1.38863 8.49795 0.0120204 7.1273 0.00433981 5.4322L0 4.39188V0.760086H0.757606Z",fill:"currentColor"})]});function jie(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function Nvs({report:e}){const{served:t,unconsumed:n,liveCalls:r,failure:s}=e,a=[...t.map(i=>({outcome:"served",toolName:i.toolName,args:i.args})),...r.map(i=>({outcome:"live",toolName:i.toolName,args:i.args})),...n.map(i=>({outcome:"unconsumed",toolName:i.toolName,args:i.args}))];return o.jsxs("div",{className:"grid gap-2","data-testid":"tool-mock-report",children:[o.jsx(vn.SectionHeading,{icon:o.jsx(Vp,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(Dn,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(Dn.Message,{children:[o.jsx("span",{className:"block",children:`Tool "${s.toolName}" was called with arguments that did not match an available mock (${s.code}).`}),o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Called with: ",jie(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>jie(i.args)).join(", ")]})]})}),o.jsx("div",{className:"border-border1 divide-border1 divide-y rounded border text-sm",children:a.map((i,l)=>o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[o.jsxs("span",{className:"min-w-0 truncate",children:[o.jsx("span",{className:"text-neutral4 font-mono",children:i.toolName}),o.jsx("span",{className:"text-neutral3 ml-2 font-mono text-xs",children:jie(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${Ivs(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function Ivs(e){switch(e){case"served":return"bg-accent1/10 text-accent1";case"live":return"bg-orange-500/10 text-orange-400";case"unconsumed":return"bg-neutral3/10 text-neutral4"}}function Avs({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d=!1,scorePanelSlot:f}){const p=!!e?.error,h=Xz(e?.input),m=Xz(e?.output),v=Xz(e?.groundTruth),y=u&&e.status!=="needs-review"&&e.status!=="complete",b=Array.isArray(e.tags)?e.tags:[];return o.jsxs(vn,{collapsed:d,children:[o.jsxs(vn.Header,{children:[o.jsxs(vn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs(Jr,{className:"ml-auto shrink-0",children:[o.jsx(vn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),e.traceId&&o.jsxs(oe,{size:"md",onClick:a,children:[o.jsx(ZAe,{}),"Trace"]}),o.jsx(vn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!d&&o.jsx(Rvs,{scorePanelSlot:f,children:o.jsxs(vn.Content,{children:[o.jsxs("div",{className:"mb-6 grid gap-4",children:[o.jsxs(Zt,{children:[o.jsx(Zt.Key,{children:"Item Id"}),o.jsx(Zt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(Zt.Key,{children:"Created"}),o.jsx(Zt.Value,{children:xr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),p&&o.jsx(Dn,{variant:"destructive",title:"Error",children:o.jsx(Dn.Message,{children:Xz(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(be,{columns:"1fr 1fr",children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Scorer"}),o.jsx(be.TopCell,{children:"Score"})]}),t.map(x=>o.jsxs(be.RowButton,{featured:c===x.id,onClick:()=>l?.(x.id),children:[o.jsx(be.Cell,{children:x.scorerId}),o.jsx(be.TextCell,{font:"mono",children:x.score.toFixed(3)})]},x.id))]}),e.toolMockReport&&o.jsx(Nvs,{report:e.toolMockReport}),(e.status||b.length>0||y)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(vn.SectionHeading,{icon:o.jsx(XN,{}),className:"mb-2",children:"Review"}),(e.status||b.length>0)&&o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.status&&o.jsx("span",{className:`rounded-full px-2 py-0.5 text-xs font-medium ${e.status==="needs-review"?"bg-orange-500/10 text-orange-400":e.status==="complete"?"bg-accent1/10 text-accent1":"bg-neutral3/10 text-neutral4"}`,children:e.status}),b.map(x=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:x},x))]}),y&&o.jsx("div",{children:o.jsxs(oe,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(vO,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(oe,{size:"sm",onClick:i,children:[o.jsx(Vs,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(vn.CodeSection,{title:"Input",icon:o.jsx(VD,{}),codeStr:h}),o.jsx(vn.CodeSection,{title:"Output",icon:o.jsx(Tg,{}),codeStr:m}),o.jsx(vn.CodeSection,{title:"Ground Truth",icon:o.jsx(p0e,{}),codeStr:v})]})]})})]})}function Rvs({scorePanelSlot:e,children:t}){return e?o.jsxs("div",{className:"grid min-h-0 flex-1 grid-cols-[1fr_1fr]",children:[o.jsx("div",{className:"flex min-h-0 flex-col overflow-hidden",children:t}),o.jsx("div",{className:"animate-in border-border1 fade-in-0 flex min-h-0 flex-col overflow-hidden border-l duration-300",children:e})]}):o.jsx(o.Fragment,{children:t})}function Xz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Pvs(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function $vs({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i,className:l}){const[c,u]=g.useState(!1),d=a??c,f=i??u,p=Pvs(e),h=p?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(vn,{collapsed:d,className:l,children:[o.jsxs(vn.Header,{children:[o.jsxs(vn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs(Jr,{className:"ml-auto shrink-0",children:[i&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(Llt,{}):o.jsx(mQt,{})}),(n||t)&&o.jsx(vn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&e.traceId&&o.jsxs(oe,{size:"md",onClick:s,children:[o.jsx(ZAe,{}),"Trace"]}),o.jsx(vn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!d&&o.jsx(vn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(vn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(lm,{}),codeStr:e.reason||h,simplified:!0}),!p&&o.jsxs(o.Fragment,{children:[o.jsx(vn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(jh,{}),codeStr:e.preprocessPrompt||h,simplified:!0}),o.jsx(vn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(jh,{}),codeStr:e.analyzePrompt||h,simplified:!0}),o.jsx(vn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(jh,{}),codeStr:e.generateScorePrompt||h,simplified:!0}),o.jsx(vn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(jh,{}),codeStr:e.generateReasonPrompt||h,simplified:!0})]})]})})]})}function Mvs(){const{itemId:e}=Sr();return e?o.jsx(Dvs,{itemId:e},e):null}function Dvs({itemId:e}){const{experimentId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,close:i,openInReview:l,goToPreviousItem:c,goToNextItem:u}=yVt(),d=g.useMemo(()=>r.find(M=>M.itemId===e)??null,[r,e]),{data:f}=SQ(t,n),p=d?f?.[d.itemId]:void 0,[h,m]=g.useState(null),[v,y]=g.useState(void 0),[b,x]=g.useState(null),[S,k]=g.useState(!1),[_,C]=g.useState(!1),T=p?.find(M=>M.id===b)??null,E=g.useCallback(M=>{x(G=>M===G?null:M),m(null),y(void 0)},[]),N=()=>{if(!b||!p)return;const M=p.findIndex(G=>G.id===b);if(M>=0&&M<p.length-1)return()=>x(p[M+1].id)},I=()=>{if(!b||!p)return;const M=p.findIndex(G=>G.id===b);if(M>0)return()=>x(p[M-1].id)},{data:A,isLoading:R}=mgs(h),L=A?.spans,{data:D,isLoading:F}=zQ(h,v),H=D?.span,{handlePreviousSpan:B,handleNextSpan:z}=Aqt(L,v??null,y),V=(()=>{const M=[],G=!!h;return M.push(S?"auto":G?"2fr":"1fr"),G&&M.push(_?"auto":"3fr"),G&&v&&M.push("3fr"),M.join(" ")})();return o.jsx(BAe,{label:`Experiment item ${e}`,wide:!!T&&!S,children:d?o.jsxs("div",{className:"[&>section]:bg-surface3 grid h-full min-h-0 content-start gap-4 p-3 [&>section]:rounded-lg [&>section]:shadow-lg",style:{gridTemplateRows:V},children:[o.jsx(Avs,{result:d,scores:p,onPrevious:c,onNext:u,onClose:i,onScoreClick:E,featuredScoreId:b,onShowTrace:()=>{d.traceId&&(m(d.traceId),y(void 0),x(null),k(!0),C(!1))},onOpenInReview:()=>l(d.id),collapsed:S,scorePanelSlot:T?o.jsx($vs,{score:T,onNext:N(),onPrevious:I(),onClose:()=>x(null),onShowTrace:()=>{T.traceId&&(m(T.traceId),y(void 0),k(!0),C(!1))},className:"rounded-none border-0 bg-transparent"}):null}),h&&o.jsxs(o.Fragment,{children:[o.jsx(nVt,{traceId:h,spans:L,isLoading:R,onClose:()=>{m(null),y(void 0),k(!1)},onSpanSelect:y,initialSpanId:v??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:_,onCollapsedChange:C,LinkComponent:ly,traceHref:`/traces?traceId=${encodeURIComponent(h)}`}),v&&o.jsx(_qt,{traceId:h,spanId:v,span:H,isLoading:F,onPrevious:B,onNext:z,onClose:()=>y(void 0)})]})]}):s||a?o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Vt,{})})}):o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Cr,{iconSlot:o.jsx(n0e,{}),titleSlot:"Item not found",descriptionSlot:`No loaded result for item "${e}".`,actionSlot:o.jsx(oe,{onClick:i,children:"Close"})})})})})}function Lvs({connection:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsxs("li",{className:"flex items-center justify-between border-b py-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-mono text-xs",children:e.connectionId}),o.jsxs("div",{className:"text-xs text-gray-500",children:[e.label??"(no label)"," · ",e.status,e.scope?` · ${e.scope}`:"",t&&e.authorId?` · author: ${e.authorId}`:""]})]}),o.jsx("button",{type:"button",className:"text-red-600 underline disabled:opacity-50",onClick:r,disabled:n,children:"Disconnect"})]})}function wVt({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(Lvs,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function Fvs({groups:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("div",{className:"space-y-4",children:e.map(([s,a])=>o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-semibold text-gray-700","data-testid":`integration-author-group-${s}`,children:s==="shared"?"Shared":`Owned by ${s}`}),o.jsx(wVt,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function zvs({providerId:e,toolkit:t,connections:n,groupedByAuthor:r,isAdmin:s,isLoading:a,error:i,disconnectPending:l,disconnectError:c,onDisconnect:u}){return o.jsxs("div",{className:"space-y-2 border rounded p-4",children:[o.jsx("h2",{className:"text-lg font-semibold",children:"Existing connections"}),!e||!t?o.jsx("p",{className:"text-gray-500",children:"Pick a provider and toolkit to list connections."}):a?o.jsx("p",{className:"text-gray-500",children:"Loading…"}):i?o.jsx("p",{className:"text-red-600",children:String(i)}):n.length===0?o.jsx("p",{className:"text-gray-500",children:"No connections."}):r?o.jsx(Fvs,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(wVt,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function Bvs({providers:e,toolkits:t,providerId:n,toolkit:r,label:s,providersLoading:a,providersError:i,toolkitsLoading:l,toolkitsError:c,authorizePending:u,authorizeError:d,authorizedConnection:f,onProviderChange:p,onToolkitChange:h,onLabelChange:m,onConnect:v}){return o.jsxs("div",{className:"space-y-4 border rounded p-4",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"provider-select",children:"Provider"}),o.jsxs("select",{id:"provider-select",className:"border rounded px-2 py-1 w-full",value:n,onChange:y=>p(y.target.value),disabled:a,children:[o.jsx("option",{value:"",children:"— select provider —"}),e.map(y=>o.jsxs("option",{value:y.id,children:[y.displayName??y.name," (",y.id,")"]},y.id))]}),a&&o.jsx("span",{className:"text-gray-500",children:"Loading providers…"}),i?o.jsx("span",{className:"text-red-600",children:String(i)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"toolkit-select",children:"Toolkit"}),o.jsxs("select",{id:"toolkit-select",className:"border rounded px-2 py-1 w-full",value:r,onChange:y=>h(y.target.value),disabled:!n||l,children:[o.jsx("option",{value:"",children:"— select toolkit —"}),t.map(y=>o.jsxs("option",{value:y.slug,children:[y.name," (",y.slug,")"]},y.slug))]}),l&&o.jsx("span",{className:"text-gray-500",children:"Loading toolkits…"}),c?o.jsx("span",{className:"text-red-600",children:String(c)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"label-input",children:"Label (optional)"}),o.jsx("input",{id:"label-input",type:"text",className:"border rounded px-2 py-1 w-full",placeholder:"My personal Gmail",value:s,onChange:y=>m(y.target.value),disabled:!n||!r})]}),o.jsx("button",{type:"button",className:"bg-blue-600 text-white rounded px-4 py-2 disabled:opacity-50",onClick:v,disabled:!n||!r||u,children:u?"Authorizing…":"Connect"}),d?o.jsx("p",{className:"text-red-600",children:String(d)}):null,f&&o.jsxs("p",{className:"text-green-700",children:["Authorized: ",f.connectionId," (status: ",f.status,")"]})]})}const Qet=e=>e.authorId?.trim()||"shared",Uvs=(e,t)=>{if(!t||new Set(e.map(Qet)).size<=1)return null;const r=new Map;for(const a of e){const i=Qet(a);r.set(i,[...r.get(i)??[],a])}const s=Array.from(r.entries());return s.sort(([a],[i])=>a==="shared"?1:i==="shared"?-1:a.localeCompare(i)),s},qvs=["*","tool-providers:*","tool-providers:admin"];function Vvs(){const{data:e}=Pm();return e?.permissions?.some(t=>qvs.includes(t))??!1}function Hvs(){const[e,t]=g.useState(""),[n,r]=g.useState(""),[s,a]=g.useState(""),i=WI(),l=VZ(e||null),c=GDt(e||null,n||null),u=ZDt(),d=VDt(),f=Vvs(),p=i.data?.providers??[],h=l.data?.data??[],m=g.useMemo(()=>c.data?.items??[],[c.data?.items]),v=g.useMemo(()=>Uvs(m,f),[m,f]),y=S=>{t(S),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},x=S=>{d.mutate({providerId:e,connectionId:S})};return o.jsxs("div",{className:"p-6 max-w-3xl space-y-6 text-sm",children:[o.jsx("h1",{className:"text-2xl font-semibold",children:"Integrations"}),o.jsx("p",{className:"text-gray-500",children:"Minimal page to verify the ToolProvider backend. Pick a provider and toolkit, then connect."}),o.jsx(Bvs,{providers:p,toolkits:h,providerId:e,toolkit:n,label:s,providersLoading:i.isLoading,providersError:i.error,toolkitsLoading:l.isLoading,toolkitsError:l.error,authorizePending:u.isPending,authorizeError:u.error,authorizedConnection:u.data,onProviderChange:y,onToolkitChange:r,onLabelChange:a,onConnect:b}),o.jsx(zvs,{providerId:e,toolkit:n,connections:m,groupedByAuthor:v,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:x})]})}function Wvs({title:e,description:t,errorBanner:n,children:r}){return o.jsx("div",{"data-testid":"login-page",className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsxs("div",{className:"w-full max-w-sm space-y-6",children:[o.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[o.jsx(rm,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-neutral6 text-xl font-semibold",children:e})]}),t,n,r]})})}function SVt({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=oc(),{mutate:i,isPending:l,error:c}=dPr(),{mutate:u,isPending:d,error:f}=pPr(),{mutate:p,isPending:h}=Y$t(),[m,v]=g.useState(n),[y,b]=g.useState(""),[x,S]=g.useState(""),[k,_]=g.useState("");if(a)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Loading..."})});if(!s?.enabled||!s?.login)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Authentication is not configured"})});const{login:C}=s,T=C.type==="sso"||C.type==="both",E=C.type==="credentials"||C.type==="both",N=C.sso,I=C.signUpEnabled!==!1,A=m==="signin"||!I,R=A?l:d,L=A?c:f,D=()=>{t?t():e?window.location.href=e:window.location.href=kQ("/")},F=M=>{M.preventDefault(),A?i({email:x,password:k},{onSuccess:D}):u({email:x,password:k,name:y||void 0},{onSuccess:D})},H=()=>{p({redirectUri:e},{onSuccess:M=>{window.location.href=M.url}})},B=()=>{v(A?"signup":"signin")},z=C.description?o.jsxs("div",{className:"border-border1 bg-surface1 flex items-start gap-2.5 rounded-md border p-3",children:[o.jsx(jf,{className:"text-neutral4 mt-0.5 h-4 w-4 shrink-0"}),o.jsx("p",{className:"text-neutral3 text-sm",children:C.description})]}):null,V=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(Wvs,{title:A?"Sign in to Mastra Studio":"Create your account",description:z,errorBanner:V,children:[E&&o.jsxs("form",{onSubmit:F,className:"space-y-4",children:[!A&&o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"name",className:"text-neutral4 block text-sm",children:"Name"}),o.jsx(An,{id:"name",type:"text",value:y,onChange:M=>b(M.target.value),placeholder:"Your name",variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"email",className:"text-neutral4 block text-sm",children:"Email"}),o.jsx(An,{id:"email",type:"email",value:x,onChange:M=>S(M.target.value),placeholder:"you@example.com",required:!0,variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"password",className:"text-neutral4 block text-sm",children:"Password"}),o.jsx(An,{id:"password",type:"password",value:k,onChange:M=>_(M.target.value),placeholder:A?"Enter your password":"Create a password",required:!0,variant:"default",size:"lg"})]}),L&&o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:L.message}),o.jsx(oe,{type:"submit",disabled:R,className:"w-full",size:"lg",children:R?A?"Signing in...":"Creating account...":A?"Sign in":"Create account"}),I&&o.jsxs("div",{className:"text-center text-sm",children:[o.jsx("span",{className:"text-neutral3",children:A?"Don't have an account? ":"Already have an account? "}),o.jsx("button",{type:"button",onClick:B,className:"text-neutral6 hover:underline",children:A?"Sign up":"Sign in"})]})]}),T&&E&&o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex items-center",children:o.jsx("div",{className:"border-border1 w-full border-t"})}),o.jsx("div",{className:"relative flex justify-center text-sm",children:o.jsx("span",{className:"bg-surface1 text-neutral3 px-2",children:"or continue with"})})]}),T&&N&&o.jsxs(oe,{onClick:H,disabled:h,className:"w-full",size:"lg",variant:"outline",children:[N.icon&&o.jsx("span",{className:"mr-2",children:N.icon}),h?"Redirecting...":N.text||"Sign in"]})]})}function Zvs(){const[e]=si(),t=es(),n=e.get("redirect")||"/",s=e.get("mode")==="signup"?"signup":"signin",a=e.get("error_description")||e.get("error")||null,i=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(SVt,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Gvs({collapsed:e,children:t}){return o.jsx("section",{className:K("flex flex-col overflow-hidden rounded-xl border border-border1 bg-surface2",e?"h-auto":"h-full"),children:t})}function Qvs({onClick:e,tooltip:t="Close panel",className:n}){return o.jsx(oe,{size:"md",onClick:e,"aria-label":"Close Panel",tooltip:t,className:n,children:o.jsx(Ac,{})})}function Yvs(){return vI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[de.className,de.propertyName]}]})}function Kvs(){const e=At.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.75rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-activeLineGutter":{backgroundColor:"transparent"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"}}),t=Yg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"}]);return[e,rS(t)]}const Xvs=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?Yvs():Kvs(),[e])};function Jvs({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=Xvs(),[i,l]=g.useState(!1),c=g.useMemo(()=>{try{const f=JSON.parse(e);return Bxe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
|
|
643
643
|
`):e,d=r||i;return!e||e==="null"?null:o.jsxs("div",{className:K("flex flex-col gap-2",s),children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:K("flex items-center gap-1.5 text-ui-xs tracking-widest text-neutral2 uppercase","[&>svg]:size-3.5"),children:[n,t]}),o.jsxs(Jr,{children:[o.jsx(Ba,{content:e||"No content",size:"sm"}),c&&o.jsx(oe,{size:"sm","aria-label":i?"Show escaped newlines":"Show multiline text",onClick:()=>l(f=>!f),children:i?o.jsx(Z$,{}):o.jsx(z7,{})})]})]}),o.jsx("div",{className:"border-border1 bg-surface3 text-ui-sm text-neutral4 max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg border p-3 break-all dark:border-white/10 dark:bg-black/20",children:d?o.jsx("div",{className:"text-neutral4 font-mono break-all",children:o.jsx("pre",{className:"text-wrap",children:u})}):o.jsx(Xu,{extensions:[Zj(),At.lineWrapping],theme:a,value:e,editable:!1})})]})}function Bxe(e){if(typeof e=="string"){const t=e.indexOf(`
|
|
644
|
-
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Bxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Bxe(t))}return!1}function eys({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function tys({className:e,children:t}){return o.jsx("div",{className:K("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function nys({className:e,children:t}){return o.jsx("h3",{className:K("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function rys({className:e,children:t}){return o.jsx("dl",{className:K("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function sys({className:e,children:t}){return o.jsx("dt",{className:K("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function ays({className:e,children:t}){return o.jsx("dd",{className:K("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function iys({className:e,children:t}){return o.jsx("dt",{className:K("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const oys=Object.assign(rys,{Key:sys,Value:ays,Header:iys});function lys({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(Vt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function cys({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Fi=Object.assign(Gvs,{Header:tys,Heading:nys,CloseButton:Qvs,LoadingData:lys,NoData:cys,Content:eys,KeyValueList:oys,CodeSection:Jvs}),pp=Fi.KeyValueList;function uys(e){return e instanceof Date?e:new Date(e)}function dys({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=uys(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Fi,{collapsed:d,children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Log ",o.jsx("b",{children:xr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Jr,{className:"ml-auto shrink-0",children:[l&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(kH,{}):o.jsx(H1e,{})}),o.jsxs(Jr,{spacing:"close",children:[o.jsx(oe,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(_3,{})}),o.jsx(oe,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(O3,{})})]}),o.jsx(Fi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Fi.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:K("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Jr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(B7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Ba,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Jr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(B7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Ba,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(pp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Entity Type"}),o.jsx(pp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Entity Name"}),o.jsx(pp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Service"}),o.jsx(pp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Environment"}),o.jsx(pp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Source"}),o.jsx(pp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(pp.Key,{children:v}),o.jsx(pp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Fi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function fys({error:e,resource:t,errorTitle:n}){if(ks(e))return o.jsx(Js,{});if(_s(e))return o.jsx(Zs,{resource:t});if(P4(e))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(R4(e,"logs"))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(qi,{title:n,message:r??"Unknown error"})}function pys({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const hys={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function mys({level:e}){const t=hys[e];return o.jsx(To,{children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function gys({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(Bo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(rd,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Mf,{className:n,"aria-hidden":!0});default:return null}}function vys({entityType:e,entityName:t}){const n=e??"";return o.jsxs(To,{className:"flex min-w-0 items-center gap-2",children:[o.jsx(gys,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function yys({message:e}){return o.jsx(To,{className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function bys({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(To,{children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(MTe,{font:"mono",children:t})}const Ql=Object.assign(q4,{Top:XZ,TopCell:mC,TopCellWithTooltip:JZ,TopCellSmart:M3t,RowWrapper:zTe,RowButton:V4,RowLink:$3t,Spacer:BTe,NoMatch:KZ,DateCell:DTe,TimeCell:LTe,LevelCell:mys,EntityCell:vys,MessageCell:yys,DataCell:bys,NextPageLoading:YZ}),Yet="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",xys=36,wys=8;function Sys({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=Nqt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>xys,overscan:wys}),{getRowProps:d}=So({count:e.length,containerRef:c,onNavigate:y=>u.scrollToIndex(y)}),f=g.useRef(t);if(g.useEffect(()=>{f.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),f.current=t},[t]),t)return o.jsx(vl,{columns:Yet});const p=u.getVirtualItems(),h=u.getTotalSize(),m=p[0]?.start??0,v=p.length>0?Math.max(0,h-(p[p.length-1]?.end??0)):0;return o.jsxs(Ql,{columns:Yet,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Ql.Top,{children:[o.jsx(Ql.TopCell,{children:"Date"}),o.jsx(Ql.TopCell,{children:"Time"}),o.jsx(Ql.TopCell,{children:"Level"}),o.jsx(Ql.TopCell,{children:"Entity"}),o.jsx(Ql.TopCell,{children:"Message"}),o.jsx(Ql.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Ql.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Ql.Spacer,{height:m}),p.map(y=>{const b=e[y.index];if(!b)return null;const x=a.get(b);if(!x)return null;const S=x===i;return o.jsxs(Ql.RowButton,{ref:u.measureElement,"data-index":y.index,...d(y.index),onClick:()=>l(b),featured:S,variant:b.level==="error"||b.level==="fatal"?"error":"default",children:[o.jsx(Ql.DateCell,{timestamp:b.timestamp}),o.jsx(Ql.TimeCell,{timestamp:b.timestamp}),o.jsx(Ql.LevelCell,{level:b.level}),o.jsx(Ql.EntityCell,{entityType:b.entityType,entityName:b.entityName}),o.jsx(Ql.MessageCell,{message:b.message}),o.jsx(Ql.DataCell,{data:b.data})]},x)}),o.jsx(Ql.Spacer,{height:v})]}),o.jsx(Ql.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function kys({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Oys(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(EAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(_Ae,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Oys(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const _ys={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},Nie="MMM d, yyyy HH:mm",Iie="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Cys({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${_ys[e]}`,description:Iie}:t&&n?{title:`No logs between ${xr(t,Nie)} and ${xr(n,Nie)}`,description:Iie}:t?{title:`No logs since ${xr(t,Nie)}`,description:Iie}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Eys=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Cys({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(vyt,{})]})})})},Tys=20,jys=1e4;function Nys(e,t,n){if(e?.pagination?.hasMore)return n+1}function Iys(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Ays(e){return R4(e.state.error,"logs")||P4(e.state.error)?!1:jys}const Rys=({filters:e}={})=>{const t=Ge(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Tys},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Nys,select:Iys,retry:!1,refetchInterval:Ays}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Jz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},kVt=[{label:"Agent",entityType:Jz.AGENT},{label:"Workflow",entityType:Jz.WORKFLOW},{label:"Scorer",entityType:Jz.SCORER},{label:"Ingest",entityType:Jz.INGEST}],Pys=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Xx="rootEntityType",rx="datePreset",sx="dateFrom",ax="dateTo",$ys=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),El={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},BL=Object.keys(El),GAe=new Set(["tags"]),QAe="mastra:logs:saved-filters";function Mys(e,t=QAe){const n=Bys(e),r=e.get(rx);r&&n.set(rx,r);const s=e.get(sx);s&&n.set(sx,s);const a=e.get(ax);a&&n.set(ax,a);try{localStorage.setItem(t,n.toString())}catch{}}function Dys(e=QAe){try{localStorage.removeItem(e)}catch{}}function Ket(e=QAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Lys(e){if(e.has(rx)||e.has(sx)||e.has(ax)||e.has(Xx))return!0;for(const t of BL)if(e.has(El[t]))return!0;return!1}function Fys({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:kVt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:Pys.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function zys(e){const t=[],n=new Map([[Xx,"rootEntityType"]]);for(const s of BL)n.set(El[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),GAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Bys(e){const t=new URLSearchParams,n=e.get(Xx);n&&t.set(Xx,n);for(const r of BL){const s=El[r];if(GAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Uys(e,t){e.delete(Xx);for(const n of BL)e.delete(El[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Xx,n.value);continue}const r=El[n.fieldId];if(r){if(GAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function qys({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function Vys(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Hys="Filters setting for Logs saved",Wys="Filters setting for Logs cleared up";function Zys(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>Ket(r)!==null),c=g.useCallback(()=>{Mys(e,r),l(!0);const f=s?.saved??Hys;f!==!1&&Be.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Dys(r),l(!1);const f=s?.cleared??Wys;f!==!1&&Be.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,Lys(e)))return;const f=Ket(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Gys(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Qys(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Gys(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Yys(e,t,n,r){const s=g.useMemo(()=>Qys(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Uxe="logId",qxe="traceId",Vxe="spanId",xP=1440*60*1e3,Kys={"last-24h":xP,"last-3d":3*xP,"last-7d":7*xP,"last-14d":14*xP,"last-30d":30*xP};function e8(e){e.delete(Uxe),e.delete(qxe),e.delete(Vxe)}function Xys(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const _=e.get(rx);return _&&$ys.has(_)?_:"last-24h"},[e]),a=e.get(sx),i=e.get(ax),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=Kys[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(Uxe),f=e.get(qxe),p=e.get(Vxe),h=g.useMemo(()=>kVt.find(_=>_.entityType===e.get(Xx)),[e]),m=g.useMemo(()=>zys(e),[e]),v=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);for(const[E,N]of Object.entries(_)){const I=E==="logId"?Uxe:E==="traceId"?qxe:Vxe;N?T.set(I,N):T.delete(I)}return T},{replace:!0})},[t]),y=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);return Uys(T,_),e8(T),T},{replace:!0})},[t]),b=y,x=g.useCallback((_,C)=>{if(u.current!=="custom")return;const T=C==="from"?sx:ax;t(E=>{const N=new URLSearchParams(E);return _?N.set(T,_.toISOString()):N.delete(T),e8(N),N},{replace:!0})},[t]),S=g.useCallback(_=>{u.current=_,t(C=>{const T=new URLSearchParams(C);return _==="last-24h"?(T.delete(rx),T.delete(sx),T.delete(ax)):_==="custom"?T.set(rx,"custom"):(T.set(rx,_),T.delete(sx),T.delete(ax)),e8(T),T},{replace:!0})},[t]),k=g.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Xx);for(const T of BL)C.delete(El[T]);return C.delete(rx),C.delete(sx),C.delete(ax),e8(C),C},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Nb=Fi.KeyValueList;function Jys({spanId:e,span:t,isLoading:n,onClose:r}){const s=LQ(t?.startedAt,t?.endedAt),a=uV(t?.startedAt),i=uV(t?.endedAt);return o.jsxs(Fi,{children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Fi.CloseButton,{onClick:r})]}),n?o.jsx(Fi.LoadingData,{children:"Loading span..."}):t?o.jsxs(Fi.Content,{children:[o.jsxs(Nb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Type"}),o.jsx(Nb.Value,{children:t.spanType})]}),a&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Started"}),o.jsx(Nb.Value,{children:a})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Ended"}),o.jsx(Nb.Value,{children:i})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Duration"}),o.jsx(Nb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Fi.CodeSection,{title:"Input",icon:o.jsx(gme,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Output",icon:o.jsx(vme,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Metadata",icon:o.jsx(ix,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Attributes",icon:o.jsx(ix,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Fi.NoData,{children:"Span not found."})]})}function ebs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>MAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(DAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Fi,{children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Fi.CloseButton,{onClick:r})]}),n?o.jsx(Fi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Fi.NoData,{children:"No spans found for this trace."}):o.jsx(Fi.Content,{children:o.jsx(tVt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function tbs(){const[e,t]=si(),n=Xys(e,t),r=Zys(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=PAe(),{data:d=[],isPending:f}=IAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=AAe(),{data:m=[],isPending:v}=RAe(),y=g.useMemo(()=>Fys({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>qys({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=Rys({filters:b}),{logIdMap:E,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Yys(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=Iqt(n.featuredTraceId??null),{data:F,isLoading:H}=zQ(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens(Vys(y,n.filterTokens)),[y,n]),z=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=g.useCallback(Y=>n.handleFeaturedChange({traceId:Y,spanId:null}),[n]),M=g.useCallback((Y,ne)=>n.handleFeaturedChange({traceId:Y,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(Y=>n.handleFeaturedChange({spanId:Y??null}),[n]),q=o.jsxs(Ut.TopArea,{children:[o.jsx(Ut.Row,{children:o.jsxs(Ut.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(I4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(TAe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(kys,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsx(fys,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsx(Eys,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(pys,{logCollapsed:i,listSlot:o.jsx(Sys,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,logIdMap:E,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(dys,{log:N,onClose:z,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(ebs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Jys,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:U}):null})]})}function nbs({server:e,rowProps:t}){const{paths:n,Link:r}=pn(),a=Ge().options.baseUrl,i=a?`${a}/api/mcp/${e.id}/sse`:"",{data:l}=rBt(e),c=Object.values(l||{}),u=c.length,d=c.filter(h=>h.toolType==="agent").length,f=c.filter(h=>h.toolType==="workflow").length,p=Qh(e.name,50);return o.jsxs(be.RowLink,{to:n.mcpServerLink(e.id),LinkComponent:r,...t,children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:i}),o.jsx(be.TextCell,{className:"text-center",children:d||""}),o.jsx(be.TextCell,{className:"text-center",children:u||""}),o.jsx(be.TextCell,{className:"text-center",children:f||""})]})}function rbs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const i=n.toLowerCase();return e.filter(l=>l.name?.toLowerCase().includes(i)||l.id?.toLowerCase().includes(i))},[e,n]),{containerRef:s,getRowProps:a}=So({count:r.length});return t?o.jsx(vl,{columns:"auto 1fr auto auto auto"}):o.jsxs(be,{columns:"auto 1fr auto auto auto",variant:"striped",scrollRef:s,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"URL"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(Bo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Tools",short:o.jsx(Mf,{}),tooltip:"Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Workflows",short:o.jsx(rd,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(be.NoMatch,{message:"No MCP Servers match your search"}):null,r.map((i,l)=>o.jsx(nbs,{server:i,rowProps:a(l)},i.id))]})}const sbs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Vs,{})]})})}),abs=()=>{const{data:e=[],isLoading:t,error:n}=mQ(),[r,s]=g.useState("");return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"MCP servers"})}):n?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(ar,{children:o.jsx(sbs,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Bf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(rbs,{mcpServers:e,isLoading:t,search:r})]})},ibs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function obs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=pn(),i=g.useMemo(()=>ibs(e,t),[e,t]),l=g.useMemo(()=>i.filter(d=>d.id.toLowerCase().includes(r.toLowerCase())),[i,r]),{containerRef:c,getRowProps:u}=So({count:l.length});return n?o.jsx(vl,{columns:"auto 1fr auto"}):o.jsxs(be,{columns:"auto 1fr auto",variant:"striped",scrollRef:c,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"Description"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(Bo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(be.NoMatch,{message:"No Tools match your search"}):null,l.map((d,f)=>{const p=Qh(d.id,50),h=Qh(d.description??"",200),m=d.agents.length;return o.jsxs(be.RowLink,{to:s.toolLink(d.id),LinkComponent:a,...u(f),children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:h}),o.jsx(be.TextCell,{className:"text-center",children:m||""})]},d.id)})]})}const lbs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Vs,{})]})})}),cbs=()=>{const e=Ge();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new A_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Be.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},ubs=({toolId:e})=>{const{canExecute:t}=qo(),n=t("tools"),{data:r={}}=$m(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=kRr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=cbs(),{requestContext:p}=hs();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?gm(Nx(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(eAe,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function dbs({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=VI(),{data:p={},isLoading:h,isError:m,error:v}=$m(),{navigate:y,paths:b}=pn();g.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Be.error(`Error loading tools: ${_}`)}},[d,f]),g.useEffect(()=>{if(m){const _=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${_}`)}},[m,v]);const x=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{x.has(C.id)||x.set(C.id,C)})}),Object.values(c).forEach(_=>{x.has(_.id)||x.set(_.id,_)});const S=Array.from(x.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(yl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const fbs=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Gx,{children:o.jsx(ve,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Gx,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ve,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(Xt,{icon:o.jsx(Xqt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(Xt,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ve,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(pbs,{server:t})})]})},pbs=({server:e})=>{const{data:t={},isLoading:n}=rBt(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(OC,{})}),o.jsx(ve,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(mbs,{tool:a,serverId:e.id},s)})})]})};function hbs(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const mbs=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=pn(),a=$Bt[e.toolType||"tool"],i=hbs(e._meta);return o.jsxs(qf,{onClick:()=>n.current?.click(),children:[o.jsx(WDt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Hf,{children:[o.jsx(Vf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(Xt,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(rh,{children:e.description})]})]})},gbs=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=mQ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(fbs,{isLoading:n,server:r})})};function vbs(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const ybs=({toolId:e,serverId:t})=>{const{canExecute:n}=qo(),r=n("tools"),s=Ge(),{data:a,isLoading:i,error:l}=QIe(t,e),{mutateAsync:c,isPending:u,data:d}=crs(t,e),f=a?vbs(a._meta):void 0,{data:p}=yt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=gm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Be.error("Failed to process tool input schema."),v=vs({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(nBt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(eAe,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},bbs=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=QIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(ybs,{toolId:t,serverId:e})})},OVt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],UN="rootEntityType",qN={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},HQ=Object.keys(qN),YAe="mastra:metrics:saved-filters";function xbs(e){const t=_bs(e);try{localStorage.setItem(YAe,t.toString())}catch{}}function wbs(){try{localStorage.removeItem(YAe)}catch{}}function _Vt(){try{const e=localStorage.getItem(YAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Sbs(e){if(e.has(UN))return!0;for(const t of HQ)if(e.has(qN[t]))return!0;return!1}function kbs({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:OVt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Obs(e){const t=[],n=new Map([[UN,"rootEntityType"]]);for(const s of HQ)n.set(qN[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function _bs(e){const t=new URLSearchParams,n=e.getAll(UN);for(const r of n)t.append(UN,r);for(const r of HQ){const s=qN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Cbs(e,t){e.delete(UN);for(const n of HQ)e.delete(qN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?UN:qN[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const Ebs="Any";function Xet(e){const t=e.trim();return t===""||t===Ebs}const Tbs=new Set(OVt.map(e=>e.entityType));function Jet(e){const t=e.trim();return Tbs.has(t)?t:void 0}function jbs(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!Xet(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?Jet(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(Xet(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=Jet(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const CVt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],Nbs=new Set(CVt.map(e=>e.value));function Ibs(e){return typeof e=="string"&&(Nbs.has(e)||e==="custom")}const EVt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function WQ(){return g.useContext(EVt)}function Abs(e,t){return e!=="custom"?CVt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${xr(t.from,"MMM d, yyyy")} – ${xr(t.to,"MMM d, yyyy")}`:xr(t.from,"MMM d, yyyy"):"Custom range"}function Rbs({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>jbs(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=Abs(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(EVt.Provider,{value:m,children:e})}const Pbs=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function $bs(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Mbs(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Dbs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=WQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(I4,{preset:$bs(e),onPresetChange:i=>{const l=Mbs(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Pbs})}const Hxe=1440*60*1e3,Lbs={"24h":Hxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Fbs(e,t,n){if(e!=="custom"){const r=Lbs[e]??Hxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Hxe),end:t?.to??new Date(n)}}function Fm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=WQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>Fbs(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function TVt(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function UL({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(mme,{})})}function zbs({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(WAn,{})})}function Bbs(e){return e==="agents"||e==="workflows"||e==="tools"}function ett(e,t){if(e.length===0)return"0";const n=e.reduce((r,s)=>{const a=s[t];return r+(typeof a=="number"&&Number.isFinite(a)?a:0)},0);return`${Math.round(n/e.length)}`}function Ubs(e){const t=e;return typeof t?.tsMs=="number"&&Number.isFinite(t.tsMs)}const qbs=[{dataKey:"p50",label:"p50",color:qp.blue,aggregate:e=>({value:ett(e,"p50"),suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:qp.yellow,aggregate:e=>({value:ett(e,"p95"),suffix:"avg ms"})}];function Aie({data:e,onPointClick:t}){return e.length===0?o.jsx(Bt.NoData,{message:"No latency data yet"}):o.jsx(jD,{data:e,series:qbs,onPointClick:t?n=>Ubs(n)?t(n):void 0:void 0})}function Vbs({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Bt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Bt.Actions,{children:h}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load latency data"}):o.jsx(Bt.Content,{children:m?o.jsxs(Vl,{value:p,onValueChange:b=>{Bbs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(mr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(mr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Ur,{value:"agents",children:o.jsx(Aie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Ur,{value:"workflows",children:o.jsx(Aie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Ur,{value:"tools",children:o.jsx(Aie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Bt.NoData,{message:"No latency data yet"})})]})}function Hbs(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Wbs(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function jVt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=Hbs(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function NVt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function ttt({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Fw,"branches"),jVt(a,zw,Bw,Uw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Yx,i),r.status&&a.set(Kx,r.status),$o(a,Cl.entityName,r.entityName??n.entityName),$o(a,Cl.threadId,r.threadId??n.threadId),$o(a,Cl.resourceId,r.resourceId??n.resourceId),$o(a,Cl.entityId,n.entityId),$o(a,Cl.runId,n.runId),$o(a,Cl.sessionId,n.sessionId),$o(a,Cl.requestId,n.requestId),$o(a,Cl.userId,n.userId),$o(a,Cl.organizationId,n.organizationId),$o(a,Cl.experimentId,n.experimentId),$o(a,Cl.serviceName,n.serviceName),$o(a,Cl.environment,n.environment),NVt(a,Cl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Zbs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;jVt(a,rx,sx,ax,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Xx,i),$o(a,El.entityName,r.entityName??n.entityName),$o(a,El.threadId,r.threadId??n.threadId),$o(a,El.resourceId,r.resourceId??n.resourceId),$o(a,El.runId,n.runId),$o(a,El.sessionId,n.sessionId),$o(a,El.requestId,n.requestId),$o(a,El.userId,n.userId),$o(a,El.organizationId,n.organizationId),$o(a,El.experimentId,n.experimentId),$o(a,El.serviceName,n.serviceName),$o(a,El.environment,n.environment),NVt(a,El.tags,n.tags),r.status==="error"&&a.append(El.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function lA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=WQ(),a=g.useCallback((c={})=>ttt({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>Zbs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Wbs(u,d);return ttt({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const IVt="1h";async function Rie(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:IVt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Gbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Rie(e,"mastra_agent_duration_ms",t),Rie(e,"mastra_workflow_duration_ms",t),Rie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:IVt}}})}const ntt={agents:Wu.AGENT,workflows:Wu.WORKFLOW_RUN,tools:Wu.TOOL};function Qbs(){const{data:e,isLoading:t,isError:n}=Gbs(),{getTracesHref:r,getBucketTracesHref:s}=lA(),{Link:a}=pn(),i=es();return o.jsx(Vbs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:ntt[l]},c.tsMs,"1h"))},actions:l=>o.jsx(UL,{href:r({rootEntityType:ntt[l]}),LinkComponent:a})})}function Ybs(e){return e==="threads"||e==="resources"}function Pie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Kbs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Bt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Bt.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Bt.Actions,{children:v}):null]}),m.isLoading?o.jsx(Bt.Loading,{}):m.isError?o.jsx(Bt.Error,{message:"Failed to load memory data"}):o.jsx(Bt.Content,{children:o.jsxs(Vl,{defaultTab:"threads",value:i,onValueChange:y=>{Ybs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"threads",children:"Threads"}),o.jsx(mr,{value:"resources",children:"Resources"})]}),o.jsx(Ur,{value:"threads",children:d?o.jsxs(be,{columns:"auto auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:Pie(y.threadId)}),o.jsx(be.NumberCell,{children:y.resourceId?Pie(y.resourceId):"—"}),o.jsx(be.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?sl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Bt.NoData,{message:"No thread activity yet"})}),o.jsx(Ur,{value:"resources",children:f?o.jsxs(be,{columns:"auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:Pie(y.resourceId)}),o.jsx(be.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?sl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Bt.NoData,{message:"No resource activity yet"})})]})})]})}const $ie=20;function Xbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:$ie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:$ie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:$ie})]),l=new Map,c=d=>oA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Mie=20;function Jbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Mie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Mie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Mie})]),l=new Map,c=d=>oA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function exs(){const e=Xbs(),t=Jbs(),{getTracesHref:n}=lA(),{Link:r}=pn();return o.jsx(Kbs,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function qL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:e}),o.jsx(Zr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Zr.Error,{}):s?o.jsx(Zr.Loading,{}):i?r!=null?o.jsx(Zr.Change,{changePct:r,prevValue:n}):o.jsx(Zr.NoChange,{}):o.jsx(Zr.NoData,{})]})}function txs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function nxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function rxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function sxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function axs(){const{data:e,isLoading:t,isError:n}=TVt();return o.jsx(qL,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ixs(){const{data:e,isLoading:t,isError:n}=rxs();return o.jsx(qL,{label:"Total Model Cost",value:e?.cost!=null?Up(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Up(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function oxs(){const{data:e,isLoading:t,isError:n}=sxs();return o.jsx(qL,{label:"Total Tokens",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function lxs(){const{data:e,isLoading:t,isError:n}=nxs();return o.jsx(qL,{label:"Total Threads",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function cxs(){const{data:e,isLoading:t,isError:n}=txs();return o.jsx(qL,{label:"Total Resources",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function uxs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>dxs(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(EAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(_Ae,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function dxs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function fxs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Up(l):"—":c.size===1?u=l>0?Up(l,[...c][0]):"—":u="Mixed",o.jsx(Bt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load model usage data"}):o.jsx(Bt.Content,{children:i?o.jsxs(be,{columns:"auto auto auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Model"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:l.model}),o.jsx(be.NumberCell,{children:l.input}),o.jsx(be.NumberCell,{children:l.output}),o.jsx(be.NumberCell,{children:l.cacheRead}),o.jsx(be.NumberCell,{children:l.cacheWrite}),o.jsx(be.NumberCell,{highlight:!0,children:l.cost!=null?Up(l.cost,l.costUnit):"—"})]});return c?o.jsx(be.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(be.RowStatic,{children:u},l.model)})]}):o.jsx(Bt.NoData,{message:"No model usage data yet"})})]})}function pxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>oA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:sl(f.input),output:sl(f.output),cacheRead:sl(f.cacheRead),cacheWrite:sl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function hxs(){const{data:e,isLoading:t,isError:n}=pxs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(fxs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Wu.AGENT}),actions:o.jsx(UL,{href:r({rootEntityType:Wu.AGENT}),LinkComponent:s})})}function mxs(e){return e==="tokens"||e==="cost"}function gxs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Bt.Summary,{value:Up(v,m),label:"Total cost"}):o.jsx(Bt.Summary,{value:sl(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load token usage data"}):o.jsx(Bt.Content,{children:u?o.jsxs(Vl,{defaultTab:"tokens",value:i,onValueChange:b=>{mxs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"tokens",children:"Tokens"}),o.jsx(mr,{value:"cost",children:"Cost"})]}),o.jsx(Ur,{value:"tokens",children:o.jsx(BN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:qp.blueDark},{label:"Output",color:qp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:sl})}),o.jsx(Ur,{value:"cost",children:y?o.jsx(BN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:qp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Up(b,m)}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function vxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>oA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function yxs(){const{data:e,isLoading:t,isError:n}=vxs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(gxs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Wu.AGENT,entityName:a.name}),actions:o.jsx(UL,{href:r({rootEntityType:Wu.AGENT}),LinkComponent:s})})}function Wxe(e,t=sl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const bxs=[{dataKey:"input",label:"Input tokens",color:qp.blue,aggregate:Wxe("input")},{dataKey:"output",label:"Output tokens",color:qp.yellow,aggregate:Wxe("output")}];function xxs(e){return e==="tokens"||e==="cost"}function wxs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,_)=>k+_.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,_)=>k+(_.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:qp.purple,aggregate:Wxe("cost",k=>Up(k,v))}];return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Bt.Summary,{value:Up(y,v),label:"Total cost"}):o.jsx(Bt.Summary,{value:sl(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),n?o.jsx(Bt.Loading,{}):r?o.jsx(Bt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Bt.Content,{children:u?o.jsxs(Vl,{defaultTab:"tokens",value:a,onValueChange:k=>{xxs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"tokens",children:"Tokens"}),o.jsx(mr,{value:"cost",children:"Cost"})]}),o.jsx(Ur,{value:"tokens",children:o.jsx(jD,{data:c,series:bxs})}),o.jsx(Ur,{value:"cost",children:b?o.jsx(jD,{data:p,series:S}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function Sxs(e){return e==="24h"?"1h":"1d"}function kxs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function rtt(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function Oxs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function _xs(){const e=Ge(),{datePreset:t,filters:n,filterKey:r}=Fm(),s=Sxs(t);return yt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return rtt(l,a.series[0],"input"),rtt(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:kxs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:Oxs(u)}}),interval:s}}})}function Cxs(){const{data:e,isLoading:t,isError:n}=_xs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(wxs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(UL,{href:r(),LinkComponent:s})})}function Die({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(BN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:qp.blueDark},{label:"Errors",color:qp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:sl})}function Exs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Bt.Summary,{value:sl(f),label:"Total runs"}),u?o.jsx(Bt.Actions,{children:u}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load trace volume data"}):o.jsx(Bt.Content,{children:d?o.jsxs(Vl,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"agents",children:"Agents"}),o.jsx(mr,{value:"workflows",children:"Workflows"}),o.jsx(mr,{value:"tools",children:"Tools"})]}),o.jsx(Ur,{value:"agents",children:e.agentData.length>0?o.jsx(Die,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No agent data yet"})}),o.jsx(Ur,{value:"workflows",children:e.workflowData.length>0?o.jsx(Die,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No workflow data yet"})}),o.jsx(Ur,{value:"tools",children:e.toolData.length>0?o.jsx(Die,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No tool data yet"})})]}):o.jsx(Bt.NoData,{message:"No trace volume data yet"})})]})}async function Lie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=oA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function Txs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Lie(e,"mastra_agent_duration_ms",t),Lie(e,"mastra_workflow_duration_ms",t),Lie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const t8={agents:Wu.AGENT,workflows:Wu.WORKFLOW_RUN,tools:Wu.TOOL};function jxs(){const{data:e,isLoading:t,isError:n}=Txs(),{getTracesHref:r,getLogsHref:s}=lA(),{Link:a}=pn();return o.jsx(Exs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:t8[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:t8[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(UL,{href:r({rootEntityType:t8[i]}),LinkComponent:a}),o.jsx(zbs,{href:s({rootEntityType:t8[i],status:"error"}),LinkComponent:a})]})})}const Fie="period",n8="dateFrom",r8="dateTo";function Nxs(){const[e,t]=si(),n=e.get(Fie),r=Ibs(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(n8)),p=d(e.get(r8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>Obs(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Fie):p.set(Fie,d),d!=="custom"&&(p.delete(n8),p.delete(r8)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(n8,d.from.toISOString()):p.delete(n8),d?.to?p.set(r8,d.to.toISOString()):p.delete(r8),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Cbs(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,Sbs(e)))return;const d=_Vt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Rbs,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Ixs,{})})}function Ixs(){const[e]=si(),{error:t,isLoading:n}=TVt(),{filterTokens:r,setFilterTokens:s}=WQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=Pqt(),{data:d,isLoading:f}=PAe(),{data:p,isLoading:h}=IAe(),{data:m,isLoading:v}=RAe(),{data:y,isLoading:b}=AAe(),x=g.useMemo(()=>kbs({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>_Vt()!==null),_=g.useCallback(()=>{xbs(e),k(!0),Be.success("Filters setting for Metrics saved")},[e]),C=g.useCallback(()=>{wbs(),k(!1),Be.success("Filters setting for Metrics cleared up")},[]),T=g.useCallback(()=>{s([])},[s]),E=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&ks(t)?o.jsx(ar,{children:o.jsx(Js,{})}):t&&_s(t)?o.jsx(ar,{children:o.jsx(Zs,{resource:"metrics"})}):t?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ut,{width:"wide",height:"full",children:[o.jsxs(Ut.TopArea,{children:[o.jsx(Ut.Row,{children:o.jsxs(Ut.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Dbs,{}),o.jsx(TAe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(uxs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:E,onRemoveAll:T,onSave:_,onRemoveSaved:S?C:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Dn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Dn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(zxe,{children:[o.jsx(axs,{}),o.jsx(ixs,{}),o.jsx(oxs,{}),o.jsx(lxs,{}),o.jsx(cxs,{})]}),o.jsxs(zxe,{children:[o.jsx(hxs,{}),o.jsx(yxs,{}),o.jsx(Cxs,{}),o.jsx(exs,{}),o.jsx(jxs,{}),o.jsx(Qbs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Vs,{})]})})})]})}const Axs=50;function Rxs(){const{paths:e}=pn(),{isCmsAvailable:t}=pS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=DBt({page:s,perPage:Axs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&ks(c)?o.jsx(ar,{children:o.jsx(Js,{})}):c&&_s(c)?o.jsx(ar,{children:o.jsx(Zs,{resource:"prompt blocks"})}):c?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(ar,{children:o.jsx(jos,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsxs(Ut.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Bf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(oe,{as:ni,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Yr,{}),"Create Prompt"]})]})}),o.jsx(Tos,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Pxs(){return o.jsx(Ut,{width:"narrow",children:o.jsx(Ut.MainArea,{children:o.jsx(Jrs,{children:o.jsx(hxe,{})})})})}const $xs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:JQt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Plt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Vs,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:bV,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:zlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:$lt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Mxs(){return o.jsx(Ut,{width:"narrow",children:o.jsx(Ut.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:$xs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(Vs,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function Dxs(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&ks(n))return o.jsx(ar,{children:o.jsx(Js,{})});if(n&&_s(n))return o.jsx(ar,{children:o.jsx(Zs,{resource:"scorers"})});if(n)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(ar,{children:o.jsx($as,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(Das,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(Pas,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function Lxs(){const{scorerId:e}=Sr(),[t,n]=si(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState(!1),c=es(),[u,d]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:f,error:p}=das(e),{data:h={},isLoading:m,error:v}=$m(),{isLoading:y,error:b}=Qy(),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=uas({scorerId:e,entityId:u?.value==="all"?void 0:u?.value,entityType:u?.type==="ALL"?void 0:u?.type}),E=g.useMemo(()=>f?.agentIds?.filter($=>h[$]).map($=>({value:$,label:h[$].name,type:"AGENT"}))||[],[f?.agentIds,h]),N=g.useMemo(()=>f?.workflowIds?.map($=>({value:$,label:$,type:"WORKFLOW"}))||[],[f?.workflowIds]),I=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...E,...N],[E,N]),A=t.get("entity")??"all",R=I.find($=>$.value===A);R&&R.value!==u?.value&&d(R),g.useEffect(()=>{if(p){const $=p instanceof Error?p.message:"Failed to load scorer";Be.error(`Error loading scorer: ${$}`)}},[p]),g.useEffect(()=>{if(v){const $=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${$}`)}},[v]),g.useEffect(()=>{if(b){const $=b instanceof Error?b.message:"Failed to load workflows";Be.error(`Error loading workflows: ${$}`)}},[b]);const L=$=>{$?.value&&n(q=>{const Z=new URLSearchParams(q);return Z.set("entity",$.value),Z})};g.useEffect(()=>{const $=t.get("scoreId")??void 0;if($===s)return;if(!$){a(void 0);return}x.find(Z=>Z.id===$)&&a($)},[t,x]);const D=g.useCallback($=>{a($||void 0),n(q=>{const Z=new URLSearchParams(q);return $?Z.set("scoreId",$):Z.delete("scoreId"),Z})},[n]);if(!f)return null;const F=ks(p)||ks(v)||ks(b),H=p&&_s(p),B=!F&&!H&&(p||v||b),z=!S&&x.length===0,V=u?.value!=="all",M=f?.scorer?.source==="stored"?o.jsx(Dy,{owner:"scorer-detail",children:o.jsxs(oe,{variant:"default",as:ni,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(cm,{})," Edit"]})}):null,G=e?o.jsx(qAe,{open:i,onOpenChange:l,initialScorerIds:[e],onSuccess:$=>{c(`/experiments/${$}`)}}):null;if(F||H||B||z&&!V){const $=(p instanceof Error?p.message:void 0)??(v instanceof Error?v.message:void 0)??(b instanceof Error?b.message:void 0)??"An unexpected error occurred";return o.jsxs(Ut,{width:"wide",height:"full",className:"grid-rows-[1fr]",children:[M,o.jsx(Ut.MainArea,{isCentered:!0,children:F?o.jsx(Js,{}):H?o.jsx(Zs,{resource:"scorers"}):B?o.jsx(qi,{title:"Failed to load scorer",message:$}):o.jsx(ras,{onRunExperiment:()=>l(!0)})}),G]})}return o.jsxs(Ut,{width:"wide",height:"full",children:[M,o.jsx(Ut.TopArea,{children:o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsx(sas,{selectedEntity:u,entityOptions:I,onEntityChange:L,onReset:()=>{n($=>{const q=new URLSearchParams($);return q.set("entity","all"),q})},isLoading:S||m||y}),o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(pu,{}),"Run Experiment"]})]})}),o.jsx(nas,{scores:x,isLoading:S,selectedScoreId:s,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,onScoreClick:D,errorMsg:k?.message}),G]})}const Fxs=Ha("flex min-w-0 flex-col",{variants:{variant:{default:"gap-3 sm:flex-row sm:items-center sm:justify-between",factory:"gap-2 px-4 py-3 lg:flex-row lg:items-center lg:justify-between lg:gap-4"}},defaultVariants:{variant:"default"}}),zxs=Ha("flex min-w-0 flex-col",{variants:{variant:{default:"",factory:"gap-0.5"}},defaultVariants:{variant:"default"}}),stt=Ha("",{variants:{variant:{default:"text-sm font-medium",factory:"text-ui-md leading-ui-md text-neutral5"}},defaultVariants:{variant:"default"}}),Bxs=Ha("flex flex-col gap-0.5",{variants:{variant:{default:"text-sm text-neutral3",factory:"text-ui-sm text-neutral3"}},defaultVariants:{variant:"default"}});function Uxs({label:e,description:t,htmlFor:n,variant:r,className:s,children:a}){return o.jsxs("div",{className:K(Fxs({variant:r}),s),"data-slot":"settings-row",children:[o.jsxs("div",{className:zxs({variant:r}),children:[n?o.jsx($t,{htmlFor:n,className:stt({variant:r}),children:e}):o.jsx("span",{className:stt({variant:r}),children:e}),t&&o.jsx("div",{className:Bxs({variant:r}),children:t})]}),a]})}const AVt=[{value:"dark",label:"Dark",Icon:AKt},{value:"light",label:"Light",Icon:HXt},{value:"system",label:"System",Icon:Wlt}],qxs=e=>AVt.some(t=>t.value===e);function Vxs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Hxs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=_H(),{theme:r,setTheme:s}=K_();return o.jsx(Ut,{width:"narrow",children:o.jsxs(Ut.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Vbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Uxs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{qxs(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:AVt.map(a=>o.jsx(Ir,{value:a.value,children:o.jsx(Vxs,{option:a})},a.value))})]})})}),o.jsx(Vbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(H3t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Wxs(){const[e]=si(),t=es(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(SVt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const RVt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function Zxs(e){return e.replace(/\/$/,"").split("/").pop()}function ZQ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function Gxs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(Bo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Mf,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Glt,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(JN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(OC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(RVt,{})," ",Zxs(a.githubUrl)]})})]},a.slug)})})}function Qxs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(v_,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Tc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Tc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(oe,{onClick:c,children:["Reset ",o.jsx(Os,{})]})]})}function Yxs(){const{data:e,isLoading:t}=fsr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs($s,{children:[o.jsx(lSe,{children:o.jsxs(fbt,{children:[o.jsx(Ve,{children:o.jsx(iy,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Qxs,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(Gxs,{templates:y,linkComponent:ni,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Kxs="1.63.1-alpha.2";function Xxs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(Cf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(TYt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(ZQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function Jxs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(ZQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(Qlt,{})]}),o.jsx(Tc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Vt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(Fg,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(Fg,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(uBt,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(oe,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Vt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Hg,{})]})})]})})}function e0s({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(iy,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(e0,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(o0e,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(RVt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(mBt,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function att(e){switch(e){case"running":return o.jsx(Vt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(wy,{"aria-hidden":!0});case"failed":return o.jsx(Ac,{"aria-hidden":!0});default:return null}}function t0s(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function n0s({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:K("flex size-4 items-center justify-center self-center [&>svg]:size-4",Qr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(t0s,{}):att(e)}):o.jsx("span",{className:K("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Qr.colors,Qr.transform,Qr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:att(e)})}function r0s({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Qr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("flex min-w-6 justify-end text-ui-md",Qr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:K("text-ui-md",Qr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:K("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(n0s,{status:e.status,variant:r})]})}function s0s({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(r0s,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function a0s({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:K("relative flex h-8 items-center justify-end",Qr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Qr.colors,Qr.transform,Qr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Vt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-center text-xs text-neutral3",Qr.colors),children:[n," of ",t," steps completed"]})]})}function i0s({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(ZQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(a0s,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(UKt,{}),l||"Something went wrong"]}),u&&o.jsx(s0s,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(Vt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function o0s({name:e,installedEntities:t}){return o.jsxs(ZQ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Qlt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(mBt,{data:t})]})}function l0s(){const{templateSlug:e}=Sr(),[t,n]=si(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState([]),{data:N,isLoading:I}=psr({repoOrSlug:e,owner:"mastra-ai"}),R=Kxs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=hsr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=msr(),{mutateAsync:B,isPending:z}=gsr(),{mutateAsync:V}=vsr(),{streamInstall:M,streamResult:G,isStreaming:U}=bsr(F),{observeInstall:$,streamResult:q,isStreaming:Z}=xsr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(re=>{const pe=re.snapshot;if(pe?.status==="success"&&pe?.result?.success)y(!0);else if(pe?.result?.success===!1)if(pe?.result?.validationResults&&!pe?.result?.validationResults?.valid&&pe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:Se,errors:ge}=pe.result.validationResults,ke=`Template installation completed but ${Se} validation issue${Se>1?"s":""} remain unresolved.`;m(ke),E(ge||[])}else{const Se=pe?.result?.message||pe?.result?.error||"Template installation failed";m(typeof Se=="string"?Se:String(Se))}}).catch(re=>{console.error("❌ Failed to fetch run details:",re),m("Failed to retrieve installation status after reload")}))},[t,v,h,U,Z,V]),g.useEffect(()=>{const te=t.get("runId"),re=t.get("resume"),pe=t.get("provider");if(te&&re==="true"&&pe&&!U&&!Z&&!S&&!_&&F){x(te),k(!0);try{V({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const Se=new URLSearchParams(ce);return Se.delete("resume"),Se})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,F,V,$,n]);const Y=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Mf,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(Bo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(JN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Vv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(XN,{})}],J=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||q;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=te=>{s(te)},se=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),le=async()=>{const te=Object.entries(u).reduce((re,[pe,ce])=>(ce===""&&re.push(pe),re),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const pe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(Se=>{const ge=new URLSearchParams(Se);return ge.set("runId",ce),ge.set("resume","true"),ge.set("provider",r||"openai"),ge}),await M.mutateAsync({inputData:pe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(re){C(!1),m(re?.message||"Template installation failed"),console.error("Template installation failed",re)}}},X=te=>{const{name:re,value:pe}=te.target;pe.trim()===""?p(ce=>[...ce,re]):p(ce=>ce.filter(Se=>Se!==re)),d(ce=>({...ce,[re]:pe}))};return o.jsx($s,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(e0s,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(i0s,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:F}),v&&o.jsx(o0s,{name:N.title,installedEntities:J,linkComponent:ni}),h&&o.jsx(Xxs,{errorMsg:h,validationErrors:T.length>0?T:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!v&&!h&&o.jsx(Jxs,{providerOptions:Y,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:le,handleVariableChange:X,isLoadingEnvVars:D||H,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:se})]})]})})})}const c0s=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Wis,{toolId:e,agentId:t})})},u0s=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(ubs,{toolId:e})})};function d0s(){const{data:e,isLoading:t,error:n}=Qy(),[r,s]=g.useState("");return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"workflows"})}):n?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(ar,{children:o.jsx(sZr,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsxs(Ut.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Bf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(oe,{as:ni,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(BD,{}),"Schedules"]})]})}),o.jsx(rZr,{workflows:e||{},isLoading:t,search:r})]})}const f0s={active:"bg-accent1",paused:"bg-accent3"},p0s={active:"text-accent1",paused:"text-accent3"},PVt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${f0s[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${p0s[e]}`,children:e})]}),gj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),e$=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function $Vt({status:e}){const{icon:t,color:n}=h0s(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function h0s(e){switch(e){case"success":return{icon:o.jsx(ca,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(Os,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Vt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(hV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Df,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(xj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const itt="auto auto auto auto 1fr";function m0s(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function g0s(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const v0s=3e4,y0s=5*6e4;function b0s({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=pn(),c=h=>!!(n&&h.runId&&h.outcome!=="failed"),u=e.filter(c).length,{containerRef:d,getRowProps:f}=So({count:u});let p=-1;return t?o.jsx(vl,{columns:itt}):e.length===0?o.jsx(ve,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(be,{columns:itt,className:"min-w-0",scrollRef:d,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Run"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Started"}),o.jsx(be.TopCell,{children:"Duration"}),o.jsx(be.TopCell,{children:" "})]}),e.map(h=>{const m=h.actualFireAt-h.scheduledFireAt,v=g0s(m),y=`Scheduled ${gj(h.scheduledFireAt)} — published ${gj(h.actualFireAt)} (drift ${v})`,b=h.outcome==="failed",x=b?h.error:h.run?.error,S=Math.abs(m),k=!b&&S>v0s&&S<=y0s,_=`${h.scheduleId}-${h.runId}-${h.actualFireAt}`,C=c(h);C&&(p+=1);const T=o.jsx("span",{className:C?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:h.runId}),E=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{children:T}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[b?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Cf,{size:14}),"publish failed"]}):h.run?o.jsx($Vt,{status:h.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),x?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsx(On,{children:x})]}):null]})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:y,children:e$(h.actualFireAt)}),k?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsxs(On,{children:["Published ",v," after the scheduled fire time"]})]}):null]})}),o.jsx(be.Cell,{children:h.run?o.jsx("span",{children:m0s(h.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(be.Cell,{children:" "})]});return C?o.jsx(be.RowLink,{to:l.workflowRunLink(n,h.runId),LinkComponent:i,...f(p),children:E},_):o.jsx(be.RowStatic,{children:E},_)}),o.jsx(be.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const x0s=e=>{const t=Ge();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},ott=25,w0s=e=>{const t=Ge(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:ott,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<ott))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},S0s=e=>{const t=Ge(),n=Lr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Be.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Be.error(r.message)}})};function s8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ve,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function k0s(){const{scheduleId:e}=Sr(),{paths:t}=pn(),{data:n,error:r}=x0s(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=w0s(e),d=S0s(e);if(r&&ks(r))return o.jsx(ar,{children:o.jsx(Js,{})});if(r&&_s(r))return o.jsx(ar,{children:o.jsx(Zs,{resource:"schedules"})});if(r)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(Ut.Row,{className:"justify-end",children:o.jsxs(Ut.Column,{className:"flex justify-end gap-2",children:[o.jsxs(oe,{as:ni,to:t.schedulesLink(),variant:"ghost",children:[o.jsx($c,{}),"Back to schedules"]}),f?o.jsx(oe,{as:ni,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(oe,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(c0e,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(pu,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(s8,{label:p?"Agent":"Workflow",children:f?o.jsx(ni,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(ni,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(s8,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(s8,{label:"Status",children:o.jsx(PVt,{status:n.status})}),o.jsx(s8,{label:"Next fire",children:o.jsx("span",{title:gj(n.nextFireAt),children:e$(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ve,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(qi,{title:"Failed to load trigger history",message:i.message}):o.jsx(b0s,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const ltt="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function O0s({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=pn(),a=g.useMemo(()=>{const c=n.toLowerCase();return c?e.filter(u=>u.id.toLowerCase().includes(c)||(u.workflowId??u.agentId??"").toLowerCase().includes(c)):e},[e,n]),{containerRef:i,getRowProps:l}=So({count:a.length});return t?o.jsx(vl,{columns:ltt}):o.jsxs(be,{columns:ltt,variant:"striped",className:"min-w-0",scrollRef:i,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Target"}),o.jsx(be.TopCell,{children:"Schedule ID"}),o.jsx(be.TopCell,{children:"Cron"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Next fire"}),o.jsx(be.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(be.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(be.NoMatch,{message:"No schedules configured"}):null,a.map((c,u)=>o.jsxs(be.RowLink,{to:r.scheduleLink(c.id),LinkComponent:s,...l(u),children:[o.jsx(be.NameCell,{children:c.workflowId??c.agentId}),o.jsx(be.Cell,{className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:c.id,children:c.id})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:c.cron}),c.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:c.timezone}):null]})}),o.jsx(be.Cell,{children:o.jsx(PVt,{status:c.status})}),o.jsx(be.Cell,{children:o.jsx("span",{className:"whitespace-nowrap",title:gj(c.nextFireAt),children:e$(c.nextFireAt)})}),o.jsx(be.Cell,{children:c.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx($Vt,{status:c.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:gj(c.lastFireAt),children:c.lastFireAt?e$(c.lastFireAt):""})]}):c.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:gj(c.lastFireAt),children:e$(c.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},c.id))]})}function _0s({workflowId:e}={}){const{data:t,isLoading:n,error:r}=iSe(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(qi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(Bf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(O0s,{schedules:t??[],isLoading:n,search:s})})]})}function C0s(){const[e]=si(),t=e.get("workflowId")??void 0,{error:n}=iSe(t?{workflowId:t}:{});return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"schedules"})}):o.jsx(Ut,{children:o.jsx("div",{className:"h-full",children:o.jsx(_0s,{workflowId:t})})})}function E0s({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=IOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=D_t(r),[d]=L_t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=FLt({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(M_t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(_je,{position:"bottom-left"}),o.jsx(z_t,{variant:dy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Vt,{})})})}function T0s(){const{stepDetail:e,closeStepDetail:t}=OW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(wj,{className:"h-4 w-4",style:{color:Mu.map}}),e.type==="nested-graph"&&o.jsx(rd,{className:"h-4 w-4",style:{color:Mu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ve,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ve,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx(Os,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(K2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(NOe,{children:o.jsx(E0s,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function j0s(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function N0s(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function I0s({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ve,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(hV,{})}),"Step suspended"]}),o.jsx(Xt,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?gm(Nx(i.resumeSchema)):of(cr(),vf());return o.jsx(A0s,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function A0s({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ve,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ve,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ve,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(PKt,{})}),"The step is asking"]}),o.jsxs(Ju,{open:a,onOpenChange:i,children:[o.jsxs(yu,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(na,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ve,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:N0s(e.suspendPayload,e.stepId)})]}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:j0s(e.suspendPayload)})]}),o.jsx(bu,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Gr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ve,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(DKt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(oU,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(pu,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function R0s(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(Bl),{runId:a}=Sr(),i=Z_t(e,r??""),l=_tr(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(I0s,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const P0s=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),$0s=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),M0s=e=>e.includes("."),D0s=e=>e==="input"||e.endsWith(".input"),L0s=1;function F0s(e){return`${Number((e/1e3).toPrecision(3))}s`}function z0s(e,t){const n=Object.entries(e).filter(([i])=>!D0s(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,L0s);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:M0s(i)}})}const B0s=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(P0s,{className:"text-accent1"}),e==="failed"&&o.jsx($0s,{className:"text-accent2"}),e==="suspended"&&o.jsx(hV,{className:"text-accent3"}),e==="waiting"&&o.jsx(jpe,{className:"text-accent5"}),e==="skipped"&&o.jsx(jpe,{className:"text-icon3"}),e==="running"&&o.jsx(oa,{className:"text-accent6 animate-spin"})]}),U0s={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function MVt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ctt=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},q0s=e=>{const t=e;return NLt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},V0s=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=q0s(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(B0s,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(FXt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Vq,{indicators:c,className:"shrink-0"})}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:MVt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${U0s[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(DXt,{})})}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:F0s(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function H0s(){const{steps:e}=X4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=PH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);_bt(f,{enabled:!l});const p=z0s(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ve,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Sa,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(V0s,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ctt(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ctt(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(Q_t,{data:u.data,title:`${MVt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const W0s=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=OW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(WLt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(R0s,{}),o.jsx(H0s,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(T0s,{})})]})},utt=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=a4(e);return r&&ks(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})}):r&&_s(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"workflows"})}):o.jsx(QOe,{children:o.jsx(W0s,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Z0s(e,t){if(e==null)return{};var n,r,s=JSt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Zxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G0s(e){if(Array.isArray(e))return Zxe(e)}function Q0s(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Y0s(e,t){if(e){if(typeof e=="string")return Zxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zxe(e,t):void 0}}function K0s(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
644
|
+
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Bxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Bxe(t))}return!1}function eys({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function tys({className:e,children:t}){return o.jsx("div",{className:K("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function nys({className:e,children:t}){return o.jsx("h3",{className:K("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function rys({className:e,children:t}){return o.jsx("dl",{className:K("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function sys({className:e,children:t}){return o.jsx("dt",{className:K("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function ays({className:e,children:t}){return o.jsx("dd",{className:K("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function iys({className:e,children:t}){return o.jsx("dt",{className:K("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const oys=Object.assign(rys,{Key:sys,Value:ays,Header:iys});function lys({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(Vt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function cys({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Fi=Object.assign(Gvs,{Header:tys,Heading:nys,CloseButton:Qvs,LoadingData:lys,NoData:cys,Content:eys,KeyValueList:oys,CodeSection:Jvs}),pp=Fi.KeyValueList;function uys(e){return e instanceof Date?e:new Date(e)}function dys({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=uys(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Fi,{collapsed:d,children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Log ",o.jsx("b",{children:xr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Jr,{className:"ml-auto shrink-0",children:[l&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(kH,{}):o.jsx(H1e,{})}),o.jsxs(Jr,{spacing:"close",children:[o.jsx(oe,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(_3,{})}),o.jsx(oe,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(O3,{})})]}),o.jsx(Fi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Fi.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:K("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Jr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(B7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Ba,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Jr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(B7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Ba,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(pp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Entity Type"}),o.jsx(pp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Entity Name"}),o.jsx(pp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Service"}),o.jsx(pp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Environment"}),o.jsx(pp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(pp.Key,{children:"Source"}),o.jsx(pp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(pp.Key,{children:v}),o.jsx(pp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Fi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function fys({error:e,resource:t,errorTitle:n}){if(ks(e))return o.jsx(Js,{});if(_s(e))return o.jsx(Zs,{resource:t});if(P4(e))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(R4(e,"logs"))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(qi,{title:n,message:r??"Unknown error"})}function pys({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const hys={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function mys({level:e}){const t=hys[e];return o.jsx(To,{children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function gys({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(Bo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(rd,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Mf,{className:n,"aria-hidden":!0});default:return null}}function vys({entityType:e,entityName:t}){const n=e??"";return o.jsxs(To,{className:"flex min-w-0 items-center gap-2",children:[o.jsx(gys,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function yys({message:e}){return o.jsx(To,{className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function bys({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(To,{children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(MTe,{font:"mono",children:t})}const Ql=Object.assign(q4,{Top:XZ,TopCell:mC,TopCellWithTooltip:JZ,TopCellSmart:M3t,RowWrapper:zTe,RowButton:V4,RowLink:$3t,Spacer:BTe,NoMatch:KZ,DateCell:DTe,TimeCell:LTe,LevelCell:mys,EntityCell:vys,MessageCell:yys,DataCell:bys,NextPageLoading:YZ}),Yet="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",xys=36,wys=8;function Sys({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=Nqt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>xys,overscan:wys}),{getRowProps:d}=So({count:e.length,containerRef:c,onNavigate:y=>u.scrollToIndex(y)}),f=g.useRef(t);if(g.useEffect(()=>{f.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),f.current=t},[t]),t)return o.jsx(vl,{columns:Yet});const p=u.getVirtualItems(),h=u.getTotalSize(),m=p[0]?.start??0,v=p.length>0?Math.max(0,h-(p[p.length-1]?.end??0)):0;return o.jsxs(Ql,{columns:Yet,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Ql.Top,{children:[o.jsx(Ql.TopCell,{children:"Date"}),o.jsx(Ql.TopCell,{children:"Time"}),o.jsx(Ql.TopCell,{children:"Level"}),o.jsx(Ql.TopCell,{children:"Entity"}),o.jsx(Ql.TopCell,{children:"Message"}),o.jsx(Ql.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Ql.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Ql.Spacer,{height:m}),p.map(y=>{const b=e[y.index];if(!b)return null;const x=a.get(b);if(!x)return null;const S=x===i;return o.jsxs(Ql.RowButton,{ref:u.measureElement,"data-index":y.index,...d(y.index),onClick:()=>l(b),featured:S,variant:b.level==="error"||b.level==="fatal"?"error":"default",children:[o.jsx(Ql.DateCell,{timestamp:b.timestamp}),o.jsx(Ql.TimeCell,{timestamp:b.timestamp}),o.jsx(Ql.LevelCell,{level:b.level}),o.jsx(Ql.EntityCell,{entityType:b.entityType,entityName:b.entityName}),o.jsx(Ql.MessageCell,{message:b.message}),o.jsx(Ql.DataCell,{data:b.data})]},x)}),o.jsx(Ql.Spacer,{height:v})]}),o.jsx(Ql.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function kys({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>Oys(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(EAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(_Ae,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Oys(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const _ys={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},Nie="MMM d, yyyy HH:mm",Iie="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Cys({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${_ys[e]}`,description:Iie}:t&&n?{title:`No logs between ${xr(t,Nie)} and ${xr(n,Nie)}`,description:Iie}:t?{title:`No logs since ${xr(t,Nie)}`,description:Iie}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Eys=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Cys({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(vyt,{})]})})})},Tys=20,jys=1e4;function Nys(e,t,n){if(e?.pagination?.hasMore)return n+1}function Iys(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Ays(e){return R4(e.state.error,"logs")||P4(e.state.error)?!1:jys}const Rys=({filters:e}={})=>{const t=Ge(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Tys},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Nys,select:Iys,retry:!1,refetchInterval:Ays}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Jz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},kVt=[{label:"Agent",entityType:Jz.AGENT},{label:"Workflow",entityType:Jz.WORKFLOW},{label:"Scorer",entityType:Jz.SCORER},{label:"Ingest",entityType:Jz.INGEST}],Pys=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Xx="rootEntityType",rx="datePreset",sx="dateFrom",ax="dateTo",$ys=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),El={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},BL=Object.keys(El),GAe=new Set(["tags"]),QAe="mastra:logs:saved-filters";function Mys(e,t=QAe){const n=Bys(e),r=e.get(rx);r&&n.set(rx,r);const s=e.get(sx);s&&n.set(sx,s);const a=e.get(ax);a&&n.set(ax,a);try{localStorage.setItem(t,n.toString())}catch{}}function Dys(e=QAe){try{localStorage.removeItem(e)}catch{}}function Ket(e=QAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Lys(e){if(e.has(rx)||e.has(sx)||e.has(ax)||e.has(Xx))return!0;for(const t of BL)if(e.has(El[t]))return!0;return!1}function Fys({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:kVt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:Pys.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function zys(e){const t=[],n=new Map([[Xx,"rootEntityType"]]);for(const s of BL)n.set(El[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),GAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Bys(e){const t=new URLSearchParams,n=e.get(Xx);n&&t.set(Xx,n);for(const r of BL){const s=El[r];if(GAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Uys(e,t){e.delete(Xx);for(const n of BL)e.delete(El[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Xx,n.value);continue}const r=El[n.fieldId];if(r){if(GAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function qys({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function Vys(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Hys="Filters setting for Logs saved",Wys="Filters setting for Logs cleared up";function Zys(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>Ket(r)!==null),c=g.useCallback(()=>{Mys(e,r),l(!0);const f=s?.saved??Hys;f!==!1&&Be.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Dys(r),l(!1);const f=s?.cleared??Wys;f!==!1&&Be.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,Lys(e)))return;const f=Ket(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Gys(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Qys(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Gys(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Yys(e,t,n,r){const s=g.useMemo(()=>Qys(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Uxe="logId",qxe="traceId",Vxe="spanId",xP=1440*60*1e3,Kys={"last-24h":xP,"last-3d":3*xP,"last-7d":7*xP,"last-14d":14*xP,"last-30d":30*xP};function e8(e){e.delete(Uxe),e.delete(qxe),e.delete(Vxe)}function Xys(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const _=e.get(rx);return _&&$ys.has(_)?_:"last-24h"},[e]),a=e.get(sx),i=e.get(ax),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=Kys[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(Uxe),f=e.get(qxe),p=e.get(Vxe),h=g.useMemo(()=>kVt.find(_=>_.entityType===e.get(Xx)),[e]),m=g.useMemo(()=>zys(e),[e]),v=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);for(const[E,N]of Object.entries(_)){const I=E==="logId"?Uxe:E==="traceId"?qxe:Vxe;N?T.set(I,N):T.delete(I)}return T},{replace:!0})},[t]),y=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);return Uys(T,_),e8(T),T},{replace:!0})},[t]),b=y,x=g.useCallback((_,C)=>{if(u.current!=="custom")return;const T=C==="from"?sx:ax;t(E=>{const N=new URLSearchParams(E);return _?N.set(T,_.toISOString()):N.delete(T),e8(N),N},{replace:!0})},[t]),S=g.useCallback(_=>{u.current=_,t(C=>{const T=new URLSearchParams(C);return _==="last-24h"?(T.delete(rx),T.delete(sx),T.delete(ax)):_==="custom"?T.set(rx,"custom"):(T.set(rx,_),T.delete(sx),T.delete(ax)),e8(T),T},{replace:!0})},[t]),k=g.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Xx);for(const T of BL)C.delete(El[T]);return C.delete(rx),C.delete(sx),C.delete(ax),e8(C),C},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Nb=Fi.KeyValueList;function Jys({spanId:e,span:t,isLoading:n,onClose:r}){const s=LQ(t?.startedAt,t?.endedAt),a=uV(t?.startedAt),i=uV(t?.endedAt);return o.jsxs(Fi,{children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Fi.CloseButton,{onClick:r})]}),n?o.jsx(Fi.LoadingData,{children:"Loading span..."}):t?o.jsxs(Fi.Content,{children:[o.jsxs(Nb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Type"}),o.jsx(Nb.Value,{children:t.spanType})]}),a&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Started"}),o.jsx(Nb.Value,{children:a})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Ended"}),o.jsx(Nb.Value,{children:i})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Nb.Key,{children:"Duration"}),o.jsx(Nb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Fi.CodeSection,{title:"Input",icon:o.jsx(gme,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Output",icon:o.jsx(vme,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Metadata",icon:o.jsx(ix,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Fi.CodeSection,{title:"Attributes",icon:o.jsx(ix,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Fi.NoData,{children:"Span not found."})]})}function ebs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>MAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(DAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Fi,{children:[o.jsxs(Fi.Header,{children:[o.jsxs(Fi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Fi.CloseButton,{onClick:r})]}),n?o.jsx(Fi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Fi.NoData,{children:"No spans found for this trace."}):o.jsx(Fi.Content,{children:o.jsx(tVt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function tbs(){const[e,t]=si(),n=Xys(e,t),r=Zys(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=PAe(),{data:d=[],isPending:f}=IAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=AAe(),{data:m=[],isPending:v}=RAe(),y=g.useMemo(()=>Fys({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>qys({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=Rys({filters:b}),{logIdMap:E,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Yys(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=Iqt(n.featuredTraceId??null),{data:F,isLoading:H}=zQ(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens(Vys(y,n.filterTokens)),[y,n]),z=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=g.useCallback(Y=>n.handleFeaturedChange({traceId:Y,spanId:null}),[n]),M=g.useCallback((Y,ne)=>n.handleFeaturedChange({traceId:Y,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(Y=>n.handleFeaturedChange({spanId:Y??null}),[n]),q=o.jsxs(Ut.TopArea,{children:[o.jsx(Ut.Row,{children:o.jsxs(Ut.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(I4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(TAe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(kys,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsx(fys,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(Ut.MainArea,{isCentered:!0,children:o.jsx(Eys,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ut,{width:"wide",height:"full",children:[q,o.jsx(pys,{logCollapsed:i,listSlot:o.jsx(Sys,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,logIdMap:E,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(dys,{log:N,onClose:z,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(ebs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Jys,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:U}):null})]})}function nbs({server:e,rowProps:t}){const{paths:n,Link:r}=pn(),a=Ge().options.baseUrl,i=a?`${a}/api/mcp/${e.id}/sse`:"",{data:l}=rBt(e),c=Object.values(l||{}),u=c.length,d=c.filter(h=>h.toolType==="agent").length,f=c.filter(h=>h.toolType==="workflow").length,p=Qh(e.name,50);return o.jsxs(be.RowLink,{to:n.mcpServerLink(e.id),LinkComponent:r,...t,children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:i}),o.jsx(be.TextCell,{className:"text-center",children:d||""}),o.jsx(be.TextCell,{className:"text-center",children:u||""}),o.jsx(be.TextCell,{className:"text-center",children:f||""})]})}function rbs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const i=n.toLowerCase();return e.filter(l=>l.name?.toLowerCase().includes(i)||l.id?.toLowerCase().includes(i))},[e,n]),{containerRef:s,getRowProps:a}=So({count:r.length});return t?o.jsx(vl,{columns:"auto 1fr auto auto auto"}):o.jsxs(be,{columns:"auto 1fr auto auto auto",variant:"striped",scrollRef:s,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"URL"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(Bo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Tools",short:o.jsx(Mf,{}),tooltip:"Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Workflows",short:o.jsx(rd,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(be.NoMatch,{message:"No MCP Servers match your search"}):null,r.map((i,l)=>o.jsx(nbs,{server:i,rowProps:a(l)},i.id))]})}const sbs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Vs,{})]})})}),abs=()=>{const{data:e=[],isLoading:t,error:n}=mQ(),[r,s]=g.useState("");return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"MCP servers"})}):n?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(ar,{children:o.jsx(sbs,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Bf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(rbs,{mcpServers:e,isLoading:t,search:r})]})},ibs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function obs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=pn(),i=g.useMemo(()=>ibs(e,t),[e,t]),l=g.useMemo(()=>i.filter(d=>d.id.toLowerCase().includes(r.toLowerCase())),[i,r]),{containerRef:c,getRowProps:u}=So({count:l.length});return n?o.jsx(vl,{columns:"auto 1fr auto"}):o.jsxs(be,{columns:"auto 1fr auto",variant:"striped",scrollRef:c,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"Description"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(Bo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(be.NoMatch,{message:"No Tools match your search"}):null,l.map((d,f)=>{const p=Qh(d.id,50),h=Qh(d.description??"",200),m=d.agents.length;return o.jsxs(be.RowLink,{to:s.toolLink(d.id),LinkComponent:a,...u(f),children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:h}),o.jsx(be.TextCell,{className:"text-center",children:m||""})]},d.id)})]})}const lbs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Vs,{})]})})}),cbs=()=>{const e=Ge();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new A_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Be.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},ubs=({toolId:e})=>{const{canExecute:t}=qo(),n=t("tools"),{data:r={}}=$m(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=kRr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=cbs(),{requestContext:p}=hs();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?gm(Nx(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(eAe,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function dbs({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=VI(),{data:p={},isLoading:h,isError:m,error:v}=$m(),{navigate:y,paths:b}=pn();g.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Be.error(`Error loading tools: ${_}`)}},[d,f]),g.useEffect(()=>{if(m){const _=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${_}`)}},[m,v]);const x=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{x.has(C.id)||x.set(C.id,C)})}),Object.values(c).forEach(_=>{x.has(_.id)||x.set(_.id,_)});const S=Array.from(x.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(yl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const fbs=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Gx,{children:o.jsx(ve,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Gx,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ve,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(Xt,{icon:o.jsx(Xqt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(Xt,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ve,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(Xt,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ve,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ve,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Ba,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(pbs,{server:t})})]})},pbs=({server:e})=>{const{data:t={},isLoading:n}=rBt(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(OC,{})}),o.jsx(ve,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(mbs,{tool:a,serverId:e.id},s)})})]})};function hbs(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const mbs=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=pn(),a=$Bt[e.toolType||"tool"],i=hbs(e._meta);return o.jsxs(qf,{onClick:()=>n.current?.click(),children:[o.jsx(WDt,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Hf,{children:[o.jsx(Vf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(Xt,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(rh,{children:e.description})]})]})},gbs=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=mQ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(fbs,{isLoading:n,server:r})})};function vbs(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const ybs=({toolId:e,serverId:t})=>{const{canExecute:n}=qo(),r=n("tools"),s=Ge(),{data:a,isLoading:i,error:l}=QIe(t,e),{mutateAsync:c,isPending:u,data:d}=crs(t,e),f=a?vbs(a._meta):void 0,{data:p}=yt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(St,{className:"mb-4 h-8 w-48"}),o.jsx(St,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ve,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=gm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Be.error("Failed to process tool input schema."),v=vs({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(nBt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(eAe,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},bbs=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=QIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(ybs,{toolId:t,serverId:e})})},OVt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],UN="rootEntityType",qN={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},HQ=Object.keys(qN),YAe="mastra:metrics:saved-filters";function xbs(e){const t=_bs(e);try{localStorage.setItem(YAe,t.toString())}catch{}}function wbs(){try{localStorage.removeItem(YAe)}catch{}}function _Vt(){try{const e=localStorage.getItem(YAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Sbs(e){if(e.has(UN))return!0;for(const t of HQ)if(e.has(qN[t]))return!0;return!1}function kbs({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:OVt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Obs(e){const t=[],n=new Map([[UN,"rootEntityType"]]);for(const s of HQ)n.set(qN[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function _bs(e){const t=new URLSearchParams,n=e.getAll(UN);for(const r of n)t.append(UN,r);for(const r of HQ){const s=qN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Cbs(e,t){e.delete(UN);for(const n of HQ)e.delete(qN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?UN:qN[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const Ebs="Any";function Xet(e){const t=e.trim();return t===""||t===Ebs}const Tbs=new Set(OVt.map(e=>e.entityType));function Jet(e){const t=e.trim();return Tbs.has(t)?t:void 0}function jbs(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!Xet(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?Jet(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(Xet(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=Jet(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const CVt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],Nbs=new Set(CVt.map(e=>e.value));function Ibs(e){return typeof e=="string"&&(Nbs.has(e)||e==="custom")}const EVt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function WQ(){return g.useContext(EVt)}function Abs(e,t){return e!=="custom"?CVt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${xr(t.from,"MMM d, yyyy")} – ${xr(t.to,"MMM d, yyyy")}`:xr(t.from,"MMM d, yyyy"):"Custom range"}function Rbs({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>jbs(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=Abs(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(EVt.Provider,{value:m,children:e})}const Pbs=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function $bs(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Mbs(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Dbs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=WQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(I4,{preset:$bs(e),onPresetChange:i=>{const l=Mbs(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Pbs})}const Hxe=1440*60*1e3,Lbs={"24h":Hxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Fbs(e,t,n){if(e!=="custom"){const r=Lbs[e]??Hxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Hxe),end:t?.to??new Date(n)}}function Fm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=WQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>Fbs(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function TVt(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function UL({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(mme,{})})}function zbs({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(WAn,{})})}function Bbs(e){return e==="agents"||e==="workflows"||e==="tools"}function ett(e,t){if(e.length===0)return"0";const n=e.reduce((r,s)=>{const a=s[t];return r+(typeof a=="number"&&Number.isFinite(a)?a:0)},0);return`${Math.round(n/e.length)}`}function Ubs(e){const t=e;return typeof t?.tsMs=="number"&&Number.isFinite(t.tsMs)}const qbs=[{dataKey:"p50",label:"p50",color:qp.blue,aggregate:e=>({value:ett(e,"p50"),suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:qp.yellow,aggregate:e=>({value:ett(e,"p95"),suffix:"avg ms"})}];function Aie({data:e,onPointClick:t}){return e.length===0?o.jsx(Bt.NoData,{message:"No latency data yet"}):o.jsx(jD,{data:e,series:qbs,onPointClick:t?n=>Ubs(n)?t(n):void 0:void 0})}function Vbs({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Bt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Bt.Actions,{children:h}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load latency data"}):o.jsx(Bt.Content,{children:m?o.jsxs(Vl,{value:p,onValueChange:b=>{Bbs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(mr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(mr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Ur,{value:"agents",children:o.jsx(Aie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Ur,{value:"workflows",children:o.jsx(Aie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Ur,{value:"tools",children:o.jsx(Aie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Bt.NoData,{message:"No latency data yet"})})]})}function Hbs(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Wbs(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function jVt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=Hbs(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function NVt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function ttt({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Fw,"branches"),jVt(a,zw,Bw,Uw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Yx,i),r.status&&a.set(Kx,r.status),$o(a,Cl.entityName,r.entityName??n.entityName),$o(a,Cl.threadId,r.threadId??n.threadId),$o(a,Cl.resourceId,r.resourceId??n.resourceId),$o(a,Cl.entityId,n.entityId),$o(a,Cl.runId,n.runId),$o(a,Cl.sessionId,n.sessionId),$o(a,Cl.requestId,n.requestId),$o(a,Cl.userId,n.userId),$o(a,Cl.organizationId,n.organizationId),$o(a,Cl.experimentId,n.experimentId),$o(a,Cl.serviceName,n.serviceName),$o(a,Cl.environment,n.environment),NVt(a,Cl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Zbs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;jVt(a,rx,sx,ax,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Xx,i),$o(a,El.entityName,r.entityName??n.entityName),$o(a,El.threadId,r.threadId??n.threadId),$o(a,El.resourceId,r.resourceId??n.resourceId),$o(a,El.runId,n.runId),$o(a,El.sessionId,n.sessionId),$o(a,El.requestId,n.requestId),$o(a,El.userId,n.userId),$o(a,El.organizationId,n.organizationId),$o(a,El.experimentId,n.experimentId),$o(a,El.serviceName,n.serviceName),$o(a,El.environment,n.environment),NVt(a,El.tags,n.tags),r.status==="error"&&a.append(El.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function lA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=WQ(),a=g.useCallback((c={})=>ttt({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>Zbs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Wbs(u,d);return ttt({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const IVt="1h";async function Rie(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:IVt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Gbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Rie(e,"mastra_agent_duration_ms",t),Rie(e,"mastra_workflow_duration_ms",t),Rie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:IVt}}})}const ntt={agents:Wu.AGENT,workflows:Wu.WORKFLOW_RUN,tools:Wu.TOOL};function Qbs(){const{data:e,isLoading:t,isError:n}=Gbs(),{getTracesHref:r,getBucketTracesHref:s}=lA(),{Link:a}=pn(),i=es();return o.jsx(Vbs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:ntt[l]},c.tsMs,"1h"))},actions:l=>o.jsx(UL,{href:r({rootEntityType:ntt[l]}),LinkComponent:a})})}function Ybs(e){return e==="threads"||e==="resources"}function Pie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Kbs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Bt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Bt.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Bt.Actions,{children:v}):null]}),m.isLoading?o.jsx(Bt.Loading,{}):m.isError?o.jsx(Bt.Error,{message:"Failed to load memory data"}):o.jsx(Bt.Content,{children:o.jsxs(Vl,{defaultTab:"threads",value:i,onValueChange:y=>{Ybs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"threads",children:"Threads"}),o.jsx(mr,{value:"resources",children:"Resources"})]}),o.jsx(Ur,{value:"threads",children:d?o.jsxs(be,{columns:"auto auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:Pie(y.threadId)}),o.jsx(be.NumberCell,{children:y.resourceId?Pie(y.resourceId):"—"}),o.jsx(be.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?sl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Bt.NoData,{message:"No thread activity yet"})}),o.jsx(Ur,{value:"resources",children:f?o.jsxs(be,{columns:"auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:Pie(y.resourceId)}),o.jsx(be.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?sl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Bt.NoData,{message:"No resource activity yet"})})]})})]})}const $ie=20;function Xbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:$ie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:$ie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:$ie})]),l=new Map,c=d=>oA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Mie=20;function Jbs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Mie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Mie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Mie})]),l=new Map,c=d=>oA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function exs(){const e=Xbs(),t=Jbs(),{getTracesHref:n}=lA(),{Link:r}=pn();return o.jsx(Kbs,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function qL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Zr,{children:[o.jsx(Zr.Label,{children:e}),o.jsx(Zr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Zr.Error,{}):s?o.jsx(Zr.Loading,{}):i?r!=null?o.jsx(Zr.Change,{changePct:r,prevValue:n}):o.jsx(Zr.NoChange,{}):o.jsx(Zr.NoData,{})]})}function txs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function nxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function rxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function sxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function axs(){const{data:e,isLoading:t,isError:n}=TVt();return o.jsx(qL,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ixs(){const{data:e,isLoading:t,isError:n}=rxs();return o.jsx(qL,{label:"Total Model Cost",value:e?.cost!=null?Up(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Up(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function oxs(){const{data:e,isLoading:t,isError:n}=sxs();return o.jsx(qL,{label:"Total Tokens",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function lxs(){const{data:e,isLoading:t,isError:n}=nxs();return o.jsx(qL,{label:"Total Threads",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function cxs(){const{data:e,isLoading:t,isError:n}=txs();return o.jsx(qL,{label:"Total Resources",value:e?.value!=null?sl(e.value):null,prevValue:e?.previousValue!=null?sl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function uxs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>dxs(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(EAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(_Ae,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function dxs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function fxs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Up(l):"—":c.size===1?u=l>0?Up(l,[...c][0]):"—":u="Mixed",o.jsx(Bt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load model usage data"}):o.jsx(Bt.Content,{children:i?o.jsxs(be,{columns:"auto auto auto auto auto auto",...Pxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Model"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:l.model}),o.jsx(be.NumberCell,{children:l.input}),o.jsx(be.NumberCell,{children:l.output}),o.jsx(be.NumberCell,{children:l.cacheRead}),o.jsx(be.NumberCell,{children:l.cacheWrite}),o.jsx(be.NumberCell,{highlight:!0,children:l.cost!=null?Up(l.cost,l.costUnit):"—"})]});return c?o.jsx(be.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(be.RowStatic,{children:u},l.model)})]}):o.jsx(Bt.NoData,{message:"No model usage data yet"})})]})}function pxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>oA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:sl(f.input),output:sl(f.output),cacheRead:sl(f.cacheRead),cacheWrite:sl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function hxs(){const{data:e,isLoading:t,isError:n}=pxs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(fxs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Wu.AGENT}),actions:o.jsx(UL,{href:r({rootEntityType:Wu.AGENT}),LinkComponent:s})})}function mxs(e){return e==="tokens"||e==="cost"}function gxs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Bt.Summary,{value:Up(v,m),label:"Total cost"}):o.jsx(Bt.Summary,{value:sl(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load token usage data"}):o.jsx(Bt.Content,{children:u?o.jsxs(Vl,{defaultTab:"tokens",value:i,onValueChange:b=>{mxs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"tokens",children:"Tokens"}),o.jsx(mr,{value:"cost",children:"Cost"})]}),o.jsx(Ur,{value:"tokens",children:o.jsx(BN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:qp.blueDark},{label:"Output",color:qp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:sl})}),o.jsx(Ur,{value:"cost",children:y?o.jsx(BN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:qp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Up(b,m)}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function vxs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>oA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function yxs(){const{data:e,isLoading:t,isError:n}=vxs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(gxs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Wu.AGENT,entityName:a.name}),actions:o.jsx(UL,{href:r({rootEntityType:Wu.AGENT}),LinkComponent:s})})}function Wxe(e,t=sl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const bxs=[{dataKey:"input",label:"Input tokens",color:qp.blue,aggregate:Wxe("input")},{dataKey:"output",label:"Output tokens",color:qp.yellow,aggregate:Wxe("output")}];function xxs(e){return e==="tokens"||e==="cost"}function wxs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,_)=>k+_.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,_)=>k+(_.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:qp.purple,aggregate:Wxe("cost",k=>Up(k,v))}];return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Bt.Summary,{value:Up(y,v),label:"Total cost"}):o.jsx(Bt.Summary,{value:sl(d),label:"Total tokens"})),u&&s?o.jsx(Bt.Actions,{children:s}):null]}),n?o.jsx(Bt.Loading,{}):r?o.jsx(Bt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Bt.Content,{children:u?o.jsxs(Vl,{defaultTab:"tokens",value:a,onValueChange:k=>{xxs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"tokens",children:"Tokens"}),o.jsx(mr,{value:"cost",children:"Cost"})]}),o.jsx(Ur,{value:"tokens",children:o.jsx(jD,{data:c,series:bxs})}),o.jsx(Ur,{value:"cost",children:b?o.jsx(jD,{data:p,series:S}):o.jsx(Bt.NoData,{message:"No cost data yet"})})]}):o.jsx(Bt.NoData,{message:"No token usage data yet"})})]})}function Sxs(e){return e==="24h"?"1h":"1d"}function kxs(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function rtt(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function Oxs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function _xs(){const e=Ge(),{datePreset:t,filters:n,filterKey:r}=Fm(),s=Sxs(t);return yt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return rtt(l,a.series[0],"input"),rtt(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:kxs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:Oxs(u)}}),interval:s}}})}function Cxs(){const{data:e,isLoading:t,isError:n}=_xs(),{getTracesHref:r}=lA(),{Link:s}=pn();return o.jsx(wxs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(UL,{href:r(),LinkComponent:s})})}function Die({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(BN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:qp.blueDark},{label:"Errors",color:qp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:sl})}function Exs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Bt,{children:[o.jsxs(Bt.TopBar,{children:[o.jsx(Bt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Bt.Summary,{value:sl(f),label:"Total runs"}),u?o.jsx(Bt.Actions,{children:u}):null]}),t?o.jsx(Bt.Loading,{}):n?o.jsx(Bt.Error,{message:"Failed to load trace volume data"}):o.jsx(Bt.Content,{children:d?o.jsxs(Vl,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(ql,{children:[o.jsx(mr,{value:"agents",children:"Agents"}),o.jsx(mr,{value:"workflows",children:"Workflows"}),o.jsx(mr,{value:"tools",children:"Tools"})]}),o.jsx(Ur,{value:"agents",children:e.agentData.length>0?o.jsx(Die,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No agent data yet"})}),o.jsx(Ur,{value:"workflows",children:e.workflowData.length>0?o.jsx(Die,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No workflow data yet"})}),o.jsx(Ur,{value:"tools",children:e.toolData.length>0?o.jsx(Die,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Bt.NoData,{message:"No tool data yet"})})]}):o.jsx(Bt.NoData,{message:"No trace volume data yet"})})]})}async function Lie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=oA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function Txs(){const e=Ge(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Lie(e,"mastra_agent_duration_ms",t),Lie(e,"mastra_workflow_duration_ms",t),Lie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const t8={agents:Wu.AGENT,workflows:Wu.WORKFLOW_RUN,tools:Wu.TOOL};function jxs(){const{data:e,isLoading:t,isError:n}=Txs(),{getTracesHref:r,getLogsHref:s}=lA(),{Link:a}=pn();return o.jsx(Exs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:t8[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:t8[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(UL,{href:r({rootEntityType:t8[i]}),LinkComponent:a}),o.jsx(zbs,{href:s({rootEntityType:t8[i],status:"error"}),LinkComponent:a})]})})}const Fie="period",n8="dateFrom",r8="dateTo";function Nxs(){const[e,t]=si(),n=e.get(Fie),r=Ibs(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(n8)),p=d(e.get(r8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>Obs(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Fie):p.set(Fie,d),d!=="custom"&&(p.delete(n8),p.delete(r8)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(n8,d.from.toISOString()):p.delete(n8),d?.to?p.set(r8,d.to.toISOString()):p.delete(r8),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Cbs(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,Sbs(e)))return;const d=_Vt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Rbs,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Ixs,{})})}function Ixs(){const[e]=si(),{error:t,isLoading:n}=TVt(),{filterTokens:r,setFilterTokens:s}=WQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=Pqt(),{data:d,isLoading:f}=PAe(),{data:p,isLoading:h}=IAe(),{data:m,isLoading:v}=RAe(),{data:y,isLoading:b}=AAe(),x=g.useMemo(()=>kbs({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>_Vt()!==null),_=g.useCallback(()=>{xbs(e),k(!0),Be.success("Filters setting for Metrics saved")},[e]),C=g.useCallback(()=>{wbs(),k(!1),Be.success("Filters setting for Metrics cleared up")},[]),T=g.useCallback(()=>{s([])},[s]),E=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&ks(t)?o.jsx(ar,{children:o.jsx(Js,{})}):t&&_s(t)?o.jsx(ar,{children:o.jsx(Zs,{resource:"metrics"})}):t?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ut,{width:"wide",height:"full",children:[o.jsxs(Ut.TopArea,{children:[o.jsx(Ut.Row,{children:o.jsxs(Ut.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Dbs,{}),o.jsx(TAe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(uxs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:E,onRemoveAll:T,onSave:_,onRemoveSaved:S?C:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Dn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Dn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(zxe,{children:[o.jsx(axs,{}),o.jsx(ixs,{}),o.jsx(oxs,{}),o.jsx(lxs,{}),o.jsx(cxs,{})]}),o.jsxs(zxe,{children:[o.jsx(hxs,{}),o.jsx(yxs,{}),o.jsx(Cxs,{}),o.jsx(exs,{}),o.jsx(jxs,{}),o.jsx(Qbs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Vs,{})]})})})]})}const Axs=50;function Rxs(){const{paths:e}=pn(),{isCmsAvailable:t}=pS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=DBt({page:s,perPage:Axs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&ks(c)?o.jsx(ar,{children:o.jsx(Js,{})}):c&&_s(c)?o.jsx(ar,{children:o.jsx(Zs,{resource:"prompt blocks"})}):c?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(ar,{children:o.jsx(jos,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsxs(Ut.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Bf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(oe,{as:ni,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Yr,{}),"Create Prompt"]})]})}),o.jsx(Tos,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Pxs(){return o.jsx(Ut,{width:"narrow",children:o.jsx(Ut.MainArea,{children:o.jsx(Jrs,{children:o.jsx(hxe,{})})})})}const $xs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:JQt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Plt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Vs,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:bV,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:zlt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:$lt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Mxs(){return o.jsx(Ut,{width:"narrow",children:o.jsx(Ut.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:$xs.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(Vs,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function Dxs(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&ks(n))return o.jsx(ar,{children:o.jsx(Js,{})});if(n&&_s(n))return o.jsx(ar,{children:o.jsx(Zs,{resource:"scorers"})});if(n)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(ar,{children:o.jsx($as,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(Das,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(Pas,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function Lxs(){const{scorerId:e}=Sr(),[t,n]=si(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState(!1),c=es(),[u,d]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:f,error:p}=das(e),{data:h={},isLoading:m,error:v}=$m(),{isLoading:y,error:b}=Qy(),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=uas({scorerId:e,entityId:u?.value==="all"?void 0:u?.value,entityType:u?.type==="ALL"?void 0:u?.type}),E=g.useMemo(()=>f?.agentIds?.filter($=>h[$]).map($=>({value:$,label:h[$].name,type:"AGENT"}))||[],[f?.agentIds,h]),N=g.useMemo(()=>f?.workflowIds?.map($=>({value:$,label:$,type:"WORKFLOW"}))||[],[f?.workflowIds]),I=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...E,...N],[E,N]),A=t.get("entity")??"all",R=I.find($=>$.value===A);R&&R.value!==u?.value&&d(R),g.useEffect(()=>{if(p){const $=p instanceof Error?p.message:"Failed to load scorer";Be.error(`Error loading scorer: ${$}`)}},[p]),g.useEffect(()=>{if(v){const $=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${$}`)}},[v]),g.useEffect(()=>{if(b){const $=b instanceof Error?b.message:"Failed to load workflows";Be.error(`Error loading workflows: ${$}`)}},[b]);const L=$=>{$?.value&&n(q=>{const Z=new URLSearchParams(q);return Z.set("entity",$.value),Z})};g.useEffect(()=>{const $=t.get("scoreId")??void 0;if($===s)return;if(!$){a(void 0);return}x.find(Z=>Z.id===$)&&a($)},[t,x]);const D=g.useCallback($=>{a($||void 0),n(q=>{const Z=new URLSearchParams(q);return $?Z.set("scoreId",$):Z.delete("scoreId"),Z})},[n]);if(!f)return null;const F=ks(p)||ks(v)||ks(b),H=p&&_s(p),B=!F&&!H&&(p||v||b),z=!S&&x.length===0,V=u?.value!=="all",M=f?.scorer?.source==="stored"?o.jsx(Dy,{owner:"scorer-detail",children:o.jsxs(oe,{variant:"default",as:ni,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(cm,{})," Edit"]})}):null,G=e?o.jsx(qAe,{open:i,onOpenChange:l,initialScorerIds:[e],onSuccess:$=>{c(`/experiments/${$}`)}}):null;if(F||H||B||z&&!V){const $=(p instanceof Error?p.message:void 0)??(v instanceof Error?v.message:void 0)??(b instanceof Error?b.message:void 0)??"An unexpected error occurred";return o.jsxs(Ut,{width:"wide",height:"full",className:"grid-rows-[1fr]",children:[M,o.jsx(Ut.MainArea,{isCentered:!0,children:F?o.jsx(Js,{}):H?o.jsx(Zs,{resource:"scorers"}):B?o.jsx(qi,{title:"Failed to load scorer",message:$}):o.jsx(ras,{onRunExperiment:()=>l(!0)})}),G]})}return o.jsxs(Ut,{width:"wide",height:"full",children:[M,o.jsx(Ut.TopArea,{children:o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsx(sas,{selectedEntity:u,entityOptions:I,onEntityChange:L,onReset:()=>{n($=>{const q=new URLSearchParams($);return q.set("entity","all"),q})},isLoading:S||m||y}),o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(pu,{}),"Run Experiment"]})]})}),o.jsx(nas,{scores:x,isLoading:S,selectedScoreId:s,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,onScoreClick:D,errorMsg:k?.message}),G]})}const Fxs=Ha("flex min-w-0 flex-col",{variants:{variant:{default:"gap-3 sm:flex-row sm:items-center sm:justify-between",factory:"gap-2 px-4 py-3 lg:flex-row lg:items-center lg:justify-between lg:gap-4"}},defaultVariants:{variant:"default"}}),zxs=Ha("flex min-w-0 flex-col",{variants:{variant:{default:"",factory:"gap-0.5"}},defaultVariants:{variant:"default"}}),stt=Ha("",{variants:{variant:{default:"text-sm font-medium",factory:"text-ui-md leading-ui-md text-neutral5"}},defaultVariants:{variant:"default"}}),Bxs=Ha("flex flex-col gap-0.5",{variants:{variant:{default:"text-sm text-neutral3",factory:"text-ui-sm text-neutral3"}},defaultVariants:{variant:"default"}});function Uxs({label:e,description:t,htmlFor:n,variant:r,className:s,children:a}){return o.jsxs("div",{className:K(Fxs({variant:r}),s),"data-slot":"settings-row",children:[o.jsxs("div",{className:zxs({variant:r}),children:[n?o.jsx($t,{htmlFor:n,className:stt({variant:r}),children:e}):o.jsx("span",{className:stt({variant:r}),children:e}),t&&o.jsx("div",{className:Bxs({variant:r}),children:t})]}),a]})}const AVt=[{value:"dark",label:"Dark",Icon:AKt},{value:"light",label:"Light",Icon:HXt},{value:"system",label:"System",Icon:Wlt}],qxs=e=>AVt.some(t=>t.value===e);function Vxs({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const Hxs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=_H(),{theme:r,setTheme:s}=K_();return o.jsx(Ut,{width:"narrow",children:o.jsxs(Ut.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Vbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Uxs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{qxs(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:AVt.map(a=>o.jsx(Ir,{value:a.value,children:o.jsx(Vxs,{option:a})},a.value))})]})})}),o.jsx(Vbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(H3t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Wxs(){const[e]=si(),t=es(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(SVt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const RVt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function Zxs(e){return e.replace(/\/$/,"").split("/").pop()}function ZQ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function Gxs({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(Bo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Mf,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Glt,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(JN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(OC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(RVt,{})," ",Zxs(a.githubUrl)]})})]},a.slug)})})}function Qxs({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(v_,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Tc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Tc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(oe,{onClick:c,children:["Reset ",o.jsx(Os,{})]})]})}function Yxs(){const{data:e,isLoading:t}=fsr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs($s,{children:[o.jsx(lSe,{children:o.jsxs(fbt,{children:[o.jsx(Ve,{children:o.jsx(iy,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Qxs,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(Gxs,{templates:y,linkComponent:ni,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Kxs="1.63.1-alpha.3";function Xxs({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(Cf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(TYt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(ZQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function Jxs({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(ZQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(Qlt,{})]}),o.jsx(Tc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(Vt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(Fg,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(Fg,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(uBt,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(oe,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(Vt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Hg,{})]})})]})})}function e0s({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(iy,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(e0,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(o0e,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(RVt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(mBt,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function att(e){switch(e){case"running":return o.jsx(Vt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(wy,{"aria-hidden":!0});case"failed":return o.jsx(Ac,{"aria-hidden":!0});default:return null}}function t0s(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function n0s({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:K("flex size-4 items-center justify-center self-center [&>svg]:size-4",Qr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(t0s,{}):att(e)}):o.jsx("span",{className:K("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Qr.colors,Qr.transform,Qr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:att(e)})}function r0s({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Qr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("flex min-w-6 justify-end text-ui-md",Qr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:K("text-ui-md",Qr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:K("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(n0s,{status:e.status,variant:r})]})}function s0s({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(r0s,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function a0s({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:K("relative flex h-8 items-center justify-end",Qr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Qr.colors,Qr.transform,Qr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Vt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-center text-xs text-neutral3",Qr.colors),children:[n," of ",t," steps completed"]})]})}function i0s({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(ZQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(a0s,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(UKt,{}),l||"Something went wrong"]}),u&&o.jsx(s0s,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(Vt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function o0s({name:e,installedEntities:t}){return o.jsxs(ZQ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Qlt,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(mBt,{data:t})]})}function l0s(){const{templateSlug:e}=Sr(),[t,n]=si(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState([]),{data:N,isLoading:I}=psr({repoOrSlug:e,owner:"mastra-ai"}),R=Kxs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=hsr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=msr(),{mutateAsync:B,isPending:z}=gsr(),{mutateAsync:V}=vsr(),{streamInstall:M,streamResult:G,isStreaming:U}=bsr(F),{observeInstall:$,streamResult:q,isStreaming:Z}=xsr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(re=>{const pe=re.snapshot;if(pe?.status==="success"&&pe?.result?.success)y(!0);else if(pe?.result?.success===!1)if(pe?.result?.validationResults&&!pe?.result?.validationResults?.valid&&pe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:Se,errors:ge}=pe.result.validationResults,ke=`Template installation completed but ${Se} validation issue${Se>1?"s":""} remain unresolved.`;m(ke),E(ge||[])}else{const Se=pe?.result?.message||pe?.result?.error||"Template installation failed";m(typeof Se=="string"?Se:String(Se))}}).catch(re=>{console.error("❌ Failed to fetch run details:",re),m("Failed to retrieve installation status after reload")}))},[t,v,h,U,Z,V]),g.useEffect(()=>{const te=t.get("runId"),re=t.get("resume"),pe=t.get("provider");if(te&&re==="true"&&pe&&!U&&!Z&&!S&&!_&&F){x(te),k(!0);try{V({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const Se=new URLSearchParams(ce);return Se.delete("resume"),Se})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,F,V,$,n]);const Y=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Mf,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(Bo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(JN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Vv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(XN,{})}],J=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||q;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=te=>{s(te)},se=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),le=async()=>{const te=Object.entries(u).reduce((re,[pe,ce])=>(ce===""&&re.push(pe),re),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const pe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(Se=>{const ge=new URLSearchParams(Se);return ge.set("runId",ce),ge.set("resume","true"),ge.set("provider",r||"openai"),ge}),await M.mutateAsync({inputData:pe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(re){C(!1),m(re?.message||"Template installation failed"),console.error("Template installation failed",re)}}},X=te=>{const{name:re,value:pe}=te.target;pe.trim()===""?p(ce=>[...ce,re]):p(ce=>ce.filter(Se=>Se!==re)),d(ce=>({...ce,[re]:pe}))};return o.jsx($s,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(e0s,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(i0s,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:F}),v&&o.jsx(o0s,{name:N.title,installedEntities:J,linkComponent:ni}),h&&o.jsx(Xxs,{errorMsg:h,validationErrors:T.length>0?T:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!v&&!h&&o.jsx(Jxs,{providerOptions:Y,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:le,handleVariableChange:X,isLoadingEnvVars:D||H,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:se})]})]})})})}const c0s=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Wis,{toolId:e,agentId:t})})},u0s=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(ubs,{toolId:e})})};function d0s(){const{data:e,isLoading:t,error:n}=Qy(),[r,s]=g.useState("");return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"workflows"})}):n?o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(ar,{children:o.jsx(sZr,{})}):o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsxs(Ut.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Bf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(oe,{as:ni,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(BD,{}),"Schedules"]})]})}),o.jsx(rZr,{workflows:e||{},isLoading:t,search:r})]})}const f0s={active:"bg-accent1",paused:"bg-accent3"},p0s={active:"text-accent1",paused:"text-accent3"},PVt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${f0s[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${p0s[e]}`,children:e})]}),gj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),e$=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function $Vt({status:e}){const{icon:t,color:n}=h0s(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function h0s(e){switch(e){case"success":return{icon:o.jsx(ca,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(Os,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Vt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(hV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Df,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(xj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const itt="auto auto auto auto 1fr";function m0s(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function g0s(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const v0s=3e4,y0s=5*6e4;function b0s({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=pn(),c=h=>!!(n&&h.runId&&h.outcome!=="failed"),u=e.filter(c).length,{containerRef:d,getRowProps:f}=So({count:u});let p=-1;return t?o.jsx(vl,{columns:itt}):e.length===0?o.jsx(ve,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(be,{columns:itt,className:"min-w-0",scrollRef:d,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Run"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Started"}),o.jsx(be.TopCell,{children:"Duration"}),o.jsx(be.TopCell,{children:" "})]}),e.map(h=>{const m=h.actualFireAt-h.scheduledFireAt,v=g0s(m),y=`Scheduled ${gj(h.scheduledFireAt)} — published ${gj(h.actualFireAt)} (drift ${v})`,b=h.outcome==="failed",x=b?h.error:h.run?.error,S=Math.abs(m),k=!b&&S>v0s&&S<=y0s,_=`${h.scheduleId}-${h.runId}-${h.actualFireAt}`,C=c(h);C&&(p+=1);const T=o.jsx("span",{className:C?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:h.runId}),E=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{children:T}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[b?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Cf,{size:14}),"publish failed"]}):h.run?o.jsx($Vt,{status:h.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),x?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsx(On,{children:x})]}):null]})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:y,children:e$(h.actualFireAt)}),k?o.jsxs(En,{children:[o.jsx(kn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsxs(On,{children:["Published ",v," after the scheduled fire time"]})]}):null]})}),o.jsx(be.Cell,{children:h.run?o.jsx("span",{children:m0s(h.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(be.Cell,{children:" "})]});return C?o.jsx(be.RowLink,{to:l.workflowRunLink(n,h.runId),LinkComponent:i,...f(p),children:E},_):o.jsx(be.RowStatic,{children:E},_)}),o.jsx(be.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const x0s=e=>{const t=Ge();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},ott=25,w0s=e=>{const t=Ge(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:ott,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<ott))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},S0s=e=>{const t=Ge(),n=Lr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Be.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Be.error(r.message)}})};function s8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ve,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function k0s(){const{scheduleId:e}=Sr(),{paths:t}=pn(),{data:n,error:r}=x0s(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=w0s(e),d=S0s(e);if(r&&ks(r))return o.jsx(ar,{children:o.jsx(Js,{})});if(r&&_s(r))return o.jsx(ar,{children:o.jsx(Zs,{resource:"schedules"})});if(r)return o.jsx(ar,{children:o.jsx(qi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ut,{children:[o.jsx(Ut.TopArea,{children:o.jsx(Ut.Row,{className:"justify-end",children:o.jsxs(Ut.Column,{className:"flex justify-end gap-2",children:[o.jsxs(oe,{as:ni,to:t.schedulesLink(),variant:"ghost",children:[o.jsx($c,{}),"Back to schedules"]}),f?o.jsx(oe,{as:ni,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(oe,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(c0e,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(pu,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(s8,{label:p?"Agent":"Workflow",children:f?o.jsx(ni,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(ni,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(s8,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(s8,{label:"Status",children:o.jsx(PVt,{status:n.status})}),o.jsx(s8,{label:"Next fire",children:o.jsx("span",{title:gj(n.nextFireAt),children:e$(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ve,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(qi,{title:"Failed to load trigger history",message:i.message}):o.jsx(b0s,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const ltt="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function O0s({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=pn(),a=g.useMemo(()=>{const c=n.toLowerCase();return c?e.filter(u=>u.id.toLowerCase().includes(c)||(u.workflowId??u.agentId??"").toLowerCase().includes(c)):e},[e,n]),{containerRef:i,getRowProps:l}=So({count:a.length});return t?o.jsx(vl,{columns:ltt}):o.jsxs(be,{columns:ltt,variant:"striped",className:"min-w-0",scrollRef:i,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Target"}),o.jsx(be.TopCell,{children:"Schedule ID"}),o.jsx(be.TopCell,{children:"Cron"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Next fire"}),o.jsx(be.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(be.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(be.NoMatch,{message:"No schedules configured"}):null,a.map((c,u)=>o.jsxs(be.RowLink,{to:r.scheduleLink(c.id),LinkComponent:s,...l(u),children:[o.jsx(be.NameCell,{children:c.workflowId??c.agentId}),o.jsx(be.Cell,{className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:c.id,children:c.id})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:c.cron}),c.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:c.timezone}):null]})}),o.jsx(be.Cell,{children:o.jsx(PVt,{status:c.status})}),o.jsx(be.Cell,{children:o.jsx("span",{className:"whitespace-nowrap",title:gj(c.nextFireAt),children:e$(c.nextFireAt)})}),o.jsx(be.Cell,{children:c.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx($Vt,{status:c.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:gj(c.lastFireAt),children:c.lastFireAt?e$(c.lastFireAt):""})]}):c.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:gj(c.lastFireAt),children:e$(c.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},c.id))]})}function _0s({workflowId:e}={}){const{data:t,isLoading:n,error:r}=iSe(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(qi,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(Bf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(O0s,{schedules:t??[],isLoading:n,search:s})})]})}function C0s(){const[e]=si(),t=e.get("workflowId")??void 0,{error:n}=iSe(t?{workflowId:t}:{});return n&&ks(n)?o.jsx(ar,{children:o.jsx(Js,{})}):n&&_s(n)?o.jsx(ar,{children:o.jsx(Zs,{resource:"schedules"})}):o.jsx(Ut,{children:o.jsx("div",{className:"h-full",children:o.jsx(_0s,{workflowId:t})})})}function E0s({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=IOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=D_t(r),[d]=L_t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=FLt({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(M_t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(_je,{position:"bottom-left"}),o.jsx(z_t,{variant:dy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Vt,{})})})}function T0s(){const{stepDetail:e,closeStepDetail:t}=OW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(wj,{className:"h-4 w-4",style:{color:Mu.map}}),e.type==="nested-graph"&&o.jsx(rd,{className:"h-4 w-4",style:{color:Mu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ve,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ve,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx(Os,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(K2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(NOe,{children:o.jsx(E0s,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function j0s(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function N0s(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function I0s({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ve,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(hV,{})}),"Step suspended"]}),o.jsx(Xt,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?gm(Nx(i.resumeSchema)):of(cr(),vf());return o.jsx(A0s,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function A0s({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ve,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ve,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ve,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(PKt,{})}),"The step is asking"]}),o.jsxs(Ju,{open:a,onOpenChange:i,children:[o.jsxs(yu,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(na,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ve,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:N0s(e.suspendPayload,e.stepId)})]}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:j0s(e.suspendPayload)})]}),o.jsx(bu,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Gr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ve,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(DKt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(oU,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(pu,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function R0s(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(Bl),{runId:a}=Sr(),i=Z_t(e,r??""),l=_tr(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(I0s,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const P0s=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),$0s=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),M0s=e=>e.includes("."),D0s=e=>e==="input"||e.endsWith(".input"),L0s=1;function F0s(e){return`${Number((e/1e3).toPrecision(3))}s`}function z0s(e,t){const n=Object.entries(e).filter(([i])=>!D0s(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,L0s);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:M0s(i)}})}const B0s=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(P0s,{className:"text-accent1"}),e==="failed"&&o.jsx($0s,{className:"text-accent2"}),e==="suspended"&&o.jsx(hV,{className:"text-accent3"}),e==="waiting"&&o.jsx(jpe,{className:"text-accent5"}),e==="skipped"&&o.jsx(jpe,{className:"text-icon3"}),e==="running"&&o.jsx(oa,{className:"text-accent6 animate-spin"})]}),U0s={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function MVt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ctt=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},q0s=e=>{const t=e;return NLt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},V0s=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=q0s(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(B0s,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(FXt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Vq,{indicators:c,className:"shrink-0"})}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:MVt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${U0s[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(DXt,{})})}),o.jsx(ve,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:F0s(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function H0s(){const{steps:e}=X4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=PH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);_bt(f,{enabled:!l});const p=z0s(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ve,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Sa,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(V0s,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ctt(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ctt(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(Q_t,{data:u.data,title:`${MVt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const W0s=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=OW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(WLt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(R0s,{}),o.jsx(H0s,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(T0s,{})})]})},utt=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=a4(e);return r&&ks(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Js,{})}):r&&_s(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{resource:"workflows"})}):o.jsx(QOe,{children:o.jsx(W0s,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Z0s(e,t){if(e==null)return{};var n,r,s=JSt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Zxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function G0s(e){if(Array.isArray(e))return Zxe(e)}function Q0s(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Y0s(e,t){if(e){if(typeof e=="string")return Zxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Zxe(e,t):void 0}}function K0s(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
645
645
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gxe(e){return G0s(e)||Q0s(e)||Y0s(e)||K0s()}function DD(e){"@babel/helpers - typeof";return DD=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},DD(e)}function X0s(e,t){if(DD(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(DD(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function J0s(e){var t=X0s(e,"string");return DD(t)=="symbol"?t:t+""}function DVt(e,t,n){return(t=J0s(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dtt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function jT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?dtt(Object(n),!0).forEach(function(r){DVt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dtt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function ews(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var zie={};function tws(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return zie[t]||(zie[t]=ews(e)),zie[t]}function nws(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),s=tws(r);return s.reduce(function(a,i){return jT(jT({},a),n[i])},t)}function ftt(e){return e.join(" ")}function rws(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return LVt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function LVt(e){var t=e.node,n=e.stylesheet,r=e.style,s=r===void 0?{}:r,a=e.useInlineStyles,i=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if(c==="text")return d;if(u){var f=rws(n,a),p;if(!a)p=jT(jT({},l),{},{className:ftt(l.className)});else{var h=Object.keys(n).reduce(function(b,x){return x.split(".").forEach(function(S){b.includes(S)||b.push(S)}),b},[]),m=l.className&&l.className.includes("token")?["token"]:[],v=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=jT(jT({},l),{},{className:ftt(v)||void 0,style:nws(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Fe.createElement(u,YO({key:i},p),y)}}const sws=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var aws=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function ptt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function qw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ptt(Object(n),!0).forEach(function(r){DVt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ptt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var iws=/\n/g;function ows(e){return e.match(iws)}function lws(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(s,a){var i=a+n;return Fe.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(i):r},"".concat(i,`
|
|
646
646
|
`))})}function cws(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,s=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,i=a===void 0?{}:a,l=e.startingLineNumber;return Fe.createElement("code",{style:Object.assign({},n,s)},lws({lines:t.replace(/\n$/,"").split(`
|
|
647
647
|
`),style:i,startingLineNumber:l}))}function uws(e){return"".concat(e.toString().length,".25em")}function FVt(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function zVt(e,t,n){var r={display:"inline-block",minWidth:uws(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=qw(qw({},r),s);return a}function E9(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,s=e.largestLineNumber,a=e.showInlineLineNumbers,i=e.lineProps,l=i===void 0?{}:i,c=e.className,u=c===void 0?[]:c,d=e.showLineNumbers,f=e.wrapLongLines,p=e.wrapLines,h=p===void 0?!1:p,m=h?qw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(Gxe(m.className.trim().split(/\s+/)),Gxe(u)):u,n&&a){var v=zVt(r,n,s);t.unshift(FVt(n,v))}return f&d&&(m.style=qw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function BVt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var s=e[r];if(s.type==="text")n.push(E9({children:[s],className:Gxe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);BVt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function dws(e,t,n,r,s,a,i,l,c){var u,d=BVt(e.value),f=[],p=-1,h=0;function m(_,C){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return E9({children:_,lineNumber:C,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:T,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function v(_,C){if(r&&C&&s){var T=zVt(l,C,i);_.unshift(FVt(C,T))}return _}function y(_,C){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||T.length>0?m(_,C,T):v(_,C)}for(var b=function(){var C=d[h],T=C.children[0].value,E=ows(T);if(E){var N=T.split(`
|