@mastra/deployer-vercel 1.2.13 → 1.2.14-alpha.0
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-BNwtVCAZ.js → core-ukr87BZs.js} +1 -1
- package/dist/studio/assets/{index-BhWeaX1f.js → index-CI2OVtO3.js} +2 -2
- package/dist/studio/assets/{main-BiFSrjyM.js → main-BG0OlTyM.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-ukr87BZs.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{_ as go}from"./preload-helper-PPVm8Dsz.js";function Tqt(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 fT=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var OK={exports:{}},HA={};var A2e;function Nqt(){if(A2e)return HA;A2e=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 HA.Fragment=t,HA.jsx=n,HA.jsxs=n,HA}var R2e;function Iqt(){return R2e||(R2e=1,OK.exports=Nqt()),OK.exports}var o=Iqt(),CK={exports:{}},qr={},P2e;function Aqt(){if(P2e)return qr;P2e=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(q){return q===null||typeof q!="object"?null:(q=h&&q[h]||q["@@iterator"],typeof q=="function"?q:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(q,$,U){this.props=q,this.context=$,this.refs=b,this.updater=U||g}x.prototype.isReactComponent={},x.prototype.setState=function(q,$){if(typeof q!="object"&&typeof q!="function"&&q!=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,q,$,"setState")},x.prototype.forceUpdate=function(q){this.updater.enqueueForceUpdate(this,q,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(q,$,U){this.props=q,this.context=$,this.refs=b,this.updater=U||g}var _=k.prototype=new S;_.constructor=k,y(_,x.prototype),_.isPureReactComponent=!0;var C=Array.isArray;function E(){}var j={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(q,$,U){var Z=U.ref;return{$$typeof:t,type:q,key:$,ref:Z!==void 0?Z:null,props:U}}function A(q,$){return I(q.type,$,q.props)}function R(q){return typeof q=="object"&&q!==null&&q.$$typeof===t}function L(q){var $={"=":"=0",":":"=2"};return"$"+q.replace(/[=:]/g,function(U){return $[U]})}var D=/\/+/g;function z(q,$){return typeof q=="object"&&q!==null&&q.key!=null?L(""+q.key):$.toString(36)}function H(q){switch(q.status){case"fulfilled":return q.value;case"rejected":throw q.reason;default:switch(typeof q.status=="string"?q.then(E,E):(q.status="pending",q.then(function($){q.status==="pending"&&(q.status="fulfilled",q.value=$)},function($){q.status==="pending"&&(q.status="rejected",q.reason=$)})),q.status){case"fulfilled":return q.value;case"rejected":throw q.reason}}throw q}function F(q,$,U,Z,K){var ne=typeof q;(ne==="undefined"||ne==="boolean")&&(q=null);var ee=!1;if(q===null)ee=!0;else switch(ne){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(q.$$typeof){case t:case n:ee=!0;break;case f:return ee=q._init,F(ee(q._payload),$,U,Z,K)}}if(ee)return K=K(q),ee=Z===""?"."+z(q,0):Z,C(K)?(U="",ee!=null&&(U=ee.replace(D,"$&/")+"/"),F(K,$,U,"",function(pe){return pe})):K!=null&&(R(K)&&(K=A(K,U+(K.key==null||q&&q.key===K.key?"":(""+K.key).replace(D,"$&/")+"/")+ee)),$.push(K)),1;ee=0;var J=Z===""?".":Z+":";if(C(q))for(var ae=0;ae<q.length;ae++)Z=q[ae],ne=J+z(Z,ae),ee+=F(Z,$,U,ne,K);else if(ae=m(q),typeof ae=="function")for(q=ae.call(q),ae=0;!(Z=q.next()).done;)Z=Z.value,ne=J+z(Z,ae++),ee+=F(Z,$,U,ne,K);else if(ne==="object"){if(typeof q.then=="function")return F(H(q),$,U,Z,K);throw $=String(q),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(q).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return ee}function B(q,$,U){if(q==null)return q;var Z=[],K=0;return F(q,Z,"","",function(ne){return $.call(U,ne,K++)}),Z}function V(q){if(q._status===-1){var $=q._result;$=$(),$.then(function(U){(q._status===0||q._status===-1)&&(q._status=1,q._result=U)},function(U){(q._status===0||q._status===-1)&&(q._status=2,q._result=U)}),q._status===-1&&(q._status=0,q._result=$)}if(q._status===1)return q._result.default;throw q._result}var M=typeof reportError=="function"?reportError:function(q){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof q=="object"&&q!==null&&typeof q.message=="string"?String(q.message):String(q),error:q});if(!window.dispatchEvent($))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",q);return}console.error(q)},Q={map:B,forEach:function(q,$,U){B(q,function(){$.apply(this,arguments)},U)},count:function(q){var $=0;return B(q,function(){$++}),$},toArray:function(q){return B(q,function($){return $})||[]},only:function(q){if(!R(q))throw Error("React.Children.only expected to receive a single React element child.");return q}};return qr.Activity=p,qr.Children=Q,qr.Component=x,qr.Fragment=r,qr.Profiler=a,qr.PureComponent=k,qr.StrictMode=s,qr.Suspense=u,qr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=j,qr.__COMPILER_RUNTIME={__proto__:null,c:function(q){return j.H.useMemoCache(q)}},qr.cache=function(q){return function(){return q.apply(null,arguments)}},qr.cacheSignal=function(){return null},qr.cloneElement=function(q,$,U){if(q==null)throw Error("The argument must be a React element, but you passed "+q+".");var Z=y({},q.props),K=q.key;if($!=null)for(ne in $.key!==void 0&&(K=""+$.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=U;else if(1<ne){for(var ee=Array(ne),J=0;J<ne;J++)ee[J]=arguments[J+2];Z.children=ee}return I(q.type,K,Z)},qr.createContext=function(q){return q={$$typeof:l,_currentValue:q,_currentValue2:q,_threadCount:0,Provider:null,Consumer:null},q.Provider=q,q.Consumer={$$typeof:i,_context:q},q},qr.createElement=function(q,$,U){var Z,K={},ne=null;if($!=null)for(Z in $.key!==void 0&&(ne=""+$.key),$)N.call($,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(K[Z]=$[Z]);var ee=arguments.length-2;if(ee===1)K.children=U;else if(1<ee){for(var J=Array(ee),ae=0;ae<ee;ae++)J[ae]=arguments[ae+2];K.children=J}if(q&&q.defaultProps)for(Z in ee=q.defaultProps,ee)K[Z]===void 0&&(K[Z]=ee[Z]);return I(q,ne,K)},qr.createRef=function(){return{current:null}},qr.forwardRef=function(q){return{$$typeof:c,render:q}},qr.isValidElement=R,qr.lazy=function(q){return{$$typeof:f,_payload:{_status:-1,_result:q},_init:V}},qr.memo=function(q,$){return{$$typeof:d,type:q,compare:$===void 0?null:$}},qr.startTransition=function(q){var $=j.T,U={};j.T=U;try{var Z=q(),K=j.S;K!==null&&K(U,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(E,M)}catch(ne){M(ne)}finally{$!==null&&U.types!==null&&($.types=U.types),j.T=$}},qr.unstable_useCacheRefresh=function(){return j.H.useCacheRefresh()},qr.use=function(q){return j.H.use(q)},qr.useActionState=function(q,$,U){return j.H.useActionState(q,$,U)},qr.useCallback=function(q,$){return j.H.useCallback(q,$)},qr.useContext=function(q){return j.H.useContext(q)},qr.useDebugValue=function(){},qr.useDeferredValue=function(q,$){return j.H.useDeferredValue(q,$)},qr.useEffect=function(q,$){return j.H.useEffect(q,$)},qr.useEffectEvent=function(q){return j.H.useEffectEvent(q)},qr.useId=function(){return j.H.useId()},qr.useImperativeHandle=function(q,$,U){return j.H.useImperativeHandle(q,$,U)},qr.useInsertionEffect=function(q,$){return j.H.useInsertionEffect(q,$)},qr.useLayoutEffect=function(q,$){return j.H.useLayoutEffect(q,$)},qr.useMemo=function(q,$){return j.H.useMemo(q,$)},qr.useOptimistic=function(q,$){return j.H.useOptimistic(q,$)},qr.useReducer=function(q,$,U){return j.H.useReducer(q,$,U)},qr.useRef=function(q){return j.H.useRef(q)},qr.useState=function(q){return j.H.useState(q)},qr.useSyncExternalStore=function(q,$,U){return j.H.useSyncExternalStore(q,$,U)},qr.useTransition=function(){return j.H.useTransition()},qr.version="19.2.7",qr}var $2e;function zN(){return $2e||($2e=1,CK.exports=Aqt()),CK.exports}var v=zN();const Fe=Bl(v),xC=Tqt({__proto__:null,default:Fe},[v]);var _K={exports:{}},WA={},EK={exports:{}},jK={};var M2e;function Rqt(){return M2e||(M2e=1,(function(e){function t(H,F){var B=H.length;H.push(F);e:for(;0<B;){var V=B-1>>>1,M=H[V];if(0<s(M,F))H[V]=F,H[B]=M,B=V;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var F=H[0],B=H.pop();if(B!==F){H[0]=B;e:for(var V=0,M=H.length,Q=M>>>1;V<Q;){var q=2*(V+1)-1,$=H[q],U=q+1,Z=H[U];if(0>s($,B))U<M&&0>s(Z,$)?(H[V]=Z,H[U]=B,V=U):(H[V]=$,H[q]=B,V=q);else if(U<M&&0>s(Z,B))H[V]=Z,H[U]=B,V=U;else break e}}return F}function s(H,F){var B=H.sortIndex-F.sortIndex;return B!==0?B:H.id-F.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,g=!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 F=n(u);F!==null;){if(F.callback===null)r(u);else if(F.startTime<=H)r(u),F.sortIndex=F.expirationTime,t(c,F);else break;F=n(u)}}function _(H){if(g=!1,k(H),!m)if(n(c)!==null)m=!0,C||(C=!0,R());else{var F=n(u);F!==null&&z(_,F.startTime-H)}}var C=!1,E=-1,j=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<j)}function A(){if(y=!1,C){var H=e.unstable_now();N=H;var F=!0;try{e:{m=!1,g&&(g=!1,x(E),E=-1),h=!0;var B=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),F=!0;break t}f===n(c)&&r(c),k(H)}else r(c);f=n(c)}if(f!==null)F=!0;else{var Q=n(u);Q!==null&&z(_,Q.startTime-H),F=!1}}break e}finally{f=null,p=B,h=!1}F=void 0}}finally{F?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 z(H,F){E=b(function(){H(e.unstable_now())},F)}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"):j=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 F=3;break;default:F=p}var B=p;p=F;try{return H()}finally{p=B}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(H,F){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var B=p;p=H;try{return F()}finally{p=B}},e.unstable_scheduleCallback=function(H,F,B){var V=e.unstable_now();switch(typeof B=="object"&&B!==null?(B=B.delay,B=typeof B=="number"&&0<B?V+B:V):B=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=B+M,H={id:d++,callback:F,priorityLevel:H,startTime:B,expirationTime:M,sortIndex:-1},B>V?(H.sortIndex=B,t(u,H),n(c)===null&&H===n(u)&&(g?(x(E),E=-1):g=!0,z(_,B-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 F=p;return function(){var B=p;p=F;try{return H.apply(this,arguments)}finally{p=B}}}})(jK)),jK}var D2e;function Pqt(){return D2e||(D2e=1,EK.exports=Rqt()),EK.exports}var TK={exports:{}},xu={};var L2e;function $qt(){if(L2e)return xu;L2e=1;var e=zN();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 xu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,xu.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)},xu.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()}},xu.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))},xu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},xu.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})}},xu.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)},xu.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})}},xu.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)},xu.requestFormReset=function(c){r.d.r(c)},xu.unstable_batchedUpdates=function(c,u){return c(u)},xu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},xu.useFormStatus=function(){return i.H.useHostTransitionStatus()},xu.version="19.2.7",xu}var F2e;function fit(){if(F2e)return TK.exports;F2e=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(),TK.exports=$qt(),TK.exports}var z2e;function Mqt(){if(z2e)return WA;z2e=1;var e={env:{}};var t=Pqt(),n=zN(),r=fit();function s(w){var O="https://react.dev/errors/"+w;if(1<arguments.length){O+="?args[]="+encodeURIComponent(arguments[1]);for(var T=2;T<arguments.length;T++)O+="&args[]="+encodeURIComponent(arguments[T])}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,T=w;if(w.alternate)for(;O.return;)O=O.return;else{w=O;do O=w,(O.flags&4098)!==0&&(T=O.return),w=O.return;while(w)}return O.tag===3?T: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 T=w,P=O;;){var W=T.return;if(W===null)break;var G=W.alternate;if(G===null){if(P=W.return,P!==null){T=P;continue}break}if(W.child===G.child){for(G=W.child;G;){if(G===T)return u(W),w;if(G===P)return u(W),O;G=G.sibling}throw Error(s(188))}if(T.return!==P.return)T=W,P=G;else{for(var ie=!1,Se=W.child;Se;){if(Se===T){ie=!0,T=W,P=G;break}if(Se===P){ie=!0,P=W,T=G;break}Se=Se.sibling}if(!ie){for(Se=G.child;Se;){if(Se===T){ie=!0,T=G,P=W;break}if(Se===P){ie=!0,P=G,T=W;break}Se=Se.sibling}if(!ie)throw Error(s(189))}}if(T.alternate!==P)throw Error(s(190))}if(T.tag!==3)throw Error(s(188));return T.stateNode.current===T?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"),g=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"),E=Symbol.for("react.suspense_list"),j=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 z(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 E:return"SuspenseList";case I:return"Activity"}if(typeof w=="object")switch(w.$$typeof){case g: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 j:return O=w.displayName||null,O!==null?O:z(w.type)||"Memo";case N:O=w._payload,w=w._init;try{return z(w(O))}catch{}}return null}var H=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,B=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V={pending:!1,data:null,method:null,action:null},M=[],Q=-1;function q(w){return{current:w}}function $(w){0>Q||(w.current=M[Q],M[Q]=null,Q--)}function U(w,O){Q++,M[Q]=w.current,w.current=O}var Z=q(null),K=q(null),ne=q(null),ee=q(null);function J(w,O){switch(U(ne,O),U(K,w),U(Z,null),O.nodeType){case 9:case 11:w=(w=O.documentElement)&&(w=w.namespaceURI)?t2e(w):0;break;default:if(w=O.tagName,O=O.namespaceURI)O=t2e(O),w=n2e(O,w);else switch(w){case"svg":w=1;break;case"math":w=2;break;default:w=0}}$(Z),U(Z,w)}function ae(){$(Z),$(K),$(ne)}function pe(w){w.memoizedState!==null&&U(ee,w);var O=Z.current,T=n2e(O,w.type);O!==T&&(U(K,w),U(Z,T))}function Y(w){K.current===w&&($(Z),$(K)),ee.current===w&&($(ee),BA._currentValue=V)}var te,le;function de(w){if(te===void 0)try{throw Error()}catch(T){var O=T.stack.trim().match(/\n( *(at )?)/);te=O&&O[1]||"",le=-1<T.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<T.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+te+w+le}var oe=!1;function ue(w,O){if(!w||oe)return"";oe=!0;var T=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var P={DetermineComponentFrameRoot:function(){try{if(O){var Tt=function(){throw Error()};if(Object.defineProperty(Tt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Tt,[])}catch(ht){var ct=ht}Reflect.construct(w,[],Tt)}else{try{Tt.call()}catch(ht){ct=ht}w.call(Tt.prototype)}}else{try{throw Error()}catch(ht){ct=ht}(Tt=w())&&typeof Tt.catch=="function"&&Tt.catch(function(){})}}catch(ht){if(ht&&ct&&typeof ht.stack=="string")return[ht.stack,ct.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 G=P.DetermineComponentFrameRoot(),ie=G[0],Se=G[1];if(ie&&Se){var Be=ie.split(`
|
|
@@ -334,7 +334,7 @@ attempted value: ${i}
|
|
|
334
334
|
\${}
|
|
335
335
|
}
|
|
336
336
|
}`,{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"})],owt=MSe.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"})]),uze=new dbt,lwt=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function bR(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const w7n=["FunctionDeclaration"],S7n={FunctionDeclaration:bR("function"),ClassDeclaration:bR("class"),ClassExpression:()=>!0,EnumDeclaration:bR("constant"),TypeAliasDeclaration:bR("type"),NamespaceDeclaration:bR("namespace"),VariableDefinition(e,t){e.matchContext(w7n)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function cwt(e,t){let n=uze.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=S7n[i.name];if(l&&l(i,a)||lwt.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of cwt(e,i.node))r.push(l);return!1}}),uze.set(t,r),r}const gB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,DSe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function uwt(e){let t=gi(e.state).resolveInner(e.pos,-1);if(DSe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&gB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)lwt.has(s.name)&&(r=r.concat(cwt(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:gB}}function JJ(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 dwt(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=gi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?JJ(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?JJ(t,n.parent,""):DSe.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&gB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?JJ(t,n,""):e.explicit?{path:[],name:""}:null}function k7n(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 O7n(e){let t=new Map;return n=>{let r=dwt(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=k7n(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:gB}}}const Xh=FO.define({name:"javascript",parser:x7n.configure({props:[GC.add({IfStatement:Hj({except:/^\s*({|else\b)/}),TryStatement:Hj({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:yFn,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:vFn({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Hj({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}}),QC.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":gSe,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:"$"}}),fwt={test:e=>/^JSX/.test(e.name),facet:EH({commentTokens:{block:{open:"{/*",close:"*/}"}}})},LSe=Xh.configure({dialect:"ts"},"typescript"),FSe=Xh.configure({dialect:"jsx",props:[pSe.add(e=>e.isTop?[fwt]:void 0)]}),zSe=Xh.configure({dialect:"jsx ts",props:[pSe.add(e=>e.isTop?[fwt]:void 0)]},"typescript");let pwt=e=>({label:e,type:"keyword"});const hwt="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(pwt),C7n=hwt.concat(["declare","implements","private","protected","public"].map(pwt));function vB(e={}){let t=e.jsx?e.typescript?zSe:FSe:e.typescript?LSe:Xh,n=e.typescript?owt.concat(C7n):MSe.concat(hwt);return new BO(t,[Xh.data.of({autocomplete:rzn(DSe,f0t(n))}),Xh.data.of({autocomplete:uwt}),e.jsx?mwt:[]])}function _7n(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 dze(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 E7n=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),mwt=It.inputHandler.of((e,t,n,r,s)=>{if((E7n?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!Xh.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=gi(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=dze(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let g=`${p}>`;return{range:bt.cursor(d+g.length,-1),changes:{from:d,insert:g}}}}else if(r==">"){let h=_7n(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=dze(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 j7n(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 Xh.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(T7n(u,r.doc,c))}return s}}function fze(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function T7n(e,t,n){let r=fze(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?fze(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 X6=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:mwt,completionPath:dwt,esLint:j7n,javascript:vB,javascriptLanguage:Xh,jsxLanguage:FSe,localCompletionSource:uwt,scopeCompletionSource:O7n,snippets:MSe,tsxLanguage:zSe,typescriptLanguage:LSe,typescriptSnippets:owt},Symbol.toStringTag,{value:"Module"})),xR=["_blank","_self","_top","_parent"],eee=["ascii","utf-8","utf-16","latin1","latin1"],tee=["get","post","put","delete"],nee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],sp=["true","false"],er={},N7n={a:{attrs:{href:null,ping:null,type:null,media:null,target:xR,hreflang:null}},abbr:er,address:er,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:er,aside:er,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:er,base:{attrs:{href:null,target:xR}},bdi:er,bdo:er,blockquote:{attrs:{cite:null}},body:er,br:er,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:nee,formmethod:tee,formnovalidate:["novalidate"],formtarget:xR,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:er,center:er,cite:er,code:er,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:er,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:er,div:er,dl:er,dt:er,em:er,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:er,figure:er,footer:er,form:{attrs:{action:null,name:null,"accept-charset":eee,autocomplete:["on","off"],enctype:nee,method:tee,novalidate:["novalidate"],target:xR}},h1:er,h2:er,h3:er,h4:er,h5:er,h6:er,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:er,hgroup:er,hr:er,html:{attrs:{manifest:null}},i:er,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:nee,formmethod:tee,formnovalidate:["novalidate"],formtarget:xR,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:er,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:er,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:er,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:eee,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:er,noscript:er,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:er,param:{attrs:{name:null,value:null}},pre:er,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:er,rt:er,ruby:er,samp:er,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:eee}},section:er,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:er,source:{attrs:{src:null,type:null,media:null}},span:er,strong:er,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:er,summary:er,sup:er,table:er,tbody:er,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:er,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:er,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:er,time:{attrs:{datetime:null}},title:er,tr:er,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:er,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:er},gwt={accesskey:null,class:null,contenteditable:sp,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:sp,autocorrect:sp,autocapitalize:sp,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":sp,"aria-autocomplete":["inline","list","both","none"],"aria-busy":sp,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":sp,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":sp,"aria-hidden":sp,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":sp,"aria-multiselectable":sp,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":sp,"aria-relevant":null,"aria-required":sp,"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},vwt="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 vwt)gwt[e]=null;class OM{constructor(t,n){this.tags={...N7n,...t},this.globalAttrs={...gwt,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}OM.default=new OM;function UT(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 VT(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function ywt(e,t,n){let r=n.tags[UT(e,VT(t))];return r?.children||n.allTags}function BSe(e,t){let n=[];for(let r=VT(t);r&&!r.type.isTop;r=VT(r.parent)){let s=UT(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 bwt=/^[:\-\.\w\u00b7-\uffff]*$/;function pze(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=VT(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:ywt(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(BSe(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function hze(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:BSe(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:bwt}}function I7n(e,t,n,r){let s=[],a=0;for(let i of ywt(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of BSe(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function A7n(e,t,n,r,s){let a=VT(n),i=a?t.tags[UT(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:bwt}}function R7n(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=VT(n),p=f?t.tags[UT(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 xwt(e,t){let{state:n,pos:r}=t,s=gi(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)?hze(n,s,s.from,r):pze(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?pze(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?hze(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?A7n(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?R7n(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?I7n(n,e,s,r):null}function P7n(e){return xwt(OM.default,e)}function $7n(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new OM(t,n):OM.default;return s=>xwt(r,s)}const M7n=Xh.parser.configure({top:"SingleExpression"}),wwt=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:LSe.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:FSe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:zSe.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:M7n},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:Xh.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:mB.parser}],Swt=[{name:"style",parser:mB.parser.configure({top:"Styles"})}].concat(vwt.map(e=>({name:e,parser:Xh.parser}))),kwt=FO.define({name:"html",parser:o9n.configure({props:[GC.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}}),QC.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}}}),a0t.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),R8=kwt.configure({wrap:ewt(wwt,Swt)});function D7n(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=ewt((e.nestedLanguages||[]).concat(wwt),(e.nestedAttributes||[]).concat(Swt)));let r=n?kwt.configure({wrap:n,dialect:t}):t?R8.configure({dialect:t}):R8;return new BO(r,[R8.data.of({autocomplete:$7n(e)}),e.autoCloseTags!==!1?L7n:[],vB().support,V9n().support])}const mze=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),L7n=It.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!R8.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=gi(i).resolveInner(h,-1),g;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"&&(g=UT(i.doc,y.parent,h))&&!mze.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`</${g}>`;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"&&(g=UT(i.doc,y,h))&&!mze.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`${g}>`;return{range:bt.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)}),Owt=EH({commentTokens:{block:{open:"<!--",close:"-->"}}}),Cwt=new Dr,_wt=c8n.configure({props:[QC.add(e=>!e.is("Block")||e.is("Document")||Xme(e)!=null||F7n(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Cwt.add(Xme),GC.add({Document:()=>null}),kw.add({Document:Owt})]});function Xme(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function F7n(e){return e.name=="OrderedList"||e.name=="BulletList"}function z7n(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=Xme(r.type))!=null&&s<=t)break;n=r}return n.to}const B7n=Zxt.of((e,t,n)=>{for(let r=gi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(Cwt);if(s==null)continue;let a=z7n(r,s);if(a>n)return{from:n,to:a}}return null});function USe(e){return new Ep(Owt,e,[],"markdown")}const Ewt=USe(_wt),U7n=_wt.configure([x8n,S8n,w8n,k8n,{props:[QC.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),qO=USe(U7n);function V7n(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=ig.matchLanguageName(e,n,!0),r instanceof ig)return r.support?r.support.language.parser:zO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class ree{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(+Twt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function jwt(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 ree(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 ree(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 ree(a.parent,c,c+d,i[1],u,f,a))}}return r}function Twt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function see(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=Twt(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 VSe(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(cI)!=" ")return e;let r=Dg(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const Nwt=(e={})=>({state:t,dispatch:n})=>{let r=gi(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=jwt(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"&&see(f.item,s,C,-2),S&&S.node.name=="OrderedList"&&see(S.item,s,C),{range:bt.cursor(k+_.length),changes:C}}else{let S=vze(d,t,u);return{range:bt.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"&&see(f.item,s,h);let m=f.item&&f.item.from<u.from,g="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,x=d.length-1;b<=x;b++)g+=b==x&&!m?d[b].marker(s,1):d[b].blank(b<x?Dg(u.text,4,d[b+1].from)-g.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return g=VSe(g,t),q7n(f.node,t.doc)&&(g=vze(d,t,u)+t.lineBreak+g),h.push({from:y,to:c,insert:t.lineBreak+g}),{range:bt.cursor(y+g.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},Iwt=Nwt();function gze(e){return e.name=="QuoteMark"||e.name=="ListMark"}function q7n(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 vze(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?Dg(n.text,4,e[s+1].from)-r.length:null,s<a);return VSe(r,t)}function H7n(e,t){let n=e.resolveInner(t,-1),r=t;gze(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(gze(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const Awt=({state:e,dispatch:t})=>{let n=gi(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=jwt(H7n(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:bt.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(Dg(c.text,4,d.to)-Dg(c.text,4,d.from));return p==c.from&&(h=VSe(h,e)),{range:bt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:bt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},Rwt=[{key:"Enter",run:Iwt},{key:"Backspace",run:Awt}],Pwt=D7n({matchClosingTags:!1});function qSe(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=Ewt,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=Pwt}=e;if(!(s instanceof IH))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,B7n],d;i&&u.push($wt),n instanceof BO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?V7n(t,d):void 0;c.push(d8n({codeParser:f,htmlParser:l.language.parser})),r&&u.push(eh.high(lI.of(Rwt)));let p=USe(s.configure(c));return a&&u.push(p.data.of({autocomplete:W7n})),new BO(p,u)}function W7n(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=gi(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:Z7n(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let aee=null;function Z7n(){if(aee)return aee;let e=P7n(new xSe(cs.create({extensions:Pwt}),0,!0));return aee=e?e.options:[]}const G7n=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,$wt=It.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=gi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||G7n.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)}}),Q7n=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:Ewt,deleteMarkupBackward:Awt,insertNewlineContinueMarkup:Iwt,insertNewlineContinueMarkupCommand:Nwt,markdown:qSe,markdownKeymap:Rwt,markdownLanguage:qO,pasteURLAsLink:$wt},Symbol.toStringTag,{value:"Module"}));function HO(){return HO=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},HO.apply(null,arguments)}var Y7n=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=It.theme(i,{dark:t==="dark"}),d=Hg.define(a),f=[u,H1(d)];return f},K7n={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)"},X7n=[{tag:he.comment,color:"#6272a4"},{tag:he.string,color:"#f1fa8c"},{tag:he.atom,color:"#bd93f9"},{tag:he.meta,color:"#f8f8f2"},{tag:[he.keyword,he.operator,he.tagName],color:"#ff79c6"},{tag:[he.function(he.propertyName),he.propertyName],color:"#66d9ef"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"#50fa7b"},{tag:he.atom,color:"#bd93f9"}],dI=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 Y7n({theme:r,settings:HO({},K7n,a),styles:[...X7n,...l]})};dI();function Mwt(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 J7n=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=WSe(e.state,n.from);return r.line?eBn(e):r.block?nBn(e):!1};function HSe(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 eBn=HSe(aBn,0),tBn=HSe(Dwt,0),nBn=HSe((e,t)=>Dwt(e,t,sBn(t)),0);function WSe(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const wR=50;function rBn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-wR,r),i=e.sliceDoc(s,s+wR),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*wR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+wR),f=e.sliceDoc(s-wR,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 sBn(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 Dwt(e,t,n=t.selection.ranges){let r=n.map(a=>WSe(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>rBn(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 aBn(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=WSe(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 Jme=Uy.define(),iBn=Uy.define(),oBn=Cn.define(),Lwt=Cn.define({combine(e){return Vy(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)})}}),Fwt=Sl.define({create(){return Zv.empty},update(e,t){let n=t.state.facet(Lwt),r=t.annotation(Jme);if(r){let c=mf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=yB(d,d.length,n.minDepth,c):d=Uwt(d,t.startState.selection),new Zv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(iBn);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation($l.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=mf.fromTransaction(t),i=t.annotation($l.time),l=t.annotation($l.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 Zv(e.done.map(mf.fromJSON),e.undone.map(mf.fromJSON))}});function lBn(e={}){return[Fwt,Lwt.of(e),It.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?zwt:t.inputType=="historyRedo"?ege:null;return r?(t.preventDefault(),r(n)):!1}})]}function AH(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(Fwt,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const zwt=AH(0,!1),ege=AH(1,!1),cBn=AH(0,!0),uBn=AH(1,!0);class mf{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 mf(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 mf(t.changes&&Rl.fromJSON(t.changes),[],t.mapped&&ay.fromJSON(t.mapped),t.startSelection&&bt.fromJSON(t.startSelection),t.selectionsAfter.map(bt.fromJSON))}static fromTransaction(t,n){let r=Vh;for(let s of t.startState.facet(oBn)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new mf(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,Vh)}static selection(t){return new mf(void 0,Vh,void 0,void 0,t)}}function yB(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 dBn(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 fBn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function Bwt(e,t){return e.length?t.length?e.concat(t):e:t}const Vh=[],pBn=200;function Uwt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-pBn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),yB(e,e.length-1,1e9,n.setSelAfter(r)))}else return[mf.selection([t])]}function hBn(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 iee(e,t){if(!e.length)return e;let n=e.length,r=Vh;for(;n;){let s=mBn(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?[mf.selection(r)]:Vh}function mBn(e,t,n){let r=Bwt(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Vh,n);if(!e.changes)return mf.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new mf(s,xr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const gBn=/^(input\.type|delete)($|\.)/;class Zv{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 Zv(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||gBn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,dBn(l.changes,t.changes))||r=="input.type.compose")?i=yB(i,i.length-1,s.minDepth,new mf(t.changes.compose(l.changes),Bwt(xr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Vh)):i=yB(i,i.length,s.minDepth,t),new Zv(i,Vh,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:Vh;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&fBn(a[a.length-1],t)?this:new Zv(Uwt(this.done,t),this.undone,n,r)}addMapping(t){return new Zv(iee(this.done,t),iee(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:Jme.of({side:t,rest:hBn(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?Vh:s.slice(0,s.length-1);return a.mapped&&(l=iee(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:Jme.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Zv.empty=new Zv(Vh,Vh);const vBn=[{key:"Mod-z",run:zwt,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ege,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ege,preventDefault:!0},{key:"Mod-u",run:cBn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:uBn,preventDefault:!0}];function fI(e,t){return bt.create(e.ranges.map(t),e.mainIndex)}function Wg(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Zg({state:e,dispatch:t},n){let r=fI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Wg(e,r)),!0)}function RH(e,t){return bt.cursor(t?e.to:e.from)}function Vwt(e,t){return Zg(e,n=>n.empty?e.moveByChar(n,t):RH(n,t))}function nd(e){return e.textDirectionAt(e.state.selection.main.head)==Oi.LTR}const qwt=e=>Vwt(e,!nd(e)),Hwt=e=>Vwt(e,nd(e));function Wwt(e,t){return Zg(e,n=>n.empty?e.moveByGroup(n,t):RH(n,t))}const yBn=e=>Wwt(e,!nd(e)),bBn=e=>Wwt(e,nd(e));function xBn(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 PH(e,t,n){let r=gi(e).resolveInner(t.head),s=n?Dr.closedBy:Dr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;xBn(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Wv(e,r.from,1):Wv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,bt.cursor(l,n?-1:1)}const wBn=e=>Zg(e,t=>PH(e.state,t,!nd(e))),SBn=e=>Zg(e,t=>PH(e.state,t,nd(e)));function Zwt(e,t){return Zg(e,n=>{if(!n.empty)return RH(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const Gwt=e=>Zwt(e,!1),Qwt=e=>Zwt(e,!0);function Ywt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(It.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 Kwt(e,t){let n=Ywt(e),{state:r}=e,s=fI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):RH(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=It.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Wg(r,s),{effects:a}),!0}const yze=e=>Kwt(e,!1),tge=e=>Kwt(e,!0);function W1(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=bt.cursor(r.from+a))}return s}const kBn=e=>Zg(e,t=>W1(e,t,!0)),OBn=e=>Zg(e,t=>W1(e,t,!1)),CBn=e=>Zg(e,t=>W1(e,t,!nd(e))),_Bn=e=>Zg(e,t=>W1(e,t,nd(e))),EBn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).from,1)),jBn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).to,-1));function TBn(e,t,n){let r=!1,s=fI(e.selection,a=>{let i=Wv(e,a.head,-1)||Wv(e,a.head,1)||a.head>0&&Wv(e,a.head-1,1)||a.head<e.doc.length&&Wv(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 bt.cursor(l)});return r?(t(Wg(e,s)),!0):!1}const NBn=({state:e,dispatch:t})=>TBn(e,t);function jm(e,t,n){let r=fI(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=bt.range(s.head,s.anchor));let a=n(s);return bt.range(s.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(Wg(e.state,r)),!0)}function Xwt(e,t){return jm(e,t,n=>e.moveByChar(n,t))}const Jwt=e=>Xwt(e,!nd(e)),e1t=e=>Xwt(e,nd(e));function t1t(e,t){return jm(e,t,n=>e.moveByGroup(n,t))}const IBn=e=>t1t(e,!nd(e)),ABn=e=>t1t(e,nd(e)),RBn=e=>{let t=!nd(e);return jm(e,t,n=>PH(e.state,n,t))},PBn=e=>{let t=nd(e);return jm(e,t,n=>PH(e.state,n,t))};function n1t(e,t){return jm(e,t,n=>e.moveVertically(n,t))}const r1t=e=>n1t(e,!1),s1t=e=>n1t(e,!0);function a1t(e,t){return jm(e,t,n=>e.moveVertically(n,t,Ywt(e).height))}const bze=e=>a1t(e,!1),xze=e=>a1t(e,!0),$Bn=e=>jm(e,!0,t=>W1(e,t,!0)),MBn=e=>jm(e,!1,t=>W1(e,t,!1)),DBn=e=>{let t=!nd(e);return jm(e,t,n=>W1(e,n,t))},LBn=e=>{let t=nd(e);return jm(e,t,n=>W1(e,n,t))},FBn=e=>jm(e,!1,t=>bt.cursor(e.lineBlockAt(t.head).from)),zBn=e=>jm(e,!0,t=>bt.cursor(e.lineBlockAt(t.head).to)),wze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:0})),!0),Sze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.doc.length})),!0),kze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:0})),!0),Oze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),BBn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),UBn=({state:e,dispatch:t})=>{let n=$H(e).map(({from:r,to:s})=>bt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:bt.create(n),userEvent:"select"})),!0},VBn=({state:e,dispatch:t})=>{let n=fI(e.selection,r=>{let s=gi(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 bt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Wg(e,n)),!0)};function i1t(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(Wg(n,bt.create(s,s.length-1))),!0)}const qBn=e=>i1t(e,!1),HBn=e=>i1t(e,!0),WBn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=bt.create([n.main]):n.main.empty||(r=bt.create([bt.cursor(n.main.head)])),r?(t(Wg(e,r)),!0):!1};function F3(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=J6(e,c,!1)):c>i&&(n="delete.forward",c=J6(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=J6(e,i,!1),l=J6(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:bt.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"?It.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function J6(e,t,n){if(e instanceof It)for(let r of e.state.facet(It.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const o1t=(e,t,n)=>F3(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=Dg(l,a.tabSize),d=u%UO(a)||UO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=Cc(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=Cc(i.text,c-i.from,!1,!1)+i.from);return c}),nge=e=>o1t(e,!1,!0),l1t=e=>o1t(e,!0,!1),c1t=(e,t)=>F3(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=Cc(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}),u1t=e=>c1t(e,!1),ZBn=e=>c1t(e,!0),GBn=e=>F3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),QBn=e=>F3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),YBn=e=>F3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),KBn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:wa.of(["",""])},range:bt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},XBn=({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:Cc(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:Cc(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:bt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function $H(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 d1t(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of $H(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(bt.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(bt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:bt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const JBn=({state:e,dispatch:t})=>d1t(e,t,!1),eUn=({state:e,dispatch:t})=>d1t(e,t,!0);function f1t(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of $H(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 tUn=({state:e,dispatch:t})=>f1t(e,t,!1),nUn=({state:e,dispatch:t})=>f1t(e,t,!0),rUn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes($H(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=fI(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 sUn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=gi(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(Dr.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 Cze=p1t(!1),aUn=p1t(!0);function p1t(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&&sUn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new jH(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=hSe(u,a);for(d==null&&(d=Dg(/^\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:wa.of(f)},range:bt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function ZSe(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:bt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const iUn=({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=ZSe(e,(a,i,l)=>{let c=hSe(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},h1t=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(ZSe(e,(n,r)=>{r.push({from:n.from,insert:e.facet(cI)})}),{userEvent:"input.indent"})),!0),m1t=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(ZSe(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=Dg(s,e.tabSize),i=0,l=gM(e,Math.max(0,a-UO(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),oUn=e=>(e.setTabFocusMode(),!0),lUn=[{key:"Ctrl-b",run:qwt,shift:Jwt,preventDefault:!0},{key:"Ctrl-f",run:Hwt,shift:e1t},{key:"Ctrl-p",run:Gwt,shift:r1t},{key:"Ctrl-n",run:Qwt,shift:s1t},{key:"Ctrl-a",run:EBn,shift:FBn},{key:"Ctrl-e",run:jBn,shift:zBn},{key:"Ctrl-d",run:l1t},{key:"Ctrl-h",run:nge},{key:"Ctrl-k",run:GBn},{key:"Ctrl-Alt-h",run:u1t},{key:"Ctrl-o",run:KBn},{key:"Ctrl-t",run:XBn},{key:"Ctrl-v",run:tge}],cUn=[{key:"ArrowLeft",run:qwt,shift:Jwt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:yBn,shift:IBn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:CBn,shift:DBn,preventDefault:!0},{key:"ArrowRight",run:Hwt,shift:e1t,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:bBn,shift:ABn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:_Bn,shift:LBn,preventDefault:!0},{key:"ArrowUp",run:Gwt,shift:r1t,preventDefault:!0},{mac:"Cmd-ArrowUp",run:wze,shift:kze},{mac:"Ctrl-ArrowUp",run:yze,shift:bze},{key:"ArrowDown",run:Qwt,shift:s1t,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Sze,shift:Oze},{mac:"Ctrl-ArrowDown",run:tge,shift:xze},{key:"PageUp",run:yze,shift:bze},{key:"PageDown",run:tge,shift:xze},{key:"Home",run:OBn,shift:MBn,preventDefault:!0},{key:"Mod-Home",run:wze,shift:kze},{key:"End",run:kBn,shift:$Bn,preventDefault:!0},{key:"Mod-End",run:Sze,shift:Oze},{key:"Enter",run:Cze,shift:Cze},{key:"Mod-a",run:BBn},{key:"Backspace",run:nge,shift:nge,preventDefault:!0},{key:"Delete",run:l1t,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:u1t,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:ZBn,preventDefault:!0},{mac:"Mod-Backspace",run:QBn,preventDefault:!0},{mac:"Mod-Delete",run:YBn,preventDefault:!0}].concat(lUn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),uUn=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:wBn,shift:RBn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:SBn,shift:PBn},{key:"Alt-ArrowUp",run:JBn},{key:"Shift-Alt-ArrowUp",run:tUn},{key:"Alt-ArrowDown",run:eUn},{key:"Shift-Alt-ArrowDown",run:nUn},{key:"Mod-Alt-ArrowUp",run:qBn},{key:"Mod-Alt-ArrowDown",run:HBn},{key:"Escape",run:WBn},{key:"Mod-Enter",run:aUn},{key:"Alt-l",mac:"Ctrl-l",run:UBn},{key:"Mod-i",run:VBn,preventDefault:!0},{key:"Mod-[",run:m1t},{key:"Mod-]",run:h1t},{key:"Mod-Alt-\\",run:iUn},{key:"Shift-Mod-k",run:rUn},{key:"Shift-Mod-\\",run:NBn},{key:"Mod-/",run:J7n},{key:"Alt-A",run:tBn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:oUn}].concat(cUn),dUn={key:"Tab",run:h1t,shift:m1t},_ze=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Ax{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(_ze(l)):_ze,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 of(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=Q1e(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=$v(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"&&(Ax.prototype[Symbol.iterator]=function(){return this});const g1t={from:-1,to:-1,match:/.*/.exec(""),precise:!0},GSe="gm"+(/x/.unicode==null?"":"u");class v1t{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=g1t,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new y1t(t,n,r,s,a);this.re=new RegExp(n,GSe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=bB(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=bB(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 oee=new WeakMap;class Zj{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=oee.get(t);if(!s||s.from>=r||s.to<=n){let l=new Zj(n,t.sliceString(n,r));return oee.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)),oee.set(t,new Zj(i,a)),new Zj(n,a.slice(n-i,r-i))}}class y1t{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=g1t,this.matchPos=bB(t,s),this.re=new RegExp(n,GSe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Zj.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=bB(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Zj.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(v1t.prototype[Symbol.iterator]=y1t.prototype[Symbol.iterator]=function(){return this});function fUn(e){try{return new RegExp(e,GSe),!0}catch{return!1}}function bB(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 pUn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=G6n(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))),g=bt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,It.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},hUn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},mUn=Cn.define({combine(e){return Vy(e,hUn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function gUn(e){return[wUn,xUn]}const vUn=jn.mark({class:"cm-selectionMatch"}),yUn=jn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Eze(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=So.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=So.Word)}function bUn(e,t,n,r){return e(t.sliceDoc(n,n+1))==So.Word&&e(t.sliceDoc(r-1,r))==So.Word}const xUn=Eo.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(mUn),{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),!(Eze(i,n,s.from,s.to)&&bUn(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 Ax(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||Eze(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(yUn.range(d,f)):(d>=s.to||f<=s.from)&&l.push(vUn.range(d,f)),l.length>t.maxMatches))return jn.none}}return jn.set(l)}},{decorations:e=>e.decorations}),wUn=It.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),SUn=({state:e,dispatch:t})=>{let{selection:n}=e,r=bt.create(n.ranges.map(s=>e.wordAt(s.head)||bt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function kUn(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 Ax(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Ax(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 OUn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return SUn({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=kUn(e,r);return s?(t(e.update({selection:e.selection.addRange(bt.range(s.from,s.to),!1),effects:It.scrollIntoView(s.to)})),!0):!1},pI=Cn.define({combine(e){return Vy(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new LUn(t),scrollToMatch:t=>It.scrollIntoView(t)})}});class b1t{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||fUn(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"?`
|
|
337
|
-
`: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 NUn(this):new EUn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?qE(this,s,n,r):VE(this,s,n,r)}}class x1t{constructor(t){this.spec=t}}function CUn(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 VE(e,t,n,r){let s;return e.wholeWord&&(s=_Un(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=CUn(e.test,t,s)),new Ax(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function _Un(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(xB(s,n-a))!=So.Word||t(wB(s,n-a))!=So.Word)&&(t(wB(s,r-a))!=So.Word||t(xB(s,r-a))!=So.Word))}class EUn extends x1t{constructor(t){super(t)}nextMatch(t,n,r){let s=VE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=VE(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=VE(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=VE(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=VE(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 jUn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function qE(e,t,n,r){let s;return e.wholeWord&&(s=TUn(t.charCategorizer(t.selection.main.head))),e.test&&(s=jUn(e.test,t,s)),new v1t(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function xB(e,t){return e.slice(Cc(e,t,!1),t)}function wB(e,t){return e.slice(t,Cc(e,t))}function TUn(e){return(t,n,r)=>!r[0].length||(e(xB(r.input,r.index))!=So.Word||e(wB(r.input,r.index))!=So.Word)&&(e(wB(r.input,r.index+r[0].length))!=So.Word||e(xB(r.input,r.index+r[0].length))!=So.Word)}class NUn extends x1t{nextMatch(t,n,r){let s=qE(this.spec,t,r,t.doc.length).next();return s.done&&(s=qE(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=qE(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=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-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const CM=xr.define(),QSe=xr.define(),Uw=Sl.define({create(e){return new lee(rge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(CM)?e=new lee(n.value.create(),e.panel):n.is(QSe)&&(e=new lee(e.query,n.value?YSe:null));return e},provide:e=>mM.from(e,t=>t.panel)});class lee{constructor(t,n){this.query=t,this.panel=n}}const IUn=jn.mark({class:"cm-searchMatch"}),AUn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),RUn=Eo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Uw))}update(e){let t=e.state.field(Uw);(t!=e.startState.field(Uw)||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 Dd;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?AUn:IUn)})}return r.finish()}},{decorations:e=>e.decorations});function z3(e){return t=>{let n=t.state.field(Uw,!1);return n&&n.query.spec.valid?e(t,n):k1t(t)}}const SB=z3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=bt.single(r.from,r.to),a=e.state.facet(pI);return e.dispatch({selection:s,effects:[KSe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),S1t(e),!0}),kB=z3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(pI);return e.dispatch({selection:a,effects:[KSe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),S1t(e),!0}),PUn=z3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:bt.create(n.map(r=>bt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),$Un=({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 Ax(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(bt.range(l.value.from,l.value.to))}return t(e.update({selection:bt.create(a,i),userEvent:"select.search.matches"})),!0},jze=z3((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(It.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=bt.single(i.from,i.to).map(f),d.push(KSe(e,i)),d.push(n.facet(pI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),MUn=z3((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:It.announce.of(r),userEvent:"input.replace.all"}),!0});function YSe(e){return e.state.facet(pI).createPanel(e)}function rge(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(pI);return new b1t({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 w1t(e){let t=fSe(e,YSe);return t&&t.dom.querySelector("[main-field]")}function S1t(e){let t=w1t(e);t&&t==e.root.activeElement&&t.select()}const k1t=e=>{let t=e.state.field(Uw,!1);if(t&&t.panel){let n=w1t(e);if(n&&n!=e.root.activeElement){let r=rge(e.state,t.query.spec);r.valid&&e.dispatch({effects:CM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[QSe.of(!0),t?CM.of(rge(e.state,t.query.spec)):xr.appendConfig.of(zUn)]});return!0},O1t=e=>{let t=e.state.field(Uw,!1);if(!t||!t.panel)return!1;let n=fSe(e,YSe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:QSe.of(!1)}),!0},DUn=[{key:"Mod-f",run:k1t,scope:"editor search-panel"},{key:"F3",run:SB,shift:kB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:SB,shift:kB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:O1t,scope:"editor search-panel"},{key:"Mod-Shift-l",run:$Un},{key:"Mod-Alt-g",run:pUn},{key:"Mod-d",run:OUn,preventDefault:!0}];class LUn{constructor(t){this.view=t;let n=this.query=t.state.field(Uw).query.spec;this.commit=this.commit.bind(this),this.searchField=di("input",{value:n.search,placeholder:ap(t,"Find"),"aria-label":ap(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=di("input",{value:n.replace,placeholder:ap(t,"Replace"),"aria-label":ap(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=di("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=di("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=di("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return di("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=di("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>SB(t),[ap(t,"next")]),r("prev",()=>kB(t),[ap(t,"previous")]),r("select",()=>PUn(t),[ap(t,"all")]),di("label",null,[this.caseField,ap(t,"match case")]),di("label",null,[this.reField,ap(t,"regexp")]),di("label",null,[this.wordField,ap(t,"by word")]),...t.state.readOnly?[]:[di("br"),this.replaceField,r("replace",()=>jze(t),[ap(t,"replace")]),r("replaceAll",()=>MUn(t),[ap(t,"replace all")])],di("button",{name:"close",onclick:()=>O1t(t),"aria-label":ap(t,"close"),type:"button"},["×"])])}commit(){let t=new b1t({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:CM.of(t)}))}keydown(t){s6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?kB:SB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),jze(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(CM)&&!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(pI).top}}function ap(e,t){return e.state.phrase(t)}const eF=30,tF=/[\s\.,:;?!]/;function KSe(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-eF),i=Math.min(s,n+eF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<eF;c++)if(!tF.test(l[c+1])&&tF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-eF;c--)if(!tF.test(l[c-1])&&tF.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const FUn=It.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"}}),zUn=[Uw,eh.low(RUn),FUn];class Tze{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class kk{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(_M).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Dd,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((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=JUn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,jn.widget({widget:new QUn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new kk(u,n,qT(u))}}function qT(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 Tze(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Tze(r.from,a,r.diagnostic)}}),r}function BUn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(_M).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(C1t))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function UUn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(eVn))}const C1t=xr.define(),XSe=xr.define(),_1t=xr.define(),jp=Sl.define({create(){return new kk(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=qT(n,e.selected.diagnostic,a)||qT(n,null,a)}!n.size&&s&&t.state.facet(_M).autoPanel&&(s=null),e=new kk(n,s,r)}for(let n of t.effects)if(n.is(C1t)){let r=t.state.facet(_M).autoPanel?n.value.length?EM.open:null:e.panel;e=kk.init(n.value,r,t.state)}else n.is(XSe)?e=new kk(e.diagnostics,n.value?EM.open:null,e.selected):n.is(_1t)&&(e=new kk(e.diagnostics,e.panel,n.value));return e},provide:e=>[mM.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),VUn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function qUn(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(_M).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:HUn(e,s)}}}:null}function HUn(e,t){return di("ul",{class:"cm-tooltip-lint"},t.map(n=>j1t(e,n,!1)))}const WUn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:UUn(e.state,[XSe.of(!0)])});let n=fSe(e,EM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Nze=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:XSe.of(!1)}),!0)},ZUn=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)},GUn=[{key:"Mod-Shift-m",run:WUn,preventDefault:!0},{key:"F8",run:ZUn}],_M=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Vy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ize,tooltipFilter:Ize,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 Ize(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function E1t(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 j1t(e,t,n){var r;let s=n?E1t(t.actions):[];return di("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},di("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=qT(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),di("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return di("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&di("div",{class:"cm-diagnosticSource"},t.source))}class QUn extends th{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return di("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Aze{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=j1t(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)Nze(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=E1t(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=qT(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=di("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=di("div",{class:"cm-panel-lint"},this.list,di("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Nze(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 Aze(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 Aze(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=qT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:_1t.of(r)})}static open(t){return new EM(t)}}function YUn(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 nF(e){return YUn(`<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 KUn=It.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:nF("#d11")},".cm-lintRange-warning":{backgroundImage:nF("orange")},".cm-lintRange-info":{backgroundImage:nF("#999")},".cm-lintRange-hint":{backgroundImage:nF("#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 XUn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function JUn(e){let t="hint",n=1;for(let r of e){let s=XUn(r.severity);s>n&&(n=s,t=r.severity)}return t}const eVn=[jp,It.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?jn.none:jn.set([VUn.range(t.from,t.to)])}),W6n(qUn,{hideOn:BUn}),KUn];var Rze=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(Vzn)),t.defaultKeymap!==!1&&(a=a.concat(uUn)),t.searchKeymap!==!1&&(a=a.concat(DUn)),t.historyKeymap!==!1&&(a=a.concat(vBn)),t.foldKeymap!==!1&&(a=a.concat(jFn)),t.completionKeymap!==!1&&(a=a.concat(S0t)),t.lintKeymap!==!1&&(a=a.concat(GUn));var i=[];return t.lineNumbers!==!1&&i.push(sFn()),t.highlightActiveLineGutter!==!1&&i.push(oFn()),t.highlightSpecialChars!==!1&&i.push(x6n()),t.history!==!1&&i.push(lBn()),t.foldGutter!==!1&&i.push(AFn()),t.drawSelection!==!1&&i.push(u6n()),t.dropCursor!==!1&&i.push(m6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(xFn()),t.syntaxHighlighting!==!1&&i.push(H1(MFn,{fallback:!0})),t.bracketMatching!==!1&&i.push(VFn()),t.closeBrackets!==!1&&i.push(Fzn()),t.autocompletion!==!1&&i.push(w0t()),t.rectangularSelection!==!1&&i.push(P6n()),s!==!1&&i.push(D6n()),t.highlightActiveLine!==!1&&i.push(_6n()),t.highlightSelectionMatches!==!1&&i.push(gUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(cI.of(" ".repeat(t.tabSize))),i.concat([lI.of(a.flat())]).filter(Boolean)};const tVn="#e5c07b",Pze="#e06c75",nVn="#56b6c2",rVn="#ffffff",P8="#abb2bf",sge="#7d8799",sVn="#61afef",aVn="#98c379",$ze="#d19a66",iVn="#c678dd",oVn="#21252b",Mze="#2c313a",Dze="#282c34",cee="#353a42",lVn="#3E4451",Lze="#528bff",cVn=It.theme({"&":{color:P8,backgroundColor:Dze},".cm-content":{caretColor:Lze},".cm-cursor, .cm-dropCursor":{borderLeftColor:Lze},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:lVn},".cm-panels":{backgroundColor:oVn,color:P8},".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:Dze,color:sge,border:"none"},".cm-activeLineGutter":{backgroundColor:Mze},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:cee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:cee,borderBottomColor:cee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Mze,color:P8}}},{dark:!0}),uVn=Hg.define([{tag:he.keyword,color:iVn},{tag:[he.name,he.deleted,he.character,he.propertyName,he.macroName],color:Pze},{tag:[he.function(he.variableName),he.labelName],color:sVn},{tag:[he.color,he.constant(he.name),he.standard(he.name)],color:$ze},{tag:[he.definition(he.name),he.separator],color:P8},{tag:[he.typeName,he.className,he.number,he.changed,he.annotation,he.modifier,he.self,he.namespace],color:tVn},{tag:[he.operator,he.operatorKeyword,he.url,he.escape,he.regexp,he.link,he.special(he.string)],color:nVn},{tag:[he.meta,he.comment],color:sge},{tag:he.strong,fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.link,color:sge,textDecoration:"underline"},{tag:he.heading,fontWeight:"bold",color:Pze},{tag:[he.atom,he.bool,he.special(he.variableName)],color:$ze},{tag:[he.processingInstruction,he.string,he.inserted],color:aVn},{tag:he.invalid,color:rVn}]),dVn=[cVn,H1(uVn)];var fVn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),pVn=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,g=[];switch(s&&g.unshift(lI.of([dUn])),m&&(typeof m=="boolean"?g.unshift(Rze()):g.unshift(Rze(m))),p&&g.unshift(N6n(p)),d){case"light":g.push(fVn);break;case"dark":g.push(dVn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(cs.readOnly.of(!0)),[...g]},hVn=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 mVn{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 Fze{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 uee=null,gVn=()=>typeof window>"u"?new Fze:(uee||(uee=new Fze),uee),vVn=It.theme({"& .cm-scroller":{height:"100% !important"}}),zze=null,dee=null;function yVn(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===zze||(zze=i,dee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),dee}var Bze=Uy.define(),bVn=200,xVn=[];function wVn(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?xVn: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,g=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,E=C===void 0?null:C,j=e.placeholder,N=j===void 0?"":j,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,z=D===void 0?!0:D,H=e.basicSetup,F=H===void 0?!0:H,B=e.root,V=e.initialState,M=v.useState(),Q=M[0],q=M[1],$=v.useState(),U=$[0],Z=$[1],K=v.useState(),ne=K[0],ee=K[1],J=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],pe=yVn(h,g,b,S,_,E),Y=It.updateListener.of(de=>{if(de.docChanged&&typeof r=="function"&&!de.transactions.some(be=>be.annotation(Bze))){J.current?J.current.reset():(J.current=new mVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},bVn),gVn().add(J.current));var oe=de.state.doc,ue=oe.toString();r(ue,de)}s&&s(hVn(de))}),te=pVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:z,basicSetup:F}),le=[Y,...pe?[pe]:[],vVn,...te];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(Q&&!ne){var de={doc:t,selection:n,extensions:le},oe=V?cs.fromJSON(V.json,de,V.fields):cs.create(de);if(ee(oe),!U){var ue=new It({state:oe,parent:Q,root:B});Z(ue),a&&a(ue,oe)}}return()=>{U&&(ee(void 0),Z(void 0))}},[Q,ne]),v.useEffect(()=>{e.container&&q(e.container)},[e.container]),v.useEffect(()=>()=>{U&&(U.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[U]),v.useEffect(()=>{u&&U&&U.focus()},[u,U]),v.useEffect(()=>{U&&U.dispatch({effects:xr.reconfigure.of(le)})},[f,c,h,g,b,S,_,E,N,A,L,z,F,r,i]),v.useEffect(()=>{if(t!==void 0){var de=U?U.state.doc.toString():"";if(U&&t!==de){var oe=J.current&&!J.current.isDone,ue=()=>{U&&t!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:t||""},annotations:[Bze.of(!0)]})};oe?ae.current=ue:ue()}}},[t,U]),{state:ne,setState:ee,view:U,setView:Z,container:Q,setContainer:q}}var SVn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xu=v.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,g=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=Mwt(e,SVn),L=v.useRef(null),D=wVn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:E,editable:j,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),z=D.state,H=D.view,F=D.container,B=D.setContainer;v.useImperativeHandle(t,()=>({editor:L.current,state:z,view:H}),[L,F,z,H]);var V=v.useCallback(Q=>{L.current=Q,B(Q)},[B]);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",HO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const kVn={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"};let fee=null;function OVn(){return fee||(fee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-BNwtVCAZ.js"),__vite__mapDeps([0,1,2]),import.meta.url),go(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[go(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),go(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[go(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),go(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),go(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),go(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),go(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),go(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),go(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),go(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),fee}async function CVn(e,t){const n=kVn[t?.toLowerCase()];if(!n)return null;const r=await OVn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function _Vn(e){return new BO(vSe.define(e))}const T1t=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>tzn),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ig.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return go(()=>Promise.resolve().then(()=>Q7n),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ig.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ig.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return go(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>_Vn(e.shell))}})];function EVn(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 jVn(e){const t=EVn(e);return w0t({override:[TVn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function TVn(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 g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const NVn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,IVn=jn.mark({class:"cm-variable-highlight"}),Uze=new $xt({regexp:NVn,decoration:()=>IVn}),AVn=Eo.fromClass(class{decorations;constructor(e){this.decorations=Uze.createDeco(e)}update(e){this.decorations=Uze.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),RVn=AVn;function PVn(){const e=dI({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:[he.className,he.propertyName],color:"var(--neutral6)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:he.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.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 $Vn(){const e=It.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=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[he.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[he.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:[he.deleted],color:"var(--accent2)"},{tag:he.invalid,color:"var(--error)"},{tag:[he.standard(he.tagName)],color:"var(--accent1)"}]);return[e,H1(t)]}const t0=()=>{const e=HC().resolvedTheme==="dark";return v.useMemo(()=>e?PVn():$Vn(),[e])},MVn=co(X("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"}}),DVn=eh.highest(It.editorAttributes.of({style:"outline: none"})),LVn=eh.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),FVn=[DVn,LVn],Wr=v.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},g)=>{const y=t0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const S=[...FVn];return f&&S.push(It.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(qSe({base:qO,codeLanguages:T1t})),i&&a==="markdown"&&S.push(RVn),c&&a==="markdown"&&S.push(jVn(c)),p===!1&&S.push(cs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(MVn({variant:h}),s),...m,children:[r&&o.jsx(Pa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Xu,{ref:g,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}})]})}),zVn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},BVn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=t0(),{settings:r,setSettings:s}=lH(),a=r?.tracingOptions,i=v.useMemo(()=>zVn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.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(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xu,{value:l,onChange:d,theme:n,extensions:[$p],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ce,{type:"button",onClick:f,children:"Save"})})]})},UVn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(qe,{children:o.jsx(XV,{})})})}),o.jsx(Rn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Rr,{children:o.jsx(BVn,{onSaved:()=>t(!1)})})]})})]})};function VVn({status:e}){switch(e){case"running":return o.jsx(Xt,{});case"failed":return o.jsx(bs,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(hT,{className:"text-neutral3"});case"suspended":return o.jsx(ZV,{className:"text-accent3"});case"success":return o.jsx(fa,{className:"text-accent1"});default:return o.jsx(hT,{className:"text-neutral3"})}}function N1t({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(qe,{"aria-label":e,className:"shrink-0",children:o.jsx(VVn,{status:e})})}),o.jsx(Rn,{children:e})]})}var pee,Vze;function JSe(){if(Vze)return pee;Vze=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([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),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,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,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 g=h;h=m,m=g}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 g=h;h=m,m=g}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 pee=r,pee}var hee,qze;function qVn(){return qze||(qze=1,hee="2.2.4"),hee}var mee,Hze;function HVn(){return Hze||(Hze=1,mee={Graph:JSe(),version:qVn()}),mee}var gee,Wze;function WVn(){if(Wze)return gee;Wze=1;var e=JSe();gee={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 gee}var vee,Zze;function ZVn(){if(Zze)return vee;Zze=1,vee=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 vee}var yee,Gze;function I1t(){if(Gze)return yee;Gze=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 yee=e,yee}var bee,Qze;function A1t(){if(Qze)return bee;Qze=1;var e=I1t();bee=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,g=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<g.distance&&(g.distance=b,g.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 bee}var xee,Yze;function GVn(){if(Yze)return xee;Yze=1;var e=A1t();xee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return xee}var wee,Kze;function R1t(){if(Kze)return wee;Kze=1,wee=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 wee}var See,Xze;function QVn(){if(Xze)return See;Xze=1;var e=R1t();See=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return See}var kee,Jze;function YVn(){if(Jze)return kee;Jze=1,kee=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],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return kee}var Oee,e8e;function P1t(){if(e8e)return Oee;e8e=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 Oee=e,e.CycleException=t,Oee}var Cee,t8e;function KVn(){if(t8e)return Cee;t8e=1;var e=P1t();Cee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Cee}var _ee,n8e;function $1t(){if(n8e)return _ee;n8e=1,_ee=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 _ee}var Eee,r8e;function XVn(){if(r8e)return Eee;r8e=1;var e=$1t();Eee=t;function t(n,r){return e(n,r,"post")}return Eee}var jee,s8e;function JVn(){if(s8e)return jee;s8e=1;var e=$1t();jee=t;function t(n,r){return e(n,r,"pre")}return jee}var Tee,a8e;function eqn(){if(a8e)return Tee;a8e=1;var e=JSe(),t=I1t();Tee=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 Tee}var Nee,i8e;function tqn(){return i8e||(i8e=1,Nee={components:ZVn(),dijkstra:A1t(),dijkstraAll:GVn(),findCycles:QVn(),floydWarshall:YVn(),isAcyclic:KVn(),postorder:XVn(),preorder:JVn(),prim:eqn(),tarjan:R1t(),topsort:P1t()}),Nee}var Iee,o8e;function Fg(){if(o8e)return Iee;o8e=1;var e=HVn();return Iee={Graph:e.Graph,json:WVn(),alg:tqn(),version:e.version},Iee}var Aee,l8e;function nqn(){if(l8e)return Aee;l8e=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 Aee=e,Aee}var Ree,c8e;function rqn(){if(c8e)return Ree;c8e=1;let e=Fg().Graph,t=nqn();Ree=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],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.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),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}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 Ree}var Pee,u8e;function Ll(){if(u8e)return Pee;u8e=1;let e=Fg().Graph;Pee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(j,N,I,A){for(var R=A;j.hasNode(R);)R=S(A);return I.dummy=N,j.setNode(R,I),R}function n(j){let N=new e().setGraph(j.graph());return j.nodes().forEach(I=>N.setNode(I,j.node(I))),j.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=j.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(j){let N=new e({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(I=>{j.children(I).length||N.setNode(I,j.node(I))}),j.edges().forEach(I=>{N.setEdge(I,j.edge(I))}),N}function s(j){let N=j.nodes().map(I=>{let A={};return j.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+j.edge(R).weight}),A});return E(j.nodes(),N)}function a(j){let N=j.nodes().map(I=>{let A={};return j.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+j.edge(R).weight}),A});return E(j.nodes(),N)}function i(j,N){let I=j.x,A=j.y,R=N.x-I,L=N.y-A,D=j.width/2,z=j.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,F;return Math.abs(L)*D>Math.abs(R)*z?(L<0&&(z=-z),H=z*R/L,F=z):(R<0&&(D=-D),H=D,F=D*L/R),{x:I+H,y:A+F}}function l(j){let N=k(m(j)+1).map(()=>[]);return j.nodes().forEach(I=>{let A=j.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(j){let N=j.nodes().map(A=>{let R=j.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);j.nodes().forEach(A=>{let R=j.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(j){let N=j.nodes().map(D=>j.node(D).rank),I=h(Math.min,N),A=[];j.nodes().forEach(D=>{let z=j.node(D).rank-I;A[z]||(A[z]=[]),A[z].push(D)});let R=0,L=j.graph().nodeRankFactor;Array.from(A).forEach((D,z)=>{D===void 0&&z%L!==0?--R:D!==void 0&&R&&D.forEach(H=>j.node(H).rank+=R)})}function d(j,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(j,"border",R,N)}function f(j,N=p){const I=[];for(let A=0;A<j.length;A+=N){const R=j.slice(A,A+N);I.push(R)}return I}const p=65535;function h(j,N){if(N.length>p){const I=f(N);return j.apply(null,I.map(A=>j.apply(null,A)))}else return j.apply(null,N)}function m(j){const I=j.nodes().map(A=>{let R=j.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function g(j,N){let I={lhs:[],rhs:[]};return j.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(j,N){let I=Date.now();try{return N()}finally{console.log(j+" time: "+(Date.now()-I)+"ms")}}function b(j,N){return N()}let x=0;function S(j){var N=++x;return j+(""+N)}function k(j,N,I=1){N==null&&(N=j,j=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=j;A(L);L+=I)R.push(L);return R}function _(j,N){const I={};for(const A of N)j[A]!==void 0&&(I[A]=j[A]);return I}function C(j,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(j).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(j,N){return j.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Pee}var $ee,d8e;function sqn(){if(d8e)return $ee;d8e=1;let e=rqn(),t=Ll().uniqueId;$ee={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 $ee}var Mee,f8e;function aqn(){if(f8e)return Mee;f8e=1;let e=Ll();Mee={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,g;for(g=0,++l;l<u;++g,++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),g===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 Mee}var Dee,p8e;function OB(){if(p8e)return Dee;p8e=1;const{applyWithChunking:e}=Ll();Dee={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 Dee}var Lee,h8e;function M1t(){if(h8e)return Lee;h8e=1;var e=Fg().Graph,t=OB().slack;Lee=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 Lee}var Fee,m8e;function iqn(){if(m8e)return Fee;m8e=1;var e=M1t(),t=OB().slack,n=OB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ll().simplify;Fee=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,E=!0,j=S.edge(k,C),N=0;return j||(E=!1,j=S.edge(C,k)),N=j.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===E,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var z=x.edge(k,R).cutvalue;N+=L?-z:z}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var E=k,j=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),j.low=E,j.lim=k++,C?j.parent=C:delete j.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 E=x.node(_),j=x.node(C),N=E,I=!1;E.lim>j.lim&&(N=j,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,E=k.w;x.removeEdge(C,E),x.setEdge(_.v,_.w,{}),d(x),l(x,S),g(x,S)}function g(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var E=x.node(C).parent,j=S.edge(C,E),N=!1;j||(j=S.edge(E,C),N=!0),S.node(C).rank=S.node(E).rank+(N?j.minlen:-j.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 Fee}var zee,g8e;function oqn(){if(g8e)return zee;g8e=1;var e=OB(),t=e.longestPath,n=M1t(),r=iqn();zee=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 zee}var Bee,v8e;function lqn(){if(v8e)return Bee;v8e=1,Bee=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 Bee}var Uee,y8e;function cqn(){if(y8e)return Uee;y8e=1;let e=Ll();Uee={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"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,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,g,{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 Uee}var Vee,b8e;function uqn(){if(b8e)return Vee;b8e=1;let e=Ll();Vee=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 Vee}var qee,x8e;function dqn(){if(x8e)return qee;x8e=1,qee={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 qee}var Hee,w8e;function fqn(){if(w8e)return Hee;w8e=1;let e=Ll();Hee=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 Hee}var Wee,S8e;function pqn(){if(S8e)return Wee;S8e=1;let e=Ll().zipObject;Wee=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 Wee}var Zee,k8e;function hqn(){if(k8e)return Zee;k8e=1,Zee=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 Zee}var Gee,O8e;function mqn(){if(O8e)return Gee;O8e=1;let e=Ll();Gee=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 Gee}var Qee,C8e;function gqn(){if(C8e)return Qee;C8e=1;let e=Ll();Qee=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.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 Qee}var Yee,_8e;function vqn(){if(_8e)return Yee;_8e=1;let e=hqn(),t=mqn(),n=gqn();Yee=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 g=e(i,d);g.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(g,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 Yee}var Kee,E8e;function yqn(){if(E8e)return Kee;E8e=1;let e=Fg().Graph,t=Ll();Kee=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,g=u.edge(m,d),y=g!==void 0?g.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 Kee}var Xee,j8e;function bqn(){if(j8e)return Xee;j8e=1,Xee=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 Xee}var Jee,T8e;function xqn(){if(T8e)return Jee;T8e=1;let e=fqn(),t=pqn(),n=vqn(),r=yqn(),s=bqn(),a=Fg().Graph,i=Ll();Jee=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"),g=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:g,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,g=(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"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&g(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 g=m.graph().root,y=n(m,g,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,g)=>f.node(m).order=g))}return Jee}var ete,N8e;function wqn(){if(N8e)return ete;N8e=1;let e=Fg().Graph,t=Ll();ete={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,E=0,j=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:j;(R||I===N)&&(_.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(z=>{let H=y.node(z),F=H.order;(F<C||L<F)&&!(H.dummy&&y.node(D).dummy)&&a(x,z,D)})}),E=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,E,j,N){let I;t.range(C,E).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<j||L.order>N)&&a(x,R,I)})})}function k(_,C){let E=-1,j,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(j=y.node(R[0]).order,S(C,N,A,E,j),N=A,E=j)}S(C,N,C.length,j,_.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(E=>{E.forEach((j,N)=>{k[j]=j,_[j]=j,C[j]=N})}),b.forEach(E=>{let j=-1;E.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&&j<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],j=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),E=k?"borderLeft":"borderRight";function j(A,R){let L=C.nodes(),D=L.pop(),z={};for(;D;)z[D]?A(D):(z[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,z)=>Math.min(D,_[z.w]-C.edge(z)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(_[A]=Math.max(_[A],R))}return j(N,C.predecessors.bind(C)),j(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(E=>{let j;E.forEach(N=>{let I=x[N];if(k.setNode(I),j){var A=x[j],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,j),R||0))}j=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(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),_=Math.min(j-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 E=_+C,j=y[E];if(j===b)return;let N=Object.values(j),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(j,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(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let j=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,j),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[C+E]=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),E=S.node(_),j=0,N;if(j+=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&&(j+=x?N:-N),N=0,j+=(C.dummy?b:y)/2,j+=(E.dummy?b:y)/2,j+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(j+=x?N:-N),N=0,j}}function g(y,b){return y.node(b).width}return ete}var tte,I8e;function Sqn(){if(I8e)return tte;I8e=1;let e=Ll(),t=wqn().positionX;tte=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 tte}var nte,A8e;function kqn(){if(A8e)return nte;A8e=1;let e=sqn(),t=aqn(),n=oqn(),r=Ll().normalizeRanks,s=lqn(),a=Ll().removeEmptyRanks,i=cqn(),l=uqn(),c=dqn(),u=xqn(),d=Sqn(),f=Ll(),p=Fg().Graph;nte=h;function h($,U){let Z=U&&U.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>j($));Z(" runLayout",()=>m(K,Z,U)),Z(" updateInputGraph",()=>g($,K))})}function m($,U,Z){U(" makeSpaceForEdgeLabels",()=>N($)),U(" removeSelfEdges",()=>B($)),U(" acyclic",()=>e.run($)),U(" nestingGraph.run",()=>i.run($)),U(" rank",()=>n(f.asNonCompoundGraph($))),U(" injectEdgeLabelProxies",()=>I($)),U(" removeEmptyRanks",()=>a($)),U(" nestingGraph.cleanup",()=>i.cleanup($)),U(" normalizeRanks",()=>r($)),U(" assignRankMinMax",()=>A($)),U(" removeEdgeLabelProxies",()=>R($)),U(" normalize.run",()=>t.run($)),U(" parentDummyChains",()=>s($)),U(" addBorderSegments",()=>l($)),U(" order",()=>u($,Z)),U(" insertSelfEdges",()=>V($)),U(" adjustCoordinateSystem",()=>c.adjust($)),U(" position",()=>d($)),U(" positionSelfEdges",()=>M($)),U(" removeBorderNodes",()=>F($)),U(" normalize.undo",()=>t.undo($)),U(" fixupEdgeLabelCoords",()=>z($)),U(" undoCoordinateSystem",()=>c.undo($)),U(" translateGraph",()=>L($)),U(" assignNodeIntersects",()=>D($)),U(" reversePoints",()=>H($)),U(" acyclic.undo",()=>e.undo($))}function g($,U){$.nodes().forEach(Z=>{let K=$.node(Z),ne=U.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,U.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=U.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=U.graph().width,$.graph().height=U.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"},E=["labelpos"];function j($){let U=new p({multigraph:!0,compound:!0}),Z=q($.graph());return U.setGraph(Object.assign({},b,Q(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=q($.node(K));const ee=Q(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),U.setNode(K,ee),U.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=q($.edge(K));U.setEdge(K,Object.assign({},C,Q(ne,_),f.pick(ne,E)))}),U}function N($){let U=$.graph();U.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(U.rankdir==="TB"||U.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(U=>{let Z=$.edge(U);if(Z.width&&Z.height){let K=$.node(U.v),ee={rank:($.node(U.w).rank-K.rank)/2+K.rank,e:U};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let U=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,U=Math.max(U,K.maxRank))}),$.graph().maxRank=U}function R($){$.nodes().forEach(U=>{let Z=$.node(U);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(U))})}function L($){let U=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function pe(Y){let te=Y.x,le=Y.y,de=Y.width,oe=Y.height;U=Math.min(U,te-de/2),Z=Math.max(Z,te+de/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>pe($.node(Y))),$.edges().forEach(Y=>{let te=$.edge(Y);Object.hasOwn(te,"x")&&pe(te)}),U-=J,K-=ae,$.nodes().forEach(Y=>{let te=$.node(Y);te.x-=U,te.y-=K}),$.edges().forEach(Y=>{let te=$.edge(Y);te.points.forEach(le=>{le.x-=U,le.y-=K}),Object.hasOwn(te,"x")&&(te.x-=U),Object.hasOwn(te,"y")&&(te.y-=K)}),ee.width=Z-U+J,ee.height=ne-K+ae}function D($){$.edges().forEach(U=>{let Z=$.edge(U),K=$.node(U.v),ne=$.node(U.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function z($){$.edges().forEach(U=>{let Z=$.edge(U);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(U=>{let Z=$.edge(U);Z.reversed&&Z.points.reverse()})}function F($){$.nodes().forEach(U=>{if($.children(U).length){let Z=$.node(U),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(U=>{$.node(U).dummy==="border"&&$.removeNode(U)})}function B($){$.edges().forEach(U=>{if(U.v===U.w){var Z=$.node(U.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:U,label:$.edge(U)}),$.removeEdge(U)}})}function V($){var U=f.buildLayerMatrix($);U.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(U=>{var Z=$.node(U);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(U),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function Q($,U){return f.mapValues(f.pick($,U),Number)}function q($){var U={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),U[Z]=K}),U}return nte}var rte,R8e;function Oqn(){if(R8e)return rte;R8e=1;let e=Ll(),t=Fg().Graph;rte={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 rte}var ste,P8e;function Cqn(){return P8e||(P8e=1,ste="1.1.8"),ste}var ate,$8e;function _qn(){return $8e||($8e=1,ate={graphlib:Fg(),layout:kqn(),debug:Oqn(),util:{time:Ll().time,notime:Ll().notime},version:Cqn()}),ate}var Eqn=_qn();const M8e=Bl(Eqn);function ql(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=ql(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var jqn={value:()=>{}};function MH(){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 $8(n)}function $8(e){this._=e}function Tqn(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}})}$8.prototype=MH.prototype={constructor:$8,on:function(e,t){var n=this._,r=Tqn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=Nqn(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]=D8e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=D8e(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 $8(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 Nqn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function D8e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=jqn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var age="http://www.w3.org/1999/xhtml";const L8e={svg:"http://www.w3.org/2000/svg",xhtml:age,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function DH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),L8e.hasOwnProperty(t)?{space:L8e[t],local:e}:e}function Iqn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===age&&t.documentElement.namespaceURI===age?t.createElement(e):t.createElementNS(n,e)}}function Aqn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D1t(e){var t=DH(e);return(t.local?Aqn:Iqn)(t)}function Rqn(){}function eke(e){return e==null?Rqn:function(){return this.querySelector(e)}}function Pqn(e){typeof e!="function"&&(e=eke(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 Zp(r,this._parents)}function $qn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Mqn(){return[]}function L1t(e){return e==null?Mqn:function(){return this.querySelectorAll(e)}}function Dqn(e){return function(){return $qn(e.apply(this,arguments))}}function Lqn(e){typeof e=="function"?e=Dqn(e):e=L1t(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 Zp(r,s)}function F1t(e){return function(){return this.matches(e)}}function z1t(e){return function(t){return t.matches(e)}}var Fqn=Array.prototype.find;function zqn(e){return function(){return Fqn.call(this.children,e)}}function Bqn(){return this.firstElementChild}function Uqn(e){return this.select(e==null?Bqn:zqn(typeof e=="function"?e:z1t(e)))}var Vqn=Array.prototype.filter;function qqn(){return Array.from(this.children)}function Hqn(e){return function(){return Vqn.call(this.children,e)}}function Wqn(e){return this.selectAll(e==null?qqn:Hqn(typeof e=="function"?e:z1t(e)))}function Zqn(e){typeof e!="function"&&(e=F1t(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 Zp(r,this._parents)}function B1t(e){return new Array(e.length)}function Gqn(){return new Zp(this._enter||this._groups.map(B1t),this._parents)}function CB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}CB.prototype={constructor:CB,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 Qqn(e){return function(){return e}}function Yqn(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 CB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function Kqn(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 CB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function Xqn(e){return e.__data__}function Jqn(e,t){if(!arguments.length)return Array.from(this,Xqn);var n=t?Kqn:Yqn,r=this._parents,s=this._groups;typeof e!="function"&&(e=Qqn(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=eHn(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=g[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Zp(i,r),i._enter=l,i._exit=c,i}function eHn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tHn(){return new Zp(this._exit||this._groups.map(B1t),this._parents)}function nHn(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 rHn(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 Zp(l,this._parents)}function sHn(){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 aHn(e){e||(e=iHn);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 Zp(s,this._parents).order()}function iHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function oHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function lHn(){return Array.from(this)}function cHn(){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 uHn(){let e=0;for(const t of this)++e;return e}function dHn(){return!this.node()}function fHn(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 pHn(e){return function(){this.removeAttribute(e)}}function hHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function mHn(e,t){return function(){this.setAttribute(e,t)}}function gHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function vHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function yHn(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 bHn(e,t){var n=DH(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?hHn:pHn:typeof t=="function"?n.local?yHn:vHn:n.local?gHn:mHn)(n,t))}function U1t(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function xHn(e){return function(){this.style.removeProperty(e)}}function wHn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function SHn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function kHn(e,t,n){return arguments.length>1?this.each((t==null?xHn:typeof t=="function"?SHn:wHn)(e,t,n??"")):HT(this.node(),e)}function HT(e,t){return e.style.getPropertyValue(t)||U1t(e).getComputedStyle(e,null).getPropertyValue(t)}function OHn(e){return function(){delete this[e]}}function CHn(e,t){return function(){this[e]=t}}function _Hn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function EHn(e,t){return arguments.length>1?this.each((t==null?OHn:typeof t=="function"?_Hn:CHn)(e,t)):this.node()[e]}function V1t(e){return e.trim().split(/^|\s+/)}function tke(e){return e.classList||new q1t(e)}function q1t(e){this._node=e,this._names=V1t(e.getAttribute("class")||"")}q1t.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 H1t(e,t){for(var n=tke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function W1t(e,t){for(var n=tke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function jHn(e){return function(){H1t(this,e)}}function THn(e){return function(){W1t(this,e)}}function NHn(e,t){return function(){(t.apply(this,arguments)?H1t:W1t)(this,e)}}function IHn(e,t){var n=V1t(e+"");if(arguments.length<2){for(var r=tke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?NHn:t?jHn:THn)(n,t))}function AHn(){this.textContent=""}function RHn(e){return function(){this.textContent=e}}function PHn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function $Hn(e){return arguments.length?this.each(e==null?AHn:(typeof e=="function"?PHn:RHn)(e)):this.node().textContent}function MHn(){this.innerHTML=""}function DHn(e){return function(){this.innerHTML=e}}function LHn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function FHn(e){return arguments.length?this.each(e==null?MHn:(typeof e=="function"?LHn:DHn)(e)):this.node().innerHTML}function zHn(){this.nextSibling&&this.parentNode.appendChild(this)}function BHn(){return this.each(zHn)}function UHn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function VHn(){return this.each(UHn)}function qHn(e){var t=typeof e=="function"?e:D1t(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function HHn(){return null}function WHn(e,t){var n=typeof e=="function"?e:D1t(e),r=t==null?HHn:typeof t=="function"?t:eke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ZHn(){var e=this.parentNode;e&&e.removeChild(this)}function GHn(){return this.each(ZHn)}function QHn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function YHn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KHn(e){return this.select(e?YHn:QHn)}function XHn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function JHn(e){return function(t){e.call(this,t,this.__data__)}}function eWn(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 tWn(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 nWn(e,t,n){return function(){var r=this.__on,s,a=JHn(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 rWn(e,t,n){var r=eWn(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?nWn:tWn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function Z1t(e,t,n){var r=U1t(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 sWn(e,t){return function(){return Z1t(this,e,t)}}function aWn(e,t){return function(){return Z1t(this,e,t.apply(this,arguments))}}function iWn(e,t){return this.each((typeof t=="function"?aWn:sWn)(e,t))}function*oWn(){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 G1t=[null];function Zp(e,t){this._groups=e,this._parents=t}function B3(){return new Zp([[document.documentElement]],G1t)}function lWn(){return this}Zp.prototype=B3.prototype={constructor:Zp,select:Pqn,selectAll:Lqn,selectChild:Uqn,selectChildren:Wqn,filter:Zqn,data:Jqn,enter:Gqn,exit:tHn,join:nHn,merge:rHn,selection:lWn,order:sHn,sort:aHn,call:oHn,nodes:lHn,node:cHn,size:uHn,empty:dHn,each:fHn,attr:bHn,style:kHn,property:EHn,classed:IHn,text:$Hn,html:FHn,raise:BHn,lower:VHn,append:qHn,insert:WHn,remove:GHn,clone:KHn,datum:XHn,on:rWn,dispatch:iWn,[Symbol.iterator]:oWn};function Op(e){return typeof e=="string"?new Zp([[document.querySelector(e)]],[document.documentElement]):new Zp([[e]],G1t)}function cWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=cWn(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 uWn={passive:!1},jM={capture:!0,passive:!1};function ite(e){e.stopImmediatePropagation()}function Gj(e){e.preventDefault(),e.stopImmediatePropagation()}function Q1t(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",Gj,jM);"onselectstart"in t?n.on("selectstart.drag",Gj,jM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Y1t(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",Gj,jM),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 rF=e=>()=>e;function ige(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}})}ige.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function dWn(e){return!e.ctrlKey&&!e.button}function fWn(){return this.parentNode}function pWn(e,t){return t??{x:e.x,y:e.y}}function hWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function K1t(){var e=dWn,t=fWn,n=pWn,r=hWn,s={},a=MH("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,uWn).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&&(Op(k.view).on("mousemove.drag",m,jM).on("mouseup.drag",g,jM),Q1t(k.view),ite(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(Gj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function g(k){Op(k.view).on("mousemove.drag mouseup.drag",null),Y1t(k.view,u),Gj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,E=t.call(this,k,_),j=C.length,N,I;for(N=0;N<j;++N)(I=S(this,E,k,_,C[N].identifier,C[N]))&&(ite(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,E,j;for(E=0;E<C;++E)(j=s[_[E].identifier])&&(Gj(k),j("drag",k,_[E]))}function x(k){var _=k.changedTouches,C=_.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<C;++E)(j=s[_[E].identifier])&&(ite(k),j("end",k,_[E]))}function S(k,_,C,E,j,N){var I=a.copy(),A=og(N||C,_),R,L,D;if((D=n.call(k,new ige("beforestart",{sourceEvent:C,target:p,identifier:j,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function z(H,F,B){var V=A,M;switch(H){case"start":s[j]=z,M=i++;break;case"end":delete s[j],--i;case"drag":A=og(B||F,_),M=i;break}I.call(H,k,new ige(H,{sourceEvent:F,subject:D,target:p,identifier:j,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:rF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:rF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:rF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:rF(!!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 nke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function X1t(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function U3(){}var TM=.7,_B=1/TM,Qj="\\s*([+-]?\\d+)\\s*",NM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",iy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mWn=/^#([0-9a-f]{3,8})$/,gWn=new RegExp(`^rgb\\(${Qj},${Qj},${Qj}\\)$`),vWn=new RegExp(`^rgb\\(${iy},${iy},${iy}\\)$`),yWn=new RegExp(`^rgba\\(${Qj},${Qj},${Qj},${NM}\\)$`),bWn=new RegExp(`^rgba\\(${iy},${iy},${iy},${NM}\\)$`),xWn=new RegExp(`^hsl\\(${NM},${iy},${iy}\\)$`),wWn=new RegExp(`^hsla\\(${NM},${iy},${iy},${NM}\\)$`),F8e={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};nke(U3,WO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:z8e,formatHex:z8e,formatHex8:SWn,formatHsl:kWn,formatRgb:B8e,toString:B8e});function z8e(){return this.rgb().formatHex()}function SWn(){return this.rgb().formatHex8()}function kWn(){return J1t(this).formatHsl()}function B8e(){return this.rgb().formatRgb()}function WO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=mWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?U8e(t):n===3?new gf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?sF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?sF(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=gWn.exec(e))?new gf(t[1],t[2],t[3],1):(t=vWn.exec(e))?new gf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=yWn.exec(e))?sF(t[1],t[2],t[3],t[4]):(t=bWn.exec(e))?sF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=xWn.exec(e))?H8e(t[1],t[2]/100,t[3]/100,1):(t=wWn.exec(e))?H8e(t[1],t[2]/100,t[3]/100,t[4]):F8e.hasOwnProperty(e)?U8e(F8e[e]):e==="transparent"?new gf(NaN,NaN,NaN,0):null}function U8e(e){return new gf(e>>16&255,e>>8&255,e&255,1)}function sF(e,t,n,r){return r<=0&&(e=t=n=NaN),new gf(e,t,n,r)}function OWn(e){return e instanceof U3||(e=WO(e)),e?(e=e.rgb(),new gf(e.r,e.g,e.b,e.opacity)):new gf}function oge(e,t,n,r){return arguments.length===1?OWn(e):new gf(e,t,n,r??1)}function gf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}nke(gf,oge,X1t(U3,{brighter(e){return e=e==null?_B:Math.pow(_B,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?TM:Math.pow(TM,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gf(eO(this.r),eO(this.g),eO(this.b),EB(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:V8e,formatHex:V8e,formatHex8:CWn,formatRgb:q8e,toString:q8e}));function V8e(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}`}function CWn(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}${Mk((isNaN(this.opacity)?1:this.opacity)*255)}`}function q8e(){const e=EB(this.opacity);return`${e===1?"rgb(":"rgba("}${eO(this.r)}, ${eO(this.g)}, ${eO(this.b)}${e===1?")":`, ${e})`}`}function EB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function eO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mk(e){return e=eO(e),(e<16?"0":"")+e.toString(16)}function H8e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hg(e,t,n,r)}function J1t(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof U3||(e=WO(e)),!e)return new hg;if(e instanceof hg)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 hg(i,l,c,e.opacity)}function _Wn(e,t,n,r){return arguments.length===1?J1t(e):new hg(e,t,n,r??1)}function hg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}nke(hg,_Wn,X1t(U3,{brighter(e){return e=e==null?_B:Math.pow(_B,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?TM:Math.pow(TM,e),new hg(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 gf(ote(e>=240?e-240:e+120,s,r),ote(e,s,r),ote(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(W8e(this.h),aF(this.s),aF(this.l),EB(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=EB(this.opacity);return`${e===1?"hsl(":"hsla("}${W8e(this.h)}, ${aF(this.s)*100}%, ${aF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function W8e(e){return e=(e||0)%360,e<0?e+360:e}function aF(e){return Math.max(0,Math.min(1,e||0))}function ote(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 rke=e=>()=>e;function EWn(e,t){return function(n){return e+n*t}}function jWn(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 TWn(e){return(e=+e)==1?eSt:function(t,n){return n-t?jWn(t,n,e):rke(isNaN(t)?n:t)}}function eSt(e,t){var n=t-e;return n?EWn(e,n):rke(isNaN(e)?t:e)}const jB=(function e(t){var n=TWn(t);function r(s,a){var i=n((s=oge(s)).r,(a=oge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=eSt(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 NWn(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 IWn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function AWn(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]=px(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 RWn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function cg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function PWn(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]=px(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var lge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lte=new RegExp(lge.source,"g");function $Wn(e){return function(){return e}}function MWn(e){return function(t){return e(t)+""}}function tSt(e,t){var n=lge.lastIndex=lte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=lge.exec(e))&&(s=lte.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:cg(r,s)})),n=lte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?MWn(c[0].x):$Wn(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 px(e,t){var n=typeof t,r;return t==null||n==="boolean"?rke(t):(n==="number"?cg:n==="string"?(r=WO(t))?(t=r,jB):tSt:t instanceof WO?jB:t instanceof Date?RWn:IWn(t)?NWn:Array.isArray(t)?AWn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?PWn:cg)(e,t)}function ske(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Z8e=180/Math.PI,cge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function nSt(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)*Z8e,skewX:Math.atan(c)*Z8e,scaleX:i,scaleY:l}}var iF;function DWn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?cge:nSt(t.a,t.b,t.c,t.d,t.e,t.f)}function LWn(e){return e==null||(iF||(iF=document.createElementNS("http://www.w3.org/2000/svg","g")),iF.setAttribute("transform",e),!(e=iF.transform.baseVal.consolidate()))?cge:(e=e.matrix,nSt(e.a,e.b,e.c,e.d,e.e,e.f))}function rSt(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 g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:cg(u,f)},{i:g-2,x:cg(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:cg(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:cg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:cg(u,f)},{i:g-2,x:cg(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,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var FWn=rSt(DWn,"px, ","px)","deg)"),zWn=rSt(LWn,", ",")",")"),BWn=1e-12;function G8e(e){return((e=Math.exp(e))+1/e)/2}function UWn(e){return((e=Math.exp(e))-1/e)/2}function VWn(e){return((e=Math.exp(2*e))-1)/(e+1)}const M8=(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,g=h*h+m*m,y,b;if(g<BWn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(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(E){var j=E*b,N=G8e(_),I=u/(n*x)*(N*VWn(t*j+_)-UWn(_));return[l+I*h,c+I*m,u*N/G8e(t*j+_)]}}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 qWn(e,t){t===void 0&&(t=e,e=px);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 WT=0,FP=0,SR=0,sSt=1e3,TB,zP,NB=0,ZO=0,LH=0,IM=typeof performance=="object"&&performance.now?performance:Date,aSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ake(){return ZO||(aSt(HWn),ZO=IM.now()+LH)}function HWn(){ZO=0}function IB(){this._call=this._time=this._next=null}IB.prototype=iSt.prototype={constructor:IB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?ake():+n)+(t==null?0:+t),!this._next&&zP!==this&&(zP?zP._next=this:TB=this,zP=this),this._call=e,this._time=n,uge()},stop:function(){this._call&&(this._call=null,this._time=1/0,uge())}};function iSt(e,t,n){var r=new IB;return r.restart(e,t,n),r}function WWn(){ake(),++WT;for(var e=TB,t;e;)(t=ZO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--WT}function Q8e(){ZO=(NB=IM.now())+LH,WT=FP=0;try{WWn()}finally{WT=0,GWn(),ZO=0}}function ZWn(){var e=IM.now(),t=e-NB;t>sSt&&(LH-=t,NB=e)}function GWn(){for(var e,t=TB,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:TB=n);zP=e,uge(r)}function uge(e){if(!WT){FP&&(FP=clearTimeout(FP));var t=e-ZO;t>24?(e<1/0&&(FP=setTimeout(Q8e,e-IM.now()-LH)),SR&&(SR=clearInterval(SR))):(SR||(NB=IM.now(),SR=setInterval(ZWn,sSt)),WT=1,aSt(Q8e))}}function Y8e(e,t,n){var r=new IB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var QWn=MH("start","end","cancel","interrupt"),YWn=[],oSt=0,K8e=1,dge=2,D8=3,X8e=4,fge=5,L8=6;function FH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;KWn(e,n,{name:t,index:r,group:s,on:QWn,tween:YWn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:oSt})}function ike(e,t){var n=Gg(e,t);if(n.state>oSt)throw new Error("too late; already scheduled");return n}function qy(e,t){var n=Gg(e,t);if(n.state>D8)throw new Error("too late; already running");return n}function Gg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function KWn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=iSt(a,0,n.time);function a(u){n.state=K8e,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!==K8e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===D8)return Y8e(i);h.state===X8e?(h.state=L8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=L8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(Y8e(function(){n.state===D8&&(n.state=X8e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=dge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===dge){for(n.state=D8,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=fge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===fge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=L8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function F8(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>dge&&r.state<fge,r.state=L8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function XWn(e){return this.each(function(){F8(this,e)})}function JWn(e,t){var n,r;return function(){var s=qy(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 eZn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=qy(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 tZn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Gg(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?JWn:eZn)(n,e,t))}function oke(e,t,n){var r=e._id;return e.each(function(){var s=qy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function lSt(e,t){var n;return(typeof t=="number"?cg:t instanceof WO?jB:(n=WO(t))?(t=n,jB):tSt)(e,t)}function nZn(e){return function(){this.removeAttribute(e)}}function rZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function sZn(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 aZn(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 iZn(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 oZn(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 lZn(e,t){var n=DH(e),r=n==="transform"?zWn:lSt;return this.attrTween(e,typeof t=="function"?(n.local?oZn:iZn)(n,r,oke(this,"attr."+e,t)):t==null?(n.local?rZn:nZn)(n):(n.local?aZn:sZn)(n,r,t))}function cZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function uZn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function dZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&uZn(e,a)),n}return s._value=t,s}function fZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&cZn(e,a)),n}return s._value=t,s}function pZn(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=DH(e);return this.tween(n,(r.local?dZn:fZn)(r,t))}function hZn(e,t){return function(){ike(this,e).delay=+t.apply(this,arguments)}}function mZn(e,t){return t=+t,function(){ike(this,e).delay=t}}function gZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?hZn:mZn)(t,e)):Gg(this.node(),t).delay}function vZn(e,t){return function(){qy(this,e).duration=+t.apply(this,arguments)}}function yZn(e,t){return t=+t,function(){qy(this,e).duration=t}}function bZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?vZn:yZn)(t,e)):Gg(this.node(),t).duration}function xZn(e,t){if(typeof t!="function")throw new Error;return function(){qy(this,e).ease=t}}function wZn(e){var t=this._id;return arguments.length?this.each(xZn(t,e)):Gg(this.node(),t).ease}function SZn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;qy(this,e).ease=n}}function kZn(e){if(typeof e!="function")throw new Error;return this.each(SZn(this._id,e))}function OZn(e){typeof e!="function"&&(e=F1t(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 Rx(r,this._parents,this._name,this._id)}function CZn(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 Rx(i,this._parents,this._name,this._id)}function _Zn(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 EZn(e,t,n){var r,s,a=_Zn(t)?ike:qy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function jZn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(EZn(n,e,t))}function TZn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function NZn(){return this.on("end.remove",TZn(this._id))}function IZn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=eke(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,FH(u[p],t,n,p,u,Gg(d,n)));return new Rx(a,this._parents,t,n)}function AZn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=L1t(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=Gg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&FH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Rx(a,i,t,n)}var RZn=B3.prototype.constructor;function PZn(){return new RZn(this._groups,this._parents)}function $Zn(e,t){var n,r,s;return function(){var a=HT(this,e),i=(this.style.removeProperty(e),HT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function cSt(e){return function(){this.style.removeProperty(e)}}function MZn(e,t,n){var r,s=n+"",a;return function(){var i=HT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function DZn(e,t,n){var r,s,a;return function(){var i=HT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),HT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function LZn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=qy(this,e),u=c.on,d=c.value[a]==null?l||(l=cSt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function FZn(e,t,n){var r=(e+="")=="transform"?FWn:lSt;return t==null?this.styleTween(e,$Zn(e,r)).on("end.style."+e,cSt(e)):typeof t=="function"?this.styleTween(e,DZn(e,r,oke(this,"style."+e,t))).each(LZn(this._id,e)):this.styleTween(e,MZn(e,r,t),n).on("end.style."+e,null)}function zZn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function BZn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&zZn(e,i,n)),r}return a._value=t,a}function UZn(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,BZn(e,t,n??""))}function VZn(e){return function(){this.textContent=e}}function qZn(e){return function(){var t=e(this);this.textContent=t??""}}function HZn(e){return this.tween("text",typeof e=="function"?qZn(oke(this,"text",e)):VZn(e==null?"":e+""))}function WZn(e){return function(t){this.textContent=e.call(this,t)}}function ZZn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&WZn(s)),t}return r._value=e,r}function GZn(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,ZZn(e))}function QZn(){for(var e=this._name,t=this._id,n=uSt(),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=Gg(c,t);FH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Rx(r,this._parents,e,n)}function YZn(){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=qy(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 KZn=0;function Rx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function uSt(){return++KZn}var Sb=B3.prototype;Rx.prototype={constructor:Rx,select:IZn,selectAll:AZn,selectChild:Sb.selectChild,selectChildren:Sb.selectChildren,filter:OZn,merge:CZn,selection:PZn,transition:QZn,call:Sb.call,nodes:Sb.nodes,node:Sb.node,size:Sb.size,empty:Sb.empty,each:Sb.each,on:jZn,attr:lZn,attrTween:pZn,style:FZn,styleTween:UZn,text:HZn,textTween:GZn,remove:NZn,tween:tZn,delay:gZn,duration:bZn,ease:wZn,easeVarying:kZn,end:YZn,[Symbol.iterator]:Sb[Symbol.iterator]};function XZn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var JZn={time:null,delay:0,duration:250,ease:XZn};function eGn(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 tGn(e){var t,n;e instanceof Rx?(t=e._id,e=e._name):(t=uSt(),(n=JZn).time=ake(),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])&&FH(c,e,t,u,i,n||eGn(c,t));return new Rx(r,this._parents,e,t)}B3.prototype.interrupt=XWn;B3.prototype.transition=tGn;const oF=e=>()=>e;function nGn(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 nx(e,t,n){this.k=e,this.x=t,this.y=n}nx.prototype={constructor:nx,scale:function(e){return e===1?this:new nx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new nx(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 zH=new nx(1,0,0);dSt.prototype=nx.prototype;function dSt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return zH;return e.__zoom}function cte(e){e.stopImmediatePropagation()}function kR(e){e.preventDefault(),e.stopImmediatePropagation()}function rGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function sGn(){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 J8e(){return this.__zoom||zH}function aGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function iGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function oGn(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 fSt(){var e=rGn,t=sGn,n=oGn,r=aGn,s=iGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=M8,u=MH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",J8e).on("wheel.zoom",j,{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,z,H,F){var B=D.selection?D.selection():D;B.property("__zoom",J8e),D!==B?_(D,z,H,F):B.interrupt().each(function(){C(this,arguments).event(F).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},b.scaleBy=function(D,z,H,F){b.scaleTo(D,function(){var B=this.__zoom.k,V=typeof z=="function"?z.apply(this,arguments):z;return B*V},H,F)},b.scaleTo=function(D,z,H,F){b.transform(D,function(){var B=t.apply(this,arguments),V=this.__zoom,M=H==null?k(B):typeof H=="function"?H.apply(this,arguments):H,Q=V.invert(M),q=typeof z=="function"?z.apply(this,arguments):z;return n(S(x(V,q),M,Q),B,i)},H,F)},b.translateBy=function(D,z,H,F){b.transform(D,function(){return n(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,F)},b.translateTo=function(D,z,H,F,B){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,Q=F==null?k(V):typeof F=="function"?F.apply(this,arguments):F;return n(zH.translate(Q[0],Q[1]).scale(M.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},F,B)};function x(D,z){return z=Math.max(a[0],Math.min(a[1],z)),z===D.k?D:new nx(z,D.x,D.y)}function S(D,z,H){var F=z[0]-H[0]*D.k,B=z[1]-H[1]*D.k;return F===D.x&&B===D.y?D:new nx(D.k,F,B)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,z,H,F){D.on("start.zoom",function(){C(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(F).end()}).tween("zoom",function(){var B=this,V=arguments,M=C(B,V).event(F),Q=t.apply(B,V),q=H==null?k(Q):typeof H=="function"?H.apply(B,V):H,$=Math.max(Q[1][0]-Q[0][0],Q[1][1]-Q[0][1]),U=B.__zoom,Z=typeof z=="function"?z.apply(B,V):z,K=c(U.invert(q).concat($/U.k),Z.invert(q).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new nx(J,q[0]-ee[0]*J,q[1]-ee[1]*J)}M.zoom(null,ne)}})}function C(D,z,H){return!H&&D.__zooming||new E(D,z)}function E(D,z){this.that=D,this.args=z,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,z),this.taps=0}E.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,z){return this.mouse&&D!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=z.invert(this.touch1[0])),this.that.__zoom=z,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var z=Op(this.that).datum();u.call(D,this.that,new nGn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),z)}};function j(D,...z){if(!e.apply(this,arguments))return;var H=C(this,z).event(D),F=this.__zoom,B=Math.max(a[0],Math.min(a[1],F.k*Math.pow(2,r.apply(this,arguments)))),V=og(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=F.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(F.k===B)return;H.mouse=[V,F.invert(V)],F8(this),H.start()}kR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(F,B),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...z){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,F=C(this,z,!0).event(D),B=Op(D.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",$,!0),V=og(D,H),M=D.clientX,Q=D.clientY;Q1t(D.view),cte(D),F.mouse=[V,this.__zoom.invert(V)],F8(this),F.start();function q(U){if(kR(U),!F.moved){var Z=U.clientX-M,K=U.clientY-Q;F.moved=Z*Z+K*K>g}F.event(U).zoom("mouse",n(S(F.that.__zoom,F.mouse[0]=og(U,H),F.mouse[1]),F.extent,i))}function $(U){B.on("mousemove.zoom mouseup.zoom",null),Y1t(U.view,F.moved),kR(U),F.event(U).end()}}function I(D,...z){if(e.apply(this,arguments)){var H=this.__zoom,F=og(D.changedTouches?D.changedTouches[0]:D,this),B=H.invert(F),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),F,B),t.apply(this,z),i);kR(D),l>0?Op(this).transition().duration(l).call(_,M,F,D):Op(this).call(b.transform,M,F,D)}}function A(D,...z){if(e.apply(this,arguments)){var H=D.touches,F=H.length,B=C(this,z,D.changedTouches.length===F).event(D),V,M,Q,q;for(cte(D),M=0;M<F;++M)Q=H[M],q=og(Q,this),q=[q,this.__zoom.invert(q),Q.identifier],B.touch0?!B.touch1&&B.touch0[2]!==q[2]&&(B.touch1=q,B.taps=0):(B.touch0=q,V=!0,B.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(B.taps<2&&(f=q[0],d=setTimeout(function(){d=null},h)),F8(this),B.start())}}function R(D,...z){if(this.__zooming){var H=C(this,z).event(D),F=D.changedTouches,B=F.length,V,M,Q,q;for(kR(D),V=0;V<B;++V)M=F[V],Q=og(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=Q:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=Q);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],U=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-U[0])*ee+(ee=K[1]-U[1])*ee;M=x(M,Math.sqrt(ne/ee)),Q=[($[0]+Z[0])/2,($[1]+Z[1])/2],q=[(U[0]+K[0])/2,(U[1]+K[1])/2]}else if(H.touch0)Q=H.touch0[0],q=H.touch0[1];else return;H.zoom("touch",n(S(M,Q,q),H.extent,i))}}function L(D,...z){if(this.__zooming){var H=C(this,z).event(D),F=D.changedTouches,B=F.length,V,M;for(cte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<B;++V)M=F[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=og(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var Q=Op(this).on("dblclick.zoom");Q&&Q.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:oF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:oF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:oF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:oF([[+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?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const ky={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]],pSt=["Enter"," ","Escape"],hSt={"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 ZT;(function(e){e.Strict="strict",e.Loose="loose"})(ZT||(ZT={}));var tO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(tO||(tO={}));var RM;(function(e){e.Partial="partial",e.Full="full"})(RM||(RM={}));const mSt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var hw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(hw||(hw={}));var PM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(PM||(PM={}));var sr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(sr||(sr={}));const e9e={[sr.Left]:sr.Right,[sr.Right]:sr.Left,[sr.Top]:sr.Bottom,[sr.Bottom]:sr.Top};function gSt(e){return e===null?null:e?"valid":"invalid"}const vSt=e=>"id"in e&&"source"in e&&"target"in e,lGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),lke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),V3=(e,t=[0,0])=>{const{width:n,height:r}=n0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},cGn=(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):lke(s)?s:t.nodeLookup.get(s.id));const l=i?AB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return BH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return UH(n)},q3=(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=BH(n,AB(s)),r=!0)}),r?UH(n):{x:0,y:0,width:0,height:0}},cke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...W3(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,g=$M(l,QT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},uGn=(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 dGn(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 fGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=dGn(e,i),c=q3(l),u=uke(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 ySt({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",ky.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&YT(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=YT(f)?GO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",ky.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 pGn({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(g=>g.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=uGn(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 GT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),GO=(e={x:0,y:0},t,n)=>({x:GT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:GT(e.y,t[0][1],t[1][1]-(n?.height??0))});function bSt(e,t,n){const{width:r,height:s}=n0(n),{x:a,y:i}=n.internals.positionAbsolute;return GO(e,[[a,i],[a+r,i+s]],t)}const t9e=(e,t,n)=>e<t?GT(Math.abs(e-t),1,t)/t:e>n?-GT(Math.abs(e-n),1,t)/t:0,xSt=(e,t,n=15,r=40)=>{const s=t9e(e.x,r,t.width-r)*n,a=t9e(e.y,r,t.height-r)*n;return[s,a]},BH=(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)}),pge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),UH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),QT=(e,t=[0,0])=>{const{x:n,y:r}=lke(e)?e.internals.positionAbsolute:V3(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}},AB=(e,t=[0,0])=>{const{x:n,y:r}=lke(e)?e.internals.positionAbsolute:V3(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)}},wSt=(e,t)=>UH(BH(pge(e),pge(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)},n9e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),hGn=(e,t)=>{},H3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),W3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?H3(l,i):l},RB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function uE(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 mGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=uE(e,n),s=uE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=uE(e.top??e.y??0,n),s=uE(e.bottom??e.y??0,n),a=uE(e.left??e.x??0,t),i=uE(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 gGn(e,t,n,r,s,a){const{x:i,y:l}=RB(e,[t,n,r]),{x:c,y:u}=RB({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 uke=(e,t,n,r,s,a)=>{const i=mGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=GT(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,g=gGn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.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 YT(e){return e!=null&&e!=="parent"}function n0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function SSt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function kSt(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 r9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function vGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function yGn(e){return{...hSt,...e||{}}}function y2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=W3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?H3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const dke=e=>({width:e.offsetWidth,height:e.offsetHeight}),OSt=e=>e?.getRootNode?.()||window?.document,bGn=["INPUT","SELECT","TEXTAREA"];function CSt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:bGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const _St=e=>"clientX"in e,wg=(e,t)=>{const n=_St(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)}},s9e=(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,...dke(i)}})};function ESt({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 lF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function a9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case sr.Left:return[t-lF(t-r,a),n];case sr.Right:return[t+lF(r-t,a),n];case sr.Top:return[t,n-lF(n-s,a)];case sr.Bottom:return[t,n+lF(s-n,a)]}}function fke({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,curvature:i=.25}){const[l,c]=a9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=a9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=ESt({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 jSt({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 xGn({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 wGn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=BH(AB(e),AB(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,UH(a))>0}const SGn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,kGn=(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)),OGn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||SGn;let s;return vSt(e)?s={...e}:s={...e,id:r(e)},kGn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function TSt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=jSt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const i9e={[sr.Left]:{x:-1,y:0},[sr.Right]:{x:1,y:0},[sr.Top]:{x:0,y:-1},[sr.Bottom]:{x:0,y:1}},CGn=({source:e,sourcePosition:t=sr.Bottom,target:n})=>t===sr.Left||t===sr.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},o9e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function _Gn({source:e,sourcePosition:t=sr.Bottom,target:n,targetPosition:r=sr.Top,center:s,offset:a,stepPosition:i}){const l=i9e[t],c=i9e[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=CGn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=jSt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const j=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?j:N:m=p==="x"?N:j}else{const j=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:j:m=l.y===h?j:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const z=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*z:x[p]=(d[p]>n[p]?-1:1)*z}}if(t!==r){const D=p==="x"?"y":"x",z=l[p]===c[D],H=u[D]>d[D],F=u[D]<d[D];(l[p]===1&&(!z&&H||z&&F)||l[p]!==1&&(!z&&F||z&&H))&&(m=p==="x"?j: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?(g=(I.x+A.x)/2,y=m[0].y):(g=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],g,y,S,k]}function EGn(e,t,n,r){const s=Math.min(o9e(e,t)/2,o9e(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 hge({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=_Gn({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+=EGn(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,g]}function l9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function jGn(e){const{sourceNode:t,targetNode:n}=e;if(!l9e(t)||!l9e(n))return null;const r=t.internals.handleBounds||c9e(t.handles),s=n.internals.handleBounds||c9e(n.handles),a=u9e(r?.source??[],e.sourceHandle),i=u9e(e.connectionMode===ZT.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",ky.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||sr.Bottom,c=i?.position||sr.Top,u=QO(t,a,l),d=QO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function c9e(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 QO(e,t,n=sr.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??n0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case sr.Top:return{x:s+i/2,y:a};case sr.Right:return{x:s+i,y:a+l/2};case sr.Bottom:return{x:s+i/2,y:a+l};case sr.Left:return{x:s,y:a+l/2}}}function u9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function mge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function TGn(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=mge(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 NSt=1e3,NGn=10,pke={nodeOrigin:[0,0],nodeExtent:AM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},IGn={...pke,checkEquality:!0};function hke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function AGn(e,t,n){const r=hke(pke,n);for(const s of e.values())if(s.parentId)gke(s,e,t,r);else{const a=V3(s,r.nodeOrigin),i=YT(s.extent)?s.extent:r.nodeExtent,l=GO(a,i,n0(s));s.internals.positionAbsolute=l}}function RGn(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 mke(e){return e==="manual"}function gge(e,t,n,r={}){const s=hke(IGn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!mke(s.zIndexMode)?NSt: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=V3(d,s.nodeOrigin),h=YT(d.extent)?d.extent:s.nodeExtent,m=GO(p,h,n0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:RGn(d,f),z:ISt(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&&gke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function PGn(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 gke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=hke(pke,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}PGn(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*NGn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!mke(c)?NSt:0,{x:p,y:h,z:m}=$Gn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function ISt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return mke(n)?r:r+(e.selected?t:0)}function $Gn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=n0(e),u=V3(e,n),d=YT(e.extent)?GO(u,e.extent,c):u;let f=GO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=bSt(f,c,t));const p=ISt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function vke(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??QT(l),u=wSt(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=n0(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)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-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:g+(h?f[1]*h-b:0)}})}),s}function MGn(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 g=dke(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=YT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=bSt(k,g,t.get(m.parentId)):S&&(k=GO(k,S,g));const _={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:s9e("source",h.nodeElement,x,f,m.id),target:s9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&gke(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:QT(_,s)}))}}if(p.length>0){const h=vke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function DGn({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 d9e(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 ASt(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}`;d9e("source",c,d,e,s,i),d9e("target",c,u,e,a,l),t.set(r.id,r)}}function RSt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:RSt(n,t):!1}function f9e(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 LGn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!RSt(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 ute({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 FGn({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=H3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function zGn({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,g=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:E=0}){p=Op(k);function j({x:R,y:L}){const{nodeLookup:D,nodeExtent:z,snapGrid:H,snapToGrid:F,nodeOrigin:B,onNodeDrag:V,onSelectionDrag:M,onError:Q,updateNodePositions:q}=t();a={x:R,y:L};let $=!1;const U=l.size>1,Z=U&&z?pge(q3(l)):null,K=U&&F?FGn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};F&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:H3(J,H));let ae=null;if(U&&z&&!ee.extent&&Z){const{positionAbsolute:te}=ee.internals,le=te.x-Z.x+z[0][0],de=te.x+ee.measured.width-Z.x2+z[1][0],oe=te.y-Z.y+z[0][1],ue=te.y+ee.measured.height-Z.y2+z[1][1];ae=[[le,oe],[de,ue]]}const{position:pe,positionAbsolute:Y}=ySt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||z,nodeOrigin:B,onError:Q});$=$||ee.position.x!==pe.x||ee.position.y!==pe.y,ee.position=pe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(q(l,!0),g&&(r||V||!C&&M))){const[ne,ee]=ute({nodeId:C,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),V?.(g,ne,ee),C||M?.(g,ee)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:z}=t();if(!z){c=!1,cancelAnimationFrame(i);return}const[H,F]=xSt(u,d,D);(H!==0||F!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-F/R[2],await L({x:H,y:F})&&j(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:z,transform:H,snapGrid:F,snapToGrid:B,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:Q,unselectNodesAndEdges:q}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||q()),_&&V&&C&&e?.(C);const $=y2(R.sourceEvent,{transform:H,snapGrid:F,snapToGrid:B,containerBounds:d});if(a=$,l=LGn(L,z,$,C),l.size>0&&(n||M||!C&&Q)){const[U,Z]=ute({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,U,Z),M?.(R.sourceEvent,U,Z),C||Q?.(R.sourceEvent,Z)}}const A=K1t().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:z,snapGrid:H,snapToGrid:F}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,g=R.sourceEvent,D===0&&I(R),a=y2(R.sourceEvent,{transform:z,snapGrid:H,snapToGrid:F,containerBounds:d}),u=wg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:z,snapToGrid:H,nodeDragThreshold:F,nodeLookup:B}=t(),V=y2(R.sourceEvent,{transform:D,snapGrid:z,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!B.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=wg(R.sourceEvent,d),Q=M.x-u.x,q=M.y-u.y;Math.sqrt(Q*Q+q*q)>F&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=wg(R.sourceEvent,d),j(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:z,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||z||!C&&H){const[F,B]=ute({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,F,B),z?.(R.sourceEvent,F,B),C||H?.(R.sourceEvent,B)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!f9e(L,`.${x}`,k))&&(!S||f9e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function BGn(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,QT(a))>0&&r.push(a);return r}const UGn=250;function VGn(e,t,n,r){let s=[],a=1/0;const i=BGn(e,n,t+UGn);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}=QO(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 PSt(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,...QO(i,c,c.position,!0)}:c}function $St(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function qGn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const MSt=()=>!0;function HGn(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:g,onConnectEnd:y,isValidConnection:b=MSt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:E=1,handleDomNode:j}){const N=OSt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=$St(a,j),z=l?.getBoundingClientRect();let H=!1;if(!z||!D)return;const F=PSt(s,D,r,c,t);if(!F)return;let B=wg(e,z),V=!1,M=null,Q=!1,q=null;function $(){if(!d||!z)return;const[pe,Y]=xSt(B,z,C);p({x:pe,y:Y}),I=requestAnimationFrame($)}const U={...F,nodeId:s,type:D,position:F.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:QO(Z,U,sr.Left,!0),fromHandle:U,fromPosition:U.position,fromNode:Z,to:B,toHandle:null,toPosition:e9e[U.position],toNode:null,pointer:B};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(pe){if(!H){const{x:ue,y:be}=wg(pe),xe=ue-R,Oe=be-L;if(!(xe*xe+Oe*Oe>E*E))return;ee()}if(!_()||!U){ae(pe);return}const Y=k();B=wg(pe,z),A=VGn(W3(B,Y,!1,[1,1]),n,c,U),V||($(),V=!0);const te=DSt(pe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});q=te.handleDomNode,M=te.connection,Q=qGn(!!A,te.isValid);const le=c.get(s),de=le?QO(le,U,sr.Left,!0):ne.from,oe={...ne,from:de,isValid:Q,to:te.toHandle&&Q?RB({x:te.toHandle.x,y:te.toHandle.y},Y):B,toHandle:te.toHandle,toPosition:Q&&te.toHandle?te.toHandle.position:e9e[U.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:B};S(oe),ne=oe}function ae(pe){if(!("touches"in pe&&pe.touches.length>0)){if(H){(A||q)&&M&&Q&&g?.(M);const{inProgress:Y,...te}=ne,le={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(pe,le),a&&x?.(pe,le)}h(),cancelAnimationFrame(I),V=!1,Q=!1,M=null,q=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function DSt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=MSt,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}=wg(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=$St(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 E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=_&&C&&(n===ZT.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=PSt(S,x,k,d,n,!0)}return b}const vge={onPointerDown:HGn,isValid:DSt};function WGn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=Op(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,E=k[2]*Math.pow(2,C*_);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[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]-g[0],_[1]-g[1]];g=_;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-C[0]*E,y:k[1]-C[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},x=fSt().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:og}}const VH=e=>({x:e.x,y:e.y,zoom:e.k}),dte=({x:e,y:t,zoom:n})=>zH.translate(e,t).scale(n),fj=(e,t)=>e.target.closest(`.${t}`),LSt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),ZGn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,fte=(e,t=0,n=ZGn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},FSt=e=>{const t=e.ctrlKey&&MM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function GGn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(fj(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=og(d),b=FSt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===tO.Vertical?0:d.deltaX*p,m=s===tO.Horizontal?0:d.deltaY*p;!MM()&&d.shiftKey&&s!==tO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=VH(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function QGn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=fj(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function YGn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=VH(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 KGn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&LSt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,VH(a.transform))}}function XGn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&LSt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=VH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function JGn({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"&&(fj(f,`${u}-flow__node`)||fj(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||fj(f,l)&&m||fj(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 g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function eQn({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=fSt().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:GT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(FSt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?px:M8).transform(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:z,panOnDrag:H,panOnScrollMode:F,panOnScrollSpeed:B,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:Q,zoomOnDoubleClick:q,zoomActivationKeyPressed:$,lib:U,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=z&&!$&&!D;f.clickDistance(ee?1/0:!xg(ne)||ne<0?0:ne);const ae=J?GGn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:F,panOnScrollSpeed:B,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):QGn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=YGn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const te=KGn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const le=XGn({zoomPanValues:u,panOnDrag:H,panOnScroll:z,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const pe=JGn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:Q,panOnScroll:z,zoomOnDoubleClick:q,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:U,connectionInProgress:K});f.filter(pe),q?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=dte(A),z=f?.constrain()(D,R,L);return z&&await g(z),new Promise(H=>H(z))}async function S(A,R){const L=dte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=dte(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?dSt(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"?px:M8).scaleTo(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?px:M8).scaleBy(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function j(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!xg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var KT;(function(e){e.Line="line",e.Handle="handle"})(KT||(KT={}));function tQn({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 p9e(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 Z0(e,t){return Math.max(0,t-e)}function G0(e,t){return Math.max(0,e-t)}function cF(e,t,n){return Math.max(0,t-e,e-n)}function h9e(e,t){return e?!t:t}function nQn(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:g,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-j:j),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=cF(I,g,y),z=cF(A,b,x);if(i){let B=0,V=0;c&&j<0?B=Z0(S+j+R,i[0][0]):!c&&j>0&&(B=G0(S+I+R,i[1][0])),u&&N<0?V=Z0(k+N+L,i[0][1]):!u&&N>0&&(V=G0(k+A+L,i[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(l){let B=0,V=0;c&&j>0?B=G0(S+j,l[0][0]):!c&&j<0&&(B=Z0(S+I,l[1][0])),u&&N>0?V=G0(k+N,l[0][1]):!u&&N<0&&(V=Z0(k+A,l[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(s){if(d){const B=cF(I/E,b,x)*E;if(D=Math.max(D,B),i){let V=0;!c&&!u||c&&!u&&p?V=G0(k+L+I/E,i[1][1])*E:V=Z0(k+L+(c?j:-j)/E,i[0][1])*E,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=Z0(k+I/E,l[1][1])*E:V=G0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,V)}}if(f){const B=cF(A*E,g,y)/E;if(z=Math.max(z,B),i){let V=0;!c&&!u||u&&!c&&p?V=G0(S+A*E+R,i[1][0])/E:V=Z0(S+(u?N:-N)*E+R,i[0][0])/E,z=Math.max(z,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=Z0(S+A*E,l[1][0])/E:V=G0(S+(u?N:-N)*E,l[0][0])/E,z=Math.max(z,V)}}}N=N+(N<0?z:-z),j=j+(j<0?D:-D),s&&(p?I>A*E?N=(h9e(c,u)?-j:j)/E:j=(h9e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const H=c?S+j:S,F=u?k+N:k;return{width:_+(c?-j:j),height:C+(u?-N:N),x:a[0]*j*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+F}}const zSt={width:0,height:0,x:0,y:0},rQn={...zSt,pointerX:0,pointerY:0,aspectRatio:1};function sQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function aQn(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 iQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:p9e("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:g,shouldResize:y}){let b={...zSt},x={...rQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:p9e(u)};let S,k=null,_=[],C,E,j,N=!1;const I=K1t().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:z,nodeOrigin:H,paneDomNode:F}=n();if(S=R.get(t),!S)return;k=F?.getBoundingClientRect()??null;const{xSnapped:B,ySnapped:V}=y2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:z,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:B,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),E=C&&S.extent==="parent"?sQn(C):void 0),_=[],j=void 0;for(const[M,Q]of R)if(Q.parentId===t&&(_.push({id:M,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const q=aQn(Q,S,Q.origin??H);j?j=[[Math.min(q[0][0],j[0][0]),Math.min(q[0][1],j[0][1])],[Math.max(q[1][0],j[1][0]),Math.max(q[1][1],j[1][1])]]:j=q}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:z}=n(),H=y2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),F=[];if(!S)return;const{x:B,y:V,width:M,height:Q}=b,q={},$=S.origin??z,{width:U,height:Z,x:K,y:ne}=nQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,j),ee=U!==M,J=Z!==Q,ae=K!==B&&ee,pe=ne!==V&&J;if(!ae&&!pe&&!ee&&!J)return;if((ae||pe||$[0]===1||$[1]===1)&&(q.x=ae?K:b.x,q.y=pe?ne:b.y,b.x=q.x,b.y=q.y,_.length>0)){const de=K-B,oe=ne-V;for(const ue of _)ue.position={x:ue.position.x-de+$[0]*(U-M),y:ue.position.y-oe+$[1]*(Z-Q)},F.push(ue)}if((ee||J)&&(q.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?U:b.width,q.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=q.width,b.height=q.height),C&&S.expandParent){const de=$[0]*(q.width??0);q.x&&q.x<de&&(b.x=de,x.x=x.x-(q.x-de));const oe=$[1]*(q.height??0);q.y&&q.y<oe&&(b.y=oe,x.y=x.y-(q.y-oe))}const Y=tQn({width:b.width,prevWidth:M,height:b.height,prevHeight:Q,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:Y};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(q,F))}).on("end",A=>{N&&(g?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const oQn={},m9e=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:()=>{(oQn?"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},lQn=e=>e?m9e(e):m9e,{useDebugValue:cQn}=Fe,{useSyncExternalStoreWithSelector:uQn}=EOn,dQn=e=>e;function BSt(e,t=dQn,n){const r=uQn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return cQn(r),r}const g9e=(e,t)=>{const n=lQn(e),r=(s,a=t)=>BSt(n,s,a);return Object.assign(r,n),r},fQn=(e,t)=>e?g9e(e,t):g9e;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 qH=v.createContext(null),pQn=qH.Provider,USt=ky.error001();function Us(e,t){const n=v.useContext(qH);if(n===null)throw new Error(USt);return BSt(n,e,t)}function To(){const e=v.useContext(qH);if(e===null)throw new Error(USt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const v9e={display:"none"},hQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},VSt="react-flow__node-desc",qSt="react-flow__edge-desc",mQn="react-flow__aria-live",gQn=e=>e.ariaLiveMessage,vQn=e=>e.ariaLabelConfig;function yQn({rfId:e}){const t=Us(gQn);return o.jsx("div",{id:`${mQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:hQn,children:t})}function bQn({rfId:e,disableKeyboardA11y:t}){const n=Us(vQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${VSt}-${e}`,style:v9e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${qSt}-${e}`,style:v9e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(yQn,{rfId:e})]})}const Z3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:ql(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});Z3.displayName="Panel";function xQn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(Z3,{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 wQn=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}},uF=e=>e.id;function SQn(e,t){return io(e.selectedNodes.map(uF),t.selectedNodes.map(uF))&&io(e.selectedEdges.map(uF),t.selectedEdges.map(uF))}function kQn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(wQn,SQn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const OQn=e=>!!e.onSelectionChangeHandlers;function CQn({onSelectionChange:e}){const t=Us(OQn);return e||t?o.jsx(kQn,{onSelectionChange:e}):null}const yge=typeof window<"u"?v.useLayoutEffect:v.useEffect,HSt=[0,0],_Qn={x:0,y:0,zoom:1},EQn=["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"],y9e=[...EQn,"rfId"],jQn=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}),b9e={translateExtent:AM,nodeOrigin:HSt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function TQn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(jQn,io),u=To();yge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=b9e,l()}),[]);const d=v.useRef(b9e);return yge(()=>{for(const f of y9e){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:yGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},y9e.map(f=>e[f])),null}function x9e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function NQn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=x9e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:x9e()?.matches?"dark":"light"}const w9e=typeof document<"u"?document:null;function DM(e=null,t={target:w9e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
337
|
+
`: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 NUn(this):new EUn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?qE(this,s,n,r):VE(this,s,n,r)}}class x1t{constructor(t){this.spec=t}}function CUn(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 VE(e,t,n,r){let s;return e.wholeWord&&(s=_Un(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=CUn(e.test,t,s)),new Ax(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function _Un(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(xB(s,n-a))!=So.Word||t(wB(s,n-a))!=So.Word)&&(t(wB(s,r-a))!=So.Word||t(xB(s,r-a))!=So.Word))}class EUn extends x1t{constructor(t){super(t)}nextMatch(t,n,r){let s=VE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=VE(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=VE(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=VE(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=VE(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 jUn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function qE(e,t,n,r){let s;return e.wholeWord&&(s=TUn(t.charCategorizer(t.selection.main.head))),e.test&&(s=jUn(e.test,t,s)),new v1t(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function xB(e,t){return e.slice(Cc(e,t,!1),t)}function wB(e,t){return e.slice(t,Cc(e,t))}function TUn(e){return(t,n,r)=>!r[0].length||(e(xB(r.input,r.index))!=So.Word||e(wB(r.input,r.index))!=So.Word)&&(e(wB(r.input,r.index+r[0].length))!=So.Word||e(xB(r.input,r.index+r[0].length))!=So.Word)}class NUn extends x1t{nextMatch(t,n,r){let s=qE(this.spec,t,r,t.doc.length).next();return s.done&&(s=qE(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=qE(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=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-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const CM=xr.define(),QSe=xr.define(),Uw=Sl.define({create(e){return new lee(rge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(CM)?e=new lee(n.value.create(),e.panel):n.is(QSe)&&(e=new lee(e.query,n.value?YSe:null));return e},provide:e=>mM.from(e,t=>t.panel)});class lee{constructor(t,n){this.query=t,this.panel=n}}const IUn=jn.mark({class:"cm-searchMatch"}),AUn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),RUn=Eo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Uw))}update(e){let t=e.state.field(Uw);(t!=e.startState.field(Uw)||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 Dd;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?AUn:IUn)})}return r.finish()}},{decorations:e=>e.decorations});function z3(e){return t=>{let n=t.state.field(Uw,!1);return n&&n.query.spec.valid?e(t,n):k1t(t)}}const SB=z3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=bt.single(r.from,r.to),a=e.state.facet(pI);return e.dispatch({selection:s,effects:[KSe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),S1t(e),!0}),kB=z3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(pI);return e.dispatch({selection:a,effects:[KSe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),S1t(e),!0}),PUn=z3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:bt.create(n.map(r=>bt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),$Un=({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 Ax(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(bt.range(l.value.from,l.value.to))}return t(e.update({selection:bt.create(a,i),userEvent:"select.search.matches"})),!0},jze=z3((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(It.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=bt.single(i.from,i.to).map(f),d.push(KSe(e,i)),d.push(n.facet(pI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),MUn=z3((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:It.announce.of(r),userEvent:"input.replace.all"}),!0});function YSe(e){return e.state.facet(pI).createPanel(e)}function rge(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(pI);return new b1t({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 w1t(e){let t=fSe(e,YSe);return t&&t.dom.querySelector("[main-field]")}function S1t(e){let t=w1t(e);t&&t==e.root.activeElement&&t.select()}const k1t=e=>{let t=e.state.field(Uw,!1);if(t&&t.panel){let n=w1t(e);if(n&&n!=e.root.activeElement){let r=rge(e.state,t.query.spec);r.valid&&e.dispatch({effects:CM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[QSe.of(!0),t?CM.of(rge(e.state,t.query.spec)):xr.appendConfig.of(zUn)]});return!0},O1t=e=>{let t=e.state.field(Uw,!1);if(!t||!t.panel)return!1;let n=fSe(e,YSe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:QSe.of(!1)}),!0},DUn=[{key:"Mod-f",run:k1t,scope:"editor search-panel"},{key:"F3",run:SB,shift:kB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:SB,shift:kB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:O1t,scope:"editor search-panel"},{key:"Mod-Shift-l",run:$Un},{key:"Mod-Alt-g",run:pUn},{key:"Mod-d",run:OUn,preventDefault:!0}];class LUn{constructor(t){this.view=t;let n=this.query=t.state.field(Uw).query.spec;this.commit=this.commit.bind(this),this.searchField=di("input",{value:n.search,placeholder:ap(t,"Find"),"aria-label":ap(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=di("input",{value:n.replace,placeholder:ap(t,"Replace"),"aria-label":ap(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=di("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=di("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=di("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return di("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=di("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>SB(t),[ap(t,"next")]),r("prev",()=>kB(t),[ap(t,"previous")]),r("select",()=>PUn(t),[ap(t,"all")]),di("label",null,[this.caseField,ap(t,"match case")]),di("label",null,[this.reField,ap(t,"regexp")]),di("label",null,[this.wordField,ap(t,"by word")]),...t.state.readOnly?[]:[di("br"),this.replaceField,r("replace",()=>jze(t),[ap(t,"replace")]),r("replaceAll",()=>MUn(t),[ap(t,"replace all")])],di("button",{name:"close",onclick:()=>O1t(t),"aria-label":ap(t,"close"),type:"button"},["×"])])}commit(){let t=new b1t({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:CM.of(t)}))}keydown(t){s6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?kB:SB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),jze(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(CM)&&!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(pI).top}}function ap(e,t){return e.state.phrase(t)}const eF=30,tF=/[\s\.,:;?!]/;function KSe(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-eF),i=Math.min(s,n+eF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<eF;c++)if(!tF.test(l[c+1])&&tF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-eF;c--)if(!tF.test(l[c-1])&&tF.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const FUn=It.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"}}),zUn=[Uw,eh.low(RUn),FUn];class Tze{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class kk{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(_M).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Dd,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((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=JUn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,jn.widget({widget:new QUn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new kk(u,n,qT(u))}}function qT(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 Tze(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Tze(r.from,a,r.diagnostic)}}),r}function BUn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(_M).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(C1t))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function UUn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(eVn))}const C1t=xr.define(),XSe=xr.define(),_1t=xr.define(),jp=Sl.define({create(){return new kk(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=qT(n,e.selected.diagnostic,a)||qT(n,null,a)}!n.size&&s&&t.state.facet(_M).autoPanel&&(s=null),e=new kk(n,s,r)}for(let n of t.effects)if(n.is(C1t)){let r=t.state.facet(_M).autoPanel?n.value.length?EM.open:null:e.panel;e=kk.init(n.value,r,t.state)}else n.is(XSe)?e=new kk(e.diagnostics,n.value?EM.open:null,e.selected):n.is(_1t)&&(e=new kk(e.diagnostics,e.panel,n.value));return e},provide:e=>[mM.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),VUn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function qUn(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(_M).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:HUn(e,s)}}}:null}function HUn(e,t){return di("ul",{class:"cm-tooltip-lint"},t.map(n=>j1t(e,n,!1)))}const WUn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:UUn(e.state,[XSe.of(!0)])});let n=fSe(e,EM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Nze=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:XSe.of(!1)}),!0)},ZUn=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)},GUn=[{key:"Mod-Shift-m",run:WUn,preventDefault:!0},{key:"F8",run:ZUn}],_M=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Vy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ize,tooltipFilter:Ize,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 Ize(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function E1t(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 j1t(e,t,n){var r;let s=n?E1t(t.actions):[];return di("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},di("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=qT(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),di("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return di("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&di("div",{class:"cm-diagnosticSource"},t.source))}class QUn extends th{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return di("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class Aze{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=j1t(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)Nze(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=E1t(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=qT(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=di("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=di("div",{class:"cm-panel-lint"},this.list,di("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Nze(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 Aze(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 Aze(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=qT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:_1t.of(r)})}static open(t){return new EM(t)}}function YUn(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 nF(e){return YUn(`<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 KUn=It.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:nF("#d11")},".cm-lintRange-warning":{backgroundImage:nF("orange")},".cm-lintRange-info":{backgroundImage:nF("#999")},".cm-lintRange-hint":{backgroundImage:nF("#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 XUn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function JUn(e){let t="hint",n=1;for(let r of e){let s=XUn(r.severity);s>n&&(n=s,t=r.severity)}return t}const eVn=[jp,It.decorations.compute([jp],e=>{let{selected:t,panel:n}=e.field(jp);return!t||!n||t.from==t.to?jn.none:jn.set([VUn.range(t.from,t.to)])}),W6n(qUn,{hideOn:BUn}),KUn];var Rze=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(Vzn)),t.defaultKeymap!==!1&&(a=a.concat(uUn)),t.searchKeymap!==!1&&(a=a.concat(DUn)),t.historyKeymap!==!1&&(a=a.concat(vBn)),t.foldKeymap!==!1&&(a=a.concat(jFn)),t.completionKeymap!==!1&&(a=a.concat(S0t)),t.lintKeymap!==!1&&(a=a.concat(GUn));var i=[];return t.lineNumbers!==!1&&i.push(sFn()),t.highlightActiveLineGutter!==!1&&i.push(oFn()),t.highlightSpecialChars!==!1&&i.push(x6n()),t.history!==!1&&i.push(lBn()),t.foldGutter!==!1&&i.push(AFn()),t.drawSelection!==!1&&i.push(u6n()),t.dropCursor!==!1&&i.push(m6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(xFn()),t.syntaxHighlighting!==!1&&i.push(H1(MFn,{fallback:!0})),t.bracketMatching!==!1&&i.push(VFn()),t.closeBrackets!==!1&&i.push(Fzn()),t.autocompletion!==!1&&i.push(w0t()),t.rectangularSelection!==!1&&i.push(P6n()),s!==!1&&i.push(D6n()),t.highlightActiveLine!==!1&&i.push(_6n()),t.highlightSelectionMatches!==!1&&i.push(gUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(cI.of(" ".repeat(t.tabSize))),i.concat([lI.of(a.flat())]).filter(Boolean)};const tVn="#e5c07b",Pze="#e06c75",nVn="#56b6c2",rVn="#ffffff",P8="#abb2bf",sge="#7d8799",sVn="#61afef",aVn="#98c379",$ze="#d19a66",iVn="#c678dd",oVn="#21252b",Mze="#2c313a",Dze="#282c34",cee="#353a42",lVn="#3E4451",Lze="#528bff",cVn=It.theme({"&":{color:P8,backgroundColor:Dze},".cm-content":{caretColor:Lze},".cm-cursor, .cm-dropCursor":{borderLeftColor:Lze},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:lVn},".cm-panels":{backgroundColor:oVn,color:P8},".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:Dze,color:sge,border:"none"},".cm-activeLineGutter":{backgroundColor:Mze},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:cee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:cee,borderBottomColor:cee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Mze,color:P8}}},{dark:!0}),uVn=Hg.define([{tag:he.keyword,color:iVn},{tag:[he.name,he.deleted,he.character,he.propertyName,he.macroName],color:Pze},{tag:[he.function(he.variableName),he.labelName],color:sVn},{tag:[he.color,he.constant(he.name),he.standard(he.name)],color:$ze},{tag:[he.definition(he.name),he.separator],color:P8},{tag:[he.typeName,he.className,he.number,he.changed,he.annotation,he.modifier,he.self,he.namespace],color:tVn},{tag:[he.operator,he.operatorKeyword,he.url,he.escape,he.regexp,he.link,he.special(he.string)],color:nVn},{tag:[he.meta,he.comment],color:sge},{tag:he.strong,fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.link,color:sge,textDecoration:"underline"},{tag:he.heading,fontWeight:"bold",color:Pze},{tag:[he.atom,he.bool,he.special(he.variableName)],color:$ze},{tag:[he.processingInstruction,he.string,he.inserted],color:aVn},{tag:he.invalid,color:rVn}]),dVn=[cVn,H1(uVn)];var fVn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),pVn=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,g=[];switch(s&&g.unshift(lI.of([dUn])),m&&(typeof m=="boolean"?g.unshift(Rze()):g.unshift(Rze(m))),p&&g.unshift(N6n(p)),d){case"light":g.push(fVn);break;case"dark":g.push(dVn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(cs.readOnly.of(!0)),[...g]},hVn=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 mVn{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 Fze{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 uee=null,gVn=()=>typeof window>"u"?new Fze:(uee||(uee=new Fze),uee),vVn=It.theme({"& .cm-scroller":{height:"100% !important"}}),zze=null,dee=null;function yVn(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===zze||(zze=i,dee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),dee}var Bze=Uy.define(),bVn=200,xVn=[];function wVn(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?xVn: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,g=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,E=C===void 0?null:C,j=e.placeholder,N=j===void 0?"":j,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,z=D===void 0?!0:D,H=e.basicSetup,F=H===void 0?!0:H,B=e.root,V=e.initialState,M=v.useState(),Q=M[0],q=M[1],$=v.useState(),U=$[0],Z=$[1],K=v.useState(),ne=K[0],ee=K[1],J=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],pe=yVn(h,g,b,S,_,E),Y=It.updateListener.of(de=>{if(de.docChanged&&typeof r=="function"&&!de.transactions.some(be=>be.annotation(Bze))){J.current?J.current.reset():(J.current=new mVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},bVn),gVn().add(J.current));var oe=de.state.doc,ue=oe.toString();r(ue,de)}s&&s(hVn(de))}),te=pVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:z,basicSetup:F}),le=[Y,...pe?[pe]:[],vVn,...te];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(Q&&!ne){var de={doc:t,selection:n,extensions:le},oe=V?cs.fromJSON(V.json,de,V.fields):cs.create(de);if(ee(oe),!U){var ue=new It({state:oe,parent:Q,root:B});Z(ue),a&&a(ue,oe)}}return()=>{U&&(ee(void 0),Z(void 0))}},[Q,ne]),v.useEffect(()=>{e.container&&q(e.container)},[e.container]),v.useEffect(()=>()=>{U&&(U.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[U]),v.useEffect(()=>{u&&U&&U.focus()},[u,U]),v.useEffect(()=>{U&&U.dispatch({effects:xr.reconfigure.of(le)})},[f,c,h,g,b,S,_,E,N,A,L,z,F,r,i]),v.useEffect(()=>{if(t!==void 0){var de=U?U.state.doc.toString():"";if(U&&t!==de){var oe=J.current&&!J.current.isDone,ue=()=>{U&&t!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:t||""},annotations:[Bze.of(!0)]})};oe?ae.current=ue:ue()}}},[t,U]),{state:ne,setState:ee,view:U,setView:Z,container:Q,setContainer:q}}var SVn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Xu=v.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,g=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=Mwt(e,SVn),L=v.useRef(null),D=wVn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:E,editable:j,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),z=D.state,H=D.view,F=D.container,B=D.setContainer;v.useImperativeHandle(t,()=>({editor:L.current,state:z,view:H}),[L,F,z,H]);var V=v.useCallback(Q=>{L.current=Q,B(Q)},[B]);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",HO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const kVn={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"};let fee=null;function OVn(){return fee||(fee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-ukr87BZs.js"),__vite__mapDeps([0,1,2]),import.meta.url),go(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[go(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),go(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[go(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),go(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),go(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),go(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),go(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),go(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),go(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),go(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),fee}async function CVn(e,t){const n=kVn[t?.toLowerCase()];if(!n)return null;const r=await OVn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function _Vn(e){return new BO(vSe.define(e))}const T1t=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>tzn),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ig.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return go(()=>Promise.resolve().then(()=>Q7n),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ig.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return go(()=>Promise.resolve().then(()=>X6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ig.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return go(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>_Vn(e.shell))}})];function EVn(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 jVn(e){const t=EVn(e);return w0t({override:[TVn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function TVn(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 g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const NVn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,IVn=jn.mark({class:"cm-variable-highlight"}),Uze=new $xt({regexp:NVn,decoration:()=>IVn}),AVn=Eo.fromClass(class{decorations;constructor(e){this.decorations=Uze.createDeco(e)}update(e){this.decorations=Uze.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),RVn=AVn;function PVn(){const e=dI({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:[he.className,he.propertyName],color:"var(--neutral6)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:he.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:he.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:he.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.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 $Vn(){const e=It.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=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"},{tag:he.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[he.heading1,he.heading2,he.heading3,he.heading4,he.heading5,he.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[he.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[he.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:he.link,color:"var(--accent3)",textDecoration:"underline"},{tag:he.url,color:"var(--accent3)"},{tag:he.monospace,color:"var(--neutral6)"},{tag:he.strikethrough,textDecoration:"line-through"},{tag:[he.deleted],color:"var(--accent2)"},{tag:he.invalid,color:"var(--error)"},{tag:[he.standard(he.tagName)],color:"var(--accent1)"}]);return[e,H1(t)]}const t0=()=>{const e=HC().resolvedTheme==="dark";return v.useMemo(()=>e?PVn():$Vn(),[e])},MVn=co(X("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"}}),DVn=eh.highest(It.editorAttributes.of({style:"outline: none"})),LVn=eh.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),FVn=[DVn,LVn],Wr=v.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},g)=>{const y=t0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const S=[...FVn];return f&&S.push(It.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(qSe({base:qO,codeLanguages:T1t})),i&&a==="markdown"&&S.push(RVn),c&&a==="markdown"&&S.push(jVn(c)),p===!1&&S.push(cs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(MVn({variant:h}),s),...m,children:[r&&o.jsx(Pa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Xu,{ref:g,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}})]})}),zVn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},BVn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=t0(),{settings:r,setSettings:s}=lH(),a=r?.tracingOptions,i=v.useMemo(()=>zVn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.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(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Xu,{value:l,onChange:d,theme:n,extensions:[$p],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ce,{type:"button",onClick:f,children:"Save"})})]})},UVn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(qe,{children:o.jsx(XV,{})})})}),o.jsx(Rn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Rr,{children:o.jsx(BVn,{onSaved:()=>t(!1)})})]})})]})};function VVn({status:e}){switch(e){case"running":return o.jsx(Xt,{});case"failed":return o.jsx(bs,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(hT,{className:"text-neutral3"});case"suspended":return o.jsx(ZV,{className:"text-accent3"});case"success":return o.jsx(fa,{className:"text-accent1"});default:return o.jsx(hT,{className:"text-neutral3"})}}function N1t({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(qe,{"aria-label":e,className:"shrink-0",children:o.jsx(VVn,{status:e})})}),o.jsx(Rn,{children:e})]})}var pee,Vze;function JSe(){if(Vze)return pee;Vze=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([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),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,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,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 g=h;h=m,m=g}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 g=h;h=m,m=g}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 pee=r,pee}var hee,qze;function qVn(){return qze||(qze=1,hee="2.2.4"),hee}var mee,Hze;function HVn(){return Hze||(Hze=1,mee={Graph:JSe(),version:qVn()}),mee}var gee,Wze;function WVn(){if(Wze)return gee;Wze=1;var e=JSe();gee={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 gee}var vee,Zze;function ZVn(){if(Zze)return vee;Zze=1,vee=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 vee}var yee,Gze;function I1t(){if(Gze)return yee;Gze=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 yee=e,yee}var bee,Qze;function A1t(){if(Qze)return bee;Qze=1;var e=I1t();bee=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,g=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<g.distance&&(g.distance=b,g.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 bee}var xee,Yze;function GVn(){if(Yze)return xee;Yze=1;var e=A1t();xee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return xee}var wee,Kze;function R1t(){if(Kze)return wee;Kze=1,wee=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 wee}var See,Xze;function QVn(){if(Xze)return See;Xze=1;var e=R1t();See=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return See}var kee,Jze;function YVn(){if(Jze)return kee;Jze=1,kee=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],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return kee}var Oee,e8e;function P1t(){if(e8e)return Oee;e8e=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 Oee=e,e.CycleException=t,Oee}var Cee,t8e;function KVn(){if(t8e)return Cee;t8e=1;var e=P1t();Cee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Cee}var _ee,n8e;function $1t(){if(n8e)return _ee;n8e=1,_ee=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 _ee}var Eee,r8e;function XVn(){if(r8e)return Eee;r8e=1;var e=$1t();Eee=t;function t(n,r){return e(n,r,"post")}return Eee}var jee,s8e;function JVn(){if(s8e)return jee;s8e=1;var e=$1t();jee=t;function t(n,r){return e(n,r,"pre")}return jee}var Tee,a8e;function eqn(){if(a8e)return Tee;a8e=1;var e=JSe(),t=I1t();Tee=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 Tee}var Nee,i8e;function tqn(){return i8e||(i8e=1,Nee={components:ZVn(),dijkstra:A1t(),dijkstraAll:GVn(),findCycles:QVn(),floydWarshall:YVn(),isAcyclic:KVn(),postorder:XVn(),preorder:JVn(),prim:eqn(),tarjan:R1t(),topsort:P1t()}),Nee}var Iee,o8e;function Fg(){if(o8e)return Iee;o8e=1;var e=HVn();return Iee={Graph:e.Graph,json:WVn(),alg:tqn(),version:e.version},Iee}var Aee,l8e;function nqn(){if(l8e)return Aee;l8e=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 Aee=e,Aee}var Ree,c8e;function rqn(){if(c8e)return Ree;c8e=1;let e=Fg().Graph,t=nqn();Ree=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],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.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),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}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 Ree}var Pee,u8e;function Ll(){if(u8e)return Pee;u8e=1;let e=Fg().Graph;Pee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(j,N,I,A){for(var R=A;j.hasNode(R);)R=S(A);return I.dummy=N,j.setNode(R,I),R}function n(j){let N=new e().setGraph(j.graph());return j.nodes().forEach(I=>N.setNode(I,j.node(I))),j.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=j.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(j){let N=new e({multigraph:j.isMultigraph()}).setGraph(j.graph());return j.nodes().forEach(I=>{j.children(I).length||N.setNode(I,j.node(I))}),j.edges().forEach(I=>{N.setEdge(I,j.edge(I))}),N}function s(j){let N=j.nodes().map(I=>{let A={};return j.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+j.edge(R).weight}),A});return E(j.nodes(),N)}function a(j){let N=j.nodes().map(I=>{let A={};return j.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+j.edge(R).weight}),A});return E(j.nodes(),N)}function i(j,N){let I=j.x,A=j.y,R=N.x-I,L=N.y-A,D=j.width/2,z=j.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,F;return Math.abs(L)*D>Math.abs(R)*z?(L<0&&(z=-z),H=z*R/L,F=z):(R<0&&(D=-D),H=D,F=D*L/R),{x:I+H,y:A+F}}function l(j){let N=k(m(j)+1).map(()=>[]);return j.nodes().forEach(I=>{let A=j.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(j){let N=j.nodes().map(A=>{let R=j.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);j.nodes().forEach(A=>{let R=j.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(j){let N=j.nodes().map(D=>j.node(D).rank),I=h(Math.min,N),A=[];j.nodes().forEach(D=>{let z=j.node(D).rank-I;A[z]||(A[z]=[]),A[z].push(D)});let R=0,L=j.graph().nodeRankFactor;Array.from(A).forEach((D,z)=>{D===void 0&&z%L!==0?--R:D!==void 0&&R&&D.forEach(H=>j.node(H).rank+=R)})}function d(j,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(j,"border",R,N)}function f(j,N=p){const I=[];for(let A=0;A<j.length;A+=N){const R=j.slice(A,A+N);I.push(R)}return I}const p=65535;function h(j,N){if(N.length>p){const I=f(N);return j.apply(null,I.map(A=>j.apply(null,A)))}else return j.apply(null,N)}function m(j){const I=j.nodes().map(A=>{let R=j.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function g(j,N){let I={lhs:[],rhs:[]};return j.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(j,N){let I=Date.now();try{return N()}finally{console.log(j+" time: "+(Date.now()-I)+"ms")}}function b(j,N){return N()}let x=0;function S(j){var N=++x;return j+(""+N)}function k(j,N,I=1){N==null&&(N=j,j=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=j;A(L);L+=I)R.push(L);return R}function _(j,N){const I={};for(const A of N)j[A]!==void 0&&(I[A]=j[A]);return I}function C(j,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(j).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(j,N){return j.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Pee}var $ee,d8e;function sqn(){if(d8e)return $ee;d8e=1;let e=rqn(),t=Ll().uniqueId;$ee={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 $ee}var Mee,f8e;function aqn(){if(f8e)return Mee;f8e=1;let e=Ll();Mee={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,g;for(g=0,++l;l<u;++g,++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),g===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 Mee}var Dee,p8e;function OB(){if(p8e)return Dee;p8e=1;const{applyWithChunking:e}=Ll();Dee={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 Dee}var Lee,h8e;function M1t(){if(h8e)return Lee;h8e=1;var e=Fg().Graph,t=OB().slack;Lee=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 Lee}var Fee,m8e;function iqn(){if(m8e)return Fee;m8e=1;var e=M1t(),t=OB().slack,n=OB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ll().simplify;Fee=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,E=!0,j=S.edge(k,C),N=0;return j||(E=!1,j=S.edge(C,k)),N=j.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===E,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var z=x.edge(k,R).cutvalue;N+=L?-z:z}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var E=k,j=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),j.low=E,j.lim=k++,C?j.parent=C:delete j.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 E=x.node(_),j=x.node(C),N=E,I=!1;E.lim>j.lim&&(N=j,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,E=k.w;x.removeEdge(C,E),x.setEdge(_.v,_.w,{}),d(x),l(x,S),g(x,S)}function g(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var E=x.node(C).parent,j=S.edge(C,E),N=!1;j||(j=S.edge(E,C),N=!0),S.node(C).rank=S.node(E).rank+(N?j.minlen:-j.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 Fee}var zee,g8e;function oqn(){if(g8e)return zee;g8e=1;var e=OB(),t=e.longestPath,n=M1t(),r=iqn();zee=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 zee}var Bee,v8e;function lqn(){if(v8e)return Bee;v8e=1,Bee=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 Bee}var Uee,y8e;function cqn(){if(y8e)return Uee;y8e=1;let e=Ll();Uee={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"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,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,g,{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 Uee}var Vee,b8e;function uqn(){if(b8e)return Vee;b8e=1;let e=Ll();Vee=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 Vee}var qee,x8e;function dqn(){if(x8e)return qee;x8e=1,qee={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 qee}var Hee,w8e;function fqn(){if(w8e)return Hee;w8e=1;let e=Ll();Hee=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 Hee}var Wee,S8e;function pqn(){if(S8e)return Wee;S8e=1;let e=Ll().zipObject;Wee=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 Wee}var Zee,k8e;function hqn(){if(k8e)return Zee;k8e=1,Zee=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 Zee}var Gee,O8e;function mqn(){if(O8e)return Gee;O8e=1;let e=Ll();Gee=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 Gee}var Qee,C8e;function gqn(){if(C8e)return Qee;C8e=1;let e=Ll();Qee=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.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 Qee}var Yee,_8e;function vqn(){if(_8e)return Yee;_8e=1;let e=hqn(),t=mqn(),n=gqn();Yee=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 g=e(i,d);g.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(g,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 Yee}var Kee,E8e;function yqn(){if(E8e)return Kee;E8e=1;let e=Fg().Graph,t=Ll();Kee=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,g=u.edge(m,d),y=g!==void 0?g.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 Kee}var Xee,j8e;function bqn(){if(j8e)return Xee;j8e=1,Xee=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 Xee}var Jee,T8e;function xqn(){if(T8e)return Jee;T8e=1;let e=fqn(),t=pqn(),n=vqn(),r=yqn(),s=bqn(),a=Fg().Graph,i=Ll();Jee=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"),g=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:g,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,g=(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"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&g(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 g=m.graph().root,y=n(m,g,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,g)=>f.node(m).order=g))}return Jee}var ete,N8e;function wqn(){if(N8e)return ete;N8e=1;let e=Fg().Graph,t=Ll();ete={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,E=0,j=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:j;(R||I===N)&&(_.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(z=>{let H=y.node(z),F=H.order;(F<C||L<F)&&!(H.dummy&&y.node(D).dummy)&&a(x,z,D)})}),E=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,E,j,N){let I;t.range(C,E).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<j||L.order>N)&&a(x,R,I)})})}function k(_,C){let E=-1,j,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(j=y.node(R[0]).order,S(C,N,A,E,j),N=A,E=j)}S(C,N,C.length,j,_.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(E=>{E.forEach((j,N)=>{k[j]=j,_[j]=j,C[j]=N})}),b.forEach(E=>{let j=-1;E.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&&j<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],j=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),E=k?"borderLeft":"borderRight";function j(A,R){let L=C.nodes(),D=L.pop(),z={};for(;D;)z[D]?A(D):(z[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,z)=>Math.min(D,_[z.w]-C.edge(z)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(_[A]=Math.max(_[A],R))}return j(N,C.predecessors.bind(C)),j(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(E=>{let j;E.forEach(N=>{let I=x[N];if(k.setNode(I),j){var A=x[j],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,j),R||0))}j=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(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),_=Math.min(j-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 E=_+C,j=y[E];if(j===b)return;let N=Object.values(j),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(j,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(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let j=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,j),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[C+E]=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),E=S.node(_),j=0,N;if(j+=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&&(j+=x?N:-N),N=0,j+=(C.dummy?b:y)/2,j+=(E.dummy?b:y)/2,j+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(j+=x?N:-N),N=0,j}}function g(y,b){return y.node(b).width}return ete}var tte,I8e;function Sqn(){if(I8e)return tte;I8e=1;let e=Ll(),t=wqn().positionX;tte=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 tte}var nte,A8e;function kqn(){if(A8e)return nte;A8e=1;let e=sqn(),t=aqn(),n=oqn(),r=Ll().normalizeRanks,s=lqn(),a=Ll().removeEmptyRanks,i=cqn(),l=uqn(),c=dqn(),u=xqn(),d=Sqn(),f=Ll(),p=Fg().Graph;nte=h;function h($,U){let Z=U&&U.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>j($));Z(" runLayout",()=>m(K,Z,U)),Z(" updateInputGraph",()=>g($,K))})}function m($,U,Z){U(" makeSpaceForEdgeLabels",()=>N($)),U(" removeSelfEdges",()=>B($)),U(" acyclic",()=>e.run($)),U(" nestingGraph.run",()=>i.run($)),U(" rank",()=>n(f.asNonCompoundGraph($))),U(" injectEdgeLabelProxies",()=>I($)),U(" removeEmptyRanks",()=>a($)),U(" nestingGraph.cleanup",()=>i.cleanup($)),U(" normalizeRanks",()=>r($)),U(" assignRankMinMax",()=>A($)),U(" removeEdgeLabelProxies",()=>R($)),U(" normalize.run",()=>t.run($)),U(" parentDummyChains",()=>s($)),U(" addBorderSegments",()=>l($)),U(" order",()=>u($,Z)),U(" insertSelfEdges",()=>V($)),U(" adjustCoordinateSystem",()=>c.adjust($)),U(" position",()=>d($)),U(" positionSelfEdges",()=>M($)),U(" removeBorderNodes",()=>F($)),U(" normalize.undo",()=>t.undo($)),U(" fixupEdgeLabelCoords",()=>z($)),U(" undoCoordinateSystem",()=>c.undo($)),U(" translateGraph",()=>L($)),U(" assignNodeIntersects",()=>D($)),U(" reversePoints",()=>H($)),U(" acyclic.undo",()=>e.undo($))}function g($,U){$.nodes().forEach(Z=>{let K=$.node(Z),ne=U.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,U.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=U.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=U.graph().width,$.graph().height=U.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"},E=["labelpos"];function j($){let U=new p({multigraph:!0,compound:!0}),Z=q($.graph());return U.setGraph(Object.assign({},b,Q(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=q($.node(K));const ee=Q(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),U.setNode(K,ee),U.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=q($.edge(K));U.setEdge(K,Object.assign({},C,Q(ne,_),f.pick(ne,E)))}),U}function N($){let U=$.graph();U.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(U.rankdir==="TB"||U.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(U=>{let Z=$.edge(U);if(Z.width&&Z.height){let K=$.node(U.v),ee={rank:($.node(U.w).rank-K.rank)/2+K.rank,e:U};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let U=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,U=Math.max(U,K.maxRank))}),$.graph().maxRank=U}function R($){$.nodes().forEach(U=>{let Z=$.node(U);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(U))})}function L($){let U=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function pe(Y){let te=Y.x,le=Y.y,de=Y.width,oe=Y.height;U=Math.min(U,te-de/2),Z=Math.max(Z,te+de/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>pe($.node(Y))),$.edges().forEach(Y=>{let te=$.edge(Y);Object.hasOwn(te,"x")&&pe(te)}),U-=J,K-=ae,$.nodes().forEach(Y=>{let te=$.node(Y);te.x-=U,te.y-=K}),$.edges().forEach(Y=>{let te=$.edge(Y);te.points.forEach(le=>{le.x-=U,le.y-=K}),Object.hasOwn(te,"x")&&(te.x-=U),Object.hasOwn(te,"y")&&(te.y-=K)}),ee.width=Z-U+J,ee.height=ne-K+ae}function D($){$.edges().forEach(U=>{let Z=$.edge(U),K=$.node(U.v),ne=$.node(U.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function z($){$.edges().forEach(U=>{let Z=$.edge(U);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(U=>{let Z=$.edge(U);Z.reversed&&Z.points.reverse()})}function F($){$.nodes().forEach(U=>{if($.children(U).length){let Z=$.node(U),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(U=>{$.node(U).dummy==="border"&&$.removeNode(U)})}function B($){$.edges().forEach(U=>{if(U.v===U.w){var Z=$.node(U.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:U,label:$.edge(U)}),$.removeEdge(U)}})}function V($){var U=f.buildLayerMatrix($);U.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(U=>{var Z=$.node(U);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(U),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function Q($,U){return f.mapValues(f.pick($,U),Number)}function q($){var U={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),U[Z]=K}),U}return nte}var rte,R8e;function Oqn(){if(R8e)return rte;R8e=1;let e=Ll(),t=Fg().Graph;rte={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 rte}var ste,P8e;function Cqn(){return P8e||(P8e=1,ste="1.1.8"),ste}var ate,$8e;function _qn(){return $8e||($8e=1,ate={graphlib:Fg(),layout:kqn(),debug:Oqn(),util:{time:Ll().time,notime:Ll().notime},version:Cqn()}),ate}var Eqn=_qn();const M8e=Bl(Eqn);function ql(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=ql(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var jqn={value:()=>{}};function MH(){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 $8(n)}function $8(e){this._=e}function Tqn(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}})}$8.prototype=MH.prototype={constructor:$8,on:function(e,t){var n=this._,r=Tqn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=Nqn(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]=D8e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=D8e(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 $8(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 Nqn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function D8e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=jqn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var age="http://www.w3.org/1999/xhtml";const L8e={svg:"http://www.w3.org/2000/svg",xhtml:age,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function DH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),L8e.hasOwnProperty(t)?{space:L8e[t],local:e}:e}function Iqn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===age&&t.documentElement.namespaceURI===age?t.createElement(e):t.createElementNS(n,e)}}function Aqn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function D1t(e){var t=DH(e);return(t.local?Aqn:Iqn)(t)}function Rqn(){}function eke(e){return e==null?Rqn:function(){return this.querySelector(e)}}function Pqn(e){typeof e!="function"&&(e=eke(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 Zp(r,this._parents)}function $qn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Mqn(){return[]}function L1t(e){return e==null?Mqn:function(){return this.querySelectorAll(e)}}function Dqn(e){return function(){return $qn(e.apply(this,arguments))}}function Lqn(e){typeof e=="function"?e=Dqn(e):e=L1t(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 Zp(r,s)}function F1t(e){return function(){return this.matches(e)}}function z1t(e){return function(t){return t.matches(e)}}var Fqn=Array.prototype.find;function zqn(e){return function(){return Fqn.call(this.children,e)}}function Bqn(){return this.firstElementChild}function Uqn(e){return this.select(e==null?Bqn:zqn(typeof e=="function"?e:z1t(e)))}var Vqn=Array.prototype.filter;function qqn(){return Array.from(this.children)}function Hqn(e){return function(){return Vqn.call(this.children,e)}}function Wqn(e){return this.selectAll(e==null?qqn:Hqn(typeof e=="function"?e:z1t(e)))}function Zqn(e){typeof e!="function"&&(e=F1t(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 Zp(r,this._parents)}function B1t(e){return new Array(e.length)}function Gqn(){return new Zp(this._enter||this._groups.map(B1t),this._parents)}function CB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}CB.prototype={constructor:CB,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 Qqn(e){return function(){return e}}function Yqn(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 CB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function Kqn(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 CB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function Xqn(e){return e.__data__}function Jqn(e,t){if(!arguments.length)return Array.from(this,Xqn);var n=t?Kqn:Yqn,r=this._parents,s=this._groups;typeof e!="function"&&(e=Qqn(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=eHn(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=g[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Zp(i,r),i._enter=l,i._exit=c,i}function eHn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function tHn(){return new Zp(this._exit||this._groups.map(B1t),this._parents)}function nHn(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 rHn(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 Zp(l,this._parents)}function sHn(){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 aHn(e){e||(e=iHn);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 Zp(s,this._parents).order()}function iHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function oHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function lHn(){return Array.from(this)}function cHn(){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 uHn(){let e=0;for(const t of this)++e;return e}function dHn(){return!this.node()}function fHn(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 pHn(e){return function(){this.removeAttribute(e)}}function hHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function mHn(e,t){return function(){this.setAttribute(e,t)}}function gHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function vHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function yHn(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 bHn(e,t){var n=DH(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?hHn:pHn:typeof t=="function"?n.local?yHn:vHn:n.local?gHn:mHn)(n,t))}function U1t(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function xHn(e){return function(){this.style.removeProperty(e)}}function wHn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function SHn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function kHn(e,t,n){return arguments.length>1?this.each((t==null?xHn:typeof t=="function"?SHn:wHn)(e,t,n??"")):HT(this.node(),e)}function HT(e,t){return e.style.getPropertyValue(t)||U1t(e).getComputedStyle(e,null).getPropertyValue(t)}function OHn(e){return function(){delete this[e]}}function CHn(e,t){return function(){this[e]=t}}function _Hn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function EHn(e,t){return arguments.length>1?this.each((t==null?OHn:typeof t=="function"?_Hn:CHn)(e,t)):this.node()[e]}function V1t(e){return e.trim().split(/^|\s+/)}function tke(e){return e.classList||new q1t(e)}function q1t(e){this._node=e,this._names=V1t(e.getAttribute("class")||"")}q1t.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 H1t(e,t){for(var n=tke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function W1t(e,t){for(var n=tke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function jHn(e){return function(){H1t(this,e)}}function THn(e){return function(){W1t(this,e)}}function NHn(e,t){return function(){(t.apply(this,arguments)?H1t:W1t)(this,e)}}function IHn(e,t){var n=V1t(e+"");if(arguments.length<2){for(var r=tke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?NHn:t?jHn:THn)(n,t))}function AHn(){this.textContent=""}function RHn(e){return function(){this.textContent=e}}function PHn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function $Hn(e){return arguments.length?this.each(e==null?AHn:(typeof e=="function"?PHn:RHn)(e)):this.node().textContent}function MHn(){this.innerHTML=""}function DHn(e){return function(){this.innerHTML=e}}function LHn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function FHn(e){return arguments.length?this.each(e==null?MHn:(typeof e=="function"?LHn:DHn)(e)):this.node().innerHTML}function zHn(){this.nextSibling&&this.parentNode.appendChild(this)}function BHn(){return this.each(zHn)}function UHn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function VHn(){return this.each(UHn)}function qHn(e){var t=typeof e=="function"?e:D1t(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function HHn(){return null}function WHn(e,t){var n=typeof e=="function"?e:D1t(e),r=t==null?HHn:typeof t=="function"?t:eke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function ZHn(){var e=this.parentNode;e&&e.removeChild(this)}function GHn(){return this.each(ZHn)}function QHn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function YHn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function KHn(e){return this.select(e?YHn:QHn)}function XHn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function JHn(e){return function(t){e.call(this,t,this.__data__)}}function eWn(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 tWn(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 nWn(e,t,n){return function(){var r=this.__on,s,a=JHn(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 rWn(e,t,n){var r=eWn(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?nWn:tWn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function Z1t(e,t,n){var r=U1t(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 sWn(e,t){return function(){return Z1t(this,e,t)}}function aWn(e,t){return function(){return Z1t(this,e,t.apply(this,arguments))}}function iWn(e,t){return this.each((typeof t=="function"?aWn:sWn)(e,t))}function*oWn(){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 G1t=[null];function Zp(e,t){this._groups=e,this._parents=t}function B3(){return new Zp([[document.documentElement]],G1t)}function lWn(){return this}Zp.prototype=B3.prototype={constructor:Zp,select:Pqn,selectAll:Lqn,selectChild:Uqn,selectChildren:Wqn,filter:Zqn,data:Jqn,enter:Gqn,exit:tHn,join:nHn,merge:rHn,selection:lWn,order:sHn,sort:aHn,call:oHn,nodes:lHn,node:cHn,size:uHn,empty:dHn,each:fHn,attr:bHn,style:kHn,property:EHn,classed:IHn,text:$Hn,html:FHn,raise:BHn,lower:VHn,append:qHn,insert:WHn,remove:GHn,clone:KHn,datum:XHn,on:rWn,dispatch:iWn,[Symbol.iterator]:oWn};function Op(e){return typeof e=="string"?new Zp([[document.querySelector(e)]],[document.documentElement]):new Zp([[e]],G1t)}function cWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=cWn(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 uWn={passive:!1},jM={capture:!0,passive:!1};function ite(e){e.stopImmediatePropagation()}function Gj(e){e.preventDefault(),e.stopImmediatePropagation()}function Q1t(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",Gj,jM);"onselectstart"in t?n.on("selectstart.drag",Gj,jM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function Y1t(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",Gj,jM),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 rF=e=>()=>e;function ige(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}})}ige.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function dWn(e){return!e.ctrlKey&&!e.button}function fWn(){return this.parentNode}function pWn(e,t){return t??{x:e.x,y:e.y}}function hWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function K1t(){var e=dWn,t=fWn,n=pWn,r=hWn,s={},a=MH("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,uWn).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&&(Op(k.view).on("mousemove.drag",m,jM).on("mouseup.drag",g,jM),Q1t(k.view),ite(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(Gj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function g(k){Op(k.view).on("mousemove.drag mouseup.drag",null),Y1t(k.view,u),Gj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,E=t.call(this,k,_),j=C.length,N,I;for(N=0;N<j;++N)(I=S(this,E,k,_,C[N].identifier,C[N]))&&(ite(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,E,j;for(E=0;E<C;++E)(j=s[_[E].identifier])&&(Gj(k),j("drag",k,_[E]))}function x(k){var _=k.changedTouches,C=_.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<C;++E)(j=s[_[E].identifier])&&(ite(k),j("end",k,_[E]))}function S(k,_,C,E,j,N){var I=a.copy(),A=og(N||C,_),R,L,D;if((D=n.call(k,new ige("beforestart",{sourceEvent:C,target:p,identifier:j,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function z(H,F,B){var V=A,M;switch(H){case"start":s[j]=z,M=i++;break;case"end":delete s[j],--i;case"drag":A=og(B||F,_),M=i;break}I.call(H,k,new ige(H,{sourceEvent:F,subject:D,target:p,identifier:j,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:rF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:rF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:rF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:rF(!!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 nke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function X1t(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function U3(){}var TM=.7,_B=1/TM,Qj="\\s*([+-]?\\d+)\\s*",NM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",iy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",mWn=/^#([0-9a-f]{3,8})$/,gWn=new RegExp(`^rgb\\(${Qj},${Qj},${Qj}\\)$`),vWn=new RegExp(`^rgb\\(${iy},${iy},${iy}\\)$`),yWn=new RegExp(`^rgba\\(${Qj},${Qj},${Qj},${NM}\\)$`),bWn=new RegExp(`^rgba\\(${iy},${iy},${iy},${NM}\\)$`),xWn=new RegExp(`^hsl\\(${NM},${iy},${iy}\\)$`),wWn=new RegExp(`^hsla\\(${NM},${iy},${iy},${NM}\\)$`),F8e={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};nke(U3,WO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:z8e,formatHex:z8e,formatHex8:SWn,formatHsl:kWn,formatRgb:B8e,toString:B8e});function z8e(){return this.rgb().formatHex()}function SWn(){return this.rgb().formatHex8()}function kWn(){return J1t(this).formatHsl()}function B8e(){return this.rgb().formatRgb()}function WO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=mWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?U8e(t):n===3?new gf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?sF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?sF(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=gWn.exec(e))?new gf(t[1],t[2],t[3],1):(t=vWn.exec(e))?new gf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=yWn.exec(e))?sF(t[1],t[2],t[3],t[4]):(t=bWn.exec(e))?sF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=xWn.exec(e))?H8e(t[1],t[2]/100,t[3]/100,1):(t=wWn.exec(e))?H8e(t[1],t[2]/100,t[3]/100,t[4]):F8e.hasOwnProperty(e)?U8e(F8e[e]):e==="transparent"?new gf(NaN,NaN,NaN,0):null}function U8e(e){return new gf(e>>16&255,e>>8&255,e&255,1)}function sF(e,t,n,r){return r<=0&&(e=t=n=NaN),new gf(e,t,n,r)}function OWn(e){return e instanceof U3||(e=WO(e)),e?(e=e.rgb(),new gf(e.r,e.g,e.b,e.opacity)):new gf}function oge(e,t,n,r){return arguments.length===1?OWn(e):new gf(e,t,n,r??1)}function gf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}nke(gf,oge,X1t(U3,{brighter(e){return e=e==null?_B:Math.pow(_B,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?TM:Math.pow(TM,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gf(eO(this.r),eO(this.g),eO(this.b),EB(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:V8e,formatHex:V8e,formatHex8:CWn,formatRgb:q8e,toString:q8e}));function V8e(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}`}function CWn(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}${Mk((isNaN(this.opacity)?1:this.opacity)*255)}`}function q8e(){const e=EB(this.opacity);return`${e===1?"rgb(":"rgba("}${eO(this.r)}, ${eO(this.g)}, ${eO(this.b)}${e===1?")":`, ${e})`}`}function EB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function eO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mk(e){return e=eO(e),(e<16?"0":"")+e.toString(16)}function H8e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new hg(e,t,n,r)}function J1t(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof U3||(e=WO(e)),!e)return new hg;if(e instanceof hg)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 hg(i,l,c,e.opacity)}function _Wn(e,t,n,r){return arguments.length===1?J1t(e):new hg(e,t,n,r??1)}function hg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}nke(hg,_Wn,X1t(U3,{brighter(e){return e=e==null?_B:Math.pow(_B,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?TM:Math.pow(TM,e),new hg(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 gf(ote(e>=240?e-240:e+120,s,r),ote(e,s,r),ote(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(W8e(this.h),aF(this.s),aF(this.l),EB(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=EB(this.opacity);return`${e===1?"hsl(":"hsla("}${W8e(this.h)}, ${aF(this.s)*100}%, ${aF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function W8e(e){return e=(e||0)%360,e<0?e+360:e}function aF(e){return Math.max(0,Math.min(1,e||0))}function ote(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 rke=e=>()=>e;function EWn(e,t){return function(n){return e+n*t}}function jWn(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 TWn(e){return(e=+e)==1?eSt:function(t,n){return n-t?jWn(t,n,e):rke(isNaN(t)?n:t)}}function eSt(e,t){var n=t-e;return n?EWn(e,n):rke(isNaN(e)?t:e)}const jB=(function e(t){var n=TWn(t);function r(s,a){var i=n((s=oge(s)).r,(a=oge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=eSt(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 NWn(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 IWn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function AWn(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]=px(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 RWn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function cg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function PWn(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]=px(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var lge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,lte=new RegExp(lge.source,"g");function $Wn(e){return function(){return e}}function MWn(e){return function(t){return e(t)+""}}function tSt(e,t){var n=lge.lastIndex=lte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=lge.exec(e))&&(s=lte.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:cg(r,s)})),n=lte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?MWn(c[0].x):$Wn(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 px(e,t){var n=typeof t,r;return t==null||n==="boolean"?rke(t):(n==="number"?cg:n==="string"?(r=WO(t))?(t=r,jB):tSt:t instanceof WO?jB:t instanceof Date?RWn:IWn(t)?NWn:Array.isArray(t)?AWn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?PWn:cg)(e,t)}function ske(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var Z8e=180/Math.PI,cge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function nSt(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)*Z8e,skewX:Math.atan(c)*Z8e,scaleX:i,scaleY:l}}var iF;function DWn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?cge:nSt(t.a,t.b,t.c,t.d,t.e,t.f)}function LWn(e){return e==null||(iF||(iF=document.createElementNS("http://www.w3.org/2000/svg","g")),iF.setAttribute("transform",e),!(e=iF.transform.baseVal.consolidate()))?cge:(e=e.matrix,nSt(e.a,e.b,e.c,e.d,e.e,e.f))}function rSt(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 g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:cg(u,f)},{i:g-2,x:cg(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:cg(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:cg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:cg(u,f)},{i:g-2,x:cg(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,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var FWn=rSt(DWn,"px, ","px)","deg)"),zWn=rSt(LWn,", ",")",")"),BWn=1e-12;function G8e(e){return((e=Math.exp(e))+1/e)/2}function UWn(e){return((e=Math.exp(e))-1/e)/2}function VWn(e){return((e=Math.exp(2*e))-1)/(e+1)}const M8=(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,g=h*h+m*m,y,b;if(g<BWn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(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(E){var j=E*b,N=G8e(_),I=u/(n*x)*(N*VWn(t*j+_)-UWn(_));return[l+I*h,c+I*m,u*N/G8e(t*j+_)]}}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 qWn(e,t){t===void 0&&(t=e,e=px);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 WT=0,FP=0,SR=0,sSt=1e3,TB,zP,NB=0,ZO=0,LH=0,IM=typeof performance=="object"&&performance.now?performance:Date,aSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ake(){return ZO||(aSt(HWn),ZO=IM.now()+LH)}function HWn(){ZO=0}function IB(){this._call=this._time=this._next=null}IB.prototype=iSt.prototype={constructor:IB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?ake():+n)+(t==null?0:+t),!this._next&&zP!==this&&(zP?zP._next=this:TB=this,zP=this),this._call=e,this._time=n,uge()},stop:function(){this._call&&(this._call=null,this._time=1/0,uge())}};function iSt(e,t,n){var r=new IB;return r.restart(e,t,n),r}function WWn(){ake(),++WT;for(var e=TB,t;e;)(t=ZO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--WT}function Q8e(){ZO=(NB=IM.now())+LH,WT=FP=0;try{WWn()}finally{WT=0,GWn(),ZO=0}}function ZWn(){var e=IM.now(),t=e-NB;t>sSt&&(LH-=t,NB=e)}function GWn(){for(var e,t=TB,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:TB=n);zP=e,uge(r)}function uge(e){if(!WT){FP&&(FP=clearTimeout(FP));var t=e-ZO;t>24?(e<1/0&&(FP=setTimeout(Q8e,e-IM.now()-LH)),SR&&(SR=clearInterval(SR))):(SR||(NB=IM.now(),SR=setInterval(ZWn,sSt)),WT=1,aSt(Q8e))}}function Y8e(e,t,n){var r=new IB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var QWn=MH("start","end","cancel","interrupt"),YWn=[],oSt=0,K8e=1,dge=2,D8=3,X8e=4,fge=5,L8=6;function FH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;KWn(e,n,{name:t,index:r,group:s,on:QWn,tween:YWn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:oSt})}function ike(e,t){var n=Gg(e,t);if(n.state>oSt)throw new Error("too late; already scheduled");return n}function qy(e,t){var n=Gg(e,t);if(n.state>D8)throw new Error("too late; already running");return n}function Gg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function KWn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=iSt(a,0,n.time);function a(u){n.state=K8e,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!==K8e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===D8)return Y8e(i);h.state===X8e?(h.state=L8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=L8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(Y8e(function(){n.state===D8&&(n.state=X8e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=dge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===dge){for(n.state=D8,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=fge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===fge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=L8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function F8(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>dge&&r.state<fge,r.state=L8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function XWn(e){return this.each(function(){F8(this,e)})}function JWn(e,t){var n,r;return function(){var s=qy(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 eZn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=qy(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 tZn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Gg(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?JWn:eZn)(n,e,t))}function oke(e,t,n){var r=e._id;return e.each(function(){var s=qy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function lSt(e,t){var n;return(typeof t=="number"?cg:t instanceof WO?jB:(n=WO(t))?(t=n,jB):tSt)(e,t)}function nZn(e){return function(){this.removeAttribute(e)}}function rZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function sZn(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 aZn(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 iZn(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 oZn(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 lZn(e,t){var n=DH(e),r=n==="transform"?zWn:lSt;return this.attrTween(e,typeof t=="function"?(n.local?oZn:iZn)(n,r,oke(this,"attr."+e,t)):t==null?(n.local?rZn:nZn)(n):(n.local?aZn:sZn)(n,r,t))}function cZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function uZn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function dZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&uZn(e,a)),n}return s._value=t,s}function fZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&cZn(e,a)),n}return s._value=t,s}function pZn(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=DH(e);return this.tween(n,(r.local?dZn:fZn)(r,t))}function hZn(e,t){return function(){ike(this,e).delay=+t.apply(this,arguments)}}function mZn(e,t){return t=+t,function(){ike(this,e).delay=t}}function gZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?hZn:mZn)(t,e)):Gg(this.node(),t).delay}function vZn(e,t){return function(){qy(this,e).duration=+t.apply(this,arguments)}}function yZn(e,t){return t=+t,function(){qy(this,e).duration=t}}function bZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?vZn:yZn)(t,e)):Gg(this.node(),t).duration}function xZn(e,t){if(typeof t!="function")throw new Error;return function(){qy(this,e).ease=t}}function wZn(e){var t=this._id;return arguments.length?this.each(xZn(t,e)):Gg(this.node(),t).ease}function SZn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;qy(this,e).ease=n}}function kZn(e){if(typeof e!="function")throw new Error;return this.each(SZn(this._id,e))}function OZn(e){typeof e!="function"&&(e=F1t(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 Rx(r,this._parents,this._name,this._id)}function CZn(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 Rx(i,this._parents,this._name,this._id)}function _Zn(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 EZn(e,t,n){var r,s,a=_Zn(t)?ike:qy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function jZn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(EZn(n,e,t))}function TZn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function NZn(){return this.on("end.remove",TZn(this._id))}function IZn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=eke(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,FH(u[p],t,n,p,u,Gg(d,n)));return new Rx(a,this._parents,t,n)}function AZn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=L1t(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=Gg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&FH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Rx(a,i,t,n)}var RZn=B3.prototype.constructor;function PZn(){return new RZn(this._groups,this._parents)}function $Zn(e,t){var n,r,s;return function(){var a=HT(this,e),i=(this.style.removeProperty(e),HT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function cSt(e){return function(){this.style.removeProperty(e)}}function MZn(e,t,n){var r,s=n+"",a;return function(){var i=HT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function DZn(e,t,n){var r,s,a;return function(){var i=HT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),HT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function LZn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=qy(this,e),u=c.on,d=c.value[a]==null?l||(l=cSt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function FZn(e,t,n){var r=(e+="")=="transform"?FWn:lSt;return t==null?this.styleTween(e,$Zn(e,r)).on("end.style."+e,cSt(e)):typeof t=="function"?this.styleTween(e,DZn(e,r,oke(this,"style."+e,t))).each(LZn(this._id,e)):this.styleTween(e,MZn(e,r,t),n).on("end.style."+e,null)}function zZn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function BZn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&zZn(e,i,n)),r}return a._value=t,a}function UZn(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,BZn(e,t,n??""))}function VZn(e){return function(){this.textContent=e}}function qZn(e){return function(){var t=e(this);this.textContent=t??""}}function HZn(e){return this.tween("text",typeof e=="function"?qZn(oke(this,"text",e)):VZn(e==null?"":e+""))}function WZn(e){return function(t){this.textContent=e.call(this,t)}}function ZZn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&WZn(s)),t}return r._value=e,r}function GZn(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,ZZn(e))}function QZn(){for(var e=this._name,t=this._id,n=uSt(),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=Gg(c,t);FH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Rx(r,this._parents,e,n)}function YZn(){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=qy(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 KZn=0;function Rx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function uSt(){return++KZn}var Sb=B3.prototype;Rx.prototype={constructor:Rx,select:IZn,selectAll:AZn,selectChild:Sb.selectChild,selectChildren:Sb.selectChildren,filter:OZn,merge:CZn,selection:PZn,transition:QZn,call:Sb.call,nodes:Sb.nodes,node:Sb.node,size:Sb.size,empty:Sb.empty,each:Sb.each,on:jZn,attr:lZn,attrTween:pZn,style:FZn,styleTween:UZn,text:HZn,textTween:GZn,remove:NZn,tween:tZn,delay:gZn,duration:bZn,ease:wZn,easeVarying:kZn,end:YZn,[Symbol.iterator]:Sb[Symbol.iterator]};function XZn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var JZn={time:null,delay:0,duration:250,ease:XZn};function eGn(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 tGn(e){var t,n;e instanceof Rx?(t=e._id,e=e._name):(t=uSt(),(n=JZn).time=ake(),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])&&FH(c,e,t,u,i,n||eGn(c,t));return new Rx(r,this._parents,e,t)}B3.prototype.interrupt=XWn;B3.prototype.transition=tGn;const oF=e=>()=>e;function nGn(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 nx(e,t,n){this.k=e,this.x=t,this.y=n}nx.prototype={constructor:nx,scale:function(e){return e===1?this:new nx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new nx(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 zH=new nx(1,0,0);dSt.prototype=nx.prototype;function dSt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return zH;return e.__zoom}function cte(e){e.stopImmediatePropagation()}function kR(e){e.preventDefault(),e.stopImmediatePropagation()}function rGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function sGn(){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 J8e(){return this.__zoom||zH}function aGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function iGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function oGn(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 fSt(){var e=rGn,t=sGn,n=oGn,r=aGn,s=iGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=M8,u=MH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",J8e).on("wheel.zoom",j,{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,z,H,F){var B=D.selection?D.selection():D;B.property("__zoom",J8e),D!==B?_(D,z,H,F):B.interrupt().each(function(){C(this,arguments).event(F).start().zoom(null,typeof z=="function"?z.apply(this,arguments):z).end()})},b.scaleBy=function(D,z,H,F){b.scaleTo(D,function(){var B=this.__zoom.k,V=typeof z=="function"?z.apply(this,arguments):z;return B*V},H,F)},b.scaleTo=function(D,z,H,F){b.transform(D,function(){var B=t.apply(this,arguments),V=this.__zoom,M=H==null?k(B):typeof H=="function"?H.apply(this,arguments):H,Q=V.invert(M),q=typeof z=="function"?z.apply(this,arguments):z;return n(S(x(V,q),M,Q),B,i)},H,F)},b.translateBy=function(D,z,H,F){b.transform(D,function(){return n(this.__zoom.translate(typeof z=="function"?z.apply(this,arguments):z,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,F)},b.translateTo=function(D,z,H,F,B){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,Q=F==null?k(V):typeof F=="function"?F.apply(this,arguments):F;return n(zH.translate(Q[0],Q[1]).scale(M.k).translate(typeof z=="function"?-z.apply(this,arguments):-z,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},F,B)};function x(D,z){return z=Math.max(a[0],Math.min(a[1],z)),z===D.k?D:new nx(z,D.x,D.y)}function S(D,z,H){var F=z[0]-H[0]*D.k,B=z[1]-H[1]*D.k;return F===D.x&&B===D.y?D:new nx(D.k,F,B)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,z,H,F){D.on("start.zoom",function(){C(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(F).end()}).tween("zoom",function(){var B=this,V=arguments,M=C(B,V).event(F),Q=t.apply(B,V),q=H==null?k(Q):typeof H=="function"?H.apply(B,V):H,$=Math.max(Q[1][0]-Q[0][0],Q[1][1]-Q[0][1]),U=B.__zoom,Z=typeof z=="function"?z.apply(B,V):z,K=c(U.invert(q).concat($/U.k),Z.invert(q).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new nx(J,q[0]-ee[0]*J,q[1]-ee[1]*J)}M.zoom(null,ne)}})}function C(D,z,H){return!H&&D.__zooming||new E(D,z)}function E(D,z){this.that=D,this.args=z,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,z),this.taps=0}E.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,z){return this.mouse&&D!=="mouse"&&(this.mouse[1]=z.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=z.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=z.invert(this.touch1[0])),this.that.__zoom=z,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var z=Op(this.that).datum();u.call(D,this.that,new nGn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),z)}};function j(D,...z){if(!e.apply(this,arguments))return;var H=C(this,z).event(D),F=this.__zoom,B=Math.max(a[0],Math.min(a[1],F.k*Math.pow(2,r.apply(this,arguments)))),V=og(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=F.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(F.k===B)return;H.mouse=[V,F.invert(V)],F8(this),H.start()}kR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(F,B),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...z){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,F=C(this,z,!0).event(D),B=Op(D.view).on("mousemove.zoom",q,!0).on("mouseup.zoom",$,!0),V=og(D,H),M=D.clientX,Q=D.clientY;Q1t(D.view),cte(D),F.mouse=[V,this.__zoom.invert(V)],F8(this),F.start();function q(U){if(kR(U),!F.moved){var Z=U.clientX-M,K=U.clientY-Q;F.moved=Z*Z+K*K>g}F.event(U).zoom("mouse",n(S(F.that.__zoom,F.mouse[0]=og(U,H),F.mouse[1]),F.extent,i))}function $(U){B.on("mousemove.zoom mouseup.zoom",null),Y1t(U.view,F.moved),kR(U),F.event(U).end()}}function I(D,...z){if(e.apply(this,arguments)){var H=this.__zoom,F=og(D.changedTouches?D.changedTouches[0]:D,this),B=H.invert(F),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),F,B),t.apply(this,z),i);kR(D),l>0?Op(this).transition().duration(l).call(_,M,F,D):Op(this).call(b.transform,M,F,D)}}function A(D,...z){if(e.apply(this,arguments)){var H=D.touches,F=H.length,B=C(this,z,D.changedTouches.length===F).event(D),V,M,Q,q;for(cte(D),M=0;M<F;++M)Q=H[M],q=og(Q,this),q=[q,this.__zoom.invert(q),Q.identifier],B.touch0?!B.touch1&&B.touch0[2]!==q[2]&&(B.touch1=q,B.taps=0):(B.touch0=q,V=!0,B.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(B.taps<2&&(f=q[0],d=setTimeout(function(){d=null},h)),F8(this),B.start())}}function R(D,...z){if(this.__zooming){var H=C(this,z).event(D),F=D.changedTouches,B=F.length,V,M,Q,q;for(kR(D),V=0;V<B;++V)M=F[V],Q=og(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=Q:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=Q);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],U=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-U[0])*ee+(ee=K[1]-U[1])*ee;M=x(M,Math.sqrt(ne/ee)),Q=[($[0]+Z[0])/2,($[1]+Z[1])/2],q=[(U[0]+K[0])/2,(U[1]+K[1])/2]}else if(H.touch0)Q=H.touch0[0],q=H.touch0[1];else return;H.zoom("touch",n(S(M,Q,q),H.extent,i))}}function L(D,...z){if(this.__zooming){var H=C(this,z).event(D),F=D.changedTouches,B=F.length,V,M;for(cte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<B;++V)M=F[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=og(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var Q=Op(this).on("dblclick.zoom");Q&&Q.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:oF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:oF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:oF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:oF([[+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?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const ky={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]],pSt=["Enter"," ","Escape"],hSt={"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 ZT;(function(e){e.Strict="strict",e.Loose="loose"})(ZT||(ZT={}));var tO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(tO||(tO={}));var RM;(function(e){e.Partial="partial",e.Full="full"})(RM||(RM={}));const mSt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var hw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(hw||(hw={}));var PM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(PM||(PM={}));var sr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(sr||(sr={}));const e9e={[sr.Left]:sr.Right,[sr.Right]:sr.Left,[sr.Top]:sr.Bottom,[sr.Bottom]:sr.Top};function gSt(e){return e===null?null:e?"valid":"invalid"}const vSt=e=>"id"in e&&"source"in e&&"target"in e,lGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),lke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),V3=(e,t=[0,0])=>{const{width:n,height:r}=n0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},cGn=(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):lke(s)?s:t.nodeLookup.get(s.id));const l=i?AB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return BH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return UH(n)},q3=(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=BH(n,AB(s)),r=!0)}),r?UH(n):{x:0,y:0,width:0,height:0}},cke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...W3(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,g=$M(l,QT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},uGn=(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 dGn(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 fGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=dGn(e,i),c=q3(l),u=uke(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 ySt({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",ky.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&YT(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=YT(f)?GO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",ky.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 pGn({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(g=>g.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=uGn(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 GT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),GO=(e={x:0,y:0},t,n)=>({x:GT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:GT(e.y,t[0][1],t[1][1]-(n?.height??0))});function bSt(e,t,n){const{width:r,height:s}=n0(n),{x:a,y:i}=n.internals.positionAbsolute;return GO(e,[[a,i],[a+r,i+s]],t)}const t9e=(e,t,n)=>e<t?GT(Math.abs(e-t),1,t)/t:e>n?-GT(Math.abs(e-n),1,t)/t:0,xSt=(e,t,n=15,r=40)=>{const s=t9e(e.x,r,t.width-r)*n,a=t9e(e.y,r,t.height-r)*n;return[s,a]},BH=(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)}),pge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),UH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),QT=(e,t=[0,0])=>{const{x:n,y:r}=lke(e)?e.internals.positionAbsolute:V3(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}},AB=(e,t=[0,0])=>{const{x:n,y:r}=lke(e)?e.internals.positionAbsolute:V3(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)}},wSt=(e,t)=>UH(BH(pge(e),pge(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)},n9e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),hGn=(e,t)=>{},H3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),W3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?H3(l,i):l},RB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function uE(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 mGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=uE(e,n),s=uE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=uE(e.top??e.y??0,n),s=uE(e.bottom??e.y??0,n),a=uE(e.left??e.x??0,t),i=uE(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 gGn(e,t,n,r,s,a){const{x:i,y:l}=RB(e,[t,n,r]),{x:c,y:u}=RB({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 uke=(e,t,n,r,s,a)=>{const i=mGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=GT(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,g=gGn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.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 YT(e){return e!=null&&e!=="parent"}function n0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function SSt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function kSt(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 r9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function vGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function yGn(e){return{...hSt,...e||{}}}function y2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=W3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?H3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const dke=e=>({width:e.offsetWidth,height:e.offsetHeight}),OSt=e=>e?.getRootNode?.()||window?.document,bGn=["INPUT","SELECT","TEXTAREA"];function CSt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:bGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const _St=e=>"clientX"in e,wg=(e,t)=>{const n=_St(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)}},s9e=(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,...dke(i)}})};function ESt({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 lF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function a9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case sr.Left:return[t-lF(t-r,a),n];case sr.Right:return[t+lF(r-t,a),n];case sr.Top:return[t,n-lF(n-s,a)];case sr.Bottom:return[t,n+lF(s-n,a)]}}function fke({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,curvature:i=.25}){const[l,c]=a9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=a9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=ESt({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 jSt({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 xGn({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 wGn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=BH(AB(e),AB(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,UH(a))>0}const SGn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,kGn=(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)),OGn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||SGn;let s;return vSt(e)?s={...e}:s={...e,id:r(e)},kGn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function TSt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=jSt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const i9e={[sr.Left]:{x:-1,y:0},[sr.Right]:{x:1,y:0},[sr.Top]:{x:0,y:-1},[sr.Bottom]:{x:0,y:1}},CGn=({source:e,sourcePosition:t=sr.Bottom,target:n})=>t===sr.Left||t===sr.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},o9e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function _Gn({source:e,sourcePosition:t=sr.Bottom,target:n,targetPosition:r=sr.Top,center:s,offset:a,stepPosition:i}){const l=i9e[t],c=i9e[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=CGn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=jSt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const j=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?j:N:m=p==="x"?N:j}else{const j=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:j:m=l.y===h?j:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const z=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*z:x[p]=(d[p]>n[p]?-1:1)*z}}if(t!==r){const D=p==="x"?"y":"x",z=l[p]===c[D],H=u[D]>d[D],F=u[D]<d[D];(l[p]===1&&(!z&&H||z&&F)||l[p]!==1&&(!z&&F||z&&H))&&(m=p==="x"?j: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?(g=(I.x+A.x)/2,y=m[0].y):(g=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],g,y,S,k]}function EGn(e,t,n,r){const s=Math.min(o9e(e,t)/2,o9e(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 hge({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=_Gn({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+=EGn(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,g]}function l9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function jGn(e){const{sourceNode:t,targetNode:n}=e;if(!l9e(t)||!l9e(n))return null;const r=t.internals.handleBounds||c9e(t.handles),s=n.internals.handleBounds||c9e(n.handles),a=u9e(r?.source??[],e.sourceHandle),i=u9e(e.connectionMode===ZT.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",ky.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||sr.Bottom,c=i?.position||sr.Top,u=QO(t,a,l),d=QO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function c9e(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 QO(e,t,n=sr.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??n0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case sr.Top:return{x:s+i/2,y:a};case sr.Right:return{x:s+i,y:a+l/2};case sr.Bottom:return{x:s+i/2,y:a+l};case sr.Left:return{x:s,y:a+l/2}}}function u9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function mge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function TGn(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=mge(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 NSt=1e3,NGn=10,pke={nodeOrigin:[0,0],nodeExtent:AM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},IGn={...pke,checkEquality:!0};function hke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function AGn(e,t,n){const r=hke(pke,n);for(const s of e.values())if(s.parentId)gke(s,e,t,r);else{const a=V3(s,r.nodeOrigin),i=YT(s.extent)?s.extent:r.nodeExtent,l=GO(a,i,n0(s));s.internals.positionAbsolute=l}}function RGn(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 mke(e){return e==="manual"}function gge(e,t,n,r={}){const s=hke(IGn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!mke(s.zIndexMode)?NSt: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=V3(d,s.nodeOrigin),h=YT(d.extent)?d.extent:s.nodeExtent,m=GO(p,h,n0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:RGn(d,f),z:ISt(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&&gke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function PGn(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 gke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=hke(pke,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}PGn(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*NGn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!mke(c)?NSt:0,{x:p,y:h,z:m}=$Gn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function ISt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return mke(n)?r:r+(e.selected?t:0)}function $Gn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=n0(e),u=V3(e,n),d=YT(e.extent)?GO(u,e.extent,c):u;let f=GO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=bSt(f,c,t));const p=ISt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function vke(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??QT(l),u=wSt(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=n0(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)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-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:g+(h?f[1]*h-b:0)}})}),s}function MGn(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 g=dke(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=YT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=bSt(k,g,t.get(m.parentId)):S&&(k=GO(k,S,g));const _={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:s9e("source",h.nodeElement,x,f,m.id),target:s9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&gke(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:QT(_,s)}))}}if(p.length>0){const h=vke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function DGn({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 d9e(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 ASt(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}`;d9e("source",c,d,e,s,i),d9e("target",c,u,e,a,l),t.set(r.id,r)}}function RSt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:RSt(n,t):!1}function f9e(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 LGn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!RSt(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 ute({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 FGn({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=H3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function zGn({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,g=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:E=0}){p=Op(k);function j({x:R,y:L}){const{nodeLookup:D,nodeExtent:z,snapGrid:H,snapToGrid:F,nodeOrigin:B,onNodeDrag:V,onSelectionDrag:M,onError:Q,updateNodePositions:q}=t();a={x:R,y:L};let $=!1;const U=l.size>1,Z=U&&z?pge(q3(l)):null,K=U&&F?FGn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};F&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:H3(J,H));let ae=null;if(U&&z&&!ee.extent&&Z){const{positionAbsolute:te}=ee.internals,le=te.x-Z.x+z[0][0],de=te.x+ee.measured.width-Z.x2+z[1][0],oe=te.y-Z.y+z[0][1],ue=te.y+ee.measured.height-Z.y2+z[1][1];ae=[[le,oe],[de,ue]]}const{position:pe,positionAbsolute:Y}=ySt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||z,nodeOrigin:B,onError:Q});$=$||ee.position.x!==pe.x||ee.position.y!==pe.y,ee.position=pe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(q(l,!0),g&&(r||V||!C&&M))){const[ne,ee]=ute({nodeId:C,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),V?.(g,ne,ee),C||M?.(g,ee)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:z}=t();if(!z){c=!1,cancelAnimationFrame(i);return}const[H,F]=xSt(u,d,D);(H!==0||F!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-F/R[2],await L({x:H,y:F})&&j(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:z,transform:H,snapGrid:F,snapToGrid:B,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:Q,unselectNodesAndEdges:q}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||q()),_&&V&&C&&e?.(C);const $=y2(R.sourceEvent,{transform:H,snapGrid:F,snapToGrid:B,containerBounds:d});if(a=$,l=LGn(L,z,$,C),l.size>0&&(n||M||!C&&Q)){const[U,Z]=ute({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,U,Z),M?.(R.sourceEvent,U,Z),C||Q?.(R.sourceEvent,Z)}}const A=K1t().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:z,snapGrid:H,snapToGrid:F}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,g=R.sourceEvent,D===0&&I(R),a=y2(R.sourceEvent,{transform:z,snapGrid:H,snapToGrid:F,containerBounds:d}),u=wg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:z,snapToGrid:H,nodeDragThreshold:F,nodeLookup:B}=t(),V=y2(R.sourceEvent,{transform:D,snapGrid:z,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!B.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=wg(R.sourceEvent,d),Q=M.x-u.x,q=M.y-u.y;Math.sqrt(Q*Q+q*q)>F&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=wg(R.sourceEvent,d),j(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:z,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||z||!C&&H){const[F,B]=ute({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,F,B),z?.(R.sourceEvent,F,B),C||H?.(R.sourceEvent,B)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!f9e(L,`.${x}`,k))&&(!S||f9e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function BGn(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,QT(a))>0&&r.push(a);return r}const UGn=250;function VGn(e,t,n,r){let s=[],a=1/0;const i=BGn(e,n,t+UGn);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}=QO(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 PSt(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,...QO(i,c,c.position,!0)}:c}function $St(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function qGn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const MSt=()=>!0;function HGn(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:g,onConnectEnd:y,isValidConnection:b=MSt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:E=1,handleDomNode:j}){const N=OSt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=$St(a,j),z=l?.getBoundingClientRect();let H=!1;if(!z||!D)return;const F=PSt(s,D,r,c,t);if(!F)return;let B=wg(e,z),V=!1,M=null,Q=!1,q=null;function $(){if(!d||!z)return;const[pe,Y]=xSt(B,z,C);p({x:pe,y:Y}),I=requestAnimationFrame($)}const U={...F,nodeId:s,type:D,position:F.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:QO(Z,U,sr.Left,!0),fromHandle:U,fromPosition:U.position,fromNode:Z,to:B,toHandle:null,toPosition:e9e[U.position],toNode:null,pointer:B};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(pe){if(!H){const{x:ue,y:be}=wg(pe),xe=ue-R,Oe=be-L;if(!(xe*xe+Oe*Oe>E*E))return;ee()}if(!_()||!U){ae(pe);return}const Y=k();B=wg(pe,z),A=VGn(W3(B,Y,!1,[1,1]),n,c,U),V||($(),V=!0);const te=DSt(pe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});q=te.handleDomNode,M=te.connection,Q=qGn(!!A,te.isValid);const le=c.get(s),de=le?QO(le,U,sr.Left,!0):ne.from,oe={...ne,from:de,isValid:Q,to:te.toHandle&&Q?RB({x:te.toHandle.x,y:te.toHandle.y},Y):B,toHandle:te.toHandle,toPosition:Q&&te.toHandle?te.toHandle.position:e9e[U.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:B};S(oe),ne=oe}function ae(pe){if(!("touches"in pe&&pe.touches.length>0)){if(H){(A||q)&&M&&Q&&g?.(M);const{inProgress:Y,...te}=ne,le={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(pe,le),a&&x?.(pe,le)}h(),cancelAnimationFrame(I),V=!1,Q=!1,M=null,q=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function DSt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=MSt,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}=wg(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=$St(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 E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=_&&C&&(n===ZT.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=PSt(S,x,k,d,n,!0)}return b}const vge={onPointerDown:HGn,isValid:DSt};function WGn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=Op(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,E=k[2]*Math.pow(2,C*_);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[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]-g[0],_[1]-g[1]];g=_;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-C[0]*E,y:k[1]-C[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},x=fSt().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:og}}const VH=e=>({x:e.x,y:e.y,zoom:e.k}),dte=({x:e,y:t,zoom:n})=>zH.translate(e,t).scale(n),fj=(e,t)=>e.target.closest(`.${t}`),LSt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),ZGn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,fte=(e,t=0,n=ZGn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},FSt=e=>{const t=e.ctrlKey&&MM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function GGn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(fj(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=og(d),b=FSt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===tO.Vertical?0:d.deltaX*p,m=s===tO.Horizontal?0:d.deltaY*p;!MM()&&d.shiftKey&&s!==tO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=VH(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function QGn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=fj(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function YGn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=VH(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 KGn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&LSt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,VH(a.transform))}}function XGn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&LSt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=VH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function JGn({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"&&(fj(f,`${u}-flow__node`)||fj(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||fj(f,l)&&m||fj(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 g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function eQn({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=fSt().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:GT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(FSt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?px:M8).transform(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:z,panOnDrag:H,panOnScrollMode:F,panOnScrollSpeed:B,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:Q,zoomOnDoubleClick:q,zoomActivationKeyPressed:$,lib:U,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=z&&!$&&!D;f.clickDistance(ee?1/0:!xg(ne)||ne<0?0:ne);const ae=J?GGn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:F,panOnScrollSpeed:B,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):QGn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=YGn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const te=KGn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const le=XGn({zoomPanValues:u,panOnDrag:H,panOnScroll:z,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const pe=JGn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:Q,panOnScroll:z,zoomOnDoubleClick:q,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:U,connectionInProgress:K});f.filter(pe),q?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=dte(A),z=f?.constrain()(D,R,L);return z&&await g(z),new Promise(H=>H(z))}async function S(A,R){const L=dte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=dte(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?dSt(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"?px:M8).scaleTo(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?px:M8).scaleBy(fte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function j(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!xg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var KT;(function(e){e.Line="line",e.Handle="handle"})(KT||(KT={}));function tQn({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 p9e(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 Z0(e,t){return Math.max(0,t-e)}function G0(e,t){return Math.max(0,e-t)}function cF(e,t,n){return Math.max(0,t-e,e-n)}function h9e(e,t){return e?!t:t}function nQn(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:g,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-j:j),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=cF(I,g,y),z=cF(A,b,x);if(i){let B=0,V=0;c&&j<0?B=Z0(S+j+R,i[0][0]):!c&&j>0&&(B=G0(S+I+R,i[1][0])),u&&N<0?V=Z0(k+N+L,i[0][1]):!u&&N>0&&(V=G0(k+A+L,i[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(l){let B=0,V=0;c&&j>0?B=G0(S+j,l[0][0]):!c&&j<0&&(B=Z0(S+I,l[1][0])),u&&N>0?V=G0(k+N,l[0][1]):!u&&N<0&&(V=Z0(k+A,l[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(s){if(d){const B=cF(I/E,b,x)*E;if(D=Math.max(D,B),i){let V=0;!c&&!u||c&&!u&&p?V=G0(k+L+I/E,i[1][1])*E:V=Z0(k+L+(c?j:-j)/E,i[0][1])*E,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=Z0(k+I/E,l[1][1])*E:V=G0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,V)}}if(f){const B=cF(A*E,g,y)/E;if(z=Math.max(z,B),i){let V=0;!c&&!u||u&&!c&&p?V=G0(S+A*E+R,i[1][0])/E:V=Z0(S+(u?N:-N)*E+R,i[0][0])/E,z=Math.max(z,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=Z0(S+A*E,l[1][0])/E:V=G0(S+(u?N:-N)*E,l[0][0])/E,z=Math.max(z,V)}}}N=N+(N<0?z:-z),j=j+(j<0?D:-D),s&&(p?I>A*E?N=(h9e(c,u)?-j:j)/E:j=(h9e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const H=c?S+j:S,F=u?k+N:k;return{width:_+(c?-j:j),height:C+(u?-N:N),x:a[0]*j*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+F}}const zSt={width:0,height:0,x:0,y:0},rQn={...zSt,pointerX:0,pointerY:0,aspectRatio:1};function sQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function aQn(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 iQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:p9e("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:g,shouldResize:y}){let b={...zSt},x={...rQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:p9e(u)};let S,k=null,_=[],C,E,j,N=!1;const I=K1t().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:z,nodeOrigin:H,paneDomNode:F}=n();if(S=R.get(t),!S)return;k=F?.getBoundingClientRect()??null;const{xSnapped:B,ySnapped:V}=y2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:z,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:B,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),E=C&&S.extent==="parent"?sQn(C):void 0),_=[],j=void 0;for(const[M,Q]of R)if(Q.parentId===t&&(_.push({id:M,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const q=aQn(Q,S,Q.origin??H);j?j=[[Math.min(q[0][0],j[0][0]),Math.min(q[0][1],j[0][1])],[Math.max(q[1][0],j[1][0]),Math.max(q[1][1],j[1][1])]]:j=q}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:z}=n(),H=y2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),F=[];if(!S)return;const{x:B,y:V,width:M,height:Q}=b,q={},$=S.origin??z,{width:U,height:Z,x:K,y:ne}=nQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,j),ee=U!==M,J=Z!==Q,ae=K!==B&&ee,pe=ne!==V&&J;if(!ae&&!pe&&!ee&&!J)return;if((ae||pe||$[0]===1||$[1]===1)&&(q.x=ae?K:b.x,q.y=pe?ne:b.y,b.x=q.x,b.y=q.y,_.length>0)){const de=K-B,oe=ne-V;for(const ue of _)ue.position={x:ue.position.x-de+$[0]*(U-M),y:ue.position.y-oe+$[1]*(Z-Q)},F.push(ue)}if((ee||J)&&(q.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?U:b.width,q.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=q.width,b.height=q.height),C&&S.expandParent){const de=$[0]*(q.width??0);q.x&&q.x<de&&(b.x=de,x.x=x.x-(q.x-de));const oe=$[1]*(q.height??0);q.y&&q.y<oe&&(b.y=oe,x.y=x.y-(q.y-oe))}const Y=tQn({width:b.width,prevWidth:M,height:b.height,prevHeight:Q,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:Y};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(q,F))}).on("end",A=>{N&&(g?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const oQn={},m9e=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:()=>{(oQn?"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},lQn=e=>e?m9e(e):m9e,{useDebugValue:cQn}=Fe,{useSyncExternalStoreWithSelector:uQn}=EOn,dQn=e=>e;function BSt(e,t=dQn,n){const r=uQn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return cQn(r),r}const g9e=(e,t)=>{const n=lQn(e),r=(s,a=t)=>BSt(n,s,a);return Object.assign(r,n),r},fQn=(e,t)=>e?g9e(e,t):g9e;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 qH=v.createContext(null),pQn=qH.Provider,USt=ky.error001();function Us(e,t){const n=v.useContext(qH);if(n===null)throw new Error(USt);return BSt(n,e,t)}function To(){const e=v.useContext(qH);if(e===null)throw new Error(USt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const v9e={display:"none"},hQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},VSt="react-flow__node-desc",qSt="react-flow__edge-desc",mQn="react-flow__aria-live",gQn=e=>e.ariaLiveMessage,vQn=e=>e.ariaLabelConfig;function yQn({rfId:e}){const t=Us(gQn);return o.jsx("div",{id:`${mQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:hQn,children:t})}function bQn({rfId:e,disableKeyboardA11y:t}){const n=Us(vQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${VSt}-${e}`,style:v9e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${qSt}-${e}`,style:v9e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(yQn,{rfId:e})]})}const Z3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:ql(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});Z3.displayName="Panel";function xQn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(Z3,{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 wQn=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}},uF=e=>e.id;function SQn(e,t){return io(e.selectedNodes.map(uF),t.selectedNodes.map(uF))&&io(e.selectedEdges.map(uF),t.selectedEdges.map(uF))}function kQn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(wQn,SQn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const OQn=e=>!!e.onSelectionChangeHandlers;function CQn({onSelectionChange:e}){const t=Us(OQn);return e||t?o.jsx(kQn,{onSelectionChange:e}):null}const yge=typeof window<"u"?v.useLayoutEffect:v.useEffect,HSt=[0,0],_Qn={x:0,y:0,zoom:1},EQn=["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"],y9e=[...EQn,"rfId"],jQn=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}),b9e={translateExtent:AM,nodeOrigin:HSt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function TQn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(jQn,io),u=To();yge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=b9e,l()}),[]);const d=v.useRef(b9e);return yge(()=>{for(const f of y9e){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:yGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},y9e.map(f=>e[f])),null}function x9e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function NQn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=x9e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:x9e()?.matches?"dark":"light"}const w9e=typeof document<"u"?document:null;function DM(e=null,t={target:w9e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
338
338
|
`).replace(`
|
|
339
339
|
|
|
340
340
|
`,`
|
|
@@ -718,7 +718,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
|
|
|
718
718
|
}
|
|
719
719
|
]`})]})]})}function kos({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(qe,{children:o.jsx(wf,{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 Oos({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("upload"),[i,l]=v.useState(null),[c,u]=v.useState({current:0,total:0}),[d,f]=v.useState(null),[p,h]=v.useState(!1),{parseFile:m,isParsing:g,error:y}=Yas(),{batchInsertItems:b}=Ni(),x=v.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),S=v.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=v.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&Le.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]),_=v.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,E=()=>{switch(s){case"upload":return o.jsx(Sos,{onFileSelect:x,isParsing:g,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(kos,{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(wos,{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(Xt,{}),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":"",")"]})]})]})]})}},j=()=>{switch(s){case"upload":return o.jsx(ce,{onClick:_,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(ce,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(ce,{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(ce,{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(pr,{children:N[s]}),o.jsx(zs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Rr,{className:"max-h-[50vh] min-h-[200px] overflow-y-auto",children:E()}),o.jsx(lc,{className:"flex justify-end gap-2 px-6 pt-4",children:j()})]})})}const CIe=e=>{const t=We(),{data:n}=jD(e),r=n?.experiments;return vt({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})},Cos=e=>{const t=We(),{data:n}=jD(e),r=n?.experiments;return vt({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 _os(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 $7t({datasetId:e,experimentId:t,featuredItemId:n}){const r=We(),{data:s}=Jx(e),{data:a,isLoading:i}=CIe(e),{data:l,isLoading:c}=Cos(e),u=v.useMemo(()=>t?(a??[]).filter(je=>je.experimentId===t):a,[a,t]),d=v.useMemo(()=>t?(l??[]).filter(je=>je.experimentId===t):l,[l,t]),{updateExperimentResult:f}=Ni(),[p,h]=v.useState(n??null);v.useEffect(()=>{n!==void 0&&h(n)},[n]);const[m,g]=v.useState(null),[y,b]=v.useState(new Set),[x,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(""),[I,A]=v.useState(""),[R,L]=v.useState(""),[D,z]=v.useState([]),[H,F]=v.useState(!1),[B,V]=v.useState(null),M=v.useMemo(()=>B??u??[],[B,u]);v.useEffect(()=>{V(null)},[e,t]),v.useEffect(()=>{u&&B===null&&V(u)},[u,B]);const Q=v.useMemo(()=>{const je=new Set;if(s?.tags)for(const Ee of s.tags)je.add(Ee);for(const Ee of M)for(const Ce of Ee.tags)je.add(Ce);return[...je].sort()},[s,M]),q=v.useCallback(je=>{!s||!e||(s.tags??[]).includes(je)},[s,e]),$=v.useMemo(()=>m?m==="__untagged__"?M.filter(je=>je.tags.length===0):M.filter(je=>je.tags.includes(m)):M,[M,m]),U=v.useMemo(()=>{const je=new Map;for(const Ee of M)for(const Ce of Ee.tags)je.set(Ce,(je.get(Ce)??0)+1);return[...je.entries()].sort((Ee,Ce)=>Ce[1]-Ee[1])},[M]),Z=v.useMemo(()=>M.filter(je=>je.tags.length===0).length,[M]),K=v.useMemo(()=>{let je=0;return m&&je++,x&&je++,je},[m,x]),ne=v.useCallback((je,Ee)=>{V(Ne=>(Ne??[]).map($e=>$e.id===je?{...$e,tags:Ee}:$e));const Ce=M.find(Ne=>Ne.id===je);Ce?.experimentId&&Ce?.datasetId&&f.mutate({datasetId:Ce.datasetId,experimentId:Ce.experimentId,resultId:Ce.id,tags:Ee})},[M,f]),ee=v.useCallback((je,Ee)=>{const Ce=M.find(Ne=>Ne.id===je);Ce?.traceId&&Ee!==void 0&&r.createFeedback({feedback:{traceId:Ce.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:Ee==="positive"?1:-1,experimentId:Ce.experimentId??void 0,sourceId:Ce.id}}).catch(()=>{}),V(Ne=>(Ne??[]).map($e=>$e.id===je?{...$e,rating:Ee}:$e))},[M,r]),J=v.useCallback((je,Ee)=>{const Ce=M.find(Ne=>Ne.id===je);Ce?.experimentId&&Ce?.datasetId&&f.mutate({datasetId:Ce.datasetId,experimentId:Ce.experimentId,resultId:Ce.id,comment:Ee}),Ce?.traceId&&r.createFeedback({feedback:{traceId:Ce.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:Ee,comment:Ee,experimentId:Ce.experimentId??void 0,sourceId:Ce.id}}).catch(()=>{}),V(Ne=>(Ne??[]).map($e=>$e.id===je?{...$e,comment:Ee}:$e))},[M,r,f]),ae=v.useCallback(je=>{const Ee=M.find(Ce=>Ce.id===je);V(Ce=>(Ce??[]).filter(Ne=>Ne.id!==je)),b(Ce=>{const Ne=new Set(Ce);return Ne.delete(je),Ne}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:null})},[M,f,p]),pe=v.useCallback(je=>{const Ee=M.find(Ce=>Ce.id===je);V(Ce=>(Ce??[]).filter(Ne=>Ne.id!==je)),b(Ce=>{const Ne=new Set(Ce);return Ne.delete(je),Ne}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:"complete"})},[M,f,p]),Y=v.useMemo(()=>{const je=x?d??[]:$;return!x||!m?je:m==="__untagged__"?je.filter(Ee=>Ee.tags.length===0):je.filter(Ee=>Ee.tags.includes(m))},[x,d,$,m]),te=x?c:!1,le=v.useMemo(()=>new Set(Y.map(je=>je.id)),[Y]),de=v.useMemo(()=>[...y].filter(je=>le.has(je)).length,[y,le]),oe=Y.length>0&&de===Y.length,ue=de>0&&!oe,be=v.useCallback(je=>{b(Ee=>{const Ce=new Set(Ee);return Ce.has(je)?Ce.delete(je):Ce.add(je),Ce})},[]),xe=v.useCallback(()=>{b(oe?new Set:new Set(Y.map(je=>je.id)))},[oe,Y]),Oe=v.useCallback(je=>{for(const Ee of y){const Ce=M.find(Ne=>Ne.id===Ee);Ce&&!Ce.tags.includes(je)&&ne(Ee,[...Ce.tags,je])}},[M,y,ne]),ke=v.useCallback(je=>{for(const Ee of y){const Ce=M.find(Ne=>Ne.id===Ee);Ce&&Ce.tags.includes(je)&&ne(Ee,Ce.tags.filter(Ne=>Ne!==je))}},[M,y,ne]),Ie=v.useCallback(()=>{for(const je of y)pe(je);b(new Set)},[y,pe]),Me=v.useCallback(()=>{for(const je of y)ae(je);b(new Set)},[y,ae]),fe=v.useCallback(()=>{N(""),E(!0)},[]),re=v.useCallback(async()=>{if(!(!I||!R)){_(!0),E(!1);try{const je=M.filter(Ce=>y.has(Ce.id));if(je.length===0){_(!1);return}const Ee=await r.clusterFailures({modelId:`${I}/${R}`,items:je.map(Ce=>({id:Ce.id,input:Ce.input,output:Ce.output??void 0,error:typeof Ce.error=="string"?Ce.error:Ce.error?String(Ce.error):void 0,scores:Ce.scores,existingTags:Ce.tags.length>0?Ce.tags:void 0})),availableTags:Q.length>0?Q:void 0,prompt:j||void 0});Ee.proposedTags&&Ee.proposedTags.length>0&&(z(Ee.proposedTags.map(Ce=>({...Ce,accepted:!0}))),F(!0))}catch(je){console.error("Analysis failed:",je)}finally{_(!1)}}},[I,R,M,y,r,Q,j]),se=v.useCallback(()=>{for(const je of D){if(!je.accepted)continue;const Ee=M.find(Ce=>Ce.id===je.itemId);if(Ee){const Ce=[...new Set([...Ee.tags,...je.tags])];ne(Ee.id,Ce)}}F(!1)},[D,M,ne]),me=v.useCallback(je=>{h(Ee=>Ee===je?null:je)},[]),we=v.useMemo(()=>p?Y.find(je=>je.id===p)??null:null,[p,Y]),Te=p?Y.findIndex(je=>je.id===p):-1,Re=Te>0?()=>h(Y[Te-1].id):void 0,Qe=Te>=0&&Te<Y.length-1?()=>h(Y[Te+1].id):void 0,Ge="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem";return i?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Xt,{className:"h-6 w-6"})}):o.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[o.jsx(vr,{open:C,onOpenChange:E,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Analyze Items"}),o.jsx(zs,{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(Dt,{className:"mb-1 block text-xs",children:"Provider"}),o.jsx(Zy,{value:I,onValueChange:A})]}),o.jsxs("div",{children:[o.jsx(Dt,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Gy,{llmId:I,value:R,onValueChange:L})]})]}),o.jsxs(ye,{variant:"ui-xs",className:"text-neutral3",children:[y.size," item",y.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Dt,{className:"text-xs",children:"Instructions (optional)"}),o.jsx(Dl,{value:j,onChange:je=>N(je.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"mt-1 text-xs"})]})]}),o.jsxs(lc,{children:[o.jsx(ce,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(ce,{onClick:re,disabled:!I||!R||k,children:[k?o.jsx(Xt,{className:"mr-1 h-4 w-4"}):null,"Analyze"]})]})]})}),o.jsx(vr,{open:H,onOpenChange:F,children:o.jsxs(yr,{className:"max-h-[80vh] max-w-2xl overflow-y-auto",children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Review Proposed Tags"}),o.jsxs(zs,{children:[D.filter(je=>je.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((je,Ee)=>{const Ce=M.find(Ne=>Ne.id===je.itemId);return o.jsx("div",{className:X("p-3 border rounded-lg",!je.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(Bo,{checked:je.accepted,onCheckedChange:Ne=>z($e=>$e.map((Ue,Je)=>Je===Ee?{...Ue,accepted:!!Ne}:Ue))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 block truncate",children:Ce?typeof Ce.input=="string"?Ce.input.slice(0,100):JSON.stringify(Ce.input).slice(0,100):je.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:je.tags.map((Ne,$e)=>o.jsx(y9t,{tag:Ne,onRename:Ue=>z(Je=>Je.map((et,Mt)=>Mt===Ee?{...et,tags:et.tags.map((st,mt)=>mt===$e?Ue:st)}:et)),onRemove:()=>z(Ue=>Ue.map((Je,et)=>et===Ee?{...Je,tags:Je.tags.filter((Mt,st)=>st!==$e)}:Je))},`${Ne}-${$e}`))}),je.reason&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:je.reason})]})]})},je.itemId)})}),o.jsxs(lc,{children:[o.jsx(ce,{variant:"outline",onClick:()=>F(!1),children:"Cancel"}),o.jsxs(ce,{onClick:se,disabled:D.filter(je=>je.accepted).length===0,children:["Accept ",D.filter(je=>je.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",we&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:[o.jsxs("div",{className:"flex w-full flex-wrap items-center justify-between gap-4 gap-x-6",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(ce,{variant:"outline",size:"md",children:[o.jsx(jit,{}),"Filter",K>0&&o.jsx("span",{className:X("ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"),children:K})]})}),o.jsxs(it.Content,{align:"start",className:X("min-w-48"),children:[o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Status",x&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!x,onCheckedChange:()=>{S(!1),h(null)},onSelect:je=>je.preventDefault(),children:"Review Queue"}),o.jsx(it.CheckboxItem,{checked:x,onCheckedChange:()=>{S(!0),h(null)},onSelect:je=>je.preventDefault(),children:"Completed"})]})]}),o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Tags",m&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!m,onCheckedChange:()=>g(null),onSelect:je=>je.preventDefault(),children:"All"}),Z>0&&o.jsx(it.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>g(m==="__untagged__"?null:"__untagged__"),onSelect:je=>je.preventDefault(),children:"Untagged"}),U.length>0&&o.jsx(it.Separator,{}),U.map(([je])=>o.jsx(it.CheckboxItem,{checked:m===je,onCheckedChange:()=>g(m===je?null:je),onSelect:Ee=>Ee.preventDefault(),children:je},je))]})]}),K>0&&o.jsxs(o.Fragment,{children:[o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:()=>{g(null),S(!1),h(null)},children:[o.jsx(bs,{}),"Clear all filters"]})]})]})]}),K>0&&o.jsxs(ce,{variant:"outline",size:"md",onClick:()=>{g(null),S(!1),h(null)},children:[o.jsx(bs,{}),"Reset"]})]}),!x&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(v9t,{selectedCount:y.size,vocabulary:Q,onApplyTag:Oe,onRemoveTag:ke,onNewTag:je=>Oe(je)}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(ce,{disabled:k,children:[k?o.jsx(Xt,{className:"h-4 w-4"}):o.jsx(qe,{size:"sm",children:o.jsx(Na,{})}),"Actions"]})}),o.jsxs(it.Content,{align:"end",children:[o.jsxs(it.Item,{onSelect:Ie,children:[o.jsx(qe,{size:"sm",children:o.jsx(dO,{})}),"Complete"]}),o.jsxs(it.Item,{onSelect:Me,children:[o.jsx(qe,{size:"sm",children:o.jsx(pu,{})}),"Remove"]}),o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:fe,children:[o.jsx(qe,{size:"sm",children:o.jsx(Ng,{})}),"Analyze"]})]})]})]})]}),te?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Xt,{className:"h-6 w-6"})}):Y.length===0?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsxs("div",{className:"px-8 text-center",children:[o.jsx(ye,{variant:"ui-sm",className:"text-neutral3 block",children:x?"No completed reviews yet":"No items to review"}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-2 block",children:x?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})]})}):o.jsxs(ve,{columns:Ge,className:"min-w-0",children:[o.jsxs(ve.Top,{hasLeadingCell:!0,children:[x?o.jsx(ve.TopCell,{children:" "}):o.jsx(ve.TopSelectCell,{checked:oe?!0:ue?"indeterminate":!1,onToggle:()=>xe(),"aria-label":"Select all"}),o.jsxs(ve.TopCells,{colStart:2,children:[o.jsx(ve.TopCell,{children:"Input"}),o.jsx(ve.TopCell,{children:"Comment"}),o.jsx(ve.TopCell,{children:"Tags"}),o.jsx(ve.TopCell,{children:"Rating"}),o.jsx(ve.TopCell,{children:"Scores"})]})]}),Y.map(je=>{const Ee=je.scores?Object.entries(je.scores):[],Ce=p===je.id,Ne=o.jsxs(o.Fragment,{children:[o.jsx(ve.Cell,{height:"compact",className:"text-neutral4 min-w-0",children:o.jsx("span",{className:"block truncate",children:_os(je.input,200)})}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:je.comment?o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 truncate",children:je.comment}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:je.tags.length>0?o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 truncate",children:je.tags.join(", ")}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(ve.Cell,{height:"compact",children:[je.rating==="positive"&&o.jsx(qe,{size:"sm",className:"text-positive1",children:o.jsx(nxe,{})}),je.rating==="negative"&&o.jsx(qe,{size:"sm",className:"text-negative1",children:o.jsx(txe,{})}),!je.rating&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(ve.Cell,{height:"compact",children:Ee.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(qe,{size:"sm",className:"text-neutral3",children:o.jsx(im,{})}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 font-mono",children:Ee[0][1].toFixed(2)}),Ee.length>1&&o.jsxs(cn,{variant:"default",children:["+",Ee.length-1]})]}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(ve.RowWrapper,{children:[x?o.jsx(ve.Cell,{height:"compact",className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":je.error?"Error":"Success",title:je.error?"Error":"Success",className:X("w-2 h-2 rounded-full",je.error?"bg-red-700":"bg-green-600")})}):o.jsx(ve.SelectCell,{checked:y.has(je.id),onToggle:()=>be(je.id),"aria-label":`Select item ${je.id}`}),o.jsx(ve.RowButton,{flushLeft:!0,colStart:2,featured:Ce,onClick:()=>me(je.id),children:Ne})]},je.id)})]})]}),we&&o.jsx(g9t,{item:we,isCompleted:x,tagVocabulary:Q,onRate:je=>ee(we.id,je),onSetTags:je=>{ne(we.id,je);for(const Ee of je)Q.includes(Ee)||q(Ee)},onComment:je=>J(we.id,je),onRemove:()=>ae(we.id),onComplete:x?void 0:()=>pe(we.id),onPrevious:Re,onNext:Qe,onClose:()=>h(null)})]})]})}function Eos({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=yn(),[s,a]=Ri(),{tab:i,activeVersion:l,handleTabChange:c}=kIe(s,a),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),[g,y]=v.useState([]),[b,x]=v.useState(!1),[S,k]=v.useState([]),[_,C]=v.useState(!1),[E,j]=v.useState([]),[N,I]=v.useState(0),[A,R]=v.useState(null),[L,D]=v.useState(""),[z]=S1e(L,300),{data:H}=Jx(e),{data:F=[],total:B,isLoading:V,setEndOfListElement:M,isFetchingNextPage:Q,hasNextPage:q}=I1(e,z||void 0,l),{total:$}=I1(e,void 0,l),[U,Z]=v.useState({}),{data:K,isLoading:ne}=jD(e,void 0,U),{data:ee}=jD(e),{deleteItems:J}=Ni(),ae=K?.experiments??[],pe=ee?.experiments??[],Y=jis({hasSearchQuery:!!z,filteredItemsLength:F.length,unfilteredItemsTotal:$,itemsTotal:B}),{data:te}=CIe(e),le=te?.length??0,de=se=>{R(se)},oe=()=>{R(null)},ue=se=>{y(se),m(!0)},be=se=>{k(se),x(!0)},xe=se=>{x(se),se||(k([]),I(me=>me+1))},Oe=se=>{r(`/datasets/${e}/items?items=${se.join(",")}`)},ke=se=>{r(`/datasets/${e}/versions?ids=${se.join(",")}`)},Ie=se=>{j(se),C(!0)},Me=async()=>{await J.mutateAsync({datasetId:e,itemIds:E}),Le.success(`Deleted ${E.length} items`),C(!1),j([]),I(se=>se+1)},fe=se=>{m(!1),y([]),I(me=>me+1),n?.(se)},re=se=>{m(se),se||(y([]),I(me=>me+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(Dc,{defaultTab:"items",value:i,onValueChange:c,className:"grid h-full grid-rows-[auto_1fr]",children:[o.jsxs(Mc,{children:[o.jsxs(Pr,{value:"items",children:["Items ",o.jsx(Js,{color:"gray",children:Y})]}),o.jsxs(Pr,{value:"experiments",children:["Experiments",o.jsx(Js,{color:"gray",children:ae.length})]}),o.jsxs(Pr,{value:"review",children:["Review",le>0&&o.jsx(Js,{color:"orange",children:le})]})]}),o.jsx(Xr,{value:"items",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(xos,{datasetId:e,items:F,isLoading:V,featuredItemId:A,onItemSelect:de,onItemClose:oe,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ie,onCreateDatasetClick:ue,onAddToDatasetClick:be,onCompareItemsClick:Oe,datasetName:H?.name,clearSelectionTrigger:N,setEndOfListElement:M,isFetchingNextPage:Q,hasNextPage:q,searchQuery:L,activeSearchQuery:z,onSearchChange:D,currentDatasetVersion:H?.version,onCompareVersionsClick:ke})}),o.jsx(Xr,{value:"experiments",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(His,{experiments:ae,allExperiments:pe,isLoading:ne,datasetId:e,filters:U,onFiltersChange:Z})}),o.jsx(Xr,{value:"review",className:"mt-2 overflow-auto pb-0",children:o.jsx($7t,{datasetId:e})})]}),o.jsx(Dis,{datasetId:e,open:u,onOpenChange:d}),o.jsx(Oos,{datasetId:e,open:f,onOpenChange:p}),o.jsx(pis,{open:h,onOpenChange:re,items:g,onSuccess:fe}),o.jsx(his,{open:b,onOpenChange:xe,items:S,currentDatasetId:e}),o.jsx(Rt,{open:_,onOpenChange:C,children:o.jsxs(Rt.Content,{children:[o.jsxs(Rt.Header,{children:[o.jsx(Rt.Title,{children:"Delete Items"}),o.jsxs(Rt.Description,{children:["Are you sure you want to delete ",E.length," item",E.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Rt.Footer,{children:[o.jsx(Rt.Cancel,{children:"Cancel"}),o.jsx(Rt.Action,{onClick:Me,children:J.isPending?"Deleting...":"Delete"})]})]})})]})}function jos(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 Iae({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 Tos({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("{}"),[i,l]=v.useState(""),[c,u]=v.useState(""),[d,f]=v.useState(""),[p,h]=v.useState(""),[m,g]=v.useState(null),{addItem:y}=Ni(),b=async C=>{C.preventDefault();let E;try{E=JSON.parse(s)}catch{Le.error("Input must be valid JSON");return}let j;if(i.trim())try{j=JSON.parse(i)}catch{Le.error("Ground Truth must be valid JSON");return}let N;if(c.trim())try{N=JSON.parse(c)}catch{Le.error("Expected Trajectory must be valid JSON");return}let I;if(d.trim())try{const R=JSON.parse(d);if(!Array.isArray(R)){Le.error("Tool Mocks must be a JSON array");return}I=R}catch{Le.error("Tool Mocks must be valid JSON");return}let A;if(p.trim())try{A=JSON.parse(p)}catch{Le.error("Request Context must be valid JSON");return}try{await y.mutateAsync({datasetId:e,input:E,groundTruth:j,expectedTrajectory:N,toolMocks:I,requestContext:A}),Le.success("Item added successfully"),g(null),a("{}"),l(""),u(""),f(""),h(""),n(!1),r?.()}catch(R){const L=jos(R);L?g(L):Le.error(`Failed to add item: ${R instanceof Error?R.message:"Unknown error"}`)}},x=C=>{a(C),m?.field==="input"&&g(null)},S=C=>{l(C),m?.field==="groundTruth"&&g(null)},k=C=>{f(C),m?.field==="toolMocks"&&g(null)},_=()=>{a("{}"),l(""),u(""),f(""),h(""),g(null),n(!1)};return o.jsx(vr,{open:t,onOpenChange:n,children:o.jsxs(yr,{className:"max-w-lg",children:[o.jsx(br,{children:o.jsx(pr,{children:"Add Item"})}),o.jsx(Rr,{children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Wr,{value:s,onChange:x,showCopyButton:!1,className:"min-h-[120px]"}),m?.field==="input"&&o.jsx(Iae,{field:"input",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Wr,{value:i,onChange:S,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(Iae,{field:"groundTruth",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Wr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Wr,{value:d,onChange:k,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="toolMocks"&&o.jsx(Iae,{field:"toolMocks",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Wr,{value:p,onChange:h,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(ce,{type:"button",onClick:_,children:"Cancel"}),o.jsx(ce,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function Nos({item:e}){return o.jsx(ma,{withMargins:!1,children:o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{size:"smaller",children:[o.jsx(BN,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(Pa,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(ma.Description,{children:[o.jsxs(Oo,{children:[o.jsx(xit,{})," Created ",nr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Oo,{children:[o.jsx(SC,{})," Version v",e.datasetVersion]})]})]})})}function _Ie({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(RNe,{children:[o.jsx(As.CodeSection,{title:"Input",icon:o.jsx(fO,{}),codeStr:t}),o.jsx(As.CodeSection,{title:"Ground Truth",icon:o.jsx(_g,{}),codeStr:n}),s&&o.jsx(As.CodeSection,{title:"Expected Trajectory",icon:o.jsx(Xbe,{}),codeStr:s}),o.jsx(As.CodeSection,{title:"Metadata",icon:o.jsx(qN,{}),codeStr:r})]})}function Ios({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r}){const{data:s,isLoading:a}=lh(),i=v.useMemo(()=>s?Object.entries(s).map(([l,c])=>({value:l,label:c.scorer?.config?.name||l,description:c.scorer?.config?.description||""})):[],[s]);return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Dt,{children:"Scorers (Optional)"}),o.jsx(ic,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const Aos=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function Ros({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Im(),{data:l,isLoading:c}=Qy(),{data:u,isLoading:d}=lh(),f=e==="agent"?Object.entries(a??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="workflow"?Object.entries(l??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="scorer"?Object.entries(u??{}).map(([g,y])=>({value:g,label:y.scorer?.config?.name??g})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=g=>{t(g),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(Dt,{children:"Target Type"}),o.jsx(ic,{options:Aos,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(Dt,{children:m}),o.jsx(ic,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function Pos({requestContextSchema:e,onChange:t}){const n=v.useMemo(()=>{try{return gm(hm(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(Dt,{children:"Request Context"}),o.jsx(R3,{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 $os({datasetId:e,version:t,requestContextSchema:n,open:r,onOpenChange:s,onSuccess:a}){const i=v.useRef(null),[l,c]=v.useState(""),[u,d]=v.useState(""),[f,p]=v.useState([]),[h,m]=v.useState({}),[g,y]=v.useState(""),{triggerExperiment:b}=Ni(),x=!!(n&&Object.keys(n).length>0),S=l&&u,k=b.isPending,_=()=>{c(""),d(""),p([]),m({}),y("")},C=()=>{if(x){const N=Object.entries(h).filter(([,I])=>I!==void 0&&I!=="");return N.length>0?Object.fromEntries(N):void 0}if(g.trim()){let N;try{N=JSON.parse(g)}catch{throw new Error("Request Context must be valid JSON")}if(!N||typeof N!="object"||Array.isArray(N))throw new Error("Request Context must be a JSON object");return N}},E=async()=>{if(!S)return;let N;try{N=C()}catch(I){const A=I instanceof Error?I.message:"Request Context must be valid JSON";au.error(A);return}try{const I=await b.mutateAsync({datasetId:e,targetType:l,targetId:u,scorerIds:f.length>0?f:void 0,version:t,requestContext:N});au.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),_()}catch(I){const A=I instanceof Error?I.message:"Failed to trigger experiment";au.error(A)}},j=()=>{k||(s(!1),_())};return o.jsx(vr,{open:r,onOpenChange:j,children:o.jsxs(yr,{ref:i,children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Experiment"}),o.jsx(zs,{children:t?`Execute items from ${nr(new Date(t),"MMM d, yyyy")} version against a target.`:"Execute all items in this dataset against a target."})]}),o.jsxs(Rr,{className:"grid gap-6",children:[o.jsx(Ros,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(Ios,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),x?o.jsx(Pos,{requestContextSchema:n,onChange:m}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Dt,{children:"Request Context (JSON, optional)"}),o.jsx(Wr,{value:g,onChange:y,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(lc,{className:"px-6 pt-4",children:[o.jsx(ce,{onClick:j,disabled:k,children:"Cancel"}),o.jsx(ce,{variant:"primary",onClick:E,disabled:!S||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Xt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const Mos=e=>{const t=We();return vt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},enabled:!!e})},EIe=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 Aae(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function Dos({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(xn.SectionHeading,{icon:o.jsx(Up,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(En,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(En.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: ",Aae(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>Aae(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:Aae(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${Los(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function Los(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 Fos({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d,onCollapsedChange:f}){const[p,h]=v.useState(!1),m=d??p,g=f??h,y=!!e?.error,b=$z(e?.input),x=$z(e?.output),S=$z(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",_=Array.isArray(e.tags)?e.tags:[];return o.jsxs(xn,{collapsed:m,children:[o.jsxs(xn.Header,{children:[o.jsxs(xn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[f&&o.jsx(ce,{size:"md",tooltip:m?"Expand panel":"Collapse panel",onClick:()=>g(!m),children:m?o.jsx(Oit,{}):o.jsx(kit,{})}),o.jsx(xn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),o.jsxs(ce,{size:"md",onClick:a,disabled:!e.traceId,children:[o.jsx(EIe,{}),"Trace"]}),o.jsx(xn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!m&&o.jsxs(xn.Content,{children:[o.jsxs("div",{className:"mb-6 grid gap-4",children:[o.jsxs(Ut,{children:[o.jsx(Ut.Key,{children:"Item Id"}),o.jsx(Ut.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(Ut.Key,{children:"Created"}),o.jsx(Ut.Value,{children:nr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),y&&o.jsx(En,{variant:"destructive",title:"Error",children:o.jsx(En.Message,{children:$z(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(ve,{columns:"1fr 1fr",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Scorer"}),o.jsx(ve.TopCell,{children:"Score"})]}),t.map(C=>o.jsxs(ve.RowButton,{featured:c===C.id,onClick:()=>l?.(C.id),children:[o.jsx(ve.Cell,{height:"compact",children:C.scorerId}),o.jsx(ve.MonoCell,{children:C.score.toFixed(3)})]},C.id))]}),e.toolMockReport&&o.jsx(Dos,{report:e.toolMockReport}),(e.status||_.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(xn.SectionHeading,{icon:o.jsx(qN,{}),className:"mb-2",children:"Review"}),(e.status||_.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}),_.map(C=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:C},C))]}),k&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(GV,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:i,children:[o.jsx(Sa,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(xn.CodeSection,{title:"Input",icon:o.jsx(BN,{}),codeStr:b}),o.jsx(xn.CodeSection,{title:"Output",icon:o.jsx(_g,{}),codeStr:x}),o.jsx(xn.CodeSection,{title:"Ground Truth",icon:o.jsx(exe,{}),codeStr:S})]})]})]})}function $z(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function zos({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 p=!!(d&&f),h=[p?"auto":"",...s.map(g=>g.size)].filter(Boolean).join(" "),m=s.some(g=>g.name==="input");return t?o.jsx(ll,{columns:h}):o.jsxs(ve,{columns:h,className:"min-w-0",children:[o.jsxs(ve.Top,{hasLeadingCell:p,children:[p&&o.jsx(ve.TopCell,{children:" "}),p?o.jsx(ve.TopCells,{colStart:2,children:s.map(g=>o.jsx(ve.TopCell,{children:g.label},g.name))}):s.map(g=>o.jsx(ve.TopCell,{children:g.label},g.name))]}),e.length===0?o.jsx(ve.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map(g=>{const y=!!g.error,b=g.id===n,x=o.jsxs(o.Fragment,{children:[o.jsx(ve.IdCell,{id:g.itemId}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("div",{className:"relative flex h-full w-10 items-center justify-center bg-transparent",children:o.jsx("div",{role:"img","aria-label":y?"Error":"Success",className:X("w-2 h-2 rounded-full",y?"bg-red-700":"bg-green-600")})})}),o.jsx(Rn,{children:y?"Error":"Success"})]})}),m&&o.jsx(ve.MonoCell,{children:Uos(Bos(g.input),200)}),i?.map(S=>{const _=a?.[g.itemId]?.find(C=>C.scorerId===S);return o.jsx(ve.Cell,{height:"compact",className:"text-neutral3 text-ui-smd font-mono",children:_!=null?_.score.toFixed(3):"-"},S)})]});return p?o.jsxs(ve.RowWrapper,{children:[o.jsx(ve.SelectCell,{checked:d.has(g.id),onToggle:()=>f(g.id),"aria-label":`Select result ${g.itemId}`}),o.jsx(ve.RowButton,{flushLeft:!0,colStart:2,featured:b,onClick:()=>r(g.id),children:x})]},g.id):o.jsx(ve.RowButton,{featured:b,onClick:()=>r(g.id),children:x},g.id)}),o.jsx(ve.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function Bos(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Uos(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function Vos(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function qos({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i}){const[l,c]=v.useState(!1),u=a??l,d=i??c,f=Vos(e),p=f?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(xn,{collapsed:u,children:[o.jsxs(xn.Header,{children:[o.jsxs(xn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[i&&o.jsx(ce,{size:"md",tooltip:u?"Expand panel":"Collapse panel",onClick:()=>d(!u),children:u?o.jsx(Oit,{}):o.jsx(kit,{})}),(n||t)&&o.jsx(xn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&o.jsxs(ce,{size:"md",onClick:s,disabled:!e.traceId,children:[o.jsx(EIe,{}),"Trace"]}),o.jsx(xn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!u&&o.jsx(xn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(xn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(im,{}),codeStr:e.reason||p,simplified:!0}),!f&&o.jsxs(o.Fragment,{children:[o.jsx(xn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(jh,{}),codeStr:e.preprocessPrompt||p,simplified:!0}),o.jsx(xn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(jh,{}),codeStr:e.analyzePrompt||p,simplified:!0}),o.jsx(xn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(jh,{}),codeStr:e.generateScorePrompt||p,simplified:!0}),o.jsx(xn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(jh,{}),codeStr:e.generateReasonPrompt||p,simplified:!0})]})]})})]})}const jXe=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function Hos({scoresByItemId:e,experimentStatus:t}){const n=v.useMemo(()=>{if(!e)return[];const r={};for(const s of Object.values(e))for(const a of s)r[a.scorerId]||(r[a.scorerId]={sum:0,count:0}),r[a.scorerId].sum+=a.score,r[a.scorerId].count++;return Object.entries(r).map(([s,{sum:a,count:i}])=>({scorerId:s,avg:a/i,count:i})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))},[e]);if(n.length===0){const r=t==="running"||t==="pending",s=e!==void 0;let a,i;return r?(a="Experiment in progress",i="Summary metrics will appear here once the experiment completes."):s?(a="No scorers configured",i="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(a="Loading scores",i="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Lr,{iconSlot:o.jsx(im,{className:"text-neutral3 h-8 w-8"}),titleSlot:a,descriptionSlot:i})})}return o.jsxs(vn,{children:[o.jsxs(vn.Header,{columns:jXe,children:[o.jsx(vn.HeaderCol,{children:"Scorer"}),o.jsx(vn.HeaderCol,{children:"Avg Score"}),o.jsx(vn.HeaderCol,{children:"Items Scored"})]}),o.jsx(vn.Scroller,{children:o.jsx(vn.Items,{children:n.map(({scorerId:r,avg:s,count:a})=>o.jsxs(vn.Row,{columns:jXe,children:[o.jsx(vn.TextCell,{children:r}),o.jsx(vn.TextCell,{className:"font-mono",children:s.toFixed(3)}),o.jsx(vn.TextCell,{className:"font-mono",children:a})]},r))})})]})}function M7t({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const[c,u]=v.useState(null),[d,f]=v.useState(null),[p,h]=v.useState(void 0),[m,g]=v.useState(null),[y,b]=v.useState(new Set),[x,S]=v.useState(!1),[k,_]=v.useState(!1),[C,E]=v.useState(!1),[j,N]=v.useState(!1),{updateExperimentResult:I}=Ni(),A=v.useCallback(re=>{b(se=>{const me=new Set(se);return me.has(re)?me.delete(re):me.add(re),me})},[]),R=v.useCallback(()=>b(new Set),[]),L=v.useCallback(()=>{const re=r.filter(se=>!!se.error).map(se=>se.id);b(new Set(re))},[r]),D=v.useCallback(async re=>{if(x||re.length===0)return;S(!0);let se=0;const me=new Set;try{for(const we of re)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:we,status:"needs-review"}),se++,me.add(we)}catch{}}finally{S(!1)}me.size>0&&b(we=>{const Te=new Set(we);for(const Re of me)Te.delete(Re);return Te}),se>0&&Le(`${se} result${se>1?"s":""} flagged for review`)},[t,e,x,I]),z=r.find(re=>re.id===c)??null,[H,F]=v.useState("summary"),[B,V]=v.useState(null),M=re=>{F(re),re!=="reviews"&&V(null)},{data:Q}=CIe(t),q=(Q??[]).filter(re=>re.experimentId===e).length,{data:$}=f9t(e,n),U=v.useMemo(()=>{if(!$)return[];const re=new Set;for(const se of Object.values($))for(const me of se)re.add(me.scorerId);return[...re].sort()},[$]),Z=re=>{u(re),f(null),h(void 0),g(null)},K=re=>{Z(re===c?null:re)},ne=()=>{Z(null)},ee=()=>{if(!z)return;const re=r.findIndex(se=>se.id===z.id);if(re>=0&&re<r.length-1)return()=>Z(r[re+1].id)},J=()=>{if(!z)return;const re=r.findIndex(se=>se.id===z.id);if(re>0)return()=>Z(r[re-1].id)},ae=z?$?.[z.itemId]:void 0,pe=ae?.find(re=>re.id===m)??null,Y=re=>{g(re===m?null:re),f(null),h(void 0)},te=()=>{if(!m||!ae)return;const re=ae.findIndex(se=>se.id===m);if(re>=0&&re<ae.length-1)return()=>g(ae[re+1].id)},le=()=>{if(!m||!ae)return;const re=ae.findIndex(se=>se.id===m);if(re>0)return()=>g(ae[re-1].id)},{data:de,isLoading:oe}=Mos(d),ue=de?.spans,{data:be,isLoading:xe}=IL(d,p),Oe=be?.span,{handlePreviousSpan:ke,handleNextSpan:Ie}=wIe(ue,p??null,h),Me=(()=>{const re=[],se=!!pe,me=!!d;return re.push(k?"auto":se||me?"2fr":"1fr"),se&&re.push(j?"auto":"3fr"),me&&re.push(C?"auto":"3fr"),me&&p&&re.push("3fr"),re.join(" ")})(),fe=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...U.map(re=>({name:re,label:re,size:"12rem"}))],[U]);return o.jsxs(Dc,{defaultTab:"summary",value:H,onValueChange:M,className:"grid h-full grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"summary",children:"Summary"}),o.jsx(Pr,{value:"results",children:"Results"}),o.jsxs(Pr,{value:"reviews",children:["Reviews",q>0&&o.jsx(Js,{color:"orange",children:q})]})]}),o.jsx(Xr,{value:"summary",className:"mt-5 overflow-y-auto",children:o.jsx(Hos,{scoresByItemId:$,experimentStatus:n})}),o.jsx(Xr,{value:"reviews",className:"mt-2 overflow-auto pb-0",children:o.jsx($7t,{datasetId:t,experimentId:e,featuredItemId:B})}),o.jsxs(Xr,{value:"results",className:"mt-2 grid grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs("div",{className:"mb-4",children:[y.size>0&&o.jsxs("div",{className:"bg-surface3 flex items-center gap-2 px-4 py-2",children:[o.jsxs(ye,{variant:"ui-xs",className:"text-neutral5 font-medium",children:[y.size," selected"]}),o.jsx("div",{className:"flex-1"}),o.jsxs(ce,{variant:"outline",size:"sm",disabled:x,onClick:()=>D([...y]),children:[o.jsx(qe,{size:"sm",children:o.jsx(GV,{})}),"Flag for Review"]}),o.jsx(ce,{variant:"ghost",size:"sm",onClick:R,children:"Clear"})]}),r.length>0&&y.size===0&&!s&&o.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:o.jsx(ce,{variant:"ghost",size:"sm",onClick:L,children:"Select loaded failures"})})]}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",z&&"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"flex w-full overflow-y-auto",children:o.jsx("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:o.jsx(zos,{results:r,isLoading:s,featuredResultId:c,onResultClick:K,columns:fe,scoresByItemId:$,scorerIds:U,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:y,onToggleSelect:A})})}),z&&o.jsxs("div",{className:"grid max-h-full min-h-0 content-start gap-4 overflow-auto",style:{gridTemplateRows:Me},children:[o.jsx(Fos,{result:z,scores:ae,onPrevious:J(),onNext:ee(),onClose:ne,onScoreClick:Y,featuredScoreId:m,onShowTrace:()=>{z.traceId&&(f(z.traceId),h(void 0),g(null),_(!0),E(!1))},onOpenInReview:()=>{V(z.id),F("reviews")},onFlagForReview:re=>D([re]),collapsed:k,onCollapsedChange:_}),pe&&o.jsx(qos,{score:pe,onNext:te(),onPrevious:le(),onClose:()=>g(null),onShowTrace:()=>{pe.traceId&&(f(pe.traceId),h(void 0),_(!0),N(!0),E(!1))},collapsed:j,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(pIe,{traceId:d,spans:ue,isLoading:oe,onClose:()=>{f(null),h(void 0),_(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:C,onCollapsedChange:E,LinkComponent:vy,traceHref:`/traces/${d}`}),p&&o.jsx(uIe,{traceId:d,spanId:p,span:Oe,isLoading:xe,onPrevious:ke,onNext:Ie,onClose:()=>h(void 0)})]})]})]})]})]})}const Wos={pending:o.jsx(hT,{}),running:o.jsx($fe,{}),completed:o.jsx(fa,{}),failed:o.jsx(bs,{})};function Zos({experiment:e,className:t}){const n=e.status,r=e.totalItems-e.succeededCount-e.failedCount;return o.jsxs("div",{className:X("grid justify-items-end gap-3",t),children:[o.jsxs("div",{className:"text-ui-lg text-neutral4 bg-surface5 flex items-center gap-2 rounded-lg p-1 px-3 capitalize",children:[o.jsx("span",{className:X("w-5 h-5 flex items-center justify-center rounded-full text-black","[&>svg]:w-4 [&>svg]:h-4",{"bg-green-700":n==="completed","bg-red-700":n==="failed","bg-cyan-600":n==="running","bg-yellow-600":n==="pending"}),children:Wos[n]}),e.status]}),o.jsxs("div",{className:X("flex items-center gap-3 text-neutral3 text-ui-md ","[&>span]:flex [&>span]:gap-1 [&>span]:items-center ","[&_b]:text-neutral4 [&_b]:font-semibold"),children:[o.jsxs("span",{children:["Total: ",o.jsx("b",{children:e.totalItems})]}),o.jsxs("span",{children:["Succeeded: ",o.jsx("b",{children:e.succeededCount})]}),o.jsxs("span",{children:["Failed: ",o.jsx("b",{children:e.failedCount})]}),(n==="pending"||n==="running")&&o.jsxs("span",{children:["Pending: ",o.jsx("b",{children:r})]})]})]})}function Gos({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs(Mr,{spacing:"close",children:[o.jsxs(ce,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx(eH,{})," Prev"]}),o.jsxs(ce,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(m3,{})]})]})}function jIe({delta:e}){const t=e>0?o.jsx(Js,{size:"small",color:"green",intensity:"muted",children:o.jsx(RD,{})}):e<0?o.jsx(Js,{size:"small",color:"red",intensity:"muted",children:o.jsx(Gqt,{})}):null;return o.jsxs("span",{className:X("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 Mz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Qos({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(Yr,{withLeftSeparator:!0,children:[o.jsxs(Yr.Toolbar,{children:[o.jsx(Gos,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx(Mr,{children:o.jsx(ce,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(bs,{})})})]}),o.jsxs(Yr.Content,{className:"pb-6",children:[o.jsx(ma,{withMargins:!1,children:o.jsx(ma.Column,{children:o.jsxs(ma.Title,{size:"smaller",children:[o.jsx(BN,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(RNe,{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,g=u?.scores[h]??null,y=m!=null&&g!=null?g-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):"-"," →"," ",g!=null?g.toFixed(3):"-"]}),y!=null&&o.jsx(jIe,{delta:y})]})]},h)})})]}),o.jsx(As.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Js,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(_g,{}),codeStr:Mz(c?.output)}),o.jsx(As.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(Js,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(_g,{}),codeStr:Mz(u?.output)}),o.jsx(As.CodeSection,{title:"Item Input",icon:o.jsx(fO,{}),codeStr:Mz(e.input)}),o.jsx(As.CodeSection,{title:"Item Ground Truth",icon:o.jsx(exe,{}),codeStr:Mz(e.groundTruth)})]})}):o.jsx(En,{variant:"warning",title:"Comparison not available",children:o.jsx(En.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 Yos({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(Yr,{children:o.jsxs(vn,{children:[o.jsxs(vn.Header,{columns:a,children:[o.jsx(vn.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(vn.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(vn.Scroller,{children:o.jsx(vn.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(vn.Row,{children:o.jsxs(vn.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(vn.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(vn.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(jIe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const Kos={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 TXe({datasetId:e,experiment:t,type:n}){const{Link:r}=yn(),{label:s,color:a,customStyle:i}=Kos[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null,c=J1(t.id)??t.id,u=t.name||c,d=o.jsx(ce,{as:r,href:`/datasets/${e}/experiments/${t.id}`,children:o.jsx("span",{className:"min-w-0 truncate",children:u})});return o.jsxs("div",{className:`border-border1 grid gap-3 rounded-lg border-2 p-5 ${i}`,children:[o.jsxs("div",{className:"flex w-full items-center gap-3 overflow-clip",children:[n==="contender"&&o.jsxs(Js,{size:"small",color:a,children:[s,o.jsx(Sm,{})]}),t.description?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:d}),o.jsx(Rn,{children:t.description})]}):d,n==="baseline"&&o.jsxs(Js,{size:"small",color:a,children:[o.jsx(Ac,{})," ",s]})]}),o.jsxs("div",{className:"text-ui-sm text-neutral3 flex flex-wrap gap-x-4 gap-y-1",children:[t.name&&o.jsxs(Oo,{children:[o.jsx(Rfe,{})," ",c]}),o.jsxs(Oo,{children:[o.jsx(exe,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Oo,{children:[o.jsx(YV,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Oo,{children:[o.jsx(wit,{})," ",nr(l,"MMM d, yyyy HH:mm")]})]})]})}function Xos({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=v.useState(null),{data:i,isLoading:l,error:c}=zas(e,t,n),{data:u}=FV(e,t),{data:d}=FV(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=v.useMemo(()=>{if(!i)return[];const E=new Set;for(const j of i.items)for(const N of Object.values(j.results))if(N)for(const I of Object.keys(N.scores))E.add(I);return[...E].sort()},[i]),h=v.useMemo(()=>{if(!i||p.length===0)return[];const E=i.baselineId,j=t===E?n:t;return p.map(N=>{let I=0,A=0,R=0,L=0;for(const F of i.items){const B=F.results[E]?.scores[N],V=F.results[j]?.scores[N];B!=null&&(I+=B,R++),V!=null&&(A+=V,L++)}const D=R>0?I/R:null,z=L>0?A/L:null,H=D!=null&&z!=null?z-D:null;return{scorerId:N,avgA:D,avgB:z,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"}],g=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(E=>({name:E,label:E,size:"1fr"}))],[p,s]),y=i?.items.find(E=>E.itemId===s)??null,b=E=>{a(E===s?null:E)},x=()=>{a(null)},S=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>=0&&E<i.items.length-1)return()=>a(i.items[E+1].itemId)},k=()=>{if(!i||!s)return;const E=i.items.findIndex(j=>j.itemId===s);if(E>0)return()=>a(i.items[E-1].itemId)};if(l)return o.jsx("div",{className:"flex h-64 items-center justify-center",children:o.jsx(Xt,{})});if(c)return o.jsx(En,{variant:"warning",title:"Error loading comparison",children:o.jsx(En.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:X("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(TXe,{datasetId:e,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(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{onClick:r,children:"VS"})}),o.jsx(Rn,{children:"Switch the order"})]})})}),o.jsx(TXe,{datasetId:e,experiment:d,type:"contender"})]}),f&&o.jsx(En,{variant:"warning",title:"Version mismatch",children:o.jsxs(En.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(vn,{children:[o.jsxs(vn.Header,{columns:m,children:[o.jsx(vn.HeaderCol,{children:"Scorer"}),o.jsx(vn.HeaderCol,{className:"flex justify-center",children:o.jsxs(_Ke,{children:[o.jsx(Js,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(Js,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(vn.HeaderCol,{className:"flex justify-center",children:o.jsxs(_Ke,{children:[o.jsx(Js,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(Js,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(vn.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(vn.Scroller,{children:o.jsx(vn.Items,{children:h.map(({scorerId:E,avgA:j,avgB:N,delta:I})=>o.jsxs(vn.Row,{columns:m,children:[o.jsx(vn.TextCell,{children:E}),o.jsx(vn.TextCell,{className:"text-center font-mono",children:j!=null?j.toFixed(3):"-"}),o.jsx(vn.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(vn.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(jIe,{delta:I}):"-"})]},E))})})]}),o.jsxs(dy,{className:X({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(Yos,{items:i.items,baselineId:_,contenderId:C,scorerIds:p,featuredItemId:s,columns:g,onItemClick:b}),!!y&&o.jsx(Qos,{item:y,baselineId:_,contenderId:C,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:x})]})]})}function Jos({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=SIe(e,t),[l,c]=v.useState(!1),[u,d]=v.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)},g=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Yr,{className:"min-w-56",children:[l?o.jsx(Yr.Toolbar,{className:"grid w-full justify-stretch gap-3",children:o.jsxs(Mr,{children:[o.jsx(ce,{onClick:m,children:"Cancel"}),o.jsx(ce,{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(Yr.Toolbar,{children:o.jsxs(ce,{onClick:g,className:"w-full",children:[o.jsx(Qw,{})," Compare Ver."]})})}),i?o.jsx(els,{}):o.jsxs(vn,{children:[o.jsx(vn.Header,{children:o.jsx(vn.HeaderCol,{children:"Item Version History"})}),o.jsx(vn.Scroller,{children:o.jsx(vn.Items,{children:a?.map(b=>{const x=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(vn.Row,{isSelected:l&&u.has(x),children:[l&&o.jsx(vn.LabelCell,{children:o.jsx(Bo,{checked:u.has(x),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(x)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(vn.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(vn.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function els(){return o.jsxs(vn,{children:[o.jsx(vn.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(vn.HeaderCol,{children:"Item Version History"})}),o.jsx(vn.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(vn.Row,{children:o.jsx(vn.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(vn.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function tls(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${nr(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function nls({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=ZNe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${tls(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Yr.Toolbar,{className:"grid w-full grid-cols-[1fr_1fr_1fr_10rem] gap-4",children:[o.jsx("div",{}),o.jsx(Ec,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(Ec,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const rls=[{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"}],sls={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Zr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(Mit,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(vWt,{}),tooltip:"Same in both versions"}};function Rae({red:e=!1,tooltip:t}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(sHt,{className:X("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(Rn,{children:t})]})}function nk({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}=sls[e];return o.jsxs(Pn,{children:[o.jsx(An,{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(Js,{color:n,size:"small",children:r})]})}),o.jsx(Rn,{children:s})]})}function als(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function ils({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=yn(),l=t>n;return o.jsx(vn,{children:o.jsx(vn.Scroller,{children:o.jsx(vn.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=als(u,d);return o.jsxs(vn.Row,{columns:rls,children:[o.jsx(vn.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(vn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(nk,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(nk,{variant:"changed",version:u.datasetVersion}):o.jsx(nk,{version:u.datasetVersion})}):o.jsx(vn.Cell,{className:"flex items-center justify-center",children:o.jsx(Rae,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(vn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(nk,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(nk,{variant:"changed",version:d.datasetVersion}):o.jsx(nk,{version:d.datasetVersion})}):o.jsx(vn.Cell,{className:"flex items-center justify-center",children:o.jsx(Rae,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(vn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(nk,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(vn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(vn.Cell,{children:o.jsx(Rae,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const NXe={needsReview:"#facc15",complete:"#22c55e"},ols=[{label:"Needs Review",color:NXe.needsReview},{label:"Reviewed",color:NXe.complete}];function lls({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=v.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 g=m.needsReview+m.complete;if(g===0)continue;p+=g,g>f&&(f=g);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(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Ht.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Ht.Loading,{}):s?o.jsx(Ht.Error,{message:"Failed to load review data"}):o.jsx(Ht.Content,{children:c?o.jsx($N,{data:a,segments:ols,maxVal:i,fmt:u=>String(u)}):o.jsx(Ht.NoData,{message:"No items have been sent to review yet"})})]})}function TIe(){const e=We();return vt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function D7t(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 cls(e,t){const n=new Map,r=D7t(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 uls(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 dls=10;function fls(){const[e,t]=v.useState(!1),[n,r]=v.useState(""),[s,a]=v.useState("all"),[i,l]=v.useState("all"),[c,u]=v.useState("all"),[d,f]=v.useState(0),{data:p,isLoading:h,error:m}=qg({page:d,perPage:dls}),{data:g,isLoading:y,error:b}=dQ(),{data:x}=TIe(),S=v.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,_=v.useMemo(()=>g?.experiments??[],[g?.experiments]),C=v.useMemo(()=>sis(S),[S]),E=v.useMemo(()=>cls(x,_),[x,_]),j=h||y,N=m||b,I=()=>t(!0),A=v.useCallback(()=>f(V=>V+1),[]),R=v.useCallback(()=>f(V=>Math.max(0,V-1)),[]),L=v.useCallback(V=>{r(V),f(0)},[]),D=v.useCallback(V=>{a(V),f(0)},[]),z=v.useCallback(V=>{l(V),f(0)},[]),H=v.useCallback(V=>{u(V),f(0)},[]);if(N&&ys(N))return o.jsx(lr,{children:o.jsx(Ws,{})});if(N&&xs(N))return o.jsx(lr,{children:o.jsx(Ms,{resource:"datasets"})});if(N)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load datasets",message:N.message})});if(S.length===0&&!j&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(lr,{children:o.jsx(cis,{onCreateClick:I})}),o.jsx(wbe,{open:e,onOpenChange:t})]});const F=s!=="all"||i!=="all"||c!=="all"||n!=="",B=()=>{r(""),a("all"),l("all"),u("all"),f(0)};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(fis,{search:n,onSearchChange:L,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:z,tagFilter:c,onTagFilterChange:H,tagOptions:C,onReset:B,hasActiveFilters:F,onCreateClick:I})}),o.jsx(lis,{datasets:S,experiments:_,reviewByDataset:E,isLoading:j,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:A,onPrevPage:R}),o.jsx(wbe,{open:e,onOpenChange:t})]})}function Dz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function pls(){const{datasetId:e}=Sr(),t=Hs(),[n,r]=Ri(),{activeVersion:s}=kIe(n,r),[a,i]=v.useState(!1),[l,c]=v.useState(!1),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),{data:g,error:y,isLoading:b}=Jx(e),{data:x=[],isLoading:S}=I1(e,void 0,s),k=!S&&x.length===0;if(b)return null;if(y&&ys(y))return o.jsx(Dz,{children:o.jsx(Ws,{})});if(y&&xs(y))return o.jsx(Dz,{children:o.jsx(Ms,{resource:"datasets"})});if(y&&T_e(y)||!b&&!y&&!g)return o.jsx(Dz,{children:o.jsx(Lr,{iconSlot:o.jsx(fy,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(ce,{as:Fa,to:"/datasets",children:[o.jsx(Ac,{}),"Back to Datasets"]})})});if(y)return o.jsx(Dz,{children:o.jsx(qi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const _=E=>{t(`/datasets/${e}/experiments/${E}`)},C=()=>{t("/datasets")};return o.jsxs(o.Fragment,{children:[o.jsxs(Ft,{height:"full",children:[o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{children:[o.jsxs(Ft.Column,{children:[g?.description&&o.jsx("p",{className:"text-ui-smd text-neutral3 mb-1",children:g.description}),o.jsxs(Ut,{numOfCol:2,children:[o.jsx(Ut.Key,{children:"Created at"}),o.jsx(Ut.Value,{children:g?.createdAt?nr(new Date(g.createdAt),"MMM d, yyyy"):""}),o.jsx(Ut.Key,{children:"Latest version"}),o.jsxs(Ut.Value,{children:["v",g?.version??""]})]})]}),o.jsx(Ft.Column,{children:o.jsxs(Mr,{children:[k?o.jsxs(Pn,{children:[o.jsx(An,{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(ce,{variant:"primary",children:[o.jsx(Ef,{}),s!=null?`Run on v${s}`:"Run Experiment"]})})})}),o.jsx(Rn,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(ce,{variant:"primary",onClick:()=>i(!0),children:[o.jsx(Ef,{}),s!=null?`Run on v${s}`:"Run Experiment"]}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsx(ce,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx($D,{})})}),o.jsxs(it.Content,{align:"end",className:"w-48",children:[o.jsxs(it.Item,{onSelect:()=>d(!0),children:[o.jsx(om,{})," Edit Dataset"]}),o.jsxs(it.Item,{onSelect:()=>m(!0),children:[o.jsx(am,{})," Duplicate Dataset"]}),o.jsxs(it.Item,{onSelect:()=>p(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(pu,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Ft.MainArea,{children:o.jsx(Eos,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx($os,{datasetId:e,version:s??void 0,requestContextSchema:g?.requestContextSchema,open:a,onOpenChange:i,onSuccess:_}),o.jsx(Tos,{datasetId:e,open:l,onOpenChange:c}),g&&o.jsx(yis,{open:u,onOpenChange:d,dataset:{id:g.id,name:g.name,description:g?.description||"",targetType:g.targetType,inputSchema:g.inputSchema,groundTruthSchema:g.groundTruthSchema,requestContextSchema:g.requestContextSchema}}),g&&o.jsx(mis,{open:h,onOpenChange:m,sourceDatasetId:g.id,sourceDatasetName:g.name,sourceDatasetDescription:g.description,sourceDatasetTargetType:g.targetType}),g&&o.jsx(xis,{open:f,onOpenChange:p,datasetId:g.id,datasetName:g.name,onSuccess:C})]})}function L7t({experiment:e}){const{Link:t,paths:n}=yn(),{data:r}=Im(),{data:s}=Qy(),{data:a}=lh(),i=()=>{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"#"}},l=()=>{const u=e.targetId;if(!u)return u;switch(e.targetType){case"agent":return r?.[u]?.name??u;case"workflow":return s?.[u]?.name??u;case"scorer":return a?.[u]?.scorer?.config?.name??u;default:return u}},c=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{children:[o.jsx(Ft.Column,{children:o.jsxs(Ut,{numOfCol:2,children:[e.name&&o.jsxs(o.Fragment,{children:[o.jsx(Ut.Key,{children:"Name"}),o.jsx(Ut.Value,{children:e.name})]}),e.description&&o.jsxs(o.Fragment,{children:[o.jsx(Ut.Key,{children:"Description"}),o.jsx(Ut.Value,{children:e.description})]}),o.jsx(Ut.Key,{children:"Created at"}),o.jsx(Ut.Value,{children:nr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")}),e.completedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Ut.Key,{children:"Completed at"}),o.jsx(Ut.Value,{children:nr(new Date(e.completedAt),"MMM d, yyyy 'at' h:mm a")})]}),o.jsx(Ut.Key,{children:"Target"}),o.jsx(Ut.ValueLink,{href:i(),as:t,children:l()}),e.agentVersion&&o.jsxs(o.Fragment,{children:[o.jsx(Ut.Key,{children:"Version"}),c?o.jsx(Ut.ValueLink,{href:c,as:t,children:e.agentVersion}):o.jsx(Ut.Value,{children:e.agentVersion})]})]})}),o.jsx(Ft.Column,{children:o.jsx(Zos,{experiment:e})})]})})}function Lz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function hls(){const{datasetId:e,experimentId:t}=Sr(),{data:n,isLoading:r,error:s}=FV(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=GG({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&ys(s)?o.jsx(Lz,{children:o.jsx(Ws,{})}):s&&xs(s)?o.jsx(Lz,{children:o.jsx(Ms,{resource:"datasets"})}):s&&T_e(s)||!r&&!s&&!n?o.jsx(Lz,{children:o.jsx(Lr,{iconSlot:o.jsx(Vbe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(ce,{as:Fa,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})}):s?o.jsx(Lz,{children:o.jsx(qi,{title:"Failed to load experiment",message:s instanceof Error?s.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Ft,{height:"full",children:[o.jsx(L7t,{experiment:n}),o.jsx(Ft.MainArea,{children:o.jsx(M7t,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function mls(){const{datasetId:e}=Sr(),[t,n]=Ri(),{error:r}=Jx(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&ys(r)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})})}):r&&xs(r)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"datasets"})})}):!e||!s||!a?o.jsx(ds,{children:o.jsx(jy,{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(ds,{children:o.jsx(jy,{children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[100rem] content-start px-12",children:[o.jsxs(ma,{children:[o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{children:[o.jsx(Qw,{})," Dataset Experiments Comparison"]}),o.jsxs(ma.Description,{children:["Comparing"," ",o.jsx(Fa,{to:`/datasets/${e}/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(Fa,{to:`/datasets/${e}/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(ma.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})]}),o.jsx(Xos,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function gls(){const{datasetId:e,itemId:t}=Sr(),{Link:n}=yn(),r=Hs(),{data:s,isLoading:a,error:i}=SIe(e??"",t??""),{updateItem:l,deleteItem:c}=Ni(),{data:u}=Jx(e??""),d=s?.[0]??null,f=d?.isDeleted??!1,[p,h]=v.useState(null),m=v.useMemo(()=>!d||f?{input:"",groundTruth:"",metadata:"",trajectory:"",toolMocks:"",requestContext:""}:{input:JSON.stringify(d.input,null,2),groundTruth:d.groundTruth?JSON.stringify(d.groundTruth,null,2):"",metadata:d.metadata?JSON.stringify(d.metadata,null,2):"",trajectory:d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):"",toolMocks:d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):"",requestContext:d.requestContext?JSON.stringify(d.requestContext,null,2):""},[d,f]),g=d?.datasetVersion??0,[y,b]=v.useState(!1),[x,S]=v.useState(m.input),[k,_]=v.useState(m.groundTruth),[C,E]=v.useState(m.metadata),[j,N]=v.useState(m.trajectory),[I,A]=v.useState(m.toolMocks),[R,L]=v.useState(m.requestContext),[D,z]=v.useState(g);g!==D&&(z(g),S(m.input),_(m.groundTruth),E(m.metadata),N(m.trajectory),A(m.toolMocks),L(m.requestContext));const[H,F]=v.useState(!1),B=ee=>{h(f?ee:ee.isLatest?null:ee)},V=()=>{h(null)},M=!f&&p!=null,Q=()=>{M||b(!0)},q=()=>{M||F(!0)},$=async()=>{if(!e||!t)return;let ee;try{ee=JSON.parse(x)}catch{Le.error("Input must be valid JSON");return}let J;if(k.trim())try{J=JSON.parse(k)}catch{Le.error("Ground Truth must be valid JSON");return}let ae;if(C.trim())try{ae=JSON.parse(C)}catch{Le.error("Metadata must be valid JSON");return}let pe;const Y=j!==m.trajectory;if(Y&&j.trim())try{pe=JSON.parse(j)}catch{Le.error("Expected Trajectory must be valid JSON");return}let te;const le=I!==m.toolMocks;if(le&&I.trim())try{const ue=JSON.parse(I);if(!Array.isArray(ue)){Le.error("Tool Mocks must be a JSON array");return}te=ue}catch{Le.error("Tool Mocks must be valid JSON");return}let de;const oe=R!==m.requestContext;if(oe&&R.trim())try{de=JSON.parse(R)}catch{Le.error("Request Context must be valid JSON");return}try{await l.mutateAsync({datasetId:e,itemId:t,input:ee,groundTruth:J,metadata:ae,...Y?{expectedTrajectory:pe??null}:{},...le?{toolMocks:te??[]}:{},...oe?{requestContext:de}:{}}),Le.success("Item updated successfully"),b(!1)}catch(ue){Le.error(`Failed to update item: ${ue instanceof Error?ue.message:"Unknown error"}`)}},U=()=>{d&&(S(JSON.stringify(d.input,null,2)),_(d.groundTruth?JSON.stringify(d.groundTruth,null,2):""),E(d.metadata?JSON.stringify(d.metadata,null,2):""),N(d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):""),A(d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):""),L(d.requestContext?JSON.stringify(d.requestContext,null,2):"")),b(!1)},Z=async()=>{if(!(!e||!t))try{await c.mutateAsync({datasetId:e,itemId:t}),Le.success("Item deleted successfully"),F(!1),r(`/datasets/${e}`)}catch(ee){Le.error(`Failed to delete item: ${ee instanceof Error?ee.message:"Unknown error"}`)}},K=p??d,ne=K?{id:t??"",datasetId:e??"",datasetVersion:K.datasetVersion,input:K.input,groundTruth:K.groundTruth,expectedTrajectory:K.expectedTrajectory,metadata:K.metadata,createdAt:K.createdAt,updatedAt:K.updatedAt}:null;return i&&ys(i)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})})}):i&&xs(i)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"datasets"})})}):a?null:!e||!t||!s||s.length===0?o.jsx(ds,{children:o.jsx(jy,{children:o.jsx("div",{className:"text-neutral3 p-4",children:"Item not found"})})}):o.jsxs(o.Fragment,{children:[o.jsx(ds,{children:o.jsx("div",{className:"h-full overflow-hidden px-6 pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[60rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(ma,{children:[o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{children:[o.jsx(BN,{}),t," ",o.jsx(Pa,{content:t})]}),o.jsx(ma.Description,{children:o.jsxs(Oo,{children:["Item of ",o.jsx(fy,{})," ",u?.name]})}),o.jsxs(ma.Description,{children:[o.jsxs(Oo,{children:[o.jsx(xit,{})," Created at"," ",d?.createdAt?nr(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Oo,{children:[o.jsx(SC,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(ma.Column,{children:!y&&!f&&o.jsxs(Mr,{children:[o.jsxs(ce,{onClick:Q,disabled:M,title:M?"Return to latest version to edit":void 0,children:[o.jsx(Mit,{})," Edit"]}),o.jsxs(ce,{onClick:q,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(pu,{})," Delete"]})]})})]}),o.jsxs(dy,{className:y?"grid-cols-1":"grid-cols-[1fr_auto]",children:[o.jsxs(Yr,{withRightSeparator:!y,children:[f&&d&&o.jsx(En,{variant:"destructive",title:"Item deleted",children:o.jsxs(En.Message,{children:["This item was deleted at version v",d.datasetVersion]})}),!f&&M&&p&&o.jsx(En,{variant:"warning",title:"Previous version",action:o.jsxs(En.Button,{onClick:V,children:[o.jsx(mit,{})," Return to the latest version"]}),children:o.jsxs(En.Message,{children:["Viewing version v",p.datasetVersion]})}),y?o.jsx(R7t,{inputValue:x,setInputValue:S,groundTruthValue:k,setGroundTruthValue:_,metadataValue:C,setMetadataValue:E,trajectoryValue:j,setTrajectoryValue:N,toolMocksValue:I,setToolMocksValue:A,requestContextValue:R,setRequestContextValue:L,validationErrors:null,onSave:$,onCancel:U,isSaving:l.isPending}):ne?o.jsx(_Ie,{item:ne,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Yr,{children:o.jsx(Jos,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:B,onCompareVersionsClick:ee=>{r(`/datasets/${e}/items/${t}/versions?ids=${ee.join(",")}`)},activeVersion:p?.datasetVersion??null})})]})]})})}),o.jsx(Rt,{open:H,onOpenChange:F,children:o.jsxs(Rt.Content,{children:[o.jsxs(Rt.Header,{children:[o.jsx(Rt.Title,{children:"Delete Item"}),o.jsx(Rt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Rt.Footer,{children:[o.jsx(Rt.Cancel,{children:"Cancel"}),o.jsx(Rt.Action,{onClick:Z,children:c.isPending?"Deleting...":"Delete"})]})]})})]})}function IXe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function vls(){const{datasetId:e}=Sr(),[t,n]=Ri(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=Jx(e??""),{Link:i}=yn(),[l,c]=v.useState(!1),{data:u}=zV(e??"",r[0]??""),{data:d}=zV(e??"",r[1]??"");return a&&ys(a)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})})}):a&&xs(a)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"datasets"})})}):!e||r.length<2?o.jsx(ds,{children:o.jsx(jy,{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(ds,{children:[o.jsx(Fy,{owner:"dataset-items-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Ac,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":l}),children:[o.jsxs(ma,{children:[o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Items"]}),o.jsx(ma.Description,{children:o.jsxs(Oo,{children:["Comparing ",r.length," items of"," ",o.jsx(Fa,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:s?.name||e?.slice(0,8)})]})})]}),o.jsx(ma.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(qbe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(cWt,{})," Diff View"]})})})})]}),o.jsx(dy,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(v.Fragment,{children:[o.jsx(yls,{datasetId:e,itemId:f,Link:i,idx:p,itemIds:r,showContent:!l,onItemChange:h=>{const m=[...r];m[p]=h,n({items:m.join(",")})}}),p==0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},f))}),l&&u&&d&&o.jsx(GEe,{codeA:IXe(u),codeB:IXe(d)})]})})]})}function yls({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=zV(e,t),{data:u}=I1(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(Yr,{children:[o.jsxs(Yr.Toolbar,{className:"flex gap-4",children:[o.jsxs(oa,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(ca,{"aria-label":"Item",children:o.jsx(la,{placeholder:"Select item"})}),o.jsx(ua,{children:f.map(p=>o.jsx(Ar,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(ce,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(SC,{}),"Versions"]})]}),i&&o.jsx(Yr.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(Nos,{item:l}),o.jsx(_Ie,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function AXe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function bls(){const{datasetId:e,itemId:t}=Sr(),[n,r]=Ri(),[s,a]=v.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Jx(e??""),{Link:u}=yn(),{data:d}=SIe(e??"",t??""),{data:f}=Cbe(e??"",t??"",i[0]??0,l?.version),{data:p}=Cbe(e??"",t??"",i[1]??0,l?.version);return c&&ys(c)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})})}):c&&xs(c)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"datasets"})})}):!e||!t||i.length<2?o.jsx(ds,{children:o.jsx(jy,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})}):o.jsxs(ds,{children:[o.jsx(Fy,{owner:"dataset-item-versions-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Ac,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(ma,{children:[o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{children:[o.jsx(Qw,{}),"Compare Dataset Item Versions"]}),o.jsx(ma.Description,{children:o.jsxs(Oo,{children:["Comparing ",i.length," versions of"," ",o.jsx(Fa,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(ma.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(qbe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(GWt,{})," Diff View"]})})})})]}),o.jsx(dy,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(v.Fragment,{children:[o.jsx(xls,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:g=>{const y=[...i];y[m]=g,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(GEe,{codeA:AXe(f),codeB:AXe(p)})]})})]})}function xls({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}=Cbe(e,t,n,r),p=new Set(a.filter((g,y)=>y!==l)),h=s.map(g=>{const y=typeof g.updatedAt=="string"?new Date(g.updatedAt):g.updatedAt;return{value:String(g.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",g.datasetVersion]})," - ",nr(y,"MMM d, yyyy h:mm a"),g.isLatest?o.jsx(Js,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(g.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Yr,{children:[o.jsxs(Yr.Toolbar,{className:"grid grid-cols-[auto_1fr] gap-4",children:[o.jsx(SC,{className:"h-6 w-6 opacity-50"}),o.jsxs(oa,{name:`compare-version-${l}`,value:String(n),onValueChange:g=>u(Number(g)),children:[o.jsx(ca,{"aria-label":"Version",className:"w-full",children:o.jsx(la,{placeholder:"Select version"})}),o.jsx(ua,{children:h.map(g=>o.jsx(Ar,{value:g.value,disabled:g.disabled,children:g.label},g.value))})]})]}),c&&o.jsx(Yr.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(_Ie,{item:m,Link:i})})]})}function wls(){const{datasetId:e}=Sr(),[t]=Ri(),n=t.get("ids")?.split(",").map(Number).filter(g=>!isNaN(g)&&g>0)??[],r=Hs(),{data:s,error:a}=Jx(e??""),i=I1(e??"",void 0,n[0]??null),l=I1(e??"",void 0,n[1]??null),c=v.useMemo(()=>i.data??[],[i.data]),u=v.useMemo(()=>l.data??[],[l.data]),d=v.useMemo(()=>{const g=new Map;for(const y of[...c,...u])g.has(y.id)||g.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...g.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=v.useMemo(()=>new Map(c.map(g=>[g.id,g])),[c]),p=v.useMemo(()=>new Map(u.map(g=>[g.id,g])),[u]);if(a&&ys(a))return o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})})});if(a&&xs(a))return o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(ds,{children:o.jsx(jy,{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=(g,y,b)=>{r(`/datasets/${e}/items/${g}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(g,y)=>{r(`/datasets/${e}/versions?ids=${g},${y}`,{replace:!0})};return o.jsx(ds,{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(ma,{children:[o.jsxs(ma.Column,{children:[o.jsxs(ma.Title,{children:[o.jsx(LGt,{})," Compare Dataset Versions"]}),o.jsx(ma.Description,{children:o.jsxs(Oo,{children:[o.jsx(SC,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(ma.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})]}),o.jsx(dy,{children:o.jsxs(Yr,{children:[o.jsx(nls,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(ils,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function _be({children:e,className:t}){return o.jsx("div",{className:X("flex flex-wrap gap-8",t),children:e})}function Sls(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 kls({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,g=Sls(n);return o.jsxs(o.Fragment,{children:[o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Scorers"}),i?o.jsx(es.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(f)}),o.jsx(es.NoChange,{message:"Static count"})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Datasets"}),l?o.jsx(es.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(p)}),o.jsx(es.NoChange,{message:"Static count"})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Avg Score"}),u?o.jsx(es.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(r)}),m?o.jsx(es.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(es.NoChange,{})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Total Experiments"}),c?o.jsx(es.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(h)}),g?o.jsx(es.Change,{changePct:g.changePct,prevValue:g.prevValue}):o.jsx(es.NoChange,{})]}):o.jsx(es.NoData,{})]}),o.jsxs(es,{children:[o.jsx(es.Label,{children:"Needs Review"}),d?o.jsx(es.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(es.Value,{children:String(a)}),a>0?o.jsx(es.NoChange,{message:"items pending review"}):o.jsx(es.NoChange,{message:"All caught up"})]}):o.jsx(es.NoData,{})]})]})}const RXe="minmax(9rem,1fr) 1fr auto auto auto auto auto auto auto";function Ols(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const Cls={completed:"success",running:"warning",failed:"error",pending:"neutral"};function _ls({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=yn(),u=v.useMemo(()=>{const p=new Map;return t?.forEach(h=>p.set(h.id,h.name)),p},[t]),d=v.useMemo(()=>[...e].sort((p,h)=>{const m=p.createdAt?new Date(p.createdAt).getTime():0;return(h.createdAt?new Date(h.createdAt).getTime():0)-m}),[e]),f=v.useMemo(()=>{const p=s.toLowerCase();return d.filter(h=>{const m=h.datasetId?u.get(h.datasetId)??"":"",g=!p||h.id.toLowerCase().includes(p)||(h.name??"").toLowerCase().includes(p)||m.toLowerCase().includes(p)||(h.targetId??"").toLowerCase().includes(p),y=a==="all"||h.status===a,b=i==="all"||h.datasetId===i;return g&&y&&b})},[d,s,u,a,i]);return r?o.jsx(ll,{columns:RXe}):o.jsxs(ve,{columns:RXe,variant:"striped",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Experiment"}),o.jsx(ve.TopCell,{children:"Dataset"}),o.jsx(ve.TopCell,{children:"Target"}),o.jsx(ve.TopCell,{children:"Status"}),o.jsx(ve.TopCell,{className:"text-center",children:"Items"}),o.jsx(ve.TopCell,{className:"text-center",children:"Succeeded"}),o.jsx(ve.TopCell,{className:"text-center",children:"Failed"}),o.jsx(ve.TopCell,{className:"text-center",children:"Review"}),o.jsx(ve.TopCell,{children:"Date"})]}),f.map(p=>{const h=p.datasetId?u.get(p.datasetId)??J1(p.datasetId)??p.datasetId:"—",m=p.status??"pending",g=p.succeededCount??0,y=p.failedCount??0,b=p.totalItems??0,x=b>0?Math.round(g/b*100):0;return o.jsxs(ve.RowLink,{to:l.experimentLink(p.id),LinkComponent:c,children:[o.jsx(ve.Cell,{children:o.jsx(A7t,{experiment:p})}),o.jsx(ve.TextCell,{children:h}),o.jsx(ve.Cell,{children:o.jsxs("span",{className:"truncate",children:[p.targetType," ",p.targetId]})}),o.jsx(ve.Cell,{children:o.jsx(kg,{variant:Cls[m]??"neutral",withDot:!0,children:m})}),o.jsx(ve.TextCell,{className:"text-center",children:b}),o.jsx(ve.TextCell,{className:"text-center",children:o.jsxs("span",{className:g>0?"text-accent1":"",children:[g," (",x,"%)"]})}),o.jsx(ve.TextCell,{className:"text-center",children:o.jsx("span",{className:y>0?"text-accent2":"",children:y})}),o.jsx(ve.Cell,{className:"text-center",children:(()=>{const S=n?.get(p.id);if(!S)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=S.needsReview+S.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):S.needsReview>0?o.jsxs(Js,{size:"small",color:"yellow",children:[S.needsReview," pending"]}):o.jsxs(Js,{size:"small",color:"green",children:[S.complete,"/",k," reviewed"]})})()}),o.jsx(ve.TextCell,{children:Ols(p.createdAt)})]},p.id)})]})}const Els=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function jls(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const Fz={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},Tls=[{label:"Completed",color:Fz.completed},{label:"Running",color:Fz.running},{label:"Pending",color:Fz.pending},{label:"Failed",color:Fz.failed}];function Nls({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=v.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(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Ht.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Ht.Loading,{}):r?o.jsx(Ht.Error,{message:"Failed to load experiments data"}):o.jsx(Ht.Content,{children:i?o.jsx($N,{data:s,segments:Tls,maxVal:a,fmt:l=>String(l)}):o.jsx(Ht.NoData,{message:"No experiments have been run yet"})})]})}const Ils=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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.jsx("div",{className:"flex flex-col items-center gap-2",children:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(Sa,{})]})})})});function Als({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx(Lf,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t}),o.jsxs(Mr,{children:[o.jsx(Ec,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...Els],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(Ec,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(ce,{onClick:l,size:"sm",variant:"default",children:[o.jsx(bs,{className:"size-3"})," Reset"]})]})]})}function Rls(){const[e,t]=v.useState("all"),[n,r]=v.useState({}),{data:s,isLoading:a,error:i}=lh(),{data:l,isLoading:c,error:u}=qg(),{data:d,isLoading:f,error:p}=dQ(),{data:h,isLoading:m,isError:g,error:y}=vXr(n),{data:b,isLoading:x,isError:S,error:k}=TIe(),_=l?.datasets,C=d?.experiments,E=v.useMemo(()=>uls(b),[b]),j=i||u||p||y||k;return j&&ys(j)?o.jsx(lr,{children:o.jsx(Ws,{})}):j&&xs(j)?o.jsx(lr,{children:o.jsx(Ms,{resource:"evaluation"})}):j?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load evaluation data",message:j.message})}):o.jsxs(Ft,{width:"wide",height:"full",children:[o.jsx(Ft.TopArea,{children:o.jsx(Ft.Row,{children:o.jsx(Ft.Column,{children:o.jsx(J3,{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(_be,{children:o.jsx(kls,{scorers:s,datasets:_,experiments:C,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:E.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(EKr,{summaryData:h?.summaryData??[],overTimeData:h?.overTimeData??[],scorerNames:h?.scorerNames??[],avgScore:h?.avgScore??null,isLoading:m,isError:g}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(dis,{experiments:C,isLoading:f,isError:!!p}),o.jsx(Nls,{experiments:C,datasets:_,isLoading:f,isError:!!p})]}),o.jsx(lls,{reviewSummary:b,experiments:C,datasets:_,isLoading:x,isError:!!S})]})]})}function Pls(){const[e,t]=v.useState(""),[n,r]=v.useState("all"),[s,a]=v.useState("all"),{data:i,isLoading:l,error:c}=qg(),{data:u,isLoading:d,error:f}=dQ(),{data:p}=TIe(),h=v.useMemo(()=>i?.datasets??[],[i?.datasets]),m=v.useMemo(()=>u?.experiments??[],[u?.experiments]),g=v.useMemo(()=>jls(h),[h]),y=v.useMemo(()=>D7t(p),[p]),b=l||d,x=f||c;if(x&&ys(x))return o.jsx(lr,{children:o.jsx(Ws,{})});if(f&&xs(f))return o.jsx(lr,{children:o.jsx(Ms,{resource:"experiments"})});if(c&&xs(c))return o.jsx(lr,{children:o.jsx(Ms,{resource:"datasets"})});if(x)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load experiments",message:x.message})});if(m.length===0&&!b)return o.jsx(lr,{children:o.jsx(Ils,{})});const S=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(Als,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:g,onReset:k,hasActiveFilters:S})}),o.jsx(_ls,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function zz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function $ls(){const{experimentId:e}=Sr(),{data:t,isLoading:n}=dQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=FV(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=GG({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&ys(l)?o.jsx(zz,{children:o.jsx(Ws,{})}):l&&xs(l)?o.jsx(zz,{children:o.jsx(Ms,{resource:"datasets"})}):l&&T_e(l)||!n&&!s||!i&&!l&&!a?o.jsx(zz,{children:o.jsx(Lr,{iconSlot:o.jsx(Vbe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(ce,{as:Fa,to:"/experiments",children:[o.jsx(Ac,{}),"Back to Experiments"]})})}):l?o.jsx(zz,{children:o.jsx(qi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Ft,{height:"full",children:[o.jsx(L7t,{experiment:a}),o.jsx(Ft.MainArea,{children:o.jsx(M7t,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function Mls({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 F7t({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(Mls,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function Dls({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(F7t,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function Lls({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(Dls,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(F7t,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function Fls({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:g}){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:g,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 PXe=e=>e.authorId?.trim()||"shared",zls=(e,t)=>{if(!t||new Set(e.map(PXe)).size<=1)return null;const r=new Map;for(const a of e){const i=PXe(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},Bls=["*","tool-providers:*","tool-providers:admin"];function Uls(){const{data:e}=Nm();return e?.permissions?.some(t=>Bls.includes(t))??!1}function Vls(){const[e,t]=v.useState(""),[n,r]=v.useState(""),[s,a]=v.useState(""),i=DI(),l=bZ(e||null),c=d$t(e||null,n||null),u=u$t(),d=o$t(),f=Uls(),p=i.data?.providers??[],h=l.data?.data??[],m=v.useMemo(()=>c.data?.items??[],[c.data?.items]),g=v.useMemo(()=>zls(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(Fls,{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(Lls,{providerId:e,toolkit:n,connections:m,groupedByAuthor:g,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:x})]})}function qls({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(tm,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-neutral6 text-xl font-semibold",children:e})]}),t,n,r]})})}function z7t({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=fc(),{mutate:i,isPending:l,error:c}=STr(),{mutate:u,isPending:d,error:f}=OTr(),{mutate:p,isPending:h}=TPt(),[m,g]=v.useState(n),[y,b]=v.useState(""),[x,S]=v.useState(""),[k,_]=v.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,E=C.type==="sso"||C.type==="both",j=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=YG("/")},z=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}})},F=()=>{g(A?"signup":"signin")},B=C.description?o.jsxs("div",{className:"border-border1 bg-surface1 flex items-start gap-2.5 rounded-md border p-3",children:[o.jsx(_f,{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(qls,{title:A?"Sign in to Mastra Studio":"Create your account",description:B,errorBanner:V,children:[j&&o.jsxs("form",{onSubmit:z,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(On,{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(On,{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(On,{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(ce,{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:F,className:"text-neutral6 hover:underline",children:A?"Sign up":"Sign in"})]})]}),E&&j&&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"})})]}),E&&N&&o.jsxs(ce,{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 Hls(){const[e]=Ri(),t=Hs(),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(z7t,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Wls({collapsed:e,children:t}){return o.jsx("section",{className:X("flex flex-col overflow-hidden rounded-xl border border-border1 bg-surface2",e?"h-auto":"h-full"),children:t})}function Zls({onClick:e,tooltip:t="Close panel",className:n}){return o.jsx(ce,{size:"md",onClick:e,"aria-label":"Close Panel",tooltip:t,className:n,children:o.jsx(Qu,{})})}function Gls(){return dI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[he.className,he.propertyName]}]})}function Qls(){const e=It.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=Hg.define([{tag:[he.comment,he.bracket],color:"var(--neutral2)"},{tag:[he.string,he.meta,he.regexp],color:"var(--accent1)"},{tag:[he.atom,he.bool,he.special(he.variableName)],color:"var(--accent6)"},{tag:[he.keyword,he.operator,he.tagName],color:"var(--accent2)"},{tag:[he.function(he.propertyName),he.propertyName],color:"var(--accent5)"},{tag:[he.definition(he.variableName),he.function(he.variableName),he.className,he.attributeName],color:"var(--accent3)"},{tag:[he.variableName,he.number],color:"var(--accent5)"},{tag:[he.name,he.quote],color:"var(--accent1)"}]);return[e,H1(t)]}const Yls=()=>{const e=HC().resolvedTheme==="dark";return v.useMemo(()=>e?Gls():Qls(),[e])};function Kls({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=Yls(),[i,l]=v.useState(!1),c=v.useMemo(()=>{try{const f=JSON.parse(e);return Ebe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
|
|
720
720
|
`):e,d=r||i;return!e||e==="null"?null:o.jsxs("div",{className:X("flex flex-col gap-2",s),children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:X("flex items-center gap-1.5 text-ui-xs tracking-widest text-neutral2 uppercase","[&>svg]:size-3.5"),children:[n,t]}),o.jsxs(Mr,{children:[o.jsx(Pa,{content:e||"No content",size:"sm"}),c&&o.jsx(ce,{size:"sm","aria-label":i?"Show escaped newlines":"Show multiline text",onClick:()=>l(f=>!f),children:i?o.jsx(R$,{}):o.jsx(_7,{})})]})]}),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:[zT(),It.lineWrapping],theme:a,value:e,editable:!1})})]})}function Ebe(e){if(typeof e=="string"){const t=e.indexOf(`
|
|
721
|
-
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Ebe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Ebe(t))}return!1}function Xls({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Jls({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function ecs({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function tcs({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function ncs({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function rcs({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function scs({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const acs=Object.assign(tcs,{Key:ncs,Value:rcs,Header:scs});function ics({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(Xt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function ocs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const zi=Object.assign(Wls,{Header:Jls,Heading:ecs,CloseButton:Zls,LoadingData:ics,NoData:ocs,Content:Xls,KeyValueList:acs,CodeSection:Kls}),cp=zi.KeyValueList;function lcs(e){return e instanceof Date?e:new Date(e)}function ccs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=v.useState(!1),d=i??c,f=l??u,p=lcs(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(zi,{collapsed:d,children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Log ",o.jsx("b",{children:nr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(ce,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(tH,{}):o.jsx(jwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(eH,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(m3,{})})]}),o.jsx(zi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(zi.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:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(E7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Pa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(E7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Pa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(cp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Entity Type"}),o.jsx(cp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Entity Name"}),o.jsx(cp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Service"}),o.jsx(cp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Environment"}),o.jsx(cp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Source"}),o.jsx(cp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([g,y])=>o.jsxs(v.Fragment,{children:[o.jsx(cp.Key,{children:g}),o.jsx(cp.Value,{children:String(y)})]},g))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(zi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function ucs({error:e,resource:t,errorTitle:n}){if(ys(e))return o.jsx(Ws,{});if(xs(e))return o.jsx(Ms,{resource:t});if(_4(e))return o.jsx(Lr,{iconSlot:o.jsx(j7,{}),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(C4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(j7,{}),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 dcs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("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:X("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 fcs={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 pcs({level:e}){const t=fcs[e];return o.jsx(No,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function hcs({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(Vo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(td,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Ud,{className:n,"aria-hidden":!0});default:return null}}function mcs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(No,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(hcs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function gcs({message:e}){return o.jsx(No,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function vcs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(No,{height:"compact",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(xEe,{children:t})}const Ql=Object.assign($4,{Top:_Z,TopCell:c_,TopCellWithTooltip:EZ,TopCellSmart:X$t,RowWrapper:OEe,RowButton:M4,RowLink:K$t,Spacer:CEe,NoMatch:CZ,DateCell:wEe,TimeCell:SEe,LevelCell:pcs,EntityCell:mcs,MessageCell:gcs,DataCell:vcs,NextPageLoading:OZ}),$Xe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",ycs=36,bcs=8;function xcs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=y7t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>ycs,overscan:bcs}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(ll,{columns:$Xe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Ql,{columns:$Xe,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:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Ql.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Ql.DateCell,{timestamp:y.timestamp}),o.jsx(Ql.TimeCell,{timestamp:y.timestamp}),o.jsx(Ql.LevelCell,{level:y.level}),o.jsx(Ql.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Ql.MessageCell,{message:y.message}),o.jsx(Ql.DataCell,{data:y.data})]},b)}),o.jsx(Ql.Spacer,{height:m})]}),o.jsx(Ql.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function wcs({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=>Scs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(oIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(aIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Scs(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 kcs={"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"},Pae="MMM d, yyyy HH:mm",$ae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Ocs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${kcs[e]}`,description:$ae}:t&&n?{title:`No logs between ${nr(t,Pae)} and ${nr(n,Pae)}`,description:$ae}:t?{title:`No logs since ${nr(t,Pae)}`,description:$ae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Ccs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Ocs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(j7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Twe,{})]})})})},_cs=20,Ecs=1e4;function jcs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Tcs(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 Ncs(e){return C4(e.state.error,"logs")||_4(e.state.error)?!1:Ecs}const Ics=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=YC(),s=F1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:_cs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:jcs,select:Tcs,retry:!1,refetchInterval:Ncs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.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}},Bz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},B7t=[{label:"Agent",entityType:Bz.AGENT},{label:"Workflow",entityType:Bz.WORKFLOW},{label:"Scorer",entityType:Bz.SCORER},{label:"Ingest",entityType:Bz.INGEST}],Acs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],qx="rootEntityType",Jb="datePreset",ex="dateFrom",tx="dateTo",Rcs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),Il={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"},AL=Object.keys(Il),NIe=new Set(["tags"]),IIe="mastra:logs:saved-filters";function Pcs(e,t=IIe){const n=Fcs(e),r=e.get(Jb);r&&n.set(Jb,r);const s=e.get(ex);s&&n.set(ex,s);const a=e.get(tx);a&&n.set(tx,a);try{localStorage.setItem(t,n.toString())}catch{}}function $cs(e=IIe){try{localStorage.removeItem(e)}catch{}}function MXe(e=IIe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Mcs(e){if(e.has(Jb)||e.has(ex)||e.has(tx)||e.has(qx))return!0;for(const t of AL)if(e.has(Il[t]))return!0;return!1}function Dcs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:B7t.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:Acs.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 Lcs(e){const t=[],n=new Map([[qx,"rootEntityType"]]);for(const s of AL)n.set(Il[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),NIe.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 Fcs(e){const t=new URLSearchParams,n=e.get(qx);n&&t.set(qx,n);for(const r of AL){const s=Il[r];if(NIe.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 zcs(e,t){e.delete(qx);for(const n of AL)e.delete(Il[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(qx,n.value);continue}const r=Il[n.fieldId];if(r){if(NIe.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 Bcs({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 Ucs(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 Vcs="Filters setting for Logs saved",qcs="Filters setting for Logs cleared up";function Hcs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>MXe(r)!==null),c=v.useCallback(()=>{Pcs(e,r),l(!0);const f=s?.saved??Vcs;f!==!1&&Le.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{$cs(r),l(!1);const f=s?.cleared??qcs;f!==!1&&Le.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,Mcs(e)))return;const f=MXe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Wcs(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 Zcs(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,Wcs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Gcs(e,t,n,r){const s=v.useMemo(()=>Zcs(e),[e]),a=v.useMemo(()=>{const h=new Map;for(const[m,g]of e.entries()){const y=s.get(g);y&&h.set(y,{log:g,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=v.useCallback(h=>s.get(h),[s]),d=v.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 jbe="logId",Tbe="traceId",Nbe="spanId",dP=1440*60*1e3,Qcs={"last-24h":dP,"last-3d":3*dP,"last-7d":7*dP,"last-14d":14*dP,"last-30d":30*dP};function Uz(e){e.delete(jbe),e.delete(Tbe),e.delete(Nbe)}function Ycs(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const _=e.get(Jb);return _&&Rcs.has(_)?_:"last-24h"},[e]),a=e.get(ex),i=e.get(tx),l=v.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 _=Qcs[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(jbe),f=e.get(Tbe),p=e.get(Nbe),h=v.useMemo(()=>B7t.find(_=>_.entityType===e.get(qx)),[e]),m=v.useMemo(()=>Lcs(e),[e]),g=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);for(const[j,N]of Object.entries(_)){const I=j==="logId"?jbe:j==="traceId"?Tbe:Nbe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);return zcs(E,_),Uz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((_,C)=>{if(u.current!=="custom")return;const E=C==="from"?ex:tx;t(j=>{const N=new URLSearchParams(j);return _?N.set(E,_.toISOString()):N.delete(E),Uz(N),N},{replace:!0})},[t]),S=v.useCallback(_=>{u.current=_,t(C=>{const E=new URLSearchParams(C);return _==="last-24h"?(E.delete(Jb),E.delete(ex),E.delete(tx)):_==="custom"?E.set(Jb,"custom"):(E.set(Jb,_),E.delete(ex),E.delete(tx)),Uz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(qx);for(const E of AL)C.delete(Il[E]);return C.delete(Jb),C.delete(ex),C.delete(tx),Uz(C),C},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,S,k,y])}const Eb=zi.KeyValueList;function Kcs({spanId:e,span:t,isLoading:n,onClose:r}){const s=cIe(t?.startedAt,t?.endedAt);return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading span..."}):t?o.jsxs(zi.Content,{children:[o.jsxs(Eb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Type"}),o.jsx(Eb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Started"}),o.jsx(Eb.Value,{children:nr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Ended"}),o.jsx(Eb.Value,{children:nr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Duration"}),o.jsx(Eb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(xhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(whe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(xw,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(xw,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function Xcs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>fIe(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(dIe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(zi.NoData,{children:"No spans found for this trace."}):o.jsx(zi.Content,{children:o.jsx(m7t,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Jcs(){const[e,t]=Ri(),n=Ycs(e,t),r=Hcs(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=bIe(),{data:d=[],isPending:f}=gIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=vIe(),{data:m=[],isPending:g}=yIe(),y=v.useMemo(()=>Dcs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>Bcs({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:E}=Ics({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Gcs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=xIe(n.featuredTraceId??null),{data:z,isLoading:H}=IL(n.featuredTraceId??"",n.featuredSpanId??""),F=v.useCallback(()=>n.applyFilterTokens(Ucs(y,n.filterTokens)),[y,n]),B=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=v.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=v.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),Q=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),q=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=v.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),U=o.jsxs(Ft.TopArea,{children:[o.jsx(Ft.Row,{children:o.jsxs(Ft.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(J3,{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(lIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(wcs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:F,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(ucs,{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(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(Ccs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(dcs,{logCollapsed:i,listSlot:o.jsx(xcs,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(ccs,{log:N,onClose:B,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Xcs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:Q,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Kcs,{spanId:n.featuredSpanId,span:z?.span,isLoading:H,onClose:q}):null})]})}function eus({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=qzt(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Ey(e.name,50);return o.jsxs(ve.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ve.NameCell,{children:f}),o.jsx(ve.DescriptionCell,{children:a}),o.jsx(ve.TextCell,{className:"text-center",children:u||""}),o.jsx(ve.TextCell,{className:"text-center",children:c||""}),o.jsx(ve.TextCell,{className:"text-center",children:d||""})]})}function tus({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(ll,{columns:"auto 1fr auto auto auto"}):o.jsxs(ve,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Name"}),o.jsx(ve.TopCell,{children:"URL"}),o.jsx(ve.TopCellSmart,{long:"Agents",short:o.jsx(Vo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ve.TopCellSmart,{long:"Tools",short:o.jsx(Ud,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ve.TopCellSmart,{long:"Workflows",short:o.jsx(td,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ve.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(eus,{server:s},s.id))]})}const nus=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Sa,{})]})})}),rus=()=>{const{data:e=[],isLoading:t,error:n}=BG(),[r,s]=v.useState("");return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"MCP servers"})}):n?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(lr,{children:o.jsx(nus,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Lf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(tus,{mcpServers:e,isLoading:t,search:r})]})},sus=(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 aus({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>sus(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(ll,{columns:"auto 1fr auto"}):o.jsxs(ve,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Name"}),o.jsx(ve.TopCell,{children:"Description"}),o.jsx(ve.TopCellSmart,{long:"Agents",short:o.jsx(Vo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ve.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Ey(c.id,50),d=Ey(c.description??"",200),f=c.agents.length;return o.jsxs(ve.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ve.NameCell,{children:u}),o.jsx(ve.DescriptionCell,{children:d}),o.jsx(ve.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const ius=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Sa,{})]})})}),ous=()=>{const e=We();return Mn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new NC;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Le.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},lus=({toolId:e})=>{const{canExecute:t}=dl(),n=t("tools"),{data:r={}}=Im(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=wjr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=ous(),{requestContext:p}=Cs();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";Le.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?gm(hm(_x(c?.inputSchema))):ks({});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(MNe,{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(ye,{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(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function cus({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}=$I(),{data:p={},isLoading:h,isError:m,error:g}=Im(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Le.error(`Error loading tools: ${_}`)}},[d,f]),v.useEffect(()=>{if(m){const _=g instanceof Error?g.message:"Failed to load agents";Le.error(`Error loading agents: ${_}`)}},[m,g]);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(ic,{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 uus=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.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(jy,{children:o.jsx(ye,{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(jy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{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(cn,{icon:o.jsx(f7t,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(cn,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{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(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(dus,{server:t})})]})},dus=({server:e})=>{const{data:t={},isLoading:n}=qzt(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(qe,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(y_,{})}),o.jsx(ye,{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(pus,{tool:a,serverId:e.id},s)})})]})};function fus(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 pus=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=g8t[e.toolType||"tool"],i=fus(e._meta);return o.jsxs(zf,{onClick:()=>n.current?.click(),children:[o.jsx(c$t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Uf,{children:[o.jsx(Bf,{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(cn,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(rh,{children:e.description})]})]})},hus=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=BG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(uus,{isLoading:n,server:r})})};function mus(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 gus=({toolId:e,serverId:t})=>{const{canExecute:n}=dl(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=TNe(t,e),{mutateAsync:c,isPending:u,data:d}=bQr(t,e),f=a?mus(a._meta):void 0,{data:p}=vt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Le.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(ye,{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(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=gm(hm(a.inputSchema))}catch(y){console.error("Error processing input schema:",y),Le.error("Failed to process tool input schema."),g=ks({})}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(Vzt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(MNe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},vus=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=TNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(gus,{toolId:t,serverId:e})})},U7t=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],MN="rootEntityType",DN={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"},fQ=Object.keys(DN),AIe="mastra:metrics:saved-filters";function yus(e){const t=kus(e);try{localStorage.setItem(AIe,t.toString())}catch{}}function bus(){try{localStorage.removeItem(AIe)}catch{}}function V7t(){try{const e=localStorage.getItem(AIe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function xus(e){if(e.has(MN))return!0;for(const t of fQ)if(e.has(DN[t]))return!0;return!1}function wus({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:U7t.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 Sus(e){const t=[],n=new Map([[MN,"rootEntityType"]]);for(const s of fQ)n.set(DN[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 kus(e){const t=new URLSearchParams,n=e.getAll(MN);for(const r of n)t.append(MN,r);for(const r of fQ){const s=DN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Ous(e,t){e.delete(MN);for(const n of fQ)e.delete(DN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?MN:DN[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 Cus="Any";function DXe(e){const t=e.trim();return t===""||t===Cus}const _us=new Set(U7t.map(e=>e.entityType));function LXe(e){const t=e.trim();return _us.has(t)?t:void 0}function Eus(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=>!DXe(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?LXe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(DXe(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=LXe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const q7t=[{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"}],jus=new Set(q7t.map(e=>e.value));function Tus(e){return typeof e=="string"&&(jus.has(e)||e==="custom")}const H7t=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function pQ(){return v.useContext(H7t)}function Nus(e,t){return e!=="custom"?q7t.find(n=>n.value===e)?.label??e:t?.from?t.to?`${nr(t.from,"MMM d, yyyy")} – ${nr(t.to,"MMM d, yyyy")}`:nr(t.from,"MMM d, yyyy"):"Custom range"}function Ius({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=v.useMemo(()=>JSON.stringify(n),[n]),d=v.useMemo(()=>n,[u]),f=v.useMemo(()=>Eus(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=Nus(t,a),m=v.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(H7t.Provider,{value:m,children:e})}const Aus=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Rus(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 Pus(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 $us(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=pQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(J3,{preset:Rus(e),onPresetChange:i=>{const l=Pus(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:Aus})}const Ibe=1440*60*1e3,Mus={"24h":Ibe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Dus(e,t,n){if(e!=="custom"){const r=Mus[e]??Ibe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Ibe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=pQ(),s=v.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=v.useMemo(()=>Dus(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function W7t(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function RL({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(ZEn,{})})}function Lus({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(Ejn,{})})}const Fus=[{dataKey:"p50",label:"p50",color:Bp.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Bp.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function zus(e){return e==="agents"||e==="workflows"||e==="tools"}function Mae({data:e,onPointClick:t}){return e.length===0?o.jsx(Ht.NoData,{message:"No latency data yet"}):o.jsx(DV,{data:e,series:Fus,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Bus({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]=v.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),g=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=g.length>0?`${Math.round(g.reduce((b,x)=>b+x,0)/g.length)}ms`:"—";return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Ht.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Ht.Actions,{children:h}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load latency data"}):o.jsx(Ht.Content,{children:m?o.jsxs(Dc,{value:p,onValueChange:b=>{zus(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Pr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Pr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(Mae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(Mae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(Mae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ht.NoData,{message:"No latency data yet"})})]})}function Uus(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 Vus(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 Z7t(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=Uus(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function G7t(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function FXe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(Ew,"branches"),Z7t(a,jw,Tw,Nw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Ux,i),r.status&&a.set(Vx,r.status),$o(a,Nl.entityName,r.entityName??n.entityName),$o(a,Nl.threadId,r.threadId??n.threadId),$o(a,Nl.resourceId,r.resourceId??n.resourceId),$o(a,Nl.entityId,n.entityId),$o(a,Nl.runId,n.runId),$o(a,Nl.sessionId,n.sessionId),$o(a,Nl.requestId,n.requestId),$o(a,Nl.userId,n.userId),$o(a,Nl.organizationId,n.organizationId),$o(a,Nl.experimentId,n.experimentId),$o(a,Nl.serviceName,n.serviceName),$o(a,Nl.environment,n.environment),G7t(a,Nl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function qus({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;Z7t(a,Jb,ex,tx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(qx,i),$o(a,Il.entityName,r.entityName??n.entityName),$o(a,Il.threadId,r.threadId??n.threadId),$o(a,Il.resourceId,r.resourceId??n.resourceId),$o(a,Il.runId,n.runId),$o(a,Il.sessionId,n.sessionId),$o(a,Il.requestId,n.requestId),$o(a,Il.userId,n.userId),$o(a,Il.organizationId,n.organizationId),$o(a,Il.experimentId,n.experimentId),$o(a,Il.serviceName,n.serviceName),$o(a,Il.environment,n.environment),G7t(a,Il.tags,n.tags),r.status==="error"&&a.append(Il.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function eA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=pQ(),a=v.useCallback((c={})=>FXe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>qus({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Vus(u,d);return FXe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const Q7t="1h";async function Dae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:Q7t,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 Hus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Dae(e,"mastra_agent_duration_ms",t),Dae(e,"mastra_workflow_duration_ms",t),Dae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:Q7t}}})}const zXe={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function Wus(){const{data:e,isLoading:t,isError:n}=Hus(),{getTracesHref:r,getBucketTracesHref:s}=eA(),{Link:a}=yn(),i=Hs();return o.jsx(Bus,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:zXe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(RL,{href:r({rootEntityType:zXe[l]}),LinkComponent:a})})}function Zus(e){return e==="threads"||e==="resources"}function Lae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Gus({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=typeof s=="function"?s(i):s;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Ht.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Ht.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Ht.Actions,{children:g}):null]}),m.isLoading?o.jsx(Ht.Loading,{}):m.isError?o.jsx(Ht.Error,{message:"Failed to load memory data"}):o.jsx(Ht.Content,{children:o.jsxs(Dc,{defaultTab:"threads",value:i,onValueChange:y=>{Zus(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"threads",children:"Threads"}),o.jsx(Pr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ve,{columns:"auto auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Lae(y.threadId)}),o.jsx(ve.NumberCell,{children:y.resourceId?Lae(y.resourceId):"—"}),o.jsx(ve.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ve.NumberCell,{children:y.tokens>0?Ml(y.tokens):"—"}),o.jsx(ve.NumberCell,{children:y.cost!=null?rm(y.cost,y.costUnit):"—"})]});return b?o.jsx(ve.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ve.RowStatic,{children:x},y.key)})]}):o.jsx(Ht.NoData,{message:"No thread activity yet"})}),o.jsx(Xr,{value:"resources",children:f?o.jsxs(ve,{columns:"auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Lae(y.resourceId)}),o.jsx(ve.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ve.NumberCell,{children:y.tokens>0?Ml(y.tokens):"—"}),o.jsx(ve.NumberCell,{children:y.cost!=null?rm(y.cost,y.costUnit):"—"})]});return b?o.jsx(ve.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ve.RowStatic,{children:x},y.key)})]}):o.jsx(Ht.NoData,{message:"No resource activity yet"})})]})})]})}const Fae=20;function Qus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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:Fae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Fae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Fae})]),l=new Map,c=d=>JI(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 zae=20;function Yus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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:zae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:zae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:zae})]),l=new Map,c=d=>JI(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 Kus(){const e=Qus(),t=Yus(),{getTracesHref:n}=eA(),{Link:r}=yn();return o.jsx(Gus,{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 PL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(es,{children:[o.jsx(es.Label,{children:e}),o.jsx(es.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(es.Error,{}):s?o.jsx(es.Loading,{}):i?r!=null?o.jsx(es.Change,{changePct:r,prevValue:n}):o.jsx(es.NoChange,{}):o.jsx(es.NoData,{})]})}function Xus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 Jus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 eds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 tds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 nds(){const{data:e,isLoading:t,isError:n}=W7t();return o.jsx(PL,{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 rds(){const{data:e,isLoading:t,isError:n}=eds();return o.jsx(PL,{label:"Total Model Cost",value:e?.cost!=null?rm(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?rm(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function sds(){const{data:e,isLoading:t,isError:n}=tds();return o.jsx(PL,{label:"Total Tokens",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ads(){const{data:e,isLoading:t,isError:n}=Jus();return o.jsx(PL,{label:"Total Threads",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ids(){const{data:e,isLoading:t,isError:n}=Xus();return o.jsx(PL,{label:"Total Resources",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ods({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=>lds(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(oIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(aIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function lds(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 cds({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.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?rm(l):"—":c.size===1?u=l>0?rm(l,[...c][0]):"—":u="Mixed",o.jsx(Ht.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Ht.Actions,{children:s}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load model usage data"}):o.jsx(Ht.Content,{children:i?o.jsxs(ve,{columns:"auto auto auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Model"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ve.NumberCell,{children:l.input}),o.jsx(ve.NumberCell,{children:l.output}),o.jsx(ve.NumberCell,{children:l.cacheRead}),o.jsx(ve.NumberCell,{children:l.cacheWrite}),o.jsx(ve.NumberCell,{highlight:!0,children:l.cost!=null?rm(l.cost,l.costUnit):"—"})]});return c?o.jsx(ve.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ve.RowStatic,{children:u},l.model)})]}):o.jsx(Ht.NoData,{message:"No model usage data yet"})})]})}function uds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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=>JI(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:Ml(f.input),output:Ml(f.output),cacheRead:Ml(f.cacheRead),cacheWrite:Ml(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function dds(){const{data:e,isLoading:t,isError:n}=uds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(cds,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:lu.AGENT}),actions:o.jsx(RL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function fds(e){return e==="tokens"||e==="cost"}function pds({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&g>0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Ht.Summary,{value:rm(g,m),label:"Total cost"}):o.jsx(Ht.Summary,{value:Ml(d),label:"Total tokens"})),u&&s?o.jsx(Ht.Actions,{children:s}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load token usage data"}):o.jsx(Ht.Content,{children:u?o.jsxs(Dc,{defaultTab:"tokens",value:i,onValueChange:b=>{fds(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"tokens",children:"Tokens"}),o.jsx(Pr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx($N,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Bp.blueDark},{label:"Output",color:Bp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:Ml})}),o.jsx(Xr,{value:"cost",children:y?o.jsx($N,{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:Bp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>rm(b,m)}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function hds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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=>JI(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 mds(){const{data:e,isLoading:t,isError:n}=hds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(pds,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:lu.AGENT,entityName:a.name}),actions:o.jsx(RL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Abe(e,t=Ml){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const gds=[{dataKey:"input",label:"Input tokens",color:Bp.blue,aggregate:Abe("input")},{dataKey:"output",label:"Output tokens",color:Bp.yellow,aggregate:Abe("output")}];function vds(e){return e==="tokens"||e==="cost"}function yds({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=v.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),g=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:Bp.purple,aggregate:Abe("cost",k=>rm(k,g))}];return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Ht.Summary,{value:rm(y,g),label:"Total cost"}):o.jsx(Ht.Summary,{value:Ml(d),label:"Total tokens"})),u&&s?o.jsx(Ht.Actions,{children:s}):null]}),n?o.jsx(Ht.Loading,{}):r?o.jsx(Ht.Error,{message:"Failed to load token usage timeline"}):o.jsx(Ht.Content,{children:u?o.jsxs(Dc,{defaultTab:"tokens",value:a,onValueChange:k=>{vds(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"tokens",children:"Tokens"}),o.jsx(Pr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(DV,{data:c,series:gds})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(DV,{data:p,series:S}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function bds(e){return e==="24h"?"1h":"1d"}function xds(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 BXe(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 wds(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function Sds(){const e=We(),{datePreset:t,filters:n,filterKey:r}=$m(),s=bds(t);return vt({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 BXe(l,a.series[0],"input"),BXe(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:xds(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:wds(u)}}),interval:s}}})}function kds(){const{data:e,isLoading:t,isError:n}=Sds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(yds,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(RL,{href:r(),LinkComponent:s})})}function Bae({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx($N,{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:Bp.blueDark},{label:"Errors",color:Bp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:Ml})}function Ods({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.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,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Ht.Summary,{value:Ml(f),label:"Total runs"}),u?o.jsx(Ht.Actions,{children:u}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load trace volume data"}):o.jsx(Ht.Content,{children:d?o.jsxs(Dc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"agents",children:"Agents"}),o.jsx(Pr,{value:"workflows",children:"Workflows"}),o.jsx(Pr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(Bae,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No agent data yet"})}),o.jsx(Xr,{value:"workflows",children:e.workflowData.length>0?o.jsx(Bae,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No workflow data yet"})}),o.jsx(Xr,{value:"tools",children:e.toolData.length>0?o.jsx(Bae,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No tool data yet"})})]}):o.jsx(Ht.NoData,{message:"No trace volume data yet"})})]})}async function Uae(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=JI(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 Cds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Uae(e,"mastra_agent_duration_ms",t),Uae(e,"mastra_workflow_duration_ms",t),Uae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Vz={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function _ds(){const{data:e,isLoading:t,isError:n}=Cds(),{getTracesHref:r,getLogsHref:s}=eA(),{Link:a}=yn();return o.jsx(Ods,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Vz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Vz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(RL,{href:r({rootEntityType:Vz[i]}),LinkComponent:a}),o.jsx(Lus,{href:s({rootEntityType:Vz[i],status:"error"}),LinkComponent:a})]})})}const Vae="period",qz="dateFrom",Hz="dateTo";function Eds(){const[e,t]=Ri(),n=e.get(Vae),r=Tus(n)?n:"24h",s=v.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(qz)),p=d(e.get(Hz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>Sus(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Vae):p.set(Vae,d),d!=="custom"&&(p.delete(qz),p.delete(Hz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(qz,d.from.toISOString()):p.delete(qz),d?.to?p.set(Hz,d.to.toISOString()):p.delete(Hz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Ous(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,xus(e)))return;const d=V7t();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Ius,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(jds,{})})}function jds(){const[e]=Ri(),{error:t,isLoading:n}=W7t(),{filterTokens:r,setFilterTokens:s}=pQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=x7t(),{data:d,isLoading:f}=bIe(),{data:p,isLoading:h}=gIe(),{data:m,isLoading:g}=yIe(),{data:y,isLoading:b}=vIe(),x=v.useMemo(()=>wus({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:g,environments:b}}),[d,p,m,y,f,h,g,b]),[S,k]=v.useState(()=>V7t()!==null),_=v.useCallback(()=>{yus(e),k(!0),Le.success("Filters setting for Metrics saved")},[e]),C=v.useCallback(()=>{bus(),k(!1),Le.success("Filters setting for Metrics cleared up")},[]),E=v.useCallback(()=>{s([])},[s]),j=v.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&&ys(t)?o.jsx(lr,{children:o.jsx(Ws,{})}):t&&xs(t)?o.jsx(lr,{children:o.jsx(Ms,{resource:"metrics"})}):t?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ft,{width:"wide",height:"full",children:[o.jsxs(Ft.TopArea,{children:[o.jsx(Ft.Row,{children:o.jsxs(Ft.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx($us,{}),o.jsx(lIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(ods,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:j,onRemoveAll:E,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(En,{variant:"info",title:"Metrics are not persisted",children:o.jsx(En.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(_be,{children:[o.jsx(nds,{}),o.jsx(rds,{}),o.jsx(sds,{}),o.jsx(ads,{}),o.jsx(ids,{})]}),o.jsxs(_be,{children:[o.jsx(dds,{}),o.jsx(mds,{}),o.jsx(kds,{}),o.jsx(Kus,{}),o.jsx(_ds,{}),o.jsx(Wus,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Sa,{})]})})})]})}const Tds=50;function Nds(){const{paths:e}=yn(),{isCmsAvailable:t}=tS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=y8t({page:s,perPage:Tds}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=v.useCallback(()=>{u||a(g=>g+1)},[u]),h=v.useCallback(()=>{u||a(g=>Math.max(0,g-1))},[u]),m=v.useCallback(g=>{r(g),a(0)},[]);return c&&ys(c)?o.jsx(lr,{children:o.jsx(Ws,{})}):c&&xs(c)?o.jsx(lr,{children:o.jsx(Ms,{resource:"prompt blocks"})}):c?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(lr,{children:o.jsx(CJr,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(ce,{as:Fa,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Zr,{}),"Create Prompt"]})]})}),o.jsx(OJr,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Ids(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx(rYr,{children:o.jsx(tbe,{})})})})}const Ads=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:hWt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:yit,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Sa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:mT,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:_it,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:bit,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Rds(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:Ads.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(Sa,{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 Pds(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&ys(n))return o.jsx(lr,{children:o.jsx(Ws,{})});if(n&&xs(n))return o.jsx(lr,{children:o.jsx(Ms,{resource:"scorers"})});if(n)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(lr,{children:o.jsx(AKr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(PKr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(IKr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function $ds(){const{scorerId:e}=Sr(),[t,n]=Ri(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=lKr(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Qy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=oKr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),_=v.useMemo(()=>c?.agentIds?.filter(V=>d[V]).map(V=>({value:V,label:d[V].name,type:"AGENT"}))||[],[c?.agentIds,d]),C=v.useMemo(()=>c?.workflowIds?.map(V=>({value:V,label:V,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},..._,...C],[_,C]),j=t.get("entity")??"all",N=E.find(V=>V.value===j);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const V=u instanceof Error?u.message:"Failed to load scorer";Le.error(`Error loading scorer: ${V}`)}},[u]),v.useEffect(()=>{if(p){const V=p instanceof Error?p.message:"Failed to load agents";Le.error(`Error loading agents: ${V}`)}},[p]),v.useEffect(()=>{if(m){const V=m instanceof Error?m.message:"Failed to load workflows";Le.error(`Error loading workflows: ${V}`)}},[m]);const I=V=>{V?.value&&n(M=>{const Q=new URLSearchParams(M);return Q.set("entity",V.value),Q})};v.useEffect(()=>{const V=t.get("scoreId")??void 0;if(V===s)return;if(!V){a(void 0);return}g.find(Q=>Q.id===V)&&a(V)},[t,g]);const A=v.useCallback(V=>{a(V||void 0),n(M=>{const Q=new URLSearchParams(M);return V?Q.set("scoreId",V):Q.delete("scoreId"),Q})},[n]);if(!c)return null;const R=ys(u)||ys(p)||ys(m),L=u&&xs(u),D=!R&&!L&&(u||p||m),z=!y&&g.length===0,H=i?.value!=="all",F=c?.scorer?.source==="stored"?o.jsx(Fy,{owner:"scorer-detail",children:o.jsxs(ce,{variant:"default",as:Fa,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(om,{})," Edit"]})}):null;if(R||L||D||z&&!H){const V=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Ft,{width:"wide",height:"full",children:[F,o.jsx(Ft.MainArea,{isCentered:!0,children:R?o.jsx(Ws,{}):L?o.jsx(Ms,{resource:"scorers"}):D?o.jsx(qi,{title:"Failed to load scorer",message:V}):o.jsx(eKr,{})})]})}return o.jsxs(Ft,{width:"wide",children:[F,o.jsx(Ft.TopArea,{children:o.jsx(tKr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(V=>{const M=new URLSearchParams(V);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(JYr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function Mds({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Dt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const Y7t=[{value:"dark",label:"Dark",Icon:ZZt},{value:"light",label:"Light",Icon:aQt},{value:"system",label:"System",Icon:Rit}],Dds=e=>Y7t.some(t=>t.value===e);function Lds({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 Fds=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=sH(),{theme:r,setTheme:s}=HC();return o.jsx(Ft,{width:"narrow",children:o.jsxs(Ft.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Lye,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Mds,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(oa,{value:r,onValueChange:a=>{Dds(a)&&s(a)},children:[o.jsx(ca,{id:"theme",className:"w-full sm:w-48",children:o.jsx(la,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ua,{children:Y7t.map(a=>o.jsx(Ar,{value:a.value,children:o.jsx(Lds,{option:a})},a.value))})]})})}),o.jsx(Lye,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(iMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function zds(){const[e]=Ri(),t=Hs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(z7t,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const K7t=e=>o.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("g",{clipPath:"url(#clip0_21999_22095)",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"})}),o.jsx("defs",{children:o.jsx("clipPath",{id:"clip0_21999_22095",children:o.jsx("rect",{width:"14",height:"14",fill:"currentColor",transform:"translate(0.5 0.75)"})})})]});function Bds(e){return e.replace(/\/$/,"").split("/").pop()}function hQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function Uds({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("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:X("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:X("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:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("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:X("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:X("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(Vo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Ud,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Pit,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(LD,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(y_,{})," ",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:X("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(K7t,{})," ",Bds(a.githubUrl)]})})]},a.slug)})})}function Vds({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:X("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:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(xN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Ec,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Ec,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(bs,{})]})]})}function qds(){const{data:e,isLoading:t}=xer(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.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)},g=()=>{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(ds,{children:[o.jsx(qwe,{children:o.jsxs(Ugt,{children:[o.jsx(qe,{children:o.jsx(ey,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Vds,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(Uds,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Hds="1.56.0";function Wds({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(wf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(VWt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(hQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("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 Zds({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(hQ,{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:X("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($it,{})]}),o.jsx(Ec,{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:X("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(Xt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(TO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(TO,{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(Gzt,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ce,{className:X("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(Xt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Sm,{})]})})]})})}function Gds({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:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("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(ey,{}),o.jsx("h2",{className:X({"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:X("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:X("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(Wx,{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(Zbe,{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(K7t,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(ANe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function Qds(e){switch(e){case"running":return o.jsx(Xt,{});case"success":return o.jsx(Cx,{});case"failed":return o.jsx(Qu,{});default:return null}}function Yds({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3",vs.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",vs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:X("text-ui-md",vs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:X("flex size-[1.75rem] items-center justify-center self-center rounded-full",vs.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:Qds(t.status)})]})}function Kds({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(Yds,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function Xds({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:X("relative flex h-8 items-center justify-end",vs.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-[2rem] translate-x-[50%] items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3",vs.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Xt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",vs.colors),children:[n," of ",t," steps completed"]})]})}function Jds({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=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),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(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(hQ,{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(Xds,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("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(rGt,{}),l||"Something went wrong"]}),u&&o.jsx(Kds,{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(Xt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function efs({name:e,installedEntities:t}){return o.jsxs(hQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx($it,{}),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(ANe,{data:t})]})}function tfs(){const{templateSlug:e}=Sr(),[t,n]=Ri(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,x]=v.useState(""),[S,k]=v.useState(!1),[_,C]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=wer({repoOrSlug:e,owner:"mastra-ai"}),R=Hds?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Ser({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:z,isLoading:H}=ker(),{mutateAsync:F,isPending:B}=Oer(),{mutateAsync:V}=Cer(),{streamInstall:M,streamResult:Q,isStreaming:q}=Eer(z),{observeInstall:$,streamResult:U,isStreaming:Z}=jer(z);v.useEffect(()=>{const te=t.get("runId");te&&!g&&!h&&!q&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(le=>{const de=le.snapshot;if(de?.status==="success"&&de?.result?.success)y(!0);else if(de?.result?.success===!1)if(de?.result?.validationResults&&!de?.result?.validationResults?.valid&&de?.result?.validationResults?.remainingErrors>0){const{remainingErrors:ue,errors:be}=de.result.validationResults,xe=`Template installation completed but ${ue} validation issue${ue>1?"s":""} remain unresolved.`;m(xe),j(be||[])}else{const ue=de?.result?.message||de?.result?.error||"Template installation failed";m(typeof ue=="string"?ue:String(ue))}}).catch(le=>{console.error("❌ Failed to fetch run details:",le),m("Failed to retrieve installation status after reload")}))},[t,g,h,q,Z,V]),v.useEffect(()=>{const te=t.get("runId"),le=t.get("resume"),de=t.get("provider");if(te&&le==="true"&&de&&!q&&!Z&&!S&&!_&&z){x(te),k(!0);try{V({runId:te}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(oe=>{const ue=new URLSearchParams(oe);return ue.delete("resume"),ue})}).catch(oe=>{console.error("❌ Failed to resume template installation:",oe),oe.message?.includes("404")||oe.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(oe){console.error("❌ Auto-resume failed with error:",oe),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,q,Z,S,_,z,V,$,n]);const K=[{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(Ud,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(Vo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(LD,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Fv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(qN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const te=Q||U;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[Q?.phase,Q?.error,U?.phase,U?.error]);const J=te=>{s(te)},ae=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),pe=async()=>{const te=Object.entries(u).reduce((le,[de,oe])=>(oe===""&&le.push(de),le),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const de={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:oe}=await F({});x(oe),n(ue=>{const be=new URLSearchParams(ue);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:de,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){C(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=te=>{const{name:le,value:de}=te.target;de.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(ue=>ue!==le)),d(oe=>({...oe,[le]:de}))};return o.jsx(ds,{children:o.jsx("div",{className:X("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(Gds,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(q||Z)&&o.jsx(Jds,{name:N.title,streamResult:Z?U:Q,runId:b,workflowInfo:z}),g&&o.jsx(efs,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(Wds,{errorMsg:h,validationErrors:E.length>0?E:Q?.validationResults?.errors||U?.validationResults?.errors}),!q&&!Z&&!g&&!h&&o.jsx(Zds,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:pe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:B,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const nfs=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(UXr,{toolId:e,agentId:t})})},rfs=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(lus,{toolId:e})})};function sfs(){const{traceId:e}=Sr(),[t,n]=Ri(),r=Hs(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:x,isLoading:S,error:k}=xIe(e),_=v.useMemo(()=>x?.spans??[],[x?.spans]),C=v.useMemo(()=>_.find(ae=>ae.parentSpanId==null),[_]),{data:E,isLoading:j}=IL(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=lh(),{data:A,isLoading:R}=p8t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:z,isLoading:H}=j7t({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(pe=>pe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const F=v.useCallback(ae=>{const pe=new URLSearchParams(t);for(const[Y,te]of Object.entries(ae))te===null||te===""?pe.delete(Y):pe.set(Y,te);n(pe,{replace:!0})},[t,n]),B=v.useCallback(ae=>{const pe=ae??null,Y=pe===c;u(pe),Y||(f(void 0),h("details"),F({spanId:pe,tab:null,scoreId:null}))},[c,F]),V=v.useCallback(()=>{u(null),f(void 0),h("details"),F({spanId:null,tab:null,scoreId:null})},[F]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),F({spanId:ae,tab:null,scoreId:null})},[F]),{handlePreviousSpan:Q,handleNextSpan:q}=wIe(_,c,M),$=v.useCallback(ae=>{const pe=ae;h(pe),f(void 0),F({tab:pe==="details"?null:pe,scoreId:null})},[F]),U=v.useCallback(ae=>{f(ae),F({scoreId:ae.id})},[F]),Z=v.useCallback(()=>{f(void 0),F({scoreId:null})},[F]),K=v.useCallback(()=>{r("/observability")},[r]),ne=v.useCallback(()=>{h("scoring"),C&&c!==C.spanId?(u(C.spanId),f(void 0),F({spanId:C.spanId,tab:"scoring",scoreId:null})):F({tab:"scoring"})},[C,c,F]),ee=C?o.jsx(Fy,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(MHt,{}),"Evaluate"]}),o.jsxs(ce,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Ad,{}),"Save"]})]})}):null,J=C?o.jsx(Ft.Row,{children:o.jsx(Ft.Column,{children:o.jsx(d7t,{rootSpan:C,numOfCol:3})})}):null;return k?o.jsxs(Ft,{height:"full",children:[ee,J&&o.jsx(Ft.TopArea,{children:J}),o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(g7t,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Ft,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ee,J&&o.jsx(Ft.TopArea,{children:J}),o.jsx(k7t,{rootSpanId:C?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(pIe,{traceId:e,spans:_,isLoading:S,onClose:K,onSpanSelect:B,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(uIe,{traceId:e,spanId:c,span:E?.span,isLoading:j,onClose:V,onPrevious:Q,onNext:q,activeTab:p,onTabChange:$,feedbackTabBadge:z?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(C7t,{feedbackData:z,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:pe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(E7t,{traceId:pe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===lu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===lu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(_7t,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:U})]})}),d&&o.jsx(INe,{score:d,onClose:Z})]})]})]})}function afs(){const{data:e,isLoading:t,error:n}=Qy(),[r,s]=v.useState("");return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"workflows"})}):n?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(lr,{children:o.jsx(S9r,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ce,{as:Fa,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(PD,{}),"Schedules"]})]})}),o.jsx(w9r,{workflows:e||{},isLoading:t,search:r})]})}const ifs={active:"bg-accent1",paused:"bg-accent3"},ofs={active:"text-accent1",paused:"text-accent3"},X7t=({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 ${ifs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${ofs[e]}`,children:e})]}),uT=e=>!e||e<=0?"—":new Date(e).toLocaleString(),F2=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 J7t({status:e}){const{icon:t,color:n}=lfs(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 lfs(e){switch(e){case"success":return{icon:o.jsx(fa,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(bs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Xt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(ZV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Rf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(hT,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const UXe="auto auto auto auto 1fr";function cfs(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 ufs(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 dfs=3e4,ffs=5*6e4;function pfs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(ll,{columns:UXe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ve,{columns:UXe,className:"min-w-0",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Run"}),o.jsx(ve.TopCell,{children:"Status"}),o.jsx(ve.TopCell,{children:"Started"}),o.jsx(ve.TopCell,{children:"Duration"}),o.jsx(ve.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=ufs(u),f=`Scheduled ${uT(c.scheduledFireAt)} — published ${uT(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>dfs&&m<=ffs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ve.Cell,{height:"compact",children:x}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(wf,{size:14}),"publish failed"]}):c.run?o.jsx(J7t,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(wf,{size:14})})}),o.jsx(Rn,{children:h})]}):null]})}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:F2(c.actualFireAt)}),g?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(wf,{size:14})})}),o.jsxs(Rn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ve.Cell,{height:"compact",children:c.run?o.jsx("span",{children:cfs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ve.Cell,{height:"compact",children:" "})]});return b?o.jsx(ve.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ve.RowStatic,{children:S},y)}),o.jsx(ve.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const hfs=e=>{const t=We();return vt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},VXe=25,mfs=e=>{const t=We(),{inView:n,setRef:r}=YC(),s=F1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:VXe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<VXe))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 v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},gfs=e=>{const t=We(),n=Ur();return Mn({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"]}),Le.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Le.error(r.message)}})};function Wz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function vfs(){const{scheduleId:e}=Sr(),{paths:t}=yn(),{data:n,error:r}=hfs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=mfs(e),d=gfs(e);if(r&&ys(r))return o.jsx(lr,{children:o.jsx(Ws,{})});if(r&&xs(r))return o.jsx(lr,{children:o.jsx(Ms,{resource:"schedules"})});if(r)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(Ft.Row,{className:"justify-end",children:o.jsxs(Ft.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ce,{as:Fa,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ac,{}),"Back to schedules"]}),f?o.jsx(ce,{as:Fa,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ce,{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(Ybe,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Ef,{}),"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(Wz,{label:p?"Agent":"Workflow",children:f?o.jsx(Fa,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Fa,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Wz,{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(Wz,{label:"Status",children:o.jsx(X7t,{status:n.status})}),o.jsx(Wz,{label:"Next fire",children:o.jsx("span",{title:uT(n.nextFireAt),children:F2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(qi,{title:"Failed to load trigger history",message:i.message}):o.jsx(pfs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const qXe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function yfs({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=yn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(ll,{columns:qXe}):o.jsxs(ve,{columns:qXe,variant:"striped",className:"min-w-0",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Target"}),o.jsx(ve.TopCell,{children:"Schedule ID"}),o.jsx(ve.TopCell,{children:"Cron"}),o.jsx(ve.TopCell,{children:"Status"}),o.jsx(ve.TopCell,{children:"Next fire"}),o.jsx(ve.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ve.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ve.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ve.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ve.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx(X7t,{status:i.status})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:uT(i.nextFireAt),children:F2(i.nextFireAt)})}),o.jsx(ve.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(J7t,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:uT(i.lastFireAt),children:i.lastFireAt?F2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:uT(i.lastFireAt),children:F2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function bfs({workflowId:e}={}){const{data:t,isLoading:n,error:r}=Uwe(e?{workflowId:e}:{}),[s,a]=v.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(Lf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(yfs,{schedules:t??[],isLoading:n,search:s})})]})}function xfs(){const[e]=Ri(),t=e.get("workflowId")??void 0,{error:n}=Uwe(t?{workflowId:t}:{});return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"schedules"})}):o.jsx(Ft,{children:o.jsx("div",{className:"h-full",children:o.jsx(bfs,{workflowId:t})})})}function wfs({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=xke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=xkt(r),[d]=wkt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=GDt({edges:d,workflowName:n,stepGraph:e});return v.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(bkt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(ije,{position:"bottom-left"}),o.jsx(kkt,{variant:oy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Xt,{})})})}function Sfs(){const{stepDetail:e,closeStepDetail:t}=JH();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(v9,{className:"h-4 w-4",style:{color:Iu.map}}),e.type==="nested-graph"&&o.jsx(td,{className:"h-4 w-4",style:{color:Iu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{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(ye,{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(bs,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(D2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(bke,{children:o.jsx(wfs,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function kfs(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Ofs(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 Cfs({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(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(qe,{children:o.jsx(ZV,{})}),"Step suspended"]}),o.jsx(cn,{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(hm(_x(i.resumeSchema))):gp(ur(),RT());return o.jsx(_fs,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function _fs({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(QZt,{})}),"The step is asking"]}),o.jsxs(Af,{open:a,onOpenChange:i,children:[o.jsxs(Fd,{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(qe,{children:o.jsx(pa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Ofs(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:kfs(e.suspendPayload)})]}),o.jsx(zd,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Wr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(XZt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(MB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Ef,{}),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 Efs(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Vl),{runId:a}=Sr(),i=Nkt(e,r??""),l=MKn(),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(Cfs,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const jfs=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"})]}),Tfs=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"})]}),Nfs=e=>e.includes("."),Ifs=e=>e==="input"||e.endsWith(".input"),Afs=1;function Rfs(e){return`${Number((e/1e3).toPrecision(3))}s`}function Pfs(e,t){const n=Object.entries(e).filter(([i])=>!Ifs(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,Afs);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Nfs(i)}})}const $fs=({status:e})=>o.jsxs(qe,{children:[e==="success"&&o.jsx(jfs,{className:"text-accent1"}),e==="failed"&&o.jsx(Tfs,{className:"text-accent2"}),e==="suspended"&&o.jsx(ZV,{className:"text-accent3"}),e==="waiting"&&o.jsx(Pfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Pfe,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),Mfs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function eBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const HXe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Dfs=e=>{const t=e;return FDt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Lfs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Dfs(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:X("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($fs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(JGt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(xV,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{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:eBt(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 ${Mfs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(KGt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Rfs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Ffs(){const{steps:e}=V4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=dH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);Ywe(f,{enabled:!l});const p=Pfs(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.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(ye,{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(Na,{className:X("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,g)=>o.jsx(Lfs,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:HXe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:HXe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(Akt,{data:u.data,title:`${eBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const zfs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=JH();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(QDt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Efs,{}),o.jsx(Ffs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Sfs,{})})]})},WXe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=Y3(e);return r&&ys(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})}):r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"workflows"})}):o.jsx(Lke,{children:o.jsx(zfs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Bfs(e,t){if(e==null)return{};var n,r,s=Mwt(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 Rbe(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 Ufs(e){if(Array.isArray(e))return Rbe(e)}function Vfs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qfs(e,t){if(e){if(typeof e=="string")return Rbe(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)?Rbe(e,t):void 0}}function Hfs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
721
|
+
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Ebe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Ebe(t))}return!1}function Xls({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Jls({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function ecs({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function tcs({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function ncs({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function rcs({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function scs({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const acs=Object.assign(tcs,{Key:ncs,Value:rcs,Header:scs});function ics({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(Xt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function ocs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const zi=Object.assign(Wls,{Header:Jls,Heading:ecs,CloseButton:Zls,LoadingData:ics,NoData:ocs,Content:Xls,KeyValueList:acs,CodeSection:Kls}),cp=zi.KeyValueList;function lcs(e){return e instanceof Date?e:new Date(e)}function ccs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=v.useState(!1),d=i??c,f=l??u,p=lcs(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(zi,{collapsed:d,children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Log ",o.jsx("b",{children:nr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(ce,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(tH,{}):o.jsx(jwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(eH,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(m3,{})})]}),o.jsx(zi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(zi.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:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(E7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Pa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(E7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Pa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(cp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Entity Type"}),o.jsx(cp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Entity Name"}),o.jsx(cp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Service"}),o.jsx(cp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Environment"}),o.jsx(cp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(cp.Key,{children:"Source"}),o.jsx(cp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([g,y])=>o.jsxs(v.Fragment,{children:[o.jsx(cp.Key,{children:g}),o.jsx(cp.Value,{children:String(y)})]},g))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(zi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function ucs({error:e,resource:t,errorTitle:n}){if(ys(e))return o.jsx(Ws,{});if(xs(e))return o.jsx(Ms,{resource:t});if(_4(e))return o.jsx(Lr,{iconSlot:o.jsx(j7,{}),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(C4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(j7,{}),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 dcs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("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:X("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 fcs={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 pcs({level:e}){const t=fcs[e];return o.jsx(No,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function hcs({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(Vo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(td,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Ud,{className:n,"aria-hidden":!0});default:return null}}function mcs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(No,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx(hcs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function gcs({message:e}){return o.jsx(No,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function vcs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(No,{height:"compact",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(xEe,{children:t})}const Ql=Object.assign($4,{Top:_Z,TopCell:c_,TopCellWithTooltip:EZ,TopCellSmart:X$t,RowWrapper:OEe,RowButton:M4,RowLink:K$t,Spacer:CEe,NoMatch:CZ,DateCell:wEe,TimeCell:SEe,LevelCell:pcs,EntityCell:mcs,MessageCell:gcs,DataCell:vcs,NextPageLoading:OZ}),$Xe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",ycs=36,bcs=8;function xcs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=y7t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>ycs,overscan:bcs}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(ll,{columns:$Xe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Ql,{columns:$Xe,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:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Ql.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Ql.DateCell,{timestamp:y.timestamp}),o.jsx(Ql.TimeCell,{timestamp:y.timestamp}),o.jsx(Ql.LevelCell,{level:y.level}),o.jsx(Ql.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Ql.MessageCell,{message:y.message}),o.jsx(Ql.DataCell,{data:y.data})]},b)}),o.jsx(Ql.Spacer,{height:m})]}),o.jsx(Ql.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function wcs({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=>Scs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(oIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(aIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Scs(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 kcs={"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"},Pae="MMM d, yyyy HH:mm",$ae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Ocs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${kcs[e]}`,description:$ae}:t&&n?{title:`No logs between ${nr(t,Pae)} and ${nr(n,Pae)}`,description:$ae}:t?{title:`No logs since ${nr(t,Pae)}`,description:$ae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Ccs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Ocs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(j7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Twe,{})]})})})},_cs=20,Ecs=1e4;function jcs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Tcs(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 Ncs(e){return C4(e.state.error,"logs")||_4(e.state.error)?!1:Ecs}const Ics=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=YC(),s=F1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:_cs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:jcs,select:Tcs,retry:!1,refetchInterval:Ncs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.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}},Bz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},B7t=[{label:"Agent",entityType:Bz.AGENT},{label:"Workflow",entityType:Bz.WORKFLOW},{label:"Scorer",entityType:Bz.SCORER},{label:"Ingest",entityType:Bz.INGEST}],Acs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],qx="rootEntityType",Jb="datePreset",ex="dateFrom",tx="dateTo",Rcs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),Il={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"},AL=Object.keys(Il),NIe=new Set(["tags"]),IIe="mastra:logs:saved-filters";function Pcs(e,t=IIe){const n=Fcs(e),r=e.get(Jb);r&&n.set(Jb,r);const s=e.get(ex);s&&n.set(ex,s);const a=e.get(tx);a&&n.set(tx,a);try{localStorage.setItem(t,n.toString())}catch{}}function $cs(e=IIe){try{localStorage.removeItem(e)}catch{}}function MXe(e=IIe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Mcs(e){if(e.has(Jb)||e.has(ex)||e.has(tx)||e.has(qx))return!0;for(const t of AL)if(e.has(Il[t]))return!0;return!1}function Dcs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:B7t.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:Acs.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 Lcs(e){const t=[],n=new Map([[qx,"rootEntityType"]]);for(const s of AL)n.set(Il[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),NIe.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 Fcs(e){const t=new URLSearchParams,n=e.get(qx);n&&t.set(qx,n);for(const r of AL){const s=Il[r];if(NIe.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 zcs(e,t){e.delete(qx);for(const n of AL)e.delete(Il[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(qx,n.value);continue}const r=Il[n.fieldId];if(r){if(NIe.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 Bcs({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 Ucs(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 Vcs="Filters setting for Logs saved",qcs="Filters setting for Logs cleared up";function Hcs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>MXe(r)!==null),c=v.useCallback(()=>{Pcs(e,r),l(!0);const f=s?.saved??Vcs;f!==!1&&Le.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{$cs(r),l(!1);const f=s?.cleared??qcs;f!==!1&&Le.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,Mcs(e)))return;const f=MXe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Wcs(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 Zcs(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,Wcs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Gcs(e,t,n,r){const s=v.useMemo(()=>Zcs(e),[e]),a=v.useMemo(()=>{const h=new Map;for(const[m,g]of e.entries()){const y=s.get(g);y&&h.set(y,{log:g,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=v.useCallback(h=>s.get(h),[s]),d=v.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 jbe="logId",Tbe="traceId",Nbe="spanId",dP=1440*60*1e3,Qcs={"last-24h":dP,"last-3d":3*dP,"last-7d":7*dP,"last-14d":14*dP,"last-30d":30*dP};function Uz(e){e.delete(jbe),e.delete(Tbe),e.delete(Nbe)}function Ycs(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const _=e.get(Jb);return _&&Rcs.has(_)?_:"last-24h"},[e]),a=e.get(ex),i=e.get(tx),l=v.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 _=Qcs[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(jbe),f=e.get(Tbe),p=e.get(Nbe),h=v.useMemo(()=>B7t.find(_=>_.entityType===e.get(qx)),[e]),m=v.useMemo(()=>Lcs(e),[e]),g=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);for(const[j,N]of Object.entries(_)){const I=j==="logId"?jbe:j==="traceId"?Tbe:Nbe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(_=>{t(C=>{const E=new URLSearchParams(C);return zcs(E,_),Uz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((_,C)=>{if(u.current!=="custom")return;const E=C==="from"?ex:tx;t(j=>{const N=new URLSearchParams(j);return _?N.set(E,_.toISOString()):N.delete(E),Uz(N),N},{replace:!0})},[t]),S=v.useCallback(_=>{u.current=_,t(C=>{const E=new URLSearchParams(C);return _==="last-24h"?(E.delete(Jb),E.delete(ex),E.delete(tx)):_==="custom"?E.set(Jb,"custom"):(E.set(Jb,_),E.delete(ex),E.delete(tx)),Uz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(qx);for(const E of AL)C.delete(Il[E]);return C.delete(Jb),C.delete(ex),C.delete(tx),Uz(C),C},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,S,k,y])}const Eb=zi.KeyValueList;function Kcs({spanId:e,span:t,isLoading:n,onClose:r}){const s=cIe(t?.startedAt,t?.endedAt);return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading span..."}):t?o.jsxs(zi.Content,{children:[o.jsxs(Eb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Type"}),o.jsx(Eb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Started"}),o.jsx(Eb.Value,{children:nr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Ended"}),o.jsx(Eb.Value,{children:nr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Duration"}),o.jsx(Eb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(xhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(whe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(xw,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(xw,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function Xcs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>fIe(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(dIe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(zi.NoData,{children:"No spans found for this trace."}):o.jsx(zi.Content,{children:o.jsx(m7t,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Jcs(){const[e,t]=Ri(),n=Ycs(e,t),r=Hcs(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=bIe(),{data:d=[],isPending:f}=gIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=vIe(),{data:m=[],isPending:g}=yIe(),y=v.useMemo(()=>Dcs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>Bcs({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:E}=Ics({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Gcs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=xIe(n.featuredTraceId??null),{data:z,isLoading:H}=IL(n.featuredTraceId??"",n.featuredSpanId??""),F=v.useCallback(()=>n.applyFilterTokens(Ucs(y,n.filterTokens)),[y,n]),B=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=v.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=v.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),Q=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),q=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=v.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),U=o.jsxs(Ft.TopArea,{children:[o.jsx(Ft.Row,{children:o.jsxs(Ft.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(J3,{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(lIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(wcs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:F,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(ucs,{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(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(Ccs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(dcs,{logCollapsed:i,listSlot:o.jsx(xcs,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(ccs,{log:N,onClose:B,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Xcs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:Q,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Kcs,{spanId:n.featuredSpanId,span:z?.span,isLoading:H,onClose:q}):null})]})}function eus({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=qzt(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Ey(e.name,50);return o.jsxs(ve.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ve.NameCell,{children:f}),o.jsx(ve.DescriptionCell,{children:a}),o.jsx(ve.TextCell,{className:"text-center",children:u||""}),o.jsx(ve.TextCell,{className:"text-center",children:c||""}),o.jsx(ve.TextCell,{className:"text-center",children:d||""})]})}function tus({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(ll,{columns:"auto 1fr auto auto auto"}):o.jsxs(ve,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Name"}),o.jsx(ve.TopCell,{children:"URL"}),o.jsx(ve.TopCellSmart,{long:"Agents",short:o.jsx(Vo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ve.TopCellSmart,{long:"Tools",short:o.jsx(Ud,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ve.TopCellSmart,{long:"Workflows",short:o.jsx(td,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ve.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(eus,{server:s},s.id))]})}const nus=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(Sa,{})]})})}),rus=()=>{const{data:e=[],isLoading:t,error:n}=BG(),[r,s]=v.useState("");return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"MCP servers"})}):n?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(lr,{children:o.jsx(nus,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Lf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(tus,{mcpServers:e,isLoading:t,search:r})]})},sus=(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 aus({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>sus(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(ll,{columns:"auto 1fr auto"}):o.jsxs(ve,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Name"}),o.jsx(ve.TopCell,{children:"Description"}),o.jsx(ve.TopCellSmart,{long:"Agents",short:o.jsx(Vo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ve.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Ey(c.id,50),d=Ey(c.description??"",200),f=c.agents.length;return o.jsxs(ve.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ve.NameCell,{children:u}),o.jsx(ve.DescriptionCell,{children:d}),o.jsx(ve.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const ius=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(Sa,{})]})})}),ous=()=>{const e=We();return Mn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new NC;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Le.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},lus=({toolId:e})=>{const{canExecute:t}=dl(),n=t("tools"),{data:r={}}=Im(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=wjr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=ous(),{requestContext:p}=Cs();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";Le.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?gm(hm(_x(c?.inputSchema))):ks({});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(MNe,{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(ye,{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(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function cus({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}=$I(),{data:p={},isLoading:h,isError:m,error:g}=Im(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Le.error(`Error loading tools: ${_}`)}},[d,f]),v.useEffect(()=>{if(m){const _=g instanceof Error?g.message:"Failed to load agents";Le.error(`Error loading agents: ${_}`)}},[m,g]);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(ic,{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 uus=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.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(jy,{children:o.jsx(ye,{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(jy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{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(cn,{icon:o.jsx(f7t,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(cn,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{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(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(cn,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(dus,{server:t})})]})},dus=({server:e})=>{const{data:t={},isLoading:n}=qzt(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(qe,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(y_,{})}),o.jsx(ye,{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(pus,{tool:a,serverId:e.id},s)})})]})};function fus(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 pus=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=g8t[e.toolType||"tool"],i=fus(e._meta);return o.jsxs(zf,{onClick:()=>n.current?.click(),children:[o.jsx(c$t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Uf,{children:[o.jsx(Bf,{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(cn,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(rh,{children:e.description})]})]})},hus=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=BG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(uus,{isLoading:n,server:r})})};function mus(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 gus=({toolId:e,serverId:t})=>{const{canExecute:n}=dl(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=TNe(t,e),{mutateAsync:c,isPending:u,data:d}=bQr(t,e),f=a?mus(a._meta):void 0,{data:p}=vt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Le.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(ye,{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(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=gm(hm(a.inputSchema))}catch(y){console.error("Error processing input schema:",y),Le.error("Failed to process tool input schema."),g=ks({})}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(Vzt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(MNe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},vus=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=TNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(gus,{toolId:t,serverId:e})})},U7t=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],MN="rootEntityType",DN={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"},fQ=Object.keys(DN),AIe="mastra:metrics:saved-filters";function yus(e){const t=kus(e);try{localStorage.setItem(AIe,t.toString())}catch{}}function bus(){try{localStorage.removeItem(AIe)}catch{}}function V7t(){try{const e=localStorage.getItem(AIe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function xus(e){if(e.has(MN))return!0;for(const t of fQ)if(e.has(DN[t]))return!0;return!1}function wus({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:U7t.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 Sus(e){const t=[],n=new Map([[MN,"rootEntityType"]]);for(const s of fQ)n.set(DN[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 kus(e){const t=new URLSearchParams,n=e.getAll(MN);for(const r of n)t.append(MN,r);for(const r of fQ){const s=DN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Ous(e,t){e.delete(MN);for(const n of fQ)e.delete(DN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?MN:DN[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 Cus="Any";function DXe(e){const t=e.trim();return t===""||t===Cus}const _us=new Set(U7t.map(e=>e.entityType));function LXe(e){const t=e.trim();return _us.has(t)?t:void 0}function Eus(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=>!DXe(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?LXe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(DXe(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=LXe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const q7t=[{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"}],jus=new Set(q7t.map(e=>e.value));function Tus(e){return typeof e=="string"&&(jus.has(e)||e==="custom")}const H7t=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function pQ(){return v.useContext(H7t)}function Nus(e,t){return e!=="custom"?q7t.find(n=>n.value===e)?.label??e:t?.from?t.to?`${nr(t.from,"MMM d, yyyy")} – ${nr(t.to,"MMM d, yyyy")}`:nr(t.from,"MMM d, yyyy"):"Custom range"}function Ius({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=v.useMemo(()=>JSON.stringify(n),[n]),d=v.useMemo(()=>n,[u]),f=v.useMemo(()=>Eus(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=Nus(t,a),m=v.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(H7t.Provider,{value:m,children:e})}const Aus=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Rus(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 Pus(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 $us(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=pQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(J3,{preset:Rus(e),onPresetChange:i=>{const l=Pus(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:Aus})}const Ibe=1440*60*1e3,Mus={"24h":Ibe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Dus(e,t,n){if(e!=="custom"){const r=Mus[e]??Ibe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Ibe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=pQ(),s=v.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=v.useMemo(()=>Dus(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function W7t(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function RL({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(ZEn,{})})}function Lus({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(Ejn,{})})}const Fus=[{dataKey:"p50",label:"p50",color:Bp.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Bp.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function zus(e){return e==="agents"||e==="workflows"||e==="tools"}function Mae({data:e,onPointClick:t}){return e.length===0?o.jsx(Ht.NoData,{message:"No latency data yet"}):o.jsx(DV,{data:e,series:Fus,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Bus({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]=v.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),g=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=g.length>0?`${Math.round(g.reduce((b,x)=>b+x,0)/g.length)}ms`:"—";return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Ht.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Ht.Actions,{children:h}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load latency data"}):o.jsx(Ht.Content,{children:m?o.jsxs(Dc,{value:p,onValueChange:b=>{zus(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Pr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Pr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(Mae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(Mae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(Mae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ht.NoData,{message:"No latency data yet"})})]})}function Uus(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 Vus(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 Z7t(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=Uus(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function G7t(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function FXe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(Ew,"branches"),Z7t(a,jw,Tw,Nw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Ux,i),r.status&&a.set(Vx,r.status),$o(a,Nl.entityName,r.entityName??n.entityName),$o(a,Nl.threadId,r.threadId??n.threadId),$o(a,Nl.resourceId,r.resourceId??n.resourceId),$o(a,Nl.entityId,n.entityId),$o(a,Nl.runId,n.runId),$o(a,Nl.sessionId,n.sessionId),$o(a,Nl.requestId,n.requestId),$o(a,Nl.userId,n.userId),$o(a,Nl.organizationId,n.organizationId),$o(a,Nl.experimentId,n.experimentId),$o(a,Nl.serviceName,n.serviceName),$o(a,Nl.environment,n.environment),G7t(a,Nl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function qus({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;Z7t(a,Jb,ex,tx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(qx,i),$o(a,Il.entityName,r.entityName??n.entityName),$o(a,Il.threadId,r.threadId??n.threadId),$o(a,Il.resourceId,r.resourceId??n.resourceId),$o(a,Il.runId,n.runId),$o(a,Il.sessionId,n.sessionId),$o(a,Il.requestId,n.requestId),$o(a,Il.userId,n.userId),$o(a,Il.organizationId,n.organizationId),$o(a,Il.experimentId,n.experimentId),$o(a,Il.serviceName,n.serviceName),$o(a,Il.environment,n.environment),G7t(a,Il.tags,n.tags),r.status==="error"&&a.append(Il.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function eA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=pQ(),a=v.useCallback((c={})=>FXe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>qus({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Vus(u,d);return FXe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const Q7t="1h";async function Dae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:Q7t,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 Hus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Dae(e,"mastra_agent_duration_ms",t),Dae(e,"mastra_workflow_duration_ms",t),Dae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:Q7t}}})}const zXe={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function Wus(){const{data:e,isLoading:t,isError:n}=Hus(),{getTracesHref:r,getBucketTracesHref:s}=eA(),{Link:a}=yn(),i=Hs();return o.jsx(Bus,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:zXe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(RL,{href:r({rootEntityType:zXe[l]}),LinkComponent:a})})}function Zus(e){return e==="threads"||e==="resources"}function Lae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Gus({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=typeof s=="function"?s(i):s;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Ht.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Ht.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Ht.Actions,{children:g}):null]}),m.isLoading?o.jsx(Ht.Loading,{}):m.isError?o.jsx(Ht.Error,{message:"Failed to load memory data"}):o.jsx(Ht.Content,{children:o.jsxs(Dc,{defaultTab:"threads",value:i,onValueChange:y=>{Zus(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"threads",children:"Threads"}),o.jsx(Pr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ve,{columns:"auto auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Lae(y.threadId)}),o.jsx(ve.NumberCell,{children:y.resourceId?Lae(y.resourceId):"—"}),o.jsx(ve.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ve.NumberCell,{children:y.tokens>0?Ml(y.tokens):"—"}),o.jsx(ve.NumberCell,{children:y.cost!=null?rm(y.cost,y.costUnit):"—"})]});return b?o.jsx(ve.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ve.RowStatic,{children:x},y.key)})]}):o.jsx(Ht.NoData,{message:"No thread activity yet"})}),o.jsx(Xr,{value:"resources",children:f?o.jsxs(ve,{columns:"auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Lae(y.resourceId)}),o.jsx(ve.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ve.NumberCell,{children:y.tokens>0?Ml(y.tokens):"—"}),o.jsx(ve.NumberCell,{children:y.cost!=null?rm(y.cost,y.costUnit):"—"})]});return b?o.jsx(ve.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ve.RowStatic,{children:x},y.key)})]}):o.jsx(Ht.NoData,{message:"No resource activity yet"})})]})})]})}const Fae=20;function Qus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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:Fae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Fae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Fae})]),l=new Map,c=d=>JI(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 zae=20;function Yus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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:zae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:zae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:zae})]),l=new Map,c=d=>JI(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 Kus(){const e=Qus(),t=Yus(),{getTracesHref:n}=eA(),{Link:r}=yn();return o.jsx(Gus,{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 PL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(es,{children:[o.jsx(es.Label,{children:e}),o.jsx(es.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(es.Error,{}):s?o.jsx(es.Loading,{}):i?r!=null?o.jsx(es.Change,{changePct:r,prevValue:n}):o.jsx(es.NoChange,{}):o.jsx(es.NoData,{})]})}function Xus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 Jus(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 eds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 tds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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 nds(){const{data:e,isLoading:t,isError:n}=W7t();return o.jsx(PL,{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 rds(){const{data:e,isLoading:t,isError:n}=eds();return o.jsx(PL,{label:"Total Model Cost",value:e?.cost!=null?rm(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?rm(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function sds(){const{data:e,isLoading:t,isError:n}=tds();return o.jsx(PL,{label:"Total Tokens",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ads(){const{data:e,isLoading:t,isError:n}=Jus();return o.jsx(PL,{label:"Total Threads",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ids(){const{data:e,isLoading:t,isError:n}=Xus();return o.jsx(PL,{label:"Total Resources",value:e?.value!=null?Ml(e.value):null,prevValue:e?.previousValue!=null?Ml(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function ods({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=>lds(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(oIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(aIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function lds(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 cds({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.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?rm(l):"—":c.size===1?u=l>0?rm(l,[...c][0]):"—":u="Mixed",o.jsx(Ht.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Ht.Actions,{children:s}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load model usage data"}):o.jsx(Ht.Content,{children:i?o.jsxs(ve,{columns:"auto auto auto auto auto auto",...kbe,children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{sticky:"start",children:"Model"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ve.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ve.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ve.NumberCell,{children:l.input}),o.jsx(ve.NumberCell,{children:l.output}),o.jsx(ve.NumberCell,{children:l.cacheRead}),o.jsx(ve.NumberCell,{children:l.cacheWrite}),o.jsx(ve.NumberCell,{highlight:!0,children:l.cost!=null?rm(l.cost,l.costUnit):"—"})]});return c?o.jsx(ve.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ve.RowStatic,{children:u},l.model)})]}):o.jsx(Ht.NoData,{message:"No model usage data yet"})})]})}function uds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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=>JI(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:Ml(f.input),output:Ml(f.output),cacheRead:Ml(f.cacheRead),cacheWrite:Ml(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function dds(){const{data:e,isLoading:t,isError:n}=uds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(cds,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:lu.AGENT}),actions:o.jsx(RL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function fds(e){return e==="tokens"||e==="cost"}function pds({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&g>0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Ht.Summary,{value:rm(g,m),label:"Total cost"}):o.jsx(Ht.Summary,{value:Ml(d),label:"Total tokens"})),u&&s?o.jsx(Ht.Actions,{children:s}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load token usage data"}):o.jsx(Ht.Content,{children:u?o.jsxs(Dc,{defaultTab:"tokens",value:i,onValueChange:b=>{fds(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"tokens",children:"Tokens"}),o.jsx(Pr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx($N,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Bp.blueDark},{label:"Output",color:Bp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:Ml})}),o.jsx(Xr,{value:"cost",children:y?o.jsx($N,{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:Bp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>rm(b,m)}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function hds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({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=>JI(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 mds(){const{data:e,isLoading:t,isError:n}=hds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(pds,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:lu.AGENT,entityName:a.name}),actions:o.jsx(RL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Abe(e,t=Ml){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const gds=[{dataKey:"input",label:"Input tokens",color:Bp.blue,aggregate:Abe("input")},{dataKey:"output",label:"Output tokens",color:Bp.yellow,aggregate:Abe("output")}];function vds(e){return e==="tokens"||e==="cost"}function yds({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=v.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),g=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:Bp.purple,aggregate:Abe("cost",k=>rm(k,g))}];return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Ht.Summary,{value:rm(y,g),label:"Total cost"}):o.jsx(Ht.Summary,{value:Ml(d),label:"Total tokens"})),u&&s?o.jsx(Ht.Actions,{children:s}):null]}),n?o.jsx(Ht.Loading,{}):r?o.jsx(Ht.Error,{message:"Failed to load token usage timeline"}):o.jsx(Ht.Content,{children:u?o.jsxs(Dc,{defaultTab:"tokens",value:a,onValueChange:k=>{vds(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"tokens",children:"Tokens"}),o.jsx(Pr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(DV,{data:c,series:gds})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(DV,{data:p,series:S}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function bds(e){return e==="24h"?"1h":"1d"}function xds(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 BXe(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 wds(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function Sds(){const e=We(),{datePreset:t,filters:n,filterKey:r}=$m(),s=bds(t);return vt({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 BXe(l,a.series[0],"input"),BXe(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:xds(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:wds(u)}}),interval:s}}})}function kds(){const{data:e,isLoading:t,isError:n}=Sds(),{getTracesHref:r}=eA(),{Link:s}=yn();return o.jsx(yds,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(RL,{href:r(),LinkComponent:s})})}function Bae({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx($N,{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:Bp.blueDark},{label:"Errors",color:Bp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:Ml})}function Ods({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.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,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Ht,{children:[o.jsxs(Ht.TopBar,{children:[o.jsx(Ht.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Ht.Summary,{value:Ml(f),label:"Total runs"}),u?o.jsx(Ht.Actions,{children:u}):null]}),t?o.jsx(Ht.Loading,{}):n?o.jsx(Ht.Error,{message:"Failed to load trace volume data"}):o.jsx(Ht.Content,{children:d?o.jsxs(Dc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(Mc,{children:[o.jsx(Pr,{value:"agents",children:"Agents"}),o.jsx(Pr,{value:"workflows",children:"Workflows"}),o.jsx(Pr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(Bae,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No agent data yet"})}),o.jsx(Xr,{value:"workflows",children:e.workflowData.length>0?o.jsx(Bae,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No workflow data yet"})}),o.jsx(Xr,{value:"tools",children:e.toolData.length>0?o.jsx(Bae,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Ht.NoData,{message:"No tool data yet"})})]}):o.jsx(Ht.NoData,{message:"No trace volume data yet"})})]})}async function Uae(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=JI(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 Cds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Uae(e,"mastra_agent_duration_ms",t),Uae(e,"mastra_workflow_duration_ms",t),Uae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Vz={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function _ds(){const{data:e,isLoading:t,isError:n}=Cds(),{getTracesHref:r,getLogsHref:s}=eA(),{Link:a}=yn();return o.jsx(Ods,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Vz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Vz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(RL,{href:r({rootEntityType:Vz[i]}),LinkComponent:a}),o.jsx(Lus,{href:s({rootEntityType:Vz[i],status:"error"}),LinkComponent:a})]})})}const Vae="period",qz="dateFrom",Hz="dateTo";function Eds(){const[e,t]=Ri(),n=e.get(Vae),r=Tus(n)?n:"24h",s=v.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(qz)),p=d(e.get(Hz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>Sus(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Vae):p.set(Vae,d),d!=="custom"&&(p.delete(qz),p.delete(Hz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(qz,d.from.toISOString()):p.delete(qz),d?.to?p.set(Hz,d.to.toISOString()):p.delete(Hz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Ous(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,xus(e)))return;const d=V7t();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Ius,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(jds,{})})}function jds(){const[e]=Ri(),{error:t,isLoading:n}=W7t(),{filterTokens:r,setFilterTokens:s}=pQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=x7t(),{data:d,isLoading:f}=bIe(),{data:p,isLoading:h}=gIe(),{data:m,isLoading:g}=yIe(),{data:y,isLoading:b}=vIe(),x=v.useMemo(()=>wus({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:g,environments:b}}),[d,p,m,y,f,h,g,b]),[S,k]=v.useState(()=>V7t()!==null),_=v.useCallback(()=>{yus(e),k(!0),Le.success("Filters setting for Metrics saved")},[e]),C=v.useCallback(()=>{bus(),k(!1),Le.success("Filters setting for Metrics cleared up")},[]),E=v.useCallback(()=>{s([])},[s]),j=v.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&&ys(t)?o.jsx(lr,{children:o.jsx(Ws,{})}):t&&xs(t)?o.jsx(lr,{children:o.jsx(Ms,{resource:"metrics"})}):t?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ft,{width:"wide",height:"full",children:[o.jsxs(Ft.TopArea,{children:[o.jsx(Ft.Row,{children:o.jsxs(Ft.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx($us,{}),o.jsx(lIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(ods,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:j,onRemoveAll:E,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(En,{variant:"info",title:"Metrics are not persisted",children:o.jsx(En.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(_be,{children:[o.jsx(nds,{}),o.jsx(rds,{}),o.jsx(sds,{}),o.jsx(ads,{}),o.jsx(ids,{})]}),o.jsxs(_be,{children:[o.jsx(dds,{}),o.jsx(mds,{}),o.jsx(kds,{}),o.jsx(Kus,{}),o.jsx(_ds,{}),o.jsx(Wus,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(Sa,{})]})})})]})}const Tds=50;function Nds(){const{paths:e}=yn(),{isCmsAvailable:t}=tS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=y8t({page:s,perPage:Tds}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=v.useCallback(()=>{u||a(g=>g+1)},[u]),h=v.useCallback(()=>{u||a(g=>Math.max(0,g-1))},[u]),m=v.useCallback(g=>{r(g),a(0)},[]);return c&&ys(c)?o.jsx(lr,{children:o.jsx(Ws,{})}):c&&xs(c)?o.jsx(lr,{children:o.jsx(Ms,{resource:"prompt blocks"})}):c?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(lr,{children:o.jsx(CJr,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(ce,{as:Fa,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Zr,{}),"Create Prompt"]})]})}),o.jsx(OJr,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Ids(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx(rYr,{children:o.jsx(tbe,{})})})})}const Ads=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:hWt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:yit,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:Sa,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:mT,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:_it,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:bit,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Rds(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:Ads.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(Sa,{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 Pds(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&ys(n))return o.jsx(lr,{children:o.jsx(Ws,{})});if(n&&xs(n))return o.jsx(lr,{children:o.jsx(Ms,{resource:"scorers"})});if(n)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(lr,{children:o.jsx(AKr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(PKr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(IKr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function $ds(){const{scorerId:e}=Sr(),[t,n]=Ri(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=lKr(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Qy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=oKr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),_=v.useMemo(()=>c?.agentIds?.filter(V=>d[V]).map(V=>({value:V,label:d[V].name,type:"AGENT"}))||[],[c?.agentIds,d]),C=v.useMemo(()=>c?.workflowIds?.map(V=>({value:V,label:V,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},..._,...C],[_,C]),j=t.get("entity")??"all",N=E.find(V=>V.value===j);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const V=u instanceof Error?u.message:"Failed to load scorer";Le.error(`Error loading scorer: ${V}`)}},[u]),v.useEffect(()=>{if(p){const V=p instanceof Error?p.message:"Failed to load agents";Le.error(`Error loading agents: ${V}`)}},[p]),v.useEffect(()=>{if(m){const V=m instanceof Error?m.message:"Failed to load workflows";Le.error(`Error loading workflows: ${V}`)}},[m]);const I=V=>{V?.value&&n(M=>{const Q=new URLSearchParams(M);return Q.set("entity",V.value),Q})};v.useEffect(()=>{const V=t.get("scoreId")??void 0;if(V===s)return;if(!V){a(void 0);return}g.find(Q=>Q.id===V)&&a(V)},[t,g]);const A=v.useCallback(V=>{a(V||void 0),n(M=>{const Q=new URLSearchParams(M);return V?Q.set("scoreId",V):Q.delete("scoreId"),Q})},[n]);if(!c)return null;const R=ys(u)||ys(p)||ys(m),L=u&&xs(u),D=!R&&!L&&(u||p||m),z=!y&&g.length===0,H=i?.value!=="all",F=c?.scorer?.source==="stored"?o.jsx(Fy,{owner:"scorer-detail",children:o.jsxs(ce,{variant:"default",as:Fa,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(om,{})," Edit"]})}):null;if(R||L||D||z&&!H){const V=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Ft,{width:"wide",height:"full",children:[F,o.jsx(Ft.MainArea,{isCentered:!0,children:R?o.jsx(Ws,{}):L?o.jsx(Ms,{resource:"scorers"}):D?o.jsx(qi,{title:"Failed to load scorer",message:V}):o.jsx(eKr,{})})]})}return o.jsxs(Ft,{width:"wide",children:[F,o.jsx(Ft.TopArea,{children:o.jsx(tKr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(V=>{const M=new URLSearchParams(V);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(JYr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function Mds({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Dt,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const Y7t=[{value:"dark",label:"Dark",Icon:ZZt},{value:"light",label:"Light",Icon:aQt},{value:"system",label:"System",Icon:Rit}],Dds=e=>Y7t.some(t=>t.value===e);function Lds({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 Fds=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=sH(),{theme:r,setTheme:s}=HC();return o.jsx(Ft,{width:"narrow",children:o.jsxs(Ft.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Lye,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Mds,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(oa,{value:r,onValueChange:a=>{Dds(a)&&s(a)},children:[o.jsx(ca,{id:"theme",className:"w-full sm:w-48",children:o.jsx(la,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ua,{children:Y7t.map(a=>o.jsx(Ar,{value:a.value,children:o.jsx(Lds,{option:a})},a.value))})]})})}),o.jsx(Lye,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(iMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function zds(){const[e]=Ri(),t=Hs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(z7t,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const K7t=e=>o.jsxs("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("g",{clipPath:"url(#clip0_21999_22095)",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"})}),o.jsx("defs",{children:o.jsx("clipPath",{id:"clip0_21999_22095",children:o.jsx("rect",{width:"14",height:"14",fill:"currentColor",transform:"translate(0.5 0.75)"})})})]});function Bds(e){return e.replace(/\/$/,"").split("/").pop()}function hQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function Uds({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("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:X("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:X("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:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("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:X("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:X("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(Vo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Ud,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Pit,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(LD,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(y_,{})," ",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:X("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(K7t,{})," ",Bds(a.githubUrl)]})})]},a.slug)})})}function Vds({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:X("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:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(xN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Ec,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Ec,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(bs,{})]})]})}function qds(){const{data:e,isLoading:t}=xer(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.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)},g=()=>{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(ds,{children:[o.jsx(qwe,{children:o.jsxs(Ugt,{children:[o.jsx(qe,{children:o.jsx(ey,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(Vds,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(Uds,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Hds="1.56.1-alpha.0";function Wds({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(wf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(VWt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(hQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("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 Zds({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(hQ,{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:X("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($it,{})]}),o.jsx(Ec,{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:X("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(Xt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(TO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(TO,{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(Gzt,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ce,{className:X("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(Xt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Sm,{})]})})]})})}function Gds({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:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("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(ey,{}),o.jsx("h2",{className:X({"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:X("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:X("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(Wx,{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(Zbe,{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(K7t,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(ANe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function Qds(e){switch(e){case"running":return o.jsx(Xt,{});case"success":return o.jsx(Cx,{});case"failed":return o.jsx(Qu,{});default:return null}}function Yds({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3",vs.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",vs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:X("text-ui-md",vs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:X("flex size-[1.75rem] items-center justify-center self-center rounded-full",vs.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:Qds(t.status)})]})}function Kds({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(Yds,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function Xds({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:X("relative flex h-8 items-center justify-end",vs.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-[2rem] translate-x-[50%] items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3",vs.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Xt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",vs.colors),children:[n," of ",t," steps completed"]})]})}function Jds({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=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),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(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(hQ,{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(Xds,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("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(rGt,{}),l||"Something went wrong"]}),u&&o.jsx(Kds,{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(Xt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function efs({name:e,installedEntities:t}){return o.jsxs(hQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx($it,{}),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(ANe,{data:t})]})}function tfs(){const{templateSlug:e}=Sr(),[t,n]=Ri(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,x]=v.useState(""),[S,k]=v.useState(!1),[_,C]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=wer({repoOrSlug:e,owner:"mastra-ai"}),R=Hds?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Ser({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:z,isLoading:H}=ker(),{mutateAsync:F,isPending:B}=Oer(),{mutateAsync:V}=Cer(),{streamInstall:M,streamResult:Q,isStreaming:q}=Eer(z),{observeInstall:$,streamResult:U,isStreaming:Z}=jer(z);v.useEffect(()=>{const te=t.get("runId");te&&!g&&!h&&!q&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(le=>{const de=le.snapshot;if(de?.status==="success"&&de?.result?.success)y(!0);else if(de?.result?.success===!1)if(de?.result?.validationResults&&!de?.result?.validationResults?.valid&&de?.result?.validationResults?.remainingErrors>0){const{remainingErrors:ue,errors:be}=de.result.validationResults,xe=`Template installation completed but ${ue} validation issue${ue>1?"s":""} remain unresolved.`;m(xe),j(be||[])}else{const ue=de?.result?.message||de?.result?.error||"Template installation failed";m(typeof ue=="string"?ue:String(ue))}}).catch(le=>{console.error("❌ Failed to fetch run details:",le),m("Failed to retrieve installation status after reload")}))},[t,g,h,q,Z,V]),v.useEffect(()=>{const te=t.get("runId"),le=t.get("resume"),de=t.get("provider");if(te&&le==="true"&&de&&!q&&!Z&&!S&&!_&&z){x(te),k(!0);try{V({runId:te}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(oe=>{const ue=new URLSearchParams(oe);return ue.delete("resume"),ue})}).catch(oe=>{console.error("❌ Failed to resume template installation:",oe),oe.message?.includes("404")||oe.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(oe){console.error("❌ Auto-resume failed with error:",oe),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,q,Z,S,_,z,V,$,n]);const K=[{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(Ud,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(Vo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(LD,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Fv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(qN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const te=Q||U;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[Q?.phase,Q?.error,U?.phase,U?.error]);const J=te=>{s(te)},ae=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),pe=async()=>{const te=Object.entries(u).reduce((le,[de,oe])=>(oe===""&&le.push(de),le),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const de={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:oe}=await F({});x(oe),n(ue=>{const be=new URLSearchParams(ue);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:de,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){C(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=te=>{const{name:le,value:de}=te.target;de.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(ue=>ue!==le)),d(oe=>({...oe,[le]:de}))};return o.jsx(ds,{children:o.jsx("div",{className:X("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(Gds,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(q||Z)&&o.jsx(Jds,{name:N.title,streamResult:Z?U:Q,runId:b,workflowInfo:z}),g&&o.jsx(efs,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(Wds,{errorMsg:h,validationErrors:E.length>0?E:Q?.validationResults?.errors||U?.validationResults?.errors}),!q&&!Z&&!g&&!h&&o.jsx(Zds,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:pe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:B,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const nfs=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(UXr,{toolId:e,agentId:t})})},rfs=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(lus,{toolId:e})})};function sfs(){const{traceId:e}=Sr(),[t,n]=Ri(),r=Hs(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:x,isLoading:S,error:k}=xIe(e),_=v.useMemo(()=>x?.spans??[],[x?.spans]),C=v.useMemo(()=>_.find(ae=>ae.parentSpanId==null),[_]),{data:E,isLoading:j}=IL(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=lh(),{data:A,isLoading:R}=p8t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:z,isLoading:H}=j7t({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(pe=>pe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const F=v.useCallback(ae=>{const pe=new URLSearchParams(t);for(const[Y,te]of Object.entries(ae))te===null||te===""?pe.delete(Y):pe.set(Y,te);n(pe,{replace:!0})},[t,n]),B=v.useCallback(ae=>{const pe=ae??null,Y=pe===c;u(pe),Y||(f(void 0),h("details"),F({spanId:pe,tab:null,scoreId:null}))},[c,F]),V=v.useCallback(()=>{u(null),f(void 0),h("details"),F({spanId:null,tab:null,scoreId:null})},[F]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),F({spanId:ae,tab:null,scoreId:null})},[F]),{handlePreviousSpan:Q,handleNextSpan:q}=wIe(_,c,M),$=v.useCallback(ae=>{const pe=ae;h(pe),f(void 0),F({tab:pe==="details"?null:pe,scoreId:null})},[F]),U=v.useCallback(ae=>{f(ae),F({scoreId:ae.id})},[F]),Z=v.useCallback(()=>{f(void 0),F({scoreId:null})},[F]),K=v.useCallback(()=>{r("/observability")},[r]),ne=v.useCallback(()=>{h("scoring"),C&&c!==C.spanId?(u(C.spanId),f(void 0),F({spanId:C.spanId,tab:"scoring",scoreId:null})):F({tab:"scoring"})},[C,c,F]),ee=C?o.jsx(Fy,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(MHt,{}),"Evaluate"]}),o.jsxs(ce,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Ad,{}),"Save"]})]})}):null,J=C?o.jsx(Ft.Row,{children:o.jsx(Ft.Column,{children:o.jsx(d7t,{rootSpan:C,numOfCol:3})})}):null;return k?o.jsxs(Ft,{height:"full",children:[ee,J&&o.jsx(Ft.TopArea,{children:J}),o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(g7t,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Ft,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ee,J&&o.jsx(Ft.TopArea,{children:J}),o.jsx(k7t,{rootSpanId:C?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(pIe,{traceId:e,spans:_,isLoading:S,onClose:K,onSpanSelect:B,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(uIe,{traceId:e,spanId:c,span:E?.span,isLoading:j,onClose:V,onPrevious:Q,onNext:q,activeTab:p,onTabChange:$,feedbackTabBadge:z?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(C7t,{feedbackData:z,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:pe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(E7t,{traceId:pe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===lu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===lu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(_7t,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:U})]})}),d&&o.jsx(INe,{score:d,onClose:Z})]})]})]})}function afs(){const{data:e,isLoading:t,error:n}=Qy(),[r,s]=v.useState("");return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"workflows"})}):n?o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(lr,{children:o.jsx(S9r,{})}):o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsxs(Ft.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ce,{as:Fa,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(PD,{}),"Schedules"]})]})}),o.jsx(w9r,{workflows:e||{},isLoading:t,search:r})]})}const ifs={active:"bg-accent1",paused:"bg-accent3"},ofs={active:"text-accent1",paused:"text-accent3"},X7t=({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 ${ifs[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${ofs[e]}`,children:e})]}),uT=e=>!e||e<=0?"—":new Date(e).toLocaleString(),F2=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 J7t({status:e}){const{icon:t,color:n}=lfs(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 lfs(e){switch(e){case"success":return{icon:o.jsx(fa,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(bs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Xt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(ZV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Rf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(hT,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const UXe="auto auto auto auto 1fr";function cfs(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 ufs(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 dfs=3e4,ffs=5*6e4;function pfs({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(ll,{columns:UXe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ve,{columns:UXe,className:"min-w-0",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Run"}),o.jsx(ve.TopCell,{children:"Status"}),o.jsx(ve.TopCell,{children:"Started"}),o.jsx(ve.TopCell,{children:"Duration"}),o.jsx(ve.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=ufs(u),f=`Scheduled ${uT(c.scheduledFireAt)} — published ${uT(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>dfs&&m<=ffs,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ve.Cell,{height:"compact",children:x}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(wf,{size:14}),"publish failed"]}):c.run?o.jsx(J7t,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(wf,{size:14})})}),o.jsx(Rn,{children:h})]}):null]})}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:F2(c.actualFireAt)}),g?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(wf,{size:14})})}),o.jsxs(Rn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ve.Cell,{height:"compact",children:c.run?o.jsx("span",{children:cfs(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ve.Cell,{height:"compact",children:" "})]});return b?o.jsx(ve.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ve.RowStatic,{children:S},y)}),o.jsx(ve.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const hfs=e=>{const t=We();return vt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},VXe=25,mfs=e=>{const t=We(),{inView:n,setRef:r}=YC(),s=F1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:VXe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<VXe))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 v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},gfs=e=>{const t=We(),n=Ur();return Mn({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"]}),Le.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Le.error(r.message)}})};function Wz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function vfs(){const{scheduleId:e}=Sr(),{paths:t}=yn(),{data:n,error:r}=hfs(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=mfs(e),d=gfs(e);if(r&&ys(r))return o.jsx(lr,{children:o.jsx(Ws,{})});if(r&&xs(r))return o.jsx(lr,{children:o.jsx(Ms,{resource:"schedules"})});if(r)return o.jsx(lr,{children:o.jsx(qi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(Ft.Row,{className:"justify-end",children:o.jsxs(Ft.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ce,{as:Fa,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ac,{}),"Back to schedules"]}),f?o.jsx(ce,{as:Fa,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ce,{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(Ybe,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Ef,{}),"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(Wz,{label:p?"Agent":"Workflow",children:f?o.jsx(Fa,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Fa,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Wz,{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(Wz,{label:"Status",children:o.jsx(X7t,{status:n.status})}),o.jsx(Wz,{label:"Next fire",children:o.jsx("span",{title:uT(n.nextFireAt),children:F2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(qi,{title:"Failed to load trigger history",message:i.message}):o.jsx(pfs,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const qXe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function yfs({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=yn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(ll,{columns:qXe}):o.jsxs(ve,{columns:qXe,variant:"striped",className:"min-w-0",children:[o.jsxs(ve.Top,{children:[o.jsx(ve.TopCell,{children:"Target"}),o.jsx(ve.TopCell,{children:"Schedule ID"}),o.jsx(ve.TopCell,{children:"Cron"}),o.jsx(ve.TopCell,{children:"Status"}),o.jsx(ve.TopCell,{children:"Next fire"}),o.jsx(ve.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ve.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ve.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ve.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ve.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ve.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx(X7t,{status:i.status})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:uT(i.nextFireAt),children:F2(i.nextFireAt)})}),o.jsx(ve.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(J7t,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:uT(i.lastFireAt),children:i.lastFireAt?F2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:uT(i.lastFireAt),children:F2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function bfs({workflowId:e}={}){const{data:t,isLoading:n,error:r}=Uwe(e?{workflowId:e}:{}),[s,a]=v.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(Lf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(yfs,{schedules:t??[],isLoading:n,search:s})})]})}function xfs(){const[e]=Ri(),t=e.get("workflowId")??void 0,{error:n}=Uwe(t?{workflowId:t}:{});return n&&ys(n)?o.jsx(lr,{children:o.jsx(Ws,{})}):n&&xs(n)?o.jsx(lr,{children:o.jsx(Ms,{resource:"schedules"})}):o.jsx(Ft,{children:o.jsx("div",{className:"h-full",children:o.jsx(bfs,{workflowId:t})})})}function wfs({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=xke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=xkt(r),[d]=wkt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=GDt({edges:d,workflowName:n,stepGraph:e});return v.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(bkt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(ije,{position:"bottom-left"}),o.jsx(kkt,{variant:oy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Xt,{})})})}function Sfs(){const{stepDetail:e,closeStepDetail:t}=JH();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(v9,{className:"h-4 w-4",style:{color:Iu.map}}),e.type==="nested-graph"&&o.jsx(td,{className:"h-4 w-4",style:{color:Iu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{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(ye,{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(bs,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(D2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(bke,{children:o.jsx(wfs,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function kfs(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Ofs(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 Cfs({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(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(qe,{children:o.jsx(ZV,{})}),"Step suspended"]}),o.jsx(cn,{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(hm(_x(i.resumeSchema))):gp(ur(),RT());return o.jsx(_fs,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function _fs({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(QZt,{})}),"The step is asking"]}),o.jsxs(Af,{open:a,onOpenChange:i,children:[o.jsxs(Fd,{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(qe,{children:o.jsx(pa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Ofs(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:kfs(e.suspendPayload)})]}),o.jsx(zd,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Wr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(XZt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(MB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Ef,{}),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 Efs(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Vl),{runId:a}=Sr(),i=Nkt(e,r??""),l=MKn(),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(Cfs,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const jfs=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"})]}),Tfs=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"})]}),Nfs=e=>e.includes("."),Ifs=e=>e==="input"||e.endsWith(".input"),Afs=1;function Rfs(e){return`${Number((e/1e3).toPrecision(3))}s`}function Pfs(e,t){const n=Object.entries(e).filter(([i])=>!Ifs(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,Afs);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Nfs(i)}})}const $fs=({status:e})=>o.jsxs(qe,{children:[e==="success"&&o.jsx(jfs,{className:"text-accent1"}),e==="failed"&&o.jsx(Tfs,{className:"text-accent2"}),e==="suspended"&&o.jsx(ZV,{className:"text-accent3"}),e==="waiting"&&o.jsx(Pfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Pfe,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),Mfs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function eBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const HXe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Dfs=e=>{const t=e;return FDt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Lfs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Dfs(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:X("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($fs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(JGt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(xV,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{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:eBt(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 ${Mfs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(KGt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Rfs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Ffs(){const{steps:e}=V4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=dH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);Ywe(f,{enabled:!l});const p=Pfs(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.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(ye,{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(Na,{className:X("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,g)=>o.jsx(Lfs,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:HXe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:HXe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(Akt,{data:u.data,title:`${eBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const zfs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=JH();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(QDt,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Efs,{}),o.jsx(Ffs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Sfs,{})})]})},WXe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=Y3(e);return r&&ys(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ws,{})}):r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ms,{resource:"workflows"})}):o.jsx(Lke,{children:o.jsx(zfs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Bfs(e,t){if(e==null)return{};var n,r,s=Mwt(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 Rbe(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 Ufs(e){if(Array.isArray(e))return Rbe(e)}function Vfs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qfs(e,t){if(e){if(typeof e=="string")return Rbe(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)?Rbe(e,t):void 0}}function Hfs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
722
722
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Pbe(e){return Ufs(e)||Vfs(e)||qfs(e)||Hfs()}function ND(e){"@babel/helpers - typeof";return ND=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},ND(e)}function Wfs(e,t){if(ND(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(ND(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Zfs(e){var t=Wfs(e,"string");return ND(t)=="symbol"?t:t+""}function tBt(e,t,n){return(t=Zfs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ZXe(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 Oj(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZXe(Object(n),!0).forEach(function(r){tBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZXe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Gfs(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 qae={};function Qfs(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return qae[t]||(qae[t]=Gfs(e)),qae[t]}function Yfs(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=Qfs(r);return s.reduce(function(a,i){return Oj(Oj({},a),n[i])},t)}function GXe(e){return e.join(" ")}function Kfs(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return nBt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function nBt(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=Kfs(n,a),p;if(!a)p=Oj(Oj({},l),{},{className:GXe(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"]:[],g=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=Oj(Oj({},l),{},{className:GXe(g)||void 0,style:Yfs(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Fe.createElement(u,HO({key:i},p),y)}}const Xfs=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var Jfs=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function QXe(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 Iw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?QXe(Object(n),!0).forEach(function(r){tBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):QXe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var eps=/\n/g;function tps(e){return e.match(eps)}function nps(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,`
|
|
723
723
|
`))})}function rps(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)},nps({lines:t.replace(/\n$/,"").split(`
|
|
724
724
|
`),style:i,startingLineNumber:l}))}function sps(e){return"".concat(e.toString().length,".25em")}function rBt(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 sBt(e,t,n){var r={display:"inline-block",minWidth:sps(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=Iw(Iw({},r),s);return a}function p9(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?Iw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(Pbe(m.className.trim().split(/\s+/)),Pbe(u)):u,n&&a){var g=sBt(r,n,s);t.unshift(rBt(n,g))}return f&d&&(m.style=Iw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function aBt(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(p9({children:[s],className:Pbe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);aBt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function aps(e,t,n,r,s,a,i,l,c){var u,d=aBt(e.value),f=[],p=-1,h=0;function m(_,C){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return p9({children:_,lineNumber:C,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:E,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function g(_,C){if(r&&C&&s){var E=sBt(l,C,i);_.unshift(rBt(C,E))}return _}function y(_,C){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||E.length>0?m(_,C,E):g(_,C)}for(var b=function(){var C=d[h],E=C.children[0].value,j=tps(E);if(j){var N=E.split(`
|