@mastra/deployer-cloud 1.57.0 → 1.58.0-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-CbvhbAyq.js → core-R8IQBlLo.js} +1 -1
- package/dist/studio/assets/{index-DUdZoPvJ.js → index-DXHR3Phj.js} +2 -2
- package/dist/studio/assets/{main-tYRi5VOV.js → main-jIvIzWG_.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-R8IQBlLo.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 Xqt(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 hT=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ul(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var TK={exports:{}},QA={};var G2e;function Jqt(){if(G2e)return QA;G2e=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 QA.Fragment=t,QA.jsx=n,QA.jsxs=n,QA}var Q2e;function eHt(){return Q2e||(Q2e=1,TK.exports=Jqt()),TK.exports}var o=eHt(),NK={exports:{}},qr={},Y2e;function tHt(){if(Y2e)return qr;Y2e=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 w(){}w.prototype=x.prototype;function k(q,$,U){this.props=q,this.context=$,this.refs=b,this.updater=U||g}var C=k.prototype=new w;C.constructor=k,y(C,x.prototype),C.isPureReactComponent=!0;var _=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,_(K)?(U="",ee!=null&&(U=ee.replace(D,"$&/")+"/"),F(K,$,U,"",function(fe){return fe})):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(_(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 K2e;function qN(){return K2e||(K2e=1,NK.exports=tHt()),NK.exports}var v=qN();const Fe=Ul(v),wC=Xqt({__proto__:null,default:Fe},[v]);var IK={exports:{}},YA={},AK={exports:{}},RK={};var X2e;function nHt(){return X2e||(X2e=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,w=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 C(H){if(g=!1,k(H),!m)if(n(c)!==null)m=!0,_||(_=!0,R());else{var F=n(u);F!==null&&z(C,F.startTime-H)}}var _=!1,E=-1,j=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<j)}function A(){if(y=!1,_){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(C,Q.startTime-H),F=!1}}break e}finally{f=null,p=B,h=!1}F=void 0}}finally{F?R():_=!1}}}var R;if(typeof w=="function")R=function(){w(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(C,B-V))):(H.sortIndex=M,t(c,H),m||h||(m=!0,_||(_=!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}}}})(RK)),RK}var J2e;function rHt(){return J2e||(J2e=1,AK.exports=nHt()),AK.exports}var PK={exports:{}},wu={};var e$e;function sHt(){if(e$e)return wu;e$e=1;var e=qN();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 wu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,wu.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)},wu.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()}},wu.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))},wu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},wu.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})}},wu.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)},wu.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})}},wu.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)},wu.requestFormReset=function(c){r.d.r(c)},wu.unstable_batchedUpdates=function(c,u){return c(u)},wu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},wu.useFormStatus=function(){return i.H.useHostTransitionStatus()},wu.version="19.2.7",wu}var t$e;function Rit(){if(t$e)return PK.exports;t$e=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(),PK.exports=sHt(),PK.exports}var n$e;function aHt(){if(n$e)return YA;n$e=1;var e={env:{}};var t=rHt(),n=qN(),r=Rit();function s(S){var O="https://react.dev/errors/"+S;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 #"+S+"; visit "+O+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(S){return!(!S||S.nodeType!==1&&S.nodeType!==9&&S.nodeType!==11)}function i(S){var O=S,T=S;if(S.alternate)for(;O.return;)O=O.return;else{S=O;do O=S,(O.flags&4098)!==0&&(T=O.return),S=O.return;while(S)}return O.tag===3?T:null}function l(S){if(S.tag===13){var O=S.memoizedState;if(O===null&&(S=S.alternate,S!==null&&(O=S.memoizedState)),O!==null)return O.dehydrated}return null}function c(S){if(S.tag===31){var O=S.memoizedState;if(O===null&&(S=S.alternate,S!==null&&(O=S.memoizedState)),O!==null)return O.dehydrated}return null}function u(S){if(i(S)!==S)throw Error(s(188))}function d(S){var O=S.alternate;if(!O){if(O=i(S),O===null)throw Error(s(188));return O!==S?null:S}for(var T=S,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),S;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?S:O}function f(S){var O=S.tag;if(O===5||O===26||O===27||O===6)return S;for(S=S.child;S!==null;){if(O=f(S),O!==null)return O;S=S.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"),w=Symbol.for("react.consumer"),k=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),_=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(S){return S===null||typeof S!="object"?null:(S=R&&S[R]||S["@@iterator"],typeof S=="function"?S:null)}var D=Symbol.for("react.client.reference");function z(S){if(S==null)return null;if(typeof S=="function")return S.$$typeof===D?null:S.displayName||S.name||null;if(typeof S=="string")return S;switch(S){case y:return"Fragment";case x:return"Profiler";case b:return"StrictMode";case _:return"Suspense";case E:return"SuspenseList";case I:return"Activity"}if(typeof S=="object")switch(S.$$typeof){case g:return"Portal";case k:return S.displayName||"Context";case w:return(S._context.displayName||"Context")+".Consumer";case C:var O=S.render;return S=S.displayName,S||(S=O.displayName||O.name||"",S=S!==""?"ForwardRef("+S+")":"ForwardRef"),S;case j:return O=S.displayName||null,O!==null?O:z(S.type)||"Memo";case N:O=S._payload,S=S._init;try{return z(S(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(S){return{current:S}}function $(S){0>Q||(S.current=M[Q],M[Q]=null,Q--)}function U(S,O){Q++,M[Q]=S.current,S.current=O}var Z=q(null),K=q(null),ne=q(null),ee=q(null);function J(S,O){switch(U(ne,O),U(K,S),U(Z,null),O.nodeType){case 9:case 11:S=(S=O.documentElement)&&(S=S.namespaceURI)?v2e(S):0;break;default:if(S=O.tagName,O=O.namespaceURI)O=v2e(O),S=y2e(O,S);else switch(S){case"svg":S=1;break;case"math":S=2;break;default:S=0}}$(Z),U(Z,S)}function ae(){$(Z),$(K),$(ne)}function fe(S){S.memoizedState!==null&&U(ee,S);var O=Z.current,T=y2e(O,S.type);O!==T&&(U(K,S),U(Z,T))}function Y(S){K.current===S&&($(Z),$(K)),ee.current===S&&($(ee),HA._currentValue=V)}var re,le;function ue(S){if(re===void 0)try{throw Error()}catch(T){var O=T.stack.trim().match(/\n( *(at )?)/);re=O&&O[1]||"",le=-1<T.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<T.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+re+S+le}var oe=!1;function me(S,O){if(!S||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(S,[],Tt)}else{try{Tt.call()}catch(ht){ct=ht}S.call(Tt.prototype)}}else{try{throw Error()}catch(ht){ct=ht}(Tt=S())&&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(`
|
|
@@ -335,7 +335,7 @@ attempted value: ${i}
|
|
|
335
335
|
\${}
|
|
336
336
|
}
|
|
337
337
|
}`,{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"})],Nwt=QSe.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"})]),Eze=new Pbt,Iwt=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function kR(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const tBn=["FunctionDeclaration"],nBn={FunctionDeclaration:kR("function"),ClassDeclaration:kR("class"),ClassExpression:()=>!0,EnumDeclaration:kR("constant"),TypeAliasDeclaration:kR("type"),NamespaceDeclaration:kR("namespace"),VariableDefinition(e,t){e.matchContext(tBn)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function Awt(e,t){let n=Eze.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=nBn[i.name];if(l&&l(i,a)||Iwt.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of Awt(e,i.node))r.push(l);return!1}}),Eze.set(t,r),r}const kB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,YSe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function Rwt(e){let t=gi(e.state).resolveInner(e.pos,-1);if(YSe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&kB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)Iwt.has(s.name)&&(r=r.concat(Awt(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:kB}}function aee(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 Pwt(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=gi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?aee(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?aee(t,n.parent,""):YSe.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&kB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?aee(t,n,""):e.explicit?{path:[],name:""}:null}function rBn(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 sBn(e){let t=new Map;return n=>{let r=Pwt(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=rBn(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:kB}}}const Xh=BO.define({name:"javascript",parser:eBn.configure({props:[QC.add({IfStatement:Zj({except:/^\s*({|else\b)/}),TryStatement:Zj({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:XFn,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:KFn({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Zj({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}}),YC.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":TSe,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:"$"}}),$wt={test:e=>/^JSX/.test(e.name),facet:AH({commentTokens:{block:{open:"{/*",close:"*/}"}}})},KSe=Xh.configure({dialect:"ts"},"typescript"),XSe=Xh.configure({dialect:"jsx",props:[_Se.add(e=>e.isTop?[$wt]:void 0)]}),JSe=Xh.configure({dialect:"jsx ts",props:[_Se.add(e=>e.isTop?[$wt]:void 0)]},"typescript");let Mwt=e=>({label:e,type:"keyword"});const Dwt="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(Mwt),aBn=Dwt.concat(["declare","implements","private","protected","public"].map(Mwt));function OB(e={}){let t=e.jsx?e.typescript?JSe:XSe:e.typescript?KSe:Xh,n=e.typescript?Nwt.concat(aBn):QSe.concat(Dwt);return new VO(t,[Xh.data.of({autocomplete:Dzn(YSe,$0t(n))}),Xh.data.of({autocomplete:Rwt}),e.jsx?Lwt:[]])}function iBn(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 jze(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 oBn=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),Lwt=It.inputHandler.of((e,t,n,r,s)=>{if((oBn?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=jze(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=iBn(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=jze(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 lBn(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(cBn(u,r.doc,c))}return s}}function Tze(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function cBn(e,t,n){let r=Tze(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?Tze(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 rF=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:Lwt,completionPath:Pwt,esLint:lBn,javascript:OB,javascriptLanguage:Xh,jsxLanguage:XSe,localCompletionSource:Rwt,scopeCompletionSource:sBn,snippets:QSe,tsxLanguage:JSe,typescriptLanguage:KSe,typescriptSnippets:Nwt},Symbol.toStringTag,{value:"Module"})),OR=["_blank","_self","_top","_parent"],iee=["ascii","utf-8","utf-16","latin1","latin1"],oee=["get","post","put","delete"],lee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],sp=["true","false"],er={},uBn={a:{attrs:{href:null,ping:null,type:null,media:null,target:OR,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:OR}},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:lee,formmethod:oee,formnovalidate:["novalidate"],formtarget:OR,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":iee,autocomplete:["on","off"],enctype:lee,method:oee,novalidate:["novalidate"],target:OR}},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:lee,formmethod:oee,formnovalidate:["novalidate"],formtarget:OR,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:iee,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:iee}},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},Fwt={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},zwt="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 zwt)Fwt[e]=null;class EM{constructor(t,n){this.tags={...uBn,...t},this.globalAttrs={...Fwt,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}EM.default=new EM;function HT(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 WT(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function Bwt(e,t,n){let r=n.tags[HT(e,WT(t))];return r?.children||n.allTags}function eke(e,t){let n=[];for(let r=WT(t);r&&!r.type.isTop;r=WT(r.parent)){let s=HT(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 Uwt=/^[:\-\.\w\u00b7-\uffff]*$/;function Nze(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=WT(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:Bwt(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(eke(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Ize(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:eke(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:Uwt}}function dBn(e,t,n,r){let s=[],a=0;for(let i of Bwt(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of eke(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function fBn(e,t,n,r,s){let a=WT(n),i=a?t.tags[HT(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:Uwt}}function pBn(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=WT(n),p=f?t.tags[HT(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 Vwt(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)?Ize(n,s,s.from,r):Nze(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?Nze(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?Ize(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?fBn(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?pBn(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?dBn(n,e,s,r):null}function hBn(e){return Vwt(EM.default,e)}function mBn(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new EM(t,n):EM.default;return s=>Vwt(r,s)}const gBn=Xh.parser.configure({top:"SingleExpression"}),qwt=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:KSe.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:XSe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:JSe.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:gBn},{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:SB.parser}],Hwt=[{name:"style",parser:SB.parser.configure({top:"Styles"})}].concat(zwt.map(e=>({name:e,parser:Xh.parser}))),Wwt=BO.define({name:"html",parser:B9n.configure({props:[QC.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}}),YC.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}}}),j0t.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),F8=Wwt.configure({wrap:kwt(qwt,Hwt)});function vBn(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=kwt((e.nestedLanguages||[]).concat(qwt),(e.nestedAttributes||[]).concat(Hwt)));let r=n?Wwt.configure({wrap:n,dialect:t}):t?F8.configure({dialect:t}):F8;return new VO(r,[F8.data.of({autocomplete:mBn(e)}),e.autoCloseTags!==!1?yBn:[],OB().support,k7n().support])}const Aze=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),yBn=It.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!F8.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=HT(i.doc,y.parent,h))&&!Aze.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=HT(i.doc,y,h))&&!Aze.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)}),Zwt=AH({commentTokens:{block:{open:"<!--",close:"-->"}}}),Gwt=new Dr,Qwt=V8n.configure({props:[YC.add(e=>!e.is("Block")||e.is("Document")||lge(e)!=null||bBn(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),Gwt.add(lge),QC.add({Document:()=>null}),Ow.add({Document:Zwt})]});function lge(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function bBn(e){return e.name=="OrderedList"||e.name=="BulletList"}function xBn(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=lge(r.type))!=null&&s<=t)break;n=r}return n.to}const wBn=g0t.of((e,t,n)=>{for(let r=gi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(Gwt);if(s==null)continue;let a=xBn(r,s);if(a>n)return{from:n,to:a}}return null});function tke(e){return new Ep(Zwt,e,[],"markdown")}const Ywt=tke(Qwt),SBn=Qwt.configure([e9n,n9n,t9n,r9n,{props:[YC.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),WO=tke(SBn);function kBn(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:UO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class cee{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(+Xwt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function Kwt(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 cee(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 cee(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 cee(a.parent,c,c+d,i[1],u,f,a))}}return r}function Xwt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function uee(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=Xwt(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 nke(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(pI)!=" ")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 Jwt=(e={})=>({state:t,dispatch:n})=>{let r=gi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!WO.isActiveAt(t,l.from,-1)&&!WO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=Kwt(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 w=d.length>1?d[d.length-2]:null,k,C="";w&&w.item?(k=u.from+w.from,C=w.marker(s,1)):k=u.from+(w?w.to:0);let _=[{from:k,to:c,insert:C}];return f.node.name=="OrderedList"&&uee(f.item,s,_,-2),w&&w.node.name=="OrderedList"&&uee(w.item,s,_),{range:bt.cursor(k+C.length),changes:_}}else{let w=Pze(d,t,u);return{range:bt.cursor(c+w.length+1),changes:{from:u.from,insert:w+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 w=t.changes([{from:b.from+x.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(w),changes:w}}}let h=[];f.node.name=="OrderedList"&&uee(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=nke(g,t),OBn(f.node,t.doc)&&(g=Pze(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)},e1t=Jwt();function Rze(e){return e.name=="QuoteMark"||e.name=="ListMark"}function OBn(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 Pze(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 nke(r,t)}function CBn(e,t){let n=e.resolveInner(t,-1),r=t;Rze(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(Rze(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const t1t=({state:e,dispatch:t})=>{let n=gi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&WO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=Kwt(CBn(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=nke(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)},n1t=[{key:"Enter",run:e1t},{key:"Backspace",run:t1t}],r1t=vBn({matchClosingTags:!1});function rke(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=Ywt,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=r1t}=e;if(!(s instanceof MH))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,wBn],d;i&&u.push(s1t),n instanceof VO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?kBn(t,d):void 0;c.push(H8n({codeParser:f,htmlParser:l.language.parser})),r&&u.push(eh.high(fI.of(n1t)));let p=tke(s.configure(c));return a&&u.push(p.data.of({autocomplete:_Bn})),new VO(p,u)}function _Bn(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:EBn(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let dee=null;function EBn(){if(dee)return dee;let e=hBn(new RSe(cs.create({extensions:r1t}),0,!0));return dee=e?e.options:[]}const jBn=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,s1t=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),!WO.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||jBn.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)}}),TBn=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:Ywt,deleteMarkupBackward:t1t,insertNewlineContinueMarkup:e1t,insertNewlineContinueMarkupCommand:Jwt,markdown:rke,markdownKeymap:n1t,markdownLanguage:WO,pasteURLAsLink:s1t},Symbol.toStringTag,{value:"Module"}));function ZO(){return ZO=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},ZO.apply(null,arguments)}var NBn=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,Z1(d)];return f},IBn={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)"},ABn=[{tag:pe.comment,color:"#6272a4"},{tag:pe.string,color:"#f1fa8c"},{tag:pe.atom,color:"#bd93f9"},{tag:pe.meta,color:"#f8f8f2"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"#ff79c6"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"#66d9ef"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"#50fa7b"},{tag:pe.atom,color:"#bd93f9"}],mI=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 NBn({theme:r,settings:ZO({},IBn,a),styles:[...ABn,...l]})};mI();function a1t(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 RBn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=ake(e.state,n.from);return r.line?PBn(e):r.block?MBn(e):!1};function ske(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 PBn=ske(FBn,0),$Bn=ske(i1t,0),MBn=ske((e,t)=>i1t(e,t,LBn(t)),0);function ake(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const CR=50;function DBn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-CR,r),i=e.sliceDoc(s,s+CR),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*CR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+CR),f=e.sliceDoc(s-CR,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 LBn(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 i1t(e,t,n=t.selection.ranges){let r=n.map(a=>ake(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>DBn(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 FBn(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=ake(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 cge=Vy.define(),zBn=Vy.define(),BBn=Cn.define(),o1t=Cn.define({combine(e){return qy(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)})}}),l1t=Sl.define({create(){return Zv.empty},update(e,t){let n=t.state.facet(o1t),r=t.annotation(cge);if(r){let c=mf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=CB(d,d.length,n.minDepth,c):d=d1t(d,t.startState.selection),new Zv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(zBn);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 UBn(e={}){return[l1t,o1t.of(e),It.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?c1t:t.inputType=="historyRedo"?uge:null;return r?(t.preventDefault(),r(n)):!1}})]}function DH(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(l1t,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const c1t=DH(0,!1),uge=DH(1,!1),VBn=DH(0,!0),qBn=DH(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(BBn)){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 CB(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 HBn(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 WBn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function u1t(e,t){return e.length?t.length?e.concat(t):e:t}const Vh=[],ZBn=200;function d1t(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-ZBn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),CB(e,e.length-1,1e9,n.setSelAfter(r)))}else return[mf.selection([t])]}function GBn(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 fee(e,t){if(!e.length)return e;let n=e.length,r=Vh;for(;n;){let s=QBn(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 QBn(e,t,n){let r=u1t(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 YBn=/^(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||YBn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,HBn(l.changes,t.changes))||r=="input.type.compose")?i=CB(i,i.length-1,s.minDepth,new mf(t.changes.compose(l.changes),u1t(xr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Vh)):i=CB(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)&&WBn(a[a.length-1],t)?this:new Zv(d1t(this.done,t),this.undone,n,r)}addMapping(t){return new Zv(fee(this.done,t),fee(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:cge.of({side:t,rest:GBn(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=fee(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:cge.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 KBn=[{key:"Mod-z",run:c1t,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:uge,preventDefault:!0},{linux:"Ctrl-Shift-z",run:uge,preventDefault:!0},{key:"Mod-u",run:VBn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:qBn,preventDefault:!0}];function gI(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=gI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Wg(e,r)),!0)}function LH(e,t){return bt.cursor(t?e.to:e.from)}function f1t(e,t){return Zg(e,n=>n.empty?e.moveByChar(n,t):LH(n,t))}function nd(e){return e.textDirectionAt(e.state.selection.main.head)==Ci.LTR}const p1t=e=>f1t(e,!nd(e)),h1t=e=>f1t(e,nd(e));function m1t(e,t){return Zg(e,n=>n.empty?e.moveByGroup(n,t):LH(n,t))}const XBn=e=>m1t(e,!nd(e)),JBn=e=>m1t(e,nd(e));function eUn(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 FH(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;eUn(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 tUn=e=>Zg(e,t=>FH(e.state,t,!nd(e))),nUn=e=>Zg(e,t=>FH(e.state,t,nd(e)));function g1t(e,t){return Zg(e,n=>{if(!n.empty)return LH(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const v1t=e=>g1t(e,!1),y1t=e=>g1t(e,!0);function b1t(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 x1t(e,t){let n=b1t(e),{state:r}=e,s=gI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):LH(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 $ze=e=>x1t(e,!1),dge=e=>x1t(e,!0);function G1(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 rUn=e=>Zg(e,t=>G1(e,t,!0)),sUn=e=>Zg(e,t=>G1(e,t,!1)),aUn=e=>Zg(e,t=>G1(e,t,!nd(e))),iUn=e=>Zg(e,t=>G1(e,t,nd(e))),oUn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).from,1)),lUn=e=>Zg(e,t=>bt.cursor(e.lineBlockAt(t.head).to,-1));function cUn(e,t,n){let r=!1,s=gI(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 uUn=({state:e,dispatch:t})=>cUn(e,t);function jm(e,t,n){let r=gI(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 w1t(e,t){return jm(e,t,n=>e.moveByChar(n,t))}const S1t=e=>w1t(e,!nd(e)),k1t=e=>w1t(e,nd(e));function O1t(e,t){return jm(e,t,n=>e.moveByGroup(n,t))}const dUn=e=>O1t(e,!nd(e)),fUn=e=>O1t(e,nd(e)),pUn=e=>{let t=!nd(e);return jm(e,t,n=>FH(e.state,n,t))},hUn=e=>{let t=nd(e);return jm(e,t,n=>FH(e.state,n,t))};function C1t(e,t){return jm(e,t,n=>e.moveVertically(n,t))}const _1t=e=>C1t(e,!1),E1t=e=>C1t(e,!0);function j1t(e,t){return jm(e,t,n=>e.moveVertically(n,t,b1t(e).height))}const Mze=e=>j1t(e,!1),Dze=e=>j1t(e,!0),mUn=e=>jm(e,!0,t=>G1(e,t,!0)),gUn=e=>jm(e,!1,t=>G1(e,t,!1)),vUn=e=>{let t=!nd(e);return jm(e,t,n=>G1(e,n,t))},yUn=e=>{let t=nd(e);return jm(e,t,n=>G1(e,n,t))},bUn=e=>jm(e,!1,t=>bt.cursor(e.lineBlockAt(t.head).from)),xUn=e=>jm(e,!0,t=>bt.cursor(e.lineBlockAt(t.head).to)),Lze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:0})),!0),Fze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.doc.length})),!0),zze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:0})),!0),Bze=({state:e,dispatch:t})=>(t(Wg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),wUn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),SUn=({state:e,dispatch:t})=>{let n=zH(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},kUn=({state:e,dispatch:t})=>{let n=gI(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 T1t(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 OUn=e=>T1t(e,!1),CUn=e=>T1t(e,!0),_Un=({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 V3(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=sF(e,c,!1)):c>i&&(n="delete.forward",c=sF(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=sF(e,i,!1),l=sF(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 sF(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 N1t=(e,t,n)=>V3(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%qO(a)||qO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=Ec(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=Ec(i.text,c-i.from,!1,!1)+i.from);return c}),fge=e=>N1t(e,!1,!0),I1t=e=>N1t(e,!0,!1),A1t=(e,t)=>V3(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=Ec(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}),R1t=e=>A1t(e,!1),EUn=e=>A1t(e,!0),jUn=e=>V3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),TUn=e=>V3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),NUn=e=>V3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),IUn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Sa.of(["",""])},range:bt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},AUn=({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:Ec(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:Ec(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 zH(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 P1t(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of zH(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 RUn=({state:e,dispatch:t})=>P1t(e,t,!1),PUn=({state:e,dispatch:t})=>P1t(e,t,!0);function $1t(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of zH(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 $Un=({state:e,dispatch:t})=>$1t(e,t,!1),MUn=({state:e,dispatch:t})=>$1t(e,t,!0),DUn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(zH(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=gI(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 LUn(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 Uze=M1t(!1),FUn=M1t(!0);function M1t(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&&LUn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new RH(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=ESe(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=["",bM(t,d)];return c&&f.push(bM(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:Sa.of(f)},range:bt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function ike(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 zUn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new RH(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=ike(e,(a,i,l)=>{let c=ESe(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=bM(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},D1t=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(ike(e,(n,r)=>{r.push({from:n.from,insert:e.facet(pI)})}),{userEvent:"input.indent"})),!0),L1t=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(ike(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=Dg(s,e.tabSize),i=0,l=bM(e,Math.max(0,a-qO(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),BUn=e=>(e.setTabFocusMode(),!0),UUn=[{key:"Ctrl-b",run:p1t,shift:S1t,preventDefault:!0},{key:"Ctrl-f",run:h1t,shift:k1t},{key:"Ctrl-p",run:v1t,shift:_1t},{key:"Ctrl-n",run:y1t,shift:E1t},{key:"Ctrl-a",run:oUn,shift:bUn},{key:"Ctrl-e",run:lUn,shift:xUn},{key:"Ctrl-d",run:I1t},{key:"Ctrl-h",run:fge},{key:"Ctrl-k",run:jUn},{key:"Ctrl-Alt-h",run:R1t},{key:"Ctrl-o",run:IUn},{key:"Ctrl-t",run:AUn},{key:"Ctrl-v",run:dge}],VUn=[{key:"ArrowLeft",run:p1t,shift:S1t,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:XBn,shift:dUn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:aUn,shift:vUn,preventDefault:!0},{key:"ArrowRight",run:h1t,shift:k1t,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:JBn,shift:fUn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:iUn,shift:yUn,preventDefault:!0},{key:"ArrowUp",run:v1t,shift:_1t,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Lze,shift:zze},{mac:"Ctrl-ArrowUp",run:$ze,shift:Mze},{key:"ArrowDown",run:y1t,shift:E1t,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Fze,shift:Bze},{mac:"Ctrl-ArrowDown",run:dge,shift:Dze},{key:"PageUp",run:$ze,shift:Mze},{key:"PageDown",run:dge,shift:Dze},{key:"Home",run:sUn,shift:gUn,preventDefault:!0},{key:"Mod-Home",run:Lze,shift:zze},{key:"End",run:rUn,shift:mUn,preventDefault:!0},{key:"Mod-End",run:Fze,shift:Bze},{key:"Enter",run:Uze,shift:Uze},{key:"Mod-a",run:wUn},{key:"Backspace",run:fge,shift:fge,preventDefault:!0},{key:"Delete",run:I1t,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:R1t,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:EUn,preventDefault:!0},{mac:"Mod-Backspace",run:TUn,preventDefault:!0},{mac:"Mod-Delete",run:NUn,preventDefault:!0}].concat(UUn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),qUn=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:tUn,shift:pUn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:nUn,shift:hUn},{key:"Alt-ArrowUp",run:RUn},{key:"Shift-Alt-ArrowUp",run:$Un},{key:"Alt-ArrowDown",run:PUn},{key:"Shift-Alt-ArrowDown",run:MUn},{key:"Mod-Alt-ArrowUp",run:OUn},{key:"Mod-Alt-ArrowDown",run:CUn},{key:"Escape",run:_Un},{key:"Mod-Enter",run:FUn},{key:"Alt-l",mac:"Ctrl-l",run:SUn},{key:"Mod-i",run:kUn,preventDefault:!0},{key:"Mod-[",run:L1t},{key:"Mod-]",run:D1t},{key:"Mod-Alt-\\",run:zUn},{key:"Shift-Mod-k",run:DUn},{key:"Shift-Mod-\\",run:uUn},{key:"Mod-/",run:RBn},{key:"Alt-A",run:$Bn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:BUn}].concat(VUn),HUn={key:"Tab",run:D1t,shift:L1t},Vze=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Rx{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(Vze(l)):Vze,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=lSe(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"&&(Rx.prototype[Symbol.iterator]=function(){return this});const F1t={from:-1,to:-1,match:/.*/.exec(""),precise:!0},oke="gm"+(/x/.unicode==null?"":"u");class z1t{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=F1t,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new B1t(t,n,r,s,a);this.re=new RegExp(n,oke+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=_B(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=_B(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 pee=new WeakMap;class Qj{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=pee.get(t);if(!s||s.from>=r||s.to<=n){let l=new Qj(n,t.sliceString(n,r));return pee.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)),pee.set(t,new Qj(i,a)),new Qj(n,a.slice(n-i,r-i))}}class B1t{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=F1t,this.matchPos=_B(t,s),this.re=new RegExp(n,oke+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=Qj.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=_B(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Qj.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(z1t.prototype[Symbol.iterator]=B1t.prototype[Symbol.iterator]=function(){return this});function WUn(e){try{return new RegExp(e,oke),!0}catch{return!1}}function _B(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 ZUn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=jFn(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},GUn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},QUn=Cn.define({combine(e){return qy(e,GUn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function YUn(e){return[tVn,eVn]}const KUn=jn.mark({class:"cm-selectionMatch"}),XUn=jn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function qze(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 JUn(e,t,n,r){return e(t.sliceDoc(n,n+1))==So.Word&&e(t.sliceDoc(r-1,r))==So.Word}const eVn=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(QUn),{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),!(qze(i,n,s.from,s.to)&&JUn(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 Rx(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||qze(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(XUn.range(d,f)):(d>=s.to||f<=s.from)&&l.push(KUn.range(d,f)),l.length>t.maxMatches))return jn.none}}return jn.set(l)}},{decorations:e=>e.decorations}),tVn=It.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),nVn=({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 rVn(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 Rx(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Rx(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 sVn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return nVn({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=rVn(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},vI=Cn.define({combine(e){return qy(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new yVn(t),scrollToMatch:t=>It.scrollIntoView(t)})}});class U1t{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||WUn(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"?`
|
|
338
|
-
`: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 uVn(this):new oVn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?WE(this,s,n,r):HE(this,s,n,r)}}class V1t{constructor(t){this.spec=t}}function aVn(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 HE(e,t,n,r){let s;return e.wholeWord&&(s=iVn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=aVn(e.test,t,s)),new Rx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function iVn(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(EB(s,n-a))!=So.Word||t(jB(s,n-a))!=So.Word)&&(t(jB(s,r-a))!=So.Word||t(EB(s,r-a))!=So.Word))}class oVn extends V1t{constructor(t){super(t)}nextMatch(t,n,r){let s=HE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=HE(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=HE(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=HE(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=HE(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 lVn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function WE(e,t,n,r){let s;return e.wholeWord&&(s=cVn(t.charCategorizer(t.selection.main.head))),e.test&&(s=lVn(e.test,t,s)),new z1t(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function EB(e,t){return e.slice(Ec(e,t,!1),t)}function jB(e,t){return e.slice(t,Ec(e,t))}function cVn(e){return(t,n,r)=>!r[0].length||(e(EB(r.input,r.index))!=So.Word||e(jB(r.input,r.index))!=So.Word)&&(e(jB(r.input,r.index+r[0].length))!=So.Word||e(EB(r.input,r.index+r[0].length))!=So.Word)}class uVn extends V1t{nextMatch(t,n,r){let s=WE(this.spec,t,r,t.doc.length).next();return s.done&&(s=WE(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=WE(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=WE(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=WE(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 jM=xr.define(),lke=xr.define(),qw=Sl.define({create(e){return new hee(pge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(jM)?e=new hee(n.value.create(),e.panel):n.is(lke)&&(e=new hee(e.query,n.value?cke:null));return e},provide:e=>yM.from(e,t=>t.panel)});class hee{constructor(t,n){this.query=t,this.panel=n}}const dVn=jn.mark({class:"cm-searchMatch"}),fVn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),pVn=Eo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(qw))}update(e){let t=e.state.field(qw);(t!=e.startState.field(qw)||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?fVn:dVn)})}return r.finish()}},{decorations:e=>e.decorations});function q3(e){return t=>{let n=t.state.field(qw,!1);return n&&n.query.spec.valid?e(t,n):W1t(t)}}const TB=q3((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(vI);return e.dispatch({selection:s,effects:[uke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),H1t(e),!0}),NB=q3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(vI);return e.dispatch({selection:a,effects:[uke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),H1t(e),!0}),hVn=q3((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)}),mVn=({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 Rx(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},Hze=q3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(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(uke(e,i)),d.push(n.facet(vI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),gVn=q3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:It.announce.of(r),userEvent:"input.replace.all"}),!0});function cke(e){return e.state.facet(vI).createPanel(e)}function pge(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(vI);return new U1t({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 q1t(e){let t=CSe(e,cke);return t&&t.dom.querySelector("[main-field]")}function H1t(e){let t=q1t(e);t&&t==e.root.activeElement&&t.select()}const W1t=e=>{let t=e.state.field(qw,!1);if(t&&t.panel){let n=q1t(e);if(n&&n!=e.root.activeElement){let r=pge(e.state,t.query.spec);r.valid&&e.dispatch({effects:jM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[lke.of(!0),t?jM.of(pge(e.state,t.query.spec)):xr.appendConfig.of(xVn)]});return!0},Z1t=e=>{let t=e.state.field(qw,!1);if(!t||!t.panel)return!1;let n=CSe(e,cke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:lke.of(!1)}),!0},vVn=[{key:"Mod-f",run:W1t,scope:"editor search-panel"},{key:"F3",run:TB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:TB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Z1t,scope:"editor search-panel"},{key:"Mod-Shift-l",run:mVn},{key:"Mod-Alt-g",run:ZUn},{key:"Mod-d",run:sVn,preventDefault:!0}];class yVn{constructor(t){this.view=t;let n=this.query=t.state.field(qw).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",()=>TB(t),[ap(t,"next")]),r("prev",()=>NB(t),[ap(t,"previous")]),r("select",()=>hVn(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",()=>Hze(t),[ap(t,"replace")]),r("replaceAll",()=>gVn(t),[ap(t,"replace all")])],di("button",{name:"close",onclick:()=>Z1t(t),"aria-label":ap(t,"close"),type:"button"},["×"])])}commit(){let t=new U1t({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:jM.of(t)}))}keydown(t){L6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?NB:TB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),Hze(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(jM)&&!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(vI).top}}function ap(e,t){return e.state.phrase(t)}const aF=30,iF=/[\s\.,:;?!]/;function uke(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-aF),i=Math.min(s,n+aF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<aF;c++)if(!iF.test(l[c+1])&&iF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-aF;c--)if(!iF.test(l[c-1])&&iF.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 bVn=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"}}),xVn=[qw,eh.low(pVn),bVn];class Wze{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(TM).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=RVn(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 TVn(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 Ck(u,n,ZT(u))}}function ZT(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 Wze(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Wze(r.from,a,r.diagnostic)}}),r}function wVn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(TM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(G1t))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function SVn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(PVn))}const G1t=xr.define(),dke=xr.define(),Q1t=xr.define(),jp=Sl.define({create(){return new Ck(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=ZT(n,e.selected.diagnostic,a)||ZT(n,null,a)}!n.size&&s&&t.state.facet(TM).autoPanel&&(s=null),e=new Ck(n,s,r)}for(let n of t.effects)if(n.is(G1t)){let r=t.state.facet(TM).autoPanel?n.value.length?NM.open:null:e.panel;e=Ck.init(n.value,r,t.state)}else n.is(dke)?e=new Ck(e.diagnostics,n.value?NM.open:null,e.selected):n.is(Q1t)&&(e=new Ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[yM.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),kVn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function OVn(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(TM).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:CVn(e,s)}}}:null}function CVn(e,t){return di("ul",{class:"cm-tooltip-lint"},t.map(n=>K1t(e,n,!1)))}const _Vn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:SVn(e.state,[dke.of(!0)])});let n=CSe(e,NM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Zze=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:dke.of(!1)}),!0)},EVn=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)},jVn=[{key:"Mod-Shift-m",run:_Vn,preventDefault:!0},{key:"F8",run:EVn}],TM=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...qy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Gze,tooltipFilter:Gze,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 Gze(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Y1t(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 K1t(e,t,n){var r;let s=n?Y1t(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=ZT(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 TVn 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 Qze{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=K1t(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class NM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)Zze(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=Y1t(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=ZT(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:()=>Zze(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 Qze(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 Qze(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=ZT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Q1t.of(r)})}static open(t){return new NM(t)}}function NVn(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 oF(e){return NVn(`<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 IVn=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:oF("#d11")},".cm-lintRange-warning":{backgroundImage:oF("orange")},".cm-lintRange-info":{backgroundImage:oF("#999")},".cm-lintRange-hint":{backgroundImage:oF("#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 AVn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function RVn(e){let t="hint",n=1;for(let r of e){let s=AVn(r.severity);s>n&&(n=s,t=r.severity)}return t}const PVn=[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([kVn.range(t.from,t.to)])}),_Fn(OVn,{hideOn:wVn}),IVn];var Yze=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(k8n)),t.defaultKeymap!==!1&&(a=a.concat(qUn)),t.searchKeymap!==!1&&(a=a.concat(vVn)),t.historyKeymap!==!1&&(a=a.concat(KBn)),t.foldKeymap!==!1&&(a=a.concat(lzn)),t.completionKeymap!==!1&&(a=a.concat(H0t)),t.lintKeymap!==!1&&(a=a.concat(jVn));var i=[];return t.lineNumbers!==!1&&i.push(LFn()),t.highlightActiveLineGutter!==!1&&i.push(BFn()),t.highlightSpecialChars!==!1&&i.push(eFn()),t.history!==!1&&i.push(UBn()),t.foldGutter!==!1&&i.push(fzn()),t.drawSelection!==!1&&i.push(q6n()),t.dropCursor!==!1&&i.push(Q6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(ezn()),t.syntaxHighlighting!==!1&&i.push(Z1(gzn,{fallback:!0})),t.bracketMatching!==!1&&i.push(kzn()),t.closeBrackets!==!1&&i.push(b8n()),t.autocompletion!==!1&&i.push(q0t()),t.rectangularSelection!==!1&&i.push(hFn()),s!==!1&&i.push(vFn()),t.highlightActiveLine!==!1&&i.push(iFn()),t.highlightSelectionMatches!==!1&&i.push(YUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(pI.of(" ".repeat(t.tabSize))),i.concat([fI.of(a.flat())]).filter(Boolean)};const $Vn="#e5c07b",Kze="#e06c75",MVn="#56b6c2",DVn="#ffffff",z8="#abb2bf",hge="#7d8799",LVn="#61afef",FVn="#98c379",Xze="#d19a66",zVn="#c678dd",BVn="#21252b",Jze="#2c313a",e8e="#282c34",mee="#353a42",UVn="#3E4451",t8e="#528bff",VVn=It.theme({"&":{color:z8,backgroundColor:e8e},".cm-content":{caretColor:t8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:t8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:UVn},".cm-panels":{backgroundColor:BVn,color:z8},".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:e8e,color:hge,border:"none"},".cm-activeLineGutter":{backgroundColor:Jze},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:mee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:mee,borderBottomColor:mee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Jze,color:z8}}},{dark:!0}),qVn=Hg.define([{tag:pe.keyword,color:zVn},{tag:[pe.name,pe.deleted,pe.character,pe.propertyName,pe.macroName],color:Kze},{tag:[pe.function(pe.variableName),pe.labelName],color:LVn},{tag:[pe.color,pe.constant(pe.name),pe.standard(pe.name)],color:Xze},{tag:[pe.definition(pe.name),pe.separator],color:z8},{tag:[pe.typeName,pe.className,pe.number,pe.changed,pe.annotation,pe.modifier,pe.self,pe.namespace],color:$Vn},{tag:[pe.operator,pe.operatorKeyword,pe.url,pe.escape,pe.regexp,pe.link,pe.special(pe.string)],color:MVn},{tag:[pe.meta,pe.comment],color:hge},{tag:pe.strong,fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.link,color:hge,textDecoration:"underline"},{tag:pe.heading,fontWeight:"bold",color:Kze},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:Xze},{tag:[pe.processingInstruction,pe.string,pe.inserted],color:FVn},{tag:pe.invalid,color:DVn}]),HVn=[VVn,Z1(qVn)];var WVn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),ZVn=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(fI.of([HUn])),m&&(typeof m=="boolean"?g.unshift(Yze()):g.unshift(Yze(m))),p&&g.unshift(uFn(p)),d){case"light":g.push(WVn);break;case"dark":g.push(HVn);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]},GVn=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 QVn{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 n8e{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 gee=null,YVn=()=>typeof window>"u"?new n8e:(gee||(gee=new n8e),gee),KVn=It.theme({"& .cm-scroller":{height:"100% !important"}}),r8e=null,vee=null;function XVn(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===r8e||(r8e=i,vee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),vee}var s8e=Vy.define(),JVn=200,eqn=[];function tqn(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?eqn: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,w=x===void 0?null:x,k=e.minWidth,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,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],fe=XVn(h,g,b,w,C,E),Y=It.updateListener.of(ue=>{if(ue.docChanged&&typeof r=="function"&&!ue.transactions.some(be=>be.annotation(s8e))){J.current?J.current.reset():(J.current=new QVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},JVn),YVn().add(J.current));var oe=ue.state.doc,me=oe.toString();r(me,ue)}s&&s(GVn(ue))}),re=ZVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:z,basicSetup:F}),le=[Y,...fe?[fe]:[],KVn,...re];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(Q&&!ne){var ue={doc:t,selection:n,extensions:le},oe=V?cs.fromJSON(V.json,ue,V.fields):cs.create(ue);if(ee(oe),!U){var me=new It({state:oe,parent:Q,root:B});Z(me),a&&a(me,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,w,C,E,N,A,L,z,F,r,i]),v.useEffect(()=>{if(t!==void 0){var ue=U?U.state.doc.toString():"";if(U&&t!==ue){var oe=J.current&&!J.current.isDone,me=()=>{U&&t!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:t||""},annotations:[s8e.of(!0)]})};oe?ae.current=me:me()}}},[t,U]),{state:ne,setState:ee,view:U,setView:Z,container:Q,setContainer:q}}var nqn=["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,w=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=a1t(e,nqn),L=v.useRef(null),D=tqn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:w,maxWidth:k,basicSetup:C,placeholder:_,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",ZO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const rqn={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 yee=null;function sqn(){return yee||(yee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-CbvhbAyq.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()})})()),yee}async function aqn(e,t){const n=rqn[t?.toLowerCase()];if(!n)return null;const r=await sqn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function iqn(e){return new VO(NSe.define(e))}const X1t=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>rF),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>$zn),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>rF),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(()=>TBn),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>rF),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(()=>rF),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=>iqn(e.shell))}})];function oqn(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 lqn(e){const t=oqn(e);return q0t({override:[cqn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function cqn(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 uqn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,dqn=jn.mark({class:"cm-variable-highlight"}),a8e=new s0t({regexp:uqn,decoration:()=>dqn}),fqn=Eo.fromClass(class{decorations;constructor(e){this.decorations=a8e.createDeco(e)}update(e){this.decorations=a8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),pqn=fqn;function hqn(){const e=mI({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:[pe.className,pe.propertyName],color:"var(--neutral6)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:pe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.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 mqn(){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:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[pe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:[pe.deleted],color:"var(--accent2)"},{tag:pe.invalid,color:"var(--error)"},{tag:[pe.standard(pe.tagName)],color:"var(--accent1)"}]);return[e,Z1(t)]}const n0=()=>{const e=WC().resolvedTheme==="dark";return v.useMemo(()=>e?hqn():mqn(),[e])},gqn=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"}}),vqn=eh.highest(It.editorAttributes.of({style:"outline: none"})),yqn=eh.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),bqn=[vqn,yqn],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=n0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const w=[...bqn];return f&&w.push(It.lineWrapping),a==="json"?w.push($p):a==="markdown"&&w.push(rke({base:WO,codeLanguages:X1t})),i&&a==="markdown"&&w.push(pqn),c&&a==="markdown"&&w.push(lqn(c)),p===!1&&w.push(cs.readOnly.of(!0)),w},[a,i,c,p,f]);return o.jsxs("div",{className:X(gqn({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}})]})}),xqn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},wqn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=n0(),{settings:r,setSettings:s}=pH(),a=r?.tracingOptions,i=v.useMemo(()=>xqn(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"})})]})},Sqn=()=>{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(Ve,{children:o.jsx(rq,{})})})}),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(wqn,{onSaved:()=>t(!1)})})]})})]})};function kqn({status:e}){switch(e){case"running":return o.jsx(Xt,{});case"failed":return o.jsx(ps,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(gT,{className:"text-neutral3"});case"suspended":return o.jsx(XV,{className:"text-accent3"});case"success":return o.jsx(la,{className:"text-accent1"});default:return o.jsx(gT,{className:"text-neutral3"})}}function J1t({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(kqn,{status:e})})}),o.jsx(Rn,{children:e})]})}var bee,i8e;function fke(){if(i8e)return bee;i8e=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 bee=r,bee}var xee,o8e;function Oqn(){return o8e||(o8e=1,xee="2.2.4"),xee}var wee,l8e;function Cqn(){return l8e||(l8e=1,wee={Graph:fke(),version:Oqn()}),wee}var See,c8e;function _qn(){if(c8e)return See;c8e=1;var e=fke();See={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 See}var kee,u8e;function Eqn(){if(u8e)return kee;u8e=1,kee=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 kee}var Oee,d8e;function eSt(){if(d8e)return Oee;d8e=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 Oee=e,Oee}var Cee,f8e;function tSt(){if(f8e)return Cee;f8e=1;var e=eSt();Cee=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 Cee}var _ee,p8e;function jqn(){if(p8e)return _ee;p8e=1;var e=tSt();_ee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return _ee}var Eee,h8e;function nSt(){if(h8e)return Eee;h8e=1,Eee=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 Eee}var jee,m8e;function Tqn(){if(m8e)return jee;m8e=1;var e=nSt();jee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return jee}var Tee,g8e;function Nqn(){if(g8e)return Tee;g8e=1,Tee=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 Tee}var Nee,v8e;function rSt(){if(v8e)return Nee;v8e=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 Nee=e,e.CycleException=t,Nee}var Iee,y8e;function Iqn(){if(y8e)return Iee;y8e=1;var e=rSt();Iee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Iee}var Aee,b8e;function sSt(){if(b8e)return Aee;b8e=1,Aee=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 Aee}var Ree,x8e;function Aqn(){if(x8e)return Ree;x8e=1;var e=sSt();Ree=t;function t(n,r){return e(n,r,"post")}return Ree}var Pee,w8e;function Rqn(){if(w8e)return Pee;w8e=1;var e=sSt();Pee=t;function t(n,r){return e(n,r,"pre")}return Pee}var $ee,S8e;function Pqn(){if(S8e)return $ee;S8e=1;var e=fke(),t=eSt();$ee=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 $ee}var Mee,k8e;function $qn(){return k8e||(k8e=1,Mee={components:Eqn(),dijkstra:tSt(),dijkstraAll:jqn(),findCycles:Tqn(),floydWarshall:Nqn(),isAcyclic:Iqn(),postorder:Aqn(),preorder:Rqn(),prim:Pqn(),tarjan:nSt(),topsort:rSt()}),Mee}var Dee,O8e;function Fg(){if(O8e)return Dee;O8e=1;var e=Cqn();return Dee={Graph:e.Graph,json:_qn(),alg:$qn(),version:e.version},Dee}var Lee,C8e;function Mqn(){if(C8e)return Lee;C8e=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 Lee=e,Lee}var Fee,_8e;function Dqn(){if(_8e)return Fee;_8e=1;let e=Fg().Graph,t=Mqn();Fee=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),w=b+x;f.setEdge(y.v,y.w,w),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 Fee}var zee,E8e;function Ll(){if(E8e)return zee;E8e=1;let e=Fg().Graph;zee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:w,zipObject:E};function t(j,N,I,A){for(var R=A;j.hasNode(R);)R=w(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 w(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 C(j,N){const I={};for(const A of N)j[A]!==void 0&&(I[A]=j[A]);return I}function _(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 zee}var Bee,j8e;function Lqn(){if(j8e)return Bee;j8e=1;let e=Dqn(),t=Ll().uniqueId;Bee={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 Bee}var Uee,T8e;function Fqn(){if(T8e)return Uee;T8e=1;let e=Ll();Uee={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 Uee}var Vee,N8e;function IB(){if(N8e)return Vee;N8e=1;const{applyWithChunking:e}=Ll();Vee={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 Vee}var qee,I8e;function aSt(){if(I8e)return qee;I8e=1;var e=Fg().Graph,t=IB().slack;qee=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 qee}var Hee,A8e;function zqn(){if(A8e)return Hee;A8e=1;var e=aSt(),t=IB().slack,n=IB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ll().simplify;Hee=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 w=e(x);d(w),l(w,x);for(var k,C;k=p(w);)C=h(w,x,k),m(w,x,k,C)}function l(x,w){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,w,C))}function c(x,w,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,w,k)}function u(x,w,k){var C=x.node(k),_=C.parent,E=!0,j=w.edge(k,_),N=0;return j||(E=!1,j=w.edge(_,k)),N=j.weight,w.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,D=w.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,w){arguments.length<2&&(w=x.nodes()[0]),f(x,{},1,w)}function f(x,w,k,C,_){var E=k,j=x.node(C);return w[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(w,N)||(k=f(x,w,k,N,C))}),j.low=E,j.lim=k++,_?j.parent=_:delete j.parent,k}function p(x){return x.edges().find(w=>x.edge(w).cutvalue<0)}function h(x,w,k){var C=k.v,_=k.w;w.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),j=x.node(_),N=E,I=!1;E.lim>j.lim&&(N=j,I=!0);var A=w.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(w,L)<t(w,R)?L:R)}function m(x,w,k,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,w),g(x,w)}function g(x,w){var k=x.nodes().find(_=>!w.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,j=w.edge(_,E),N=!1;j||(j=w.edge(E,_),N=!0),w.node(_).rank=w.node(E).rank+(N?j.minlen:-j.minlen)})}function y(x,w,k){return x.hasEdge(w,k)}function b(x,w,k){return k.low<=w.lim&&w.lim<=k.lim}return Hee}var Wee,R8e;function Bqn(){if(R8e)return Wee;R8e=1;var e=IB(),t=e.longestPath,n=aSt(),r=zqn();Wee=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 Wee}var Zee,P8e;function Uqn(){if(P8e)return Zee;P8e=1,Zee=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 Zee}var Gee,$8e;function Vqn(){if($8e)return Gee;$8e=1;let e=Ll();Gee={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),w=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,C=x.borderTop?u:2*u,_=w!==k?1:d-f[p]+1;i.setEdge(m,w,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,g,{weight:C,minlen:_,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 Gee}var Qee,M8e;function qqn(){if(M8e)return Qee;M8e=1;let e=Ll();Qee=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 Qee}var Yee,D8e;function Hqn(){if(D8e)return Yee;D8e=1,Yee={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 Yee}var Kee,L8e;function Wqn(){if(L8e)return Kee;L8e=1;let e=Ll();Kee=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 Kee}var Xee,F8e;function Zqn(){if(F8e)return Xee;F8e=1;let e=Ll().zipObject;Xee=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 Xee}var Jee,z8e;function Gqn(){if(z8e)return Jee;z8e=1,Jee=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 Jee}var ete,B8e;function Qqn(){if(B8e)return ete;B8e=1;let e=Ll();ete=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 ete}var tte,U8e;function Yqn(){if(U8e)return tte;U8e=1;let e=Ll();tte=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 tte}var nte,V8e;function Kqn(){if(V8e)return nte;V8e=1;let e=Gqn(),t=Qqn(),n=Yqn();nte=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 w=r(i,x.v,c,u);m[x.v]=w,Object.hasOwn(w,"barycenter")&&a(x,w)}});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]),w=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+w.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 nte}var rte,q8e;function Xqn(){if(q8e)return rte;q8e=1;let e=Fg().Graph,t=Ll();rte=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 rte}var ste,H8e;function Jqn(){if(H8e)return ste;H8e=1,ste=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 ste}var ate,W8e;function eHn(){if(W8e)return ate;W8e=1;let e=Wqn(),t=Zqn(),n=Kqn(),r=Xqn(),s=Jqn(),a=Fg().Graph,i=Ll();ate=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 w=0,k=0;k<4;++w,++k){u(w%2?m:g,w%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}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 ate}var ite,Z8e;function tHn(){if(Z8e)return ite;Z8e=1;let e=Fg().Graph,t=Ll();ite={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 w(k,C){let _=0,E=0,j=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:j;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(z=>{let H=y.node(z),F=H.order;(F<_||L<F)&&!(H.dummy&&y.node(D).dummy)&&a(x,z,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(w),x}function r(y,b){let x={};function w(C,_,E,j,N){let I;t.range(_,E).forEach(A=>{I=C[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 _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(j=y.node(R[0]).order,w(_,N,A,E,j),N=A,E=j)}w(_,N,_.length,j,C.length)}),_}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 w=y[b];w||(y[b]=w={}),w[x]=!0}function i(y,b,x){if(b>x){let w=b;b=x,x=w}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,w){let k={},C={},_={};return b.forEach(E=>{E.forEach((j,N)=>{k[j]=j,C[j]=j,_[j]=N})}),b.forEach(E=>{let j=-1;E.forEach(N=>{let I=w(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&j<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],j=_[D])}}})}),{root:k,align:C}}function c(y,b,x,w,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function j(A,R){let L=_.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){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,z)=>Math.min(D,C[z.w]-_.edge(z)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return j(N,_.predecessors.bind(_)),j(I,_.successors.bind(_)),Object.keys(w).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,w){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,w);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(_(y,N,j),R||0))}j=N})}),k}function d(y,b){return Object.values(b).reduce((x,w)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(w).forEach(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),C=Math.min(j-N,C)});const _=k-C;return _<x[0]&&(x=[_,w]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),w=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(C=>{["l","r"].forEach(_=>{let E=C+_,j=y[E];if(j===b)return;let N=Object.values(j),I=w-t.applyWithChunking(Math.min,N);_!=="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,w)=>{if(b)return y[b.toLowerCase()][w];{let k=Object.values(y).map(C=>C[w]).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)),w={},k;["u","d"].forEach(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let j=(_==="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)),w[_+E]=I})});let C=d(y,w);return f(w,C),p(w,y.graph().align)}function m(y,b,x){return(w,k,C)=>{let _=w.node(k),E=w.node(C),j=0,N;if(j+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(j+=x?N:-N),N=0,j+=(_.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 ite}var ote,G8e;function nHn(){if(G8e)return ote;G8e=1;let e=Ll(),t=tHn().positionX;ote=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 ote}var lte,Q8e;function rHn(){if(Q8e)return lte;Q8e=1;let e=Lqn(),t=Fqn(),n=Bqn(),r=Ll().normalizeRanks,s=Uqn(),a=Ll().removeEmptyRanks,i=Vqn(),l=qqn(),c=Hqn(),u=eHn(),d=nHn(),f=Ll(),p=Fg().Graph;lte=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"],w=["width","height","rank"],k={width:0,height:0},C=["minlen","weight","width","height","labeloffset"],_={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,w);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({},_,Q(ne,C),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 fe(Y){let re=Y.x,le=Y.y,ue=Y.width,oe=Y.height;U=Math.min(U,re-ue/2),Z=Math.max(Z,re+ue/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>fe($.node(Y))),$.edges().forEach(Y=>{let re=$.edge(Y);Object.hasOwn(re,"x")&&fe(re)}),U-=J,K-=ae,$.nodes().forEach(Y=>{let re=$.node(Y);re.x-=U,re.y-=K}),$.edges().forEach(Y=>{let re=$.edge(Y);re.points.forEach(le=>{le.x-=U,le.y-=K}),Object.hasOwn(re,"x")&&(re.x-=U),Object.hasOwn(re,"y")&&(re.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 lte}var cte,Y8e;function sHn(){if(Y8e)return cte;Y8e=1;let e=Ll(),t=Fg().Graph;cte={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 cte}var ute,K8e;function aHn(){return K8e||(K8e=1,ute="1.1.8"),ute}var dte,X8e;function iHn(){return X8e||(X8e=1,dte={graphlib:Fg(),layout:rHn(),debug:sHn(),util:{time:Ll().time,notime:Ll().notime},version:aHn()}),dte}var oHn=iHn();const J8e=Ul(oHn);function Hl(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=Hl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var lHn={value:()=>{}};function BH(){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 B8(n)}function B8(e){this._=e}function cHn(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}})}B8.prototype=BH.prototype={constructor:B8,on:function(e,t){var n=this._,r=cHn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=uHn(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]=e9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=e9e(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 B8(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 uHn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function e9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=lHn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var mge="http://www.w3.org/1999/xhtml";const t9e={svg:"http://www.w3.org/2000/svg",xhtml:mge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function UH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),t9e.hasOwnProperty(t)?{space:t9e[t],local:e}:e}function dHn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===mge&&t.documentElement.namespaceURI===mge?t.createElement(e):t.createElementNS(n,e)}}function fHn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function iSt(e){var t=UH(e);return(t.local?fHn:dHn)(t)}function pHn(){}function pke(e){return e==null?pHn:function(){return this.querySelector(e)}}function hHn(e){typeof e!="function"&&(e=pke(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 mHn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function gHn(){return[]}function oSt(e){return e==null?gHn:function(){return this.querySelectorAll(e)}}function vHn(e){return function(){return mHn(e.apply(this,arguments))}}function yHn(e){typeof e=="function"?e=vHn(e):e=oSt(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 lSt(e){return function(){return this.matches(e)}}function cSt(e){return function(t){return t.matches(e)}}var bHn=Array.prototype.find;function xHn(e){return function(){return bHn.call(this.children,e)}}function wHn(){return this.firstElementChild}function SHn(e){return this.select(e==null?wHn:xHn(typeof e=="function"?e:cSt(e)))}var kHn=Array.prototype.filter;function OHn(){return Array.from(this.children)}function CHn(e){return function(){return kHn.call(this.children,e)}}function _Hn(e){return this.selectAll(e==null?OHn:CHn(typeof e=="function"?e:cSt(e)))}function EHn(e){typeof e!="function"&&(e=lSt(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 uSt(e){return new Array(e.length)}function jHn(){return new Zp(this._enter||this._groups.map(uSt),this._parents)}function AB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}AB.prototype={constructor:AB,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 THn(e){return function(){return e}}function NHn(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 AB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function IHn(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 AB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function AHn(e){return e.__data__}function RHn(e,t){if(!arguments.length)return Array.from(this,AHn);var n=t?IHn:NHn,r=this._parents,s=this._groups;typeof e!="function"&&(e=THn(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=PHn(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,w=0,k,C;x<m;++x)if(k=g[x]){for(x>=w&&(w=x+1);!(C=y[w])&&++w<m;);k._next=C||null}}return i=new Zp(i,r),i._enter=l,i._exit=c,i}function PHn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function $Hn(){return new Zp(this._exit||this._groups.map(uSt),this._parents)}function MHn(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 DHn(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 LHn(){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 FHn(e){e||(e=zHn);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 zHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function BHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function UHn(){return Array.from(this)}function VHn(){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 qHn(){let e=0;for(const t of this)++e;return e}function HHn(){return!this.node()}function WHn(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 ZHn(e){return function(){this.removeAttribute(e)}}function GHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function QHn(e,t){return function(){this.setAttribute(e,t)}}function YHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function KHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function XHn(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 JHn(e,t){var n=UH(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?GHn:ZHn:typeof t=="function"?n.local?XHn:KHn:n.local?YHn:QHn)(n,t))}function dSt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function eWn(e){return function(){this.style.removeProperty(e)}}function tWn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function nWn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function rWn(e,t,n){return arguments.length>1?this.each((t==null?eWn:typeof t=="function"?nWn:tWn)(e,t,n??"")):GT(this.node(),e)}function GT(e,t){return e.style.getPropertyValue(t)||dSt(e).getComputedStyle(e,null).getPropertyValue(t)}function sWn(e){return function(){delete this[e]}}function aWn(e,t){return function(){this[e]=t}}function iWn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function oWn(e,t){return arguments.length>1?this.each((t==null?sWn:typeof t=="function"?iWn:aWn)(e,t)):this.node()[e]}function fSt(e){return e.trim().split(/^|\s+/)}function hke(e){return e.classList||new pSt(e)}function pSt(e){this._node=e,this._names=fSt(e.getAttribute("class")||"")}pSt.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 hSt(e,t){for(var n=hke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function mSt(e,t){for(var n=hke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function lWn(e){return function(){hSt(this,e)}}function cWn(e){return function(){mSt(this,e)}}function uWn(e,t){return function(){(t.apply(this,arguments)?hSt:mSt)(this,e)}}function dWn(e,t){var n=fSt(e+"");if(arguments.length<2){for(var r=hke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?uWn:t?lWn:cWn)(n,t))}function fWn(){this.textContent=""}function pWn(e){return function(){this.textContent=e}}function hWn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function mWn(e){return arguments.length?this.each(e==null?fWn:(typeof e=="function"?hWn:pWn)(e)):this.node().textContent}function gWn(){this.innerHTML=""}function vWn(e){return function(){this.innerHTML=e}}function yWn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function bWn(e){return arguments.length?this.each(e==null?gWn:(typeof e=="function"?yWn:vWn)(e)):this.node().innerHTML}function xWn(){this.nextSibling&&this.parentNode.appendChild(this)}function wWn(){return this.each(xWn)}function SWn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function kWn(){return this.each(SWn)}function OWn(e){var t=typeof e=="function"?e:iSt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function CWn(){return null}function _Wn(e,t){var n=typeof e=="function"?e:iSt(e),r=t==null?CWn:typeof t=="function"?t:pke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function EWn(){var e=this.parentNode;e&&e.removeChild(this)}function jWn(){return this.each(EWn)}function TWn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function NWn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function IWn(e){return this.select(e?NWn:TWn)}function AWn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function RWn(e){return function(t){e.call(this,t,this.__data__)}}function PWn(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 $Wn(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 MWn(e,t,n){return function(){var r=this.__on,s,a=RWn(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 DWn(e,t,n){var r=PWn(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?MWn:$Wn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function gSt(e,t,n){var r=dSt(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 LWn(e,t){return function(){return gSt(this,e,t)}}function FWn(e,t){return function(){return gSt(this,e,t.apply(this,arguments))}}function zWn(e,t){return this.each((typeof t=="function"?FWn:LWn)(e,t))}function*BWn(){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 vSt=[null];function Zp(e,t){this._groups=e,this._parents=t}function H3(){return new Zp([[document.documentElement]],vSt)}function UWn(){return this}Zp.prototype=H3.prototype={constructor:Zp,select:hHn,selectAll:yHn,selectChild:SHn,selectChildren:_Hn,filter:EHn,data:RHn,enter:jHn,exit:$Hn,join:MHn,merge:DHn,selection:UWn,order:LHn,sort:FHn,call:BHn,nodes:UHn,node:VHn,size:qHn,empty:HHn,each:WHn,attr:JHn,style:rWn,property:oWn,classed:dWn,text:mWn,html:bWn,raise:wWn,lower:kWn,append:OWn,insert:_Wn,remove:jWn,clone:IWn,datum:AWn,on:DWn,dispatch:zWn,[Symbol.iterator]:BWn};function Op(e){return typeof e=="string"?new Zp([[document.querySelector(e)]],[document.documentElement]):new Zp([[e]],vSt)}function VWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=VWn(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 qWn={passive:!1},IM={capture:!0,passive:!1};function fte(e){e.stopImmediatePropagation()}function Yj(e){e.preventDefault(),e.stopImmediatePropagation()}function ySt(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",Yj,IM);"onselectstart"in t?n.on("selectstart.drag",Yj,IM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function bSt(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",Yj,IM),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 lF=e=>()=>e;function gge(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}})}gge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function HWn(e){return!e.ctrlKey&&!e.button}function WWn(){return this.parentNode}function ZWn(e,t){return t??{x:e.x,y:e.y}}function GWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function xSt(){var e=HWn,t=WWn,n=ZWn,r=GWn,s={},a=BH("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,qWn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=w(this,t.call(this,k,C),k,C,"mouse");_&&(Op(k.view).on("mousemove.drag",m,IM).on("mouseup.drag",g,IM),ySt(k.view),fte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(Yj(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function g(k){Op(k.view).on("mousemove.drag mouseup.drag",null),bSt(k.view,u),Yj(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),j=_.length,N,I;for(N=0;N<j;++N)(I=w(this,E,k,C,_[N].identifier,_[N]))&&(fte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,j;for(E=0;E<_;++E)(j=s[C[E].identifier])&&(Yj(k),j("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(j=s[C[E].identifier])&&(fte(k),j("end",k,C[E]))}function w(k,C,_,E,j,N){var I=a.copy(),A=og(N||_,C),R,L,D;if((D=n.call(k,new gge("beforestart",{sourceEvent:_,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,C),M=i;break}I.call(H,k,new gge(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:lF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:lF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:lF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:lF(!!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 mke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function wSt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function W3(){}var AM=.7,RB=1/AM,Kj="\\s*([+-]?\\d+)\\s*",RM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",iy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",QWn=/^#([0-9a-f]{3,8})$/,YWn=new RegExp(`^rgb\\(${Kj},${Kj},${Kj}\\)$`),KWn=new RegExp(`^rgb\\(${iy},${iy},${iy}\\)$`),XWn=new RegExp(`^rgba\\(${Kj},${Kj},${Kj},${RM}\\)$`),JWn=new RegExp(`^rgba\\(${iy},${iy},${iy},${RM}\\)$`),eZn=new RegExp(`^hsl\\(${RM},${iy},${iy}\\)$`),tZn=new RegExp(`^hsla\\(${RM},${iy},${iy},${RM}\\)$`),n9e={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};mke(W3,GO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:r9e,formatHex:r9e,formatHex8:nZn,formatHsl:rZn,formatRgb:s9e,toString:s9e});function r9e(){return this.rgb().formatHex()}function nZn(){return this.rgb().formatHex8()}function rZn(){return SSt(this).formatHsl()}function s9e(){return this.rgb().formatRgb()}function GO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=QWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?a9e(t):n===3?new gf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?cF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?cF(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=YWn.exec(e))?new gf(t[1],t[2],t[3],1):(t=KWn.exec(e))?new gf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=XWn.exec(e))?cF(t[1],t[2],t[3],t[4]):(t=JWn.exec(e))?cF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=eZn.exec(e))?l9e(t[1],t[2]/100,t[3]/100,1):(t=tZn.exec(e))?l9e(t[1],t[2]/100,t[3]/100,t[4]):n9e.hasOwnProperty(e)?a9e(n9e[e]):e==="transparent"?new gf(NaN,NaN,NaN,0):null}function a9e(e){return new gf(e>>16&255,e>>8&255,e&255,1)}function cF(e,t,n,r){return r<=0&&(e=t=n=NaN),new gf(e,t,n,r)}function sZn(e){return e instanceof W3||(e=GO(e)),e?(e=e.rgb(),new gf(e.r,e.g,e.b,e.opacity)):new gf}function vge(e,t,n,r){return arguments.length===1?sZn(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}mke(gf,vge,wSt(W3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?AM:Math.pow(AM,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gf(nO(this.r),nO(this.g),nO(this.b),PB(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:i9e,formatHex:i9e,formatHex8:aZn,formatRgb:o9e,toString:o9e}));function i9e(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}`}function aZn(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}${Lk((isNaN(this.opacity)?1:this.opacity)*255)}`}function o9e(){const e=PB(this.opacity);return`${e===1?"rgb(":"rgba("}${nO(this.r)}, ${nO(this.g)}, ${nO(this.b)}${e===1?")":`, ${e})`}`}function PB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Lk(e){return e=nO(e),(e<16?"0":"")+e.toString(16)}function l9e(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 SSt(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof W3||(e=GO(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 iZn(e,t,n,r){return arguments.length===1?SSt(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}mke(hg,iZn,wSt(W3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?AM:Math.pow(AM,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(pte(e>=240?e-240:e+120,s,r),pte(e,s,r),pte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(c9e(this.h),uF(this.s),uF(this.l),PB(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=PB(this.opacity);return`${e===1?"hsl(":"hsla("}${c9e(this.h)}, ${uF(this.s)*100}%, ${uF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function c9e(e){return e=(e||0)%360,e<0?e+360:e}function uF(e){return Math.max(0,Math.min(1,e||0))}function pte(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 gke=e=>()=>e;function oZn(e,t){return function(n){return e+n*t}}function lZn(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 cZn(e){return(e=+e)==1?kSt:function(t,n){return n-t?lZn(t,n,e):gke(isNaN(t)?n:t)}}function kSt(e,t){var n=t-e;return n?oZn(e,n):gke(isNaN(e)?t:e)}const $B=(function e(t){var n=cZn(t);function r(s,a){var i=n((s=vge(s)).r,(a=vge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=kSt(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 uZn(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 dZn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function fZn(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]=hx(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 pZn(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 hZn(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]=hx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var yge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hte=new RegExp(yge.source,"g");function mZn(e){return function(){return e}}function gZn(e){return function(t){return e(t)+""}}function OSt(e,t){var n=yge.lastIndex=hte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=yge.exec(e))&&(s=hte.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=hte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?gZn(c[0].x):mZn(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 hx(e,t){var n=typeof t,r;return t==null||n==="boolean"?gke(t):(n==="number"?cg:n==="string"?(r=GO(t))?(t=r,$B):OSt:t instanceof GO?$B:t instanceof Date?pZn:dZn(t)?uZn:Array.isArray(t)?fZn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?hZn:cg)(e,t)}function vke(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var u9e=180/Math.PI,bge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function CSt(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)*u9e,skewX:Math.atan(c)*u9e,scaleX:i,scaleY:l}}var dF;function vZn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?bge:CSt(t.a,t.b,t.c,t.d,t.e,t.f)}function yZn(e){return e==null||(dF||(dF=document.createElementNS("http://www.w3.org/2000/svg","g")),dF.setAttribute("transform",e),!(e=dF.transform.baseVal.consolidate()))?bge:(e=e.matrix,CSt(e.a,e.b,e.c,e.d,e.e,e.f))}function _St(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 bZn=_St(vZn,"px, ","px)","deg)"),xZn=_St(yZn,", ",")",")"),wZn=1e-12;function d9e(e){return((e=Math.exp(e))+1/e)/2}function SZn(e){return((e=Math.exp(e))-1/e)/2}function kZn(e){return((e=Math.exp(2*e))-1)/(e+1)}const U8=(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<wZn)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),w=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(2*p*n*x),C=Math.log(Math.sqrt(w*w+1)-w),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var j=E*b,N=d9e(C),I=u/(n*x)*(N*kZn(t*j+C)-SZn(C));return[l+I*h,c+I*m,u*N/d9e(t*j+C)]}}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 OZn(e,t){t===void 0&&(t=e,e=hx);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 QT=0,VP=0,_R=0,ESt=1e3,MB,qP,DB=0,QO=0,VH=0,PM=typeof performance=="object"&&performance.now?performance:Date,jSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function yke(){return QO||(jSt(CZn),QO=PM.now()+VH)}function CZn(){QO=0}function LB(){this._call=this._time=this._next=null}LB.prototype=TSt.prototype={constructor:LB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?yke():+n)+(t==null?0:+t),!this._next&&qP!==this&&(qP?qP._next=this:MB=this,qP=this),this._call=e,this._time=n,xge()},stop:function(){this._call&&(this._call=null,this._time=1/0,xge())}};function TSt(e,t,n){var r=new LB;return r.restart(e,t,n),r}function _Zn(){yke(),++QT;for(var e=MB,t;e;)(t=QO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--QT}function f9e(){QO=(DB=PM.now())+VH,QT=VP=0;try{_Zn()}finally{QT=0,jZn(),QO=0}}function EZn(){var e=PM.now(),t=e-DB;t>ESt&&(VH-=t,DB=e)}function jZn(){for(var e,t=MB,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:MB=n);qP=e,xge(r)}function xge(e){if(!QT){VP&&(VP=clearTimeout(VP));var t=e-QO;t>24?(e<1/0&&(VP=setTimeout(f9e,e-PM.now()-VH)),_R&&(_R=clearInterval(_R))):(_R||(DB=PM.now(),_R=setInterval(EZn,ESt)),QT=1,jSt(f9e))}}function p9e(e,t,n){var r=new LB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var TZn=BH("start","end","cancel","interrupt"),NZn=[],NSt=0,h9e=1,wge=2,V8=3,m9e=4,Sge=5,q8=6;function qH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;IZn(e,n,{name:t,index:r,group:s,on:TZn,tween:NZn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:NSt})}function bke(e,t){var n=Gg(e,t);if(n.state>NSt)throw new Error("too late; already scheduled");return n}function Hy(e,t){var n=Gg(e,t);if(n.state>V8)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 IZn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=TSt(a,0,n.time);function a(u){n.state=h9e,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!==h9e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===V8)return p9e(i);h.state===m9e?(h.state=q8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=q8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(p9e(function(){n.state===V8&&(n.state=m9e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=wge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===wge){for(n.state=V8,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=Sge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===Sge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=q8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function H8(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>wge&&r.state<Sge,r.state=q8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function AZn(e){return this.each(function(){H8(this,e)})}function RZn(e,t){var n,r;return function(){var s=Hy(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 PZn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Hy(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 $Zn(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?RZn:PZn)(n,e,t))}function xke(e,t,n){var r=e._id;return e.each(function(){var s=Hy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function ISt(e,t){var n;return(typeof t=="number"?cg:t instanceof GO?$B:(n=GO(t))?(t=n,$B):OSt)(e,t)}function MZn(e){return function(){this.removeAttribute(e)}}function DZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function LZn(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 FZn(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 zZn(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 BZn(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 UZn(e,t){var n=UH(e),r=n==="transform"?xZn:ISt;return this.attrTween(e,typeof t=="function"?(n.local?BZn:zZn)(n,r,xke(this,"attr."+e,t)):t==null?(n.local?DZn:MZn)(n):(n.local?FZn:LZn)(n,r,t))}function VZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function qZn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function HZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&qZn(e,a)),n}return s._value=t,s}function WZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&VZn(e,a)),n}return s._value=t,s}function ZZn(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=UH(e);return this.tween(n,(r.local?HZn:WZn)(r,t))}function GZn(e,t){return function(){bke(this,e).delay=+t.apply(this,arguments)}}function QZn(e,t){return t=+t,function(){bke(this,e).delay=t}}function YZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?GZn:QZn)(t,e)):Gg(this.node(),t).delay}function KZn(e,t){return function(){Hy(this,e).duration=+t.apply(this,arguments)}}function XZn(e,t){return t=+t,function(){Hy(this,e).duration=t}}function JZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?KZn:XZn)(t,e)):Gg(this.node(),t).duration}function eGn(e,t){if(typeof t!="function")throw new Error;return function(){Hy(this,e).ease=t}}function tGn(e){var t=this._id;return arguments.length?this.each(eGn(t,e)):Gg(this.node(),t).ease}function nGn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Hy(this,e).ease=n}}function rGn(e){if(typeof e!="function")throw new Error;return this.each(nGn(this._id,e))}function sGn(e){typeof e!="function"&&(e=lSt(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 Px(r,this._parents,this._name,this._id)}function aGn(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 Px(i,this._parents,this._name,this._id)}function iGn(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 oGn(e,t,n){var r,s,a=iGn(t)?bke:Hy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function lGn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(oGn(n,e,t))}function cGn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function uGn(){return this.on("end.remove",cGn(this._id))}function dGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=pke(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,qH(u[p],t,n,p,u,Gg(d,n)));return new Px(a,this._parents,t,n)}function fGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=oSt(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])&&qH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Px(a,i,t,n)}var pGn=H3.prototype.constructor;function hGn(){return new pGn(this._groups,this._parents)}function mGn(e,t){var n,r,s;return function(){var a=GT(this,e),i=(this.style.removeProperty(e),GT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function ASt(e){return function(){this.style.removeProperty(e)}}function gGn(e,t,n){var r,s=n+"",a;return function(){var i=GT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function vGn(e,t,n){var r,s,a;return function(){var i=GT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),GT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function yGn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Hy(this,e),u=c.on,d=c.value[a]==null?l||(l=ASt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function bGn(e,t,n){var r=(e+="")=="transform"?bZn:ISt;return t==null?this.styleTween(e,mGn(e,r)).on("end.style."+e,ASt(e)):typeof t=="function"?this.styleTween(e,vGn(e,r,xke(this,"style."+e,t))).each(yGn(this._id,e)):this.styleTween(e,gGn(e,r,t),n).on("end.style."+e,null)}function xGn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function wGn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&xGn(e,i,n)),r}return a._value=t,a}function SGn(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,wGn(e,t,n??""))}function kGn(e){return function(){this.textContent=e}}function OGn(e){return function(){var t=e(this);this.textContent=t??""}}function CGn(e){return this.tween("text",typeof e=="function"?OGn(xke(this,"text",e)):kGn(e==null?"":e+""))}function _Gn(e){return function(t){this.textContent=e.call(this,t)}}function EGn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&_Gn(s)),t}return r._value=e,r}function jGn(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,EGn(e))}function TGn(){for(var e=this._name,t=this._id,n=RSt(),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);qH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Px(r,this._parents,e,n)}function NGn(){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=Hy(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 IGn=0;function Px(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function RSt(){return++IGn}var kb=H3.prototype;Px.prototype={constructor:Px,select:dGn,selectAll:fGn,selectChild:kb.selectChild,selectChildren:kb.selectChildren,filter:sGn,merge:aGn,selection:hGn,transition:TGn,call:kb.call,nodes:kb.nodes,node:kb.node,size:kb.size,empty:kb.empty,each:kb.each,on:lGn,attr:UZn,attrTween:ZZn,style:bGn,styleTween:SGn,text:CGn,textTween:jGn,remove:uGn,tween:$Zn,delay:YZn,duration:JZn,ease:tGn,easeVarying:rGn,end:NGn,[Symbol.iterator]:kb[Symbol.iterator]};function AGn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var RGn={time:null,delay:0,duration:250,ease:AGn};function PGn(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 $Gn(e){var t,n;e instanceof Px?(t=e._id,e=e._name):(t=RSt(),(n=RGn).time=yke(),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])&&qH(c,e,t,u,i,n||PGn(c,t));return new Px(r,this._parents,e,t)}H3.prototype.interrupt=AZn;H3.prototype.transition=$Gn;const fF=e=>()=>e;function MGn(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 rx(e,t,n){this.k=e,this.x=t,this.y=n}rx.prototype={constructor:rx,scale:function(e){return e===1?this:new rx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new rx(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 HH=new rx(1,0,0);PSt.prototype=rx.prototype;function PSt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return HH;return e.__zoom}function mte(e){e.stopImmediatePropagation()}function ER(e){e.preventDefault(),e.stopImmediatePropagation()}function DGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function LGn(){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 g9e(){return this.__zoom||HH}function FGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function BGn(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 $St(){var e=DGn,t=LGn,n=BGn,r=FGn,s=zGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=U8,u=BH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",g9e).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",g9e),D!==B?C(D,z,H,F):B.interrupt().each(function(){_(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(w(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(HH.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 rx(z,D.x,D.y)}function w(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 rx(D.k,F,B)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,z,H,F){D.on("start.zoom",function(){_(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(F).end()}).tween("zoom",function(){var B=this,V=arguments,M=_(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 rx(J,q[0]-ee[0]*J,q[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(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 MGn(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=_(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)],H8(this),H.start()}ER(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(w(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=_(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;ySt(D.view),mte(D),F.mouse=[V,this.__zoom.invert(V)],H8(this),F.start();function q(U){if(ER(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(w(F.that.__zoom,F.mouse[0]=og(U,H),F.mouse[1]),F.extent,i))}function $(U){B.on("mousemove.zoom mouseup.zoom",null),bSt(U.view,F.moved),ER(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(w(x(H,V),F,B),t.apply(this,z),i);ER(D),l>0?Op(this).transition().duration(l).call(C,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=_(this,z,D.changedTouches.length===F).event(D),V,M,Q,q;for(mte(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)),H8(this),B.start())}}function R(D,...z){if(this.__zooming){var H=_(this,z).event(D),F=D.changedTouches,B=F.length,V,M,Q,q;for(ER(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(w(M,Q,q),H.extent,i))}}function L(D,...z){if(this.__zooming){var H=_(this,z).event(D),F=D.changedTouches,B=F.length,V,M;for(mte(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:fF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:fF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:fF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:fF([[+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."},$M=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],MSt=["Enter"," ","Escape"],DSt={"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 YT;(function(e){e.Strict="strict",e.Loose="loose"})(YT||(YT={}));var rO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(rO||(rO={}));var MM;(function(e){e.Partial="partial",e.Full="full"})(MM||(MM={}));const LSt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var mw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(mw||(mw={}));var DM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(DM||(DM={}));var sr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(sr||(sr={}));const v9e={[sr.Left]:sr.Right,[sr.Right]:sr.Left,[sr.Top]:sr.Bottom,[sr.Bottom]:sr.Top};function FSt(e){return e===null?null:e?"valid":"invalid"}const zSt=e=>"id"in e&&"source"in e&&"target"in e,UGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Z3=(e,t=[0,0])=>{const{width:n,height:r}=r0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},VGn=(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):wke(s)?s:t.nodeLookup.get(s.id));const l=i?FB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return WH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZH(n)},G3=(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=WH(n,FB(s)),r=!0)}),r?ZH(n):{x:0,y:0,width:0,height:0}},Ske=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...Y3(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=LM(l,XT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},qGn=(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 HGn(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 WGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=HGn(e,i),c=G3(l),u=kke(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 BSt({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&&JT(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=JT(f)?YO(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 ZGn({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=qGn(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 KT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),YO=(e={x:0,y:0},t,n)=>({x:KT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:KT(e.y,t[0][1],t[1][1]-(n?.height??0))});function USt(e,t,n){const{width:r,height:s}=r0(n),{x:a,y:i}=n.internals.positionAbsolute;return YO(e,[[a,i],[a+r,i+s]],t)}const y9e=(e,t,n)=>e<t?KT(Math.abs(e-t),1,t)/t:e>n?-KT(Math.abs(e-n),1,t)/t:0,VSt=(e,t,n=15,r=40)=>{const s=y9e(e.x,r,t.width-r)*n,a=y9e(e.y,r,t.height-r)*n;return[s,a]},WH=(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)}),kge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),XT=(e,t=[0,0])=>{const{x:n,y:r}=wke(e)?e.internals.positionAbsolute:Z3(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}},FB=(e,t=[0,0])=>{const{x:n,y:r}=wke(e)?e.internals.positionAbsolute:Z3(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)}},qSt=(e,t)=>ZH(WH(kge(e),kge(t))),LM=(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)},b9e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),GGn=(e,t)=>{},Q3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Y3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?Q3(l,i):l},zB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function fE(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 QGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=fE(e,n),s=fE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=fE(e.top??e.y??0,n),s=fE(e.bottom??e.y??0,n),a=fE(e.left??e.x??0,t),i=fE(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 YGn(e,t,n,r,s,a){const{x:i,y:l}=zB(e,[t,n,r]),{x:c,y:u}=zB({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 kke=(e,t,n,r,s,a)=>{const i=QGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=KT(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=YGn(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}},FM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function JT(e){return e!=null&&e!=="parent"}function r0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function HSt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function WSt(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 x9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function KGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function XGn(e){return{...DSt,...e||{}}}function S2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=Y3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?Q3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const Oke=e=>({width:e.offsetWidth,height:e.offsetHeight}),ZSt=e=>e?.getRootNode?.()||window?.document,JGn=["INPUT","SELECT","TEXTAREA"];function GSt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:JGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const QSt=e=>"clientX"in e,wg=(e,t)=>{const n=QSt(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)}},w9e=(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,...Oke(i)}})};function YSt({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 pF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function S9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case sr.Left:return[t-pF(t-r,a),n];case sr.Right:return[t+pF(r-t,a),n];case sr.Top:return[t,n-pF(n-s,a)];case sr.Bottom:return[t,n+pF(s-n,a)]}}function Cke({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,curvature:i=.25}){const[l,c]=S9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=S9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=YSt({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 KSt({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 eQn({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 tQn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=WH(FB(e),FB(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 LM(i,ZH(a))>0}const nQn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,rQn=(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)),sQn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||nQn;let s;return zSt(e)?s={...e}:s={...e,id:r(e)},rQn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function XSt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=KSt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const k9e={[sr.Left]:{x:-1,y:0},[sr.Right]:{x:1,y:0},[sr.Top]:{x:0,y:-1},[sr.Bottom]:{x:0,y:1}},aQn=({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 iQn({source:e,sourcePosition:t=sr.Bottom,target:n,targetPosition:r=sr.Top,center:s,offset:a,stepPosition:i}){const l=k9e[t],c=k9e[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=aQn({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},[,,w,k]=KSt({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 C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],g,y,w,k]}function oQn(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 Oge({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]=iQn({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+=oQn(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 C9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function lQn(e){const{sourceNode:t,targetNode:n}=e;if(!C9e(t)||!C9e(n))return null;const r=t.internals.handleBounds||_9e(t.handles),s=n.internals.handleBounds||_9e(n.handles),a=E9e(r?.source??[],e.sourceHandle),i=E9e(e.connectionMode===YT.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=KO(t,a,l),d=KO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function _9e(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 KO(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??r0(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 E9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Cge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function cQn(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=Cge(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 JSt=1e3,uQn=10,_ke={nodeOrigin:[0,0],nodeExtent:$M,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},dQn={..._ke,checkEquality:!0};function Eke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function fQn(e,t,n){const r=Eke(_ke,n);for(const s of e.values())if(s.parentId)Tke(s,e,t,r);else{const a=Z3(s,r.nodeOrigin),i=JT(s.extent)?s.extent:r.nodeExtent,l=YO(a,i,r0(s));s.internals.positionAbsolute=l}}function pQn(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 jke(e){return e==="manual"}function _ge(e,t,n,r={}){const s=Eke(dQn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!jke(s.zIndexMode)?JSt: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=Z3(d,s.nodeOrigin),h=JT(d.extent)?d.extent:s.nodeExtent,m=YO(p,h,r0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:pQn(d,f),z:ekt(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&&Tke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function hQn(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 Tke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Eke(_ke,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}hQn(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*uQn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!jke(c)?JSt:0,{x:p,y:h,z:m}=mQn(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 ekt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return jke(n)?r:r+(e.selected?t:0)}function mQn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=r0(e),u=Z3(e,n),d=JT(e.extent)?YO(u,e.extent,c):u;let f=YO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=USt(f,c,t));const p=ekt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function Nke(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??XT(l),u=qSt(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=r0(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(w=>w.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 gQn(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=Oke(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(),w=JT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=USt(k,g,t.get(m.parentId)):w&&(k=YO(k,w,g));const C={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:w9e("source",h.nodeElement,x,f,m.id),target:w9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Tke(C,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:XT(C,s)}))}}if(p.length>0){const h=Nke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function vQn({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 j9e(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 tkt(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}`;j9e("source",c,d,e,s,i),j9e("target",c,u,e,a,l),t.set(r.id,r)}}function nkt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:nkt(n,t):!1}function T9e(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 yQn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!nkt(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 gte({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 bQn({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=Q3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function xQn({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:w,domNode:k,isSelectable:C,nodeId:_,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?kge(G3(l)):null,K=U&&F?bQn({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)}:Q3(J,H));let ae=null;if(U&&z&&!ee.extent&&Z){const{positionAbsolute:re}=ee.internals,le=re.x-Z.x+z[0][0],ue=re.x+ee.measured.width-Z.x2+z[1][0],oe=re.y-Z.y+z[0][1],me=re.y+ee.measured.height-Z.y2+z[1][1];ae=[[le,oe],[ue,me]]}const{position:fe,positionAbsolute:Y}=BSt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||z,nodeOrigin:B,onError:Q});$=$||ee.position.x!==fe.x||ee.position.y!==fe.y,ee.position=fe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(q(l,!0),g&&(r||V||!_&&M))){const[ne,ee]=gte({nodeId:_,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),V?.(g,ne,ee),_||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]=VSt(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||!C)&&!D&&_&&(L.get(_)?.selected||q()),C&&V&&_&&e?.(_);const $=S2(R.sourceEvent,{transform:H,snapGrid:F,snapToGrid:B,containerBounds:d});if(a=$,l=yQn(L,z,$,_),l.size>0&&(n||M||!_&&Q)){const[U,Z]=gte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,U,Z),M?.(R.sourceEvent,U,Z),_||Q?.(R.sourceEvent,Z)}}const A=xSt().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=S2(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=S2(R.sourceEvent,{transform:D,snapGrid:z,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!B.has(_))&&(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||!_&&H){const[F,B]=gte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,F,B),z?.(R.sourceEvent,F,B),_||H?.(R.sourceEvent,B)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!T9e(L,`.${x}`,k))&&(!w||T9e(L,w,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function wQn(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())LM(s,XT(a))>0&&r.push(a);return r}const SQn=250;function kQn(e,t,n,r){let s=[],a=1/0;const i=wQn(e,n,t+SQn);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}=KO(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 rkt(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,...KO(i,c,c.position,!0)}:c}function skt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function OQn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const akt=()=>!0;function CQn(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=akt,onReconnectEnd:x,updateConnection:w,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:j}){const N=ZSt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=skt(a,j),z=l?.getBoundingClientRect();let H=!1;if(!z||!D)return;const F=rkt(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[fe,Y]=VSt(B,z,_);p({x:fe,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:KO(Z,U,sr.Left,!0),fromHandle:U,fromPosition:U.position,fromNode:Z,to:B,toHandle:null,toPosition:v9e[U.position],toNode:null,pointer:B};function ee(){H=!0,w(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(fe){if(!H){const{x:me,y:be}=wg(fe),xe=me-R,_e=be-L;if(!(xe*xe+_e*_e>E*E))return;ee()}if(!C()||!U){ae(fe);return}const Y=k();B=wg(fe,z),A=kQn(Y3(B,Y,!1,[1,1]),n,c,U),V||($(),V=!0);const re=ikt(fe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});q=re.handleDomNode,M=re.connection,Q=OQn(!!A,re.isValid);const le=c.get(s),ue=le?KO(le,U,sr.Left,!0):ne.from,oe={...ne,from:ue,isValid:Q,to:re.toHandle&&Q?zB({x:re.toHandle.x,y:re.toHandle.y},Y):B,toHandle:re.toHandle,toPosition:Q&&re.toHandle?re.toHandle.position:v9e[U.position],toNode:re.toHandle?c.get(re.toHandle.nodeId):null,pointer:B};w(oe),ne=oe}function ae(fe){if(!("touches"in fe&&fe.touches.length>0)){if(H){(A||q)&&M&&Q&&g?.(M);const{inProgress:Y,...re}=ne,le={...re,toPosition:ne.toHandle?ne.toPosition:null};y?.(fe,le),a&&x?.(fe,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 ikt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=akt,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=skt(void 0,y),w=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!w||!x)return b;const E={source:f?w:r,sourceHandle:f?k:s,target:f?r:w,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===YT.Strict?f&&x==="source"||!f&&x==="target":w!==r||k!==s);b.isValid=N&&u(E),b.toHandle=rkt(w,x,k,d,n,!0)}return b}const Ege={onPointerDown:CQn,isValid:ikt};function _Qn({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=w=>{if(w.sourceEvent.type!=="wheel"||!t)return;const k=n(),C=w.sourceEvent.ctrlKey&&FM()?10:1,_=-w.sourceEvent.deltaY*(w.sourceEvent.deltaMode===1?.05:w.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let g=[0,0];const y=w=>{(w.sourceEvent.type==="mousedown"||w.sourceEvent.type==="touchstart")&&(g=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY])},b=w=>{const k=n();if(w.sourceEvent.type!=="mousemove"&&w.sourceEvent.type!=="touchmove"||!t)return;const C=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY],_=[C[0]-g[0],C[1]-g[1]];g=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},x=$St().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 GH=e=>({x:e.x,y:e.y,zoom:e.k}),vte=({x:e,y:t,zoom:n})=>HH.translate(e,t).scale(n),hj=(e,t)=>e.target.closest(`.${t}`),okt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),EQn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,yte=(e,t=0,n=EQn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},lkt=e=>{const t=e.ctrlKey&&FM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function jQn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(hj(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=lkt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===rO.Vertical?0:d.deltaX*p,m=s===rO.Horizontal?0:d.deltaY*p;!FM()&&d.shiftKey&&s!==rO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=GH(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 TQn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=hj(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function NQn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=GH(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 IQn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&okt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,GH(a.transform))}}function AQn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&okt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=GH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function RQn({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"&&(hj(f,`${u}-flow__node`)||hj(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||hj(f,l)&&m||hj(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 PQn({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=$St().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:KT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(lkt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?hx:U8).transform(yte(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?jQn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:F,panOnScrollSpeed:B,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):TQn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=NQn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const re=IQn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",re);const le=AQn({zoomPanValues:u,panOnDrag:H,panOnScroll:z,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const fe=RQn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:Q,panOnScroll:z,zoomOnDoubleClick:q,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:U,connectionInProgress:K});f.filter(fe),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=vte(A),z=f?.constrain()(D,R,L);return z&&await g(z),new Promise(H=>H(z))}async function w(A,R){const L=vte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=vte(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 C(){const A=p?PSt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?hx:U8).scaleTo(yte(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"?hx:U8).scaleBy(yte(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:w,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var eN;(function(e){e.Line="line",e.Handle="handle"})(eN||(eN={}));function $Qn({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 N9e(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 G0(e,t){return Math.max(0,t-e)}function Q0(e,t){return Math.max(0,e-t)}function hF(e,t,n){return Math.max(0,t-e,e-n)}function I9e(e,t){return e?!t:t}function MQn(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:w,y:k,width:C,height:_,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-j:j),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=hF(I,g,y),z=hF(A,b,x);if(i){let B=0,V=0;c&&j<0?B=G0(w+j+R,i[0][0]):!c&&j>0&&(B=Q0(w+I+R,i[1][0])),u&&N<0?V=G0(k+N+L,i[0][1]):!u&&N>0&&(V=Q0(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=Q0(w+j,l[0][0]):!c&&j<0&&(B=G0(w+I,l[1][0])),u&&N>0?V=Q0(k+N,l[0][1]):!u&&N<0&&(V=G0(k+A,l[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(s){if(d){const B=hF(I/E,b,x)*E;if(D=Math.max(D,B),i){let V=0;!c&&!u||c&&!u&&p?V=Q0(k+L+I/E,i[1][1])*E:V=G0(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=G0(k+I/E,l[1][1])*E:V=Q0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,V)}}if(f){const B=hF(A*E,g,y)/E;if(z=Math.max(z,B),i){let V=0;!c&&!u||u&&!c&&p?V=Q0(w+A*E+R,i[1][0])/E:V=G0(w+(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=G0(w+A*E,l[1][0])/E:V=Q0(w+(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=(I9e(c,u)?-j:j)/E:j=(I9e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const H=c?w+j:w,F=u?k+N:k;return{width:C+(c?-j:j),height:_+(u?-N:N),x:a[0]*j*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+F}}const ckt={width:0,height:0,x:0,y:0},DQn={...ckt,pointerX:0,pointerY:0,aspectRatio:1};function LQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function FQn(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 zQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:N9e("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={...ckt},x={...DQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:N9e(u)};let w,k=null,C=[],_,E,j,N=!1;const I=xSt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:z,nodeOrigin:H,paneDomNode:F}=n();if(w=R.get(t),!w)return;k=F?.getBoundingClientRect()??null;const{xSnapped:B,ySnapped:V}=S2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:z,containerBounds:k});b={width:w.measured.width??0,height:w.measured.height??0,x:w.position.x??0,y:w.position.y??0},x={...b,pointerX:B,pointerY:V,aspectRatio:b.width/b.height},_=void 0,w.parentId&&(w.extent==="parent"||w.expandParent)&&(_=R.get(w.parentId),E=_&&w.extent==="parent"?LQn(_):void 0),C=[],j=void 0;for(const[M,Q]of R)if(Q.parentId===t&&(C.push({id:M,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const q=FQn(Q,w,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=S2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),F=[];if(!w)return;const{x:B,y:V,width:M,height:Q}=b,q={},$=w.origin??z,{width:U,height:Z,x:K,y:ne}=MQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,j),ee=U!==M,J=Z!==Q,ae=K!==B&&ee,fe=ne!==V&&J;if(!ae&&!fe&&!ee&&!J)return;if((ae||fe||$[0]===1||$[1]===1)&&(q.x=ae?K:b.x,q.y=fe?ne:b.y,b.x=q.x,b.y=q.y,C.length>0)){const ue=K-B,oe=ne-V;for(const me of C)me.position={x:me.position.x-ue+$[0]*(U-M),y:me.position.y-oe+$[1]*(Z-Q)},F.push(me)}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),_&&w.expandParent){const ue=$[0]*(q.width??0);q.x&&q.x<ue&&(b.x=ue,x.x=x.x-(q.x-ue));const oe=$[1]*(q.height??0);q.y&&q.y<oe&&(b.y=oe,x.y=x.y-(q.y-oe))}const Y=$Qn({width:b.width,prevWidth:M,height:b.height,prevHeight:Q,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),re={...b,direction:Y};y?.(A,re)!==!1&&(N=!0,m?.(A,re),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 BQn={},A9e=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:()=>{(BQn?"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},UQn=e=>e?A9e(e):A9e,{useDebugValue:VQn}=Fe,{useSyncExternalStoreWithSelector:qQn}=oCn,HQn=e=>e;function ukt(e,t=HQn,n){const r=qQn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return VQn(r),r}const R9e=(e,t)=>{const n=UQn(e),r=(s,a=t)=>ukt(n,s,a);return Object.assign(r,n),r},WQn=(e,t)=>e?R9e(e,t):R9e;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),ZQn=QH.Provider,dkt=ky.error001();function Us(e,t){const n=v.useContext(QH);if(n===null)throw new Error(dkt);return ukt(n,e,t)}function To(){const e=v.useContext(QH);if(e===null)throw new Error(dkt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const P9e={display:"none"},GQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},fkt="react-flow__node-desc",pkt="react-flow__edge-desc",QQn="react-flow__aria-live",YQn=e=>e.ariaLiveMessage,KQn=e=>e.ariaLabelConfig;function XQn({rfId:e}){const t=Us(YQn);return o.jsx("div",{id:`${QQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:GQn,children:t})}function JQn({rfId:e,disableKeyboardA11y:t}){const n=Us(KQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${fkt}-${e}`,style:P9e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${pkt}-${e}`,style:P9e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(XQn,{rfId:e})]})}const K3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Hl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});K3.displayName="Panel";function eYn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(K3,{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 tYn=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}},mF=e=>e.id;function nYn(e,t){return io(e.selectedNodes.map(mF),t.selectedNodes.map(mF))&&io(e.selectedEdges.map(mF),t.selectedEdges.map(mF))}function rYn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(tYn,nYn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const sYn=e=>!!e.onSelectionChangeHandlers;function aYn({onSelectionChange:e}){const t=Us(sYn);return e||t?o.jsx(rYn,{onSelectionChange:e}):null}const jge=typeof window<"u"?v.useLayoutEffect:v.useEffect,hkt=[0,0],iYn={x:0,y:0,zoom:1},oYn=["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"],$9e=[...oYn,"rfId"],lYn=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}),M9e={translateExtent:$M,nodeOrigin:hkt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cYn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(lYn,io),u=To();jge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=M9e,l()}),[]);const d=v.useRef(M9e);return jge(()=>{for(const f of $9e){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:XGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},$9e.map(f=>e[f])),null}function D9e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function uYn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=D9e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:D9e()?.matches?"dark":"light"}const L9e=typeof document<"u"?document:null;function zM(e=null,t={target:L9e,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
|
+
`: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 uVn(this):new oVn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?WE(this,s,n,r):HE(this,s,n,r)}}class V1t{constructor(t){this.spec=t}}function aVn(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 HE(e,t,n,r){let s;return e.wholeWord&&(s=iVn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=aVn(e.test,t,s)),new Rx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function iVn(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(EB(s,n-a))!=So.Word||t(jB(s,n-a))!=So.Word)&&(t(jB(s,r-a))!=So.Word||t(EB(s,r-a))!=So.Word))}class oVn extends V1t{constructor(t){super(t)}nextMatch(t,n,r){let s=HE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=HE(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=HE(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=HE(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=HE(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 lVn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function WE(e,t,n,r){let s;return e.wholeWord&&(s=cVn(t.charCategorizer(t.selection.main.head))),e.test&&(s=lVn(e.test,t,s)),new z1t(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function EB(e,t){return e.slice(Ec(e,t,!1),t)}function jB(e,t){return e.slice(t,Ec(e,t))}function cVn(e){return(t,n,r)=>!r[0].length||(e(EB(r.input,r.index))!=So.Word||e(jB(r.input,r.index))!=So.Word)&&(e(jB(r.input,r.index+r[0].length))!=So.Word||e(EB(r.input,r.index+r[0].length))!=So.Word)}class uVn extends V1t{nextMatch(t,n,r){let s=WE(this.spec,t,r,t.doc.length).next();return s.done&&(s=WE(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=WE(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=WE(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=WE(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 jM=xr.define(),lke=xr.define(),qw=Sl.define({create(e){return new hee(pge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(jM)?e=new hee(n.value.create(),e.panel):n.is(lke)&&(e=new hee(e.query,n.value?cke:null));return e},provide:e=>yM.from(e,t=>t.panel)});class hee{constructor(t,n){this.query=t,this.panel=n}}const dVn=jn.mark({class:"cm-searchMatch"}),fVn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),pVn=Eo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(qw))}update(e){let t=e.state.field(qw);(t!=e.startState.field(qw)||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?fVn:dVn)})}return r.finish()}},{decorations:e=>e.decorations});function q3(e){return t=>{let n=t.state.field(qw,!1);return n&&n.query.spec.valid?e(t,n):W1t(t)}}const TB=q3((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(vI);return e.dispatch({selection:s,effects:[uke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),H1t(e),!0}),NB=q3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=bt.single(s.from,s.to),i=e.state.facet(vI);return e.dispatch({selection:a,effects:[uke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),H1t(e),!0}),hVn=q3((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)}),mVn=({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 Rx(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},Hze=q3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(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(uke(e,i)),d.push(n.facet(vI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),gVn=q3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:It.announce.of(r),userEvent:"input.replace.all"}),!0});function cke(e){return e.state.facet(vI).createPanel(e)}function pge(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(vI);return new U1t({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 q1t(e){let t=CSe(e,cke);return t&&t.dom.querySelector("[main-field]")}function H1t(e){let t=q1t(e);t&&t==e.root.activeElement&&t.select()}const W1t=e=>{let t=e.state.field(qw,!1);if(t&&t.panel){let n=q1t(e);if(n&&n!=e.root.activeElement){let r=pge(e.state,t.query.spec);r.valid&&e.dispatch({effects:jM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[lke.of(!0),t?jM.of(pge(e.state,t.query.spec)):xr.appendConfig.of(xVn)]});return!0},Z1t=e=>{let t=e.state.field(qw,!1);if(!t||!t.panel)return!1;let n=CSe(e,cke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:lke.of(!1)}),!0},vVn=[{key:"Mod-f",run:W1t,scope:"editor search-panel"},{key:"F3",run:TB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:TB,shift:NB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Z1t,scope:"editor search-panel"},{key:"Mod-Shift-l",run:mVn},{key:"Mod-Alt-g",run:ZUn},{key:"Mod-d",run:sVn,preventDefault:!0}];class yVn{constructor(t){this.view=t;let n=this.query=t.state.field(qw).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",()=>TB(t),[ap(t,"next")]),r("prev",()=>NB(t),[ap(t,"previous")]),r("select",()=>hVn(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",()=>Hze(t),[ap(t,"replace")]),r("replaceAll",()=>gVn(t),[ap(t,"replace all")])],di("button",{name:"close",onclick:()=>Z1t(t),"aria-label":ap(t,"close"),type:"button"},["×"])])}commit(){let t=new U1t({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:jM.of(t)}))}keydown(t){L6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?NB:TB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),Hze(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(jM)&&!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(vI).top}}function ap(e,t){return e.state.phrase(t)}const aF=30,iF=/[\s\.,:;?!]/;function uke(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-aF),i=Math.min(s,n+aF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<aF;c++)if(!iF.test(l[c+1])&&iF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-aF;c--)if(!iF.test(l[c-1])&&iF.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 bVn=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"}}),xVn=[qw,eh.low(pVn),bVn];class Wze{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class Ck{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(TM).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=RVn(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 TVn(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 Ck(u,n,ZT(u))}}function ZT(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 Wze(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new Wze(r.from,a,r.diagnostic)}}),r}function wVn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(TM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(G1t))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function SVn(e,t){return e.field(jp,!1)?t:t.concat(xr.appendConfig.of(PVn))}const G1t=xr.define(),dke=xr.define(),Q1t=xr.define(),jp=Sl.define({create(){return new Ck(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=ZT(n,e.selected.diagnostic,a)||ZT(n,null,a)}!n.size&&s&&t.state.facet(TM).autoPanel&&(s=null),e=new Ck(n,s,r)}for(let n of t.effects)if(n.is(G1t)){let r=t.state.facet(TM).autoPanel?n.value.length?NM.open:null:e.panel;e=Ck.init(n.value,r,t.state)}else n.is(dke)?e=new Ck(e.diagnostics,n.value?NM.open:null,e.selected):n.is(Q1t)&&(e=new Ck(e.diagnostics,e.panel,n.value));return e},provide:e=>[yM.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),kVn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function OVn(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(TM).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:CVn(e,s)}}}:null}function CVn(e,t){return di("ul",{class:"cm-tooltip-lint"},t.map(n=>K1t(e,n,!1)))}const _Vn=e=>{let t=e.state.field(jp,!1);(!t||!t.panel)&&e.dispatch({effects:SVn(e.state,[dke.of(!0)])});let n=CSe(e,NM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},Zze=e=>{let t=e.state.field(jp,!1);return!t||!t.panel?!1:(e.dispatch({effects:dke.of(!1)}),!0)},EVn=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)},jVn=[{key:"Mod-Shift-m",run:_Vn,preventDefault:!0},{key:"F8",run:EVn}],TM=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...qy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Gze,tooltipFilter:Gze,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 Gze(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Y1t(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 K1t(e,t,n){var r;let s=n?Y1t(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=ZT(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 TVn 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 Qze{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=K1t(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class NM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)Zze(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=Y1t(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=ZT(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:()=>Zze(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 Qze(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 Qze(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=ZT(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Q1t.of(r)})}static open(t){return new NM(t)}}function NVn(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 oF(e){return NVn(`<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 IVn=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:oF("#d11")},".cm-lintRange-warning":{backgroundImage:oF("orange")},".cm-lintRange-info":{backgroundImage:oF("#999")},".cm-lintRange-hint":{backgroundImage:oF("#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 AVn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function RVn(e){let t="hint",n=1;for(let r of e){let s=AVn(r.severity);s>n&&(n=s,t=r.severity)}return t}const PVn=[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([kVn.range(t.from,t.to)])}),_Fn(OVn,{hideOn:wVn}),IVn];var Yze=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(k8n)),t.defaultKeymap!==!1&&(a=a.concat(qUn)),t.searchKeymap!==!1&&(a=a.concat(vVn)),t.historyKeymap!==!1&&(a=a.concat(KBn)),t.foldKeymap!==!1&&(a=a.concat(lzn)),t.completionKeymap!==!1&&(a=a.concat(H0t)),t.lintKeymap!==!1&&(a=a.concat(jVn));var i=[];return t.lineNumbers!==!1&&i.push(LFn()),t.highlightActiveLineGutter!==!1&&i.push(BFn()),t.highlightSpecialChars!==!1&&i.push(eFn()),t.history!==!1&&i.push(UBn()),t.foldGutter!==!1&&i.push(fzn()),t.drawSelection!==!1&&i.push(q6n()),t.dropCursor!==!1&&i.push(Q6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(ezn()),t.syntaxHighlighting!==!1&&i.push(Z1(gzn,{fallback:!0})),t.bracketMatching!==!1&&i.push(kzn()),t.closeBrackets!==!1&&i.push(b8n()),t.autocompletion!==!1&&i.push(q0t()),t.rectangularSelection!==!1&&i.push(hFn()),s!==!1&&i.push(vFn()),t.highlightActiveLine!==!1&&i.push(iFn()),t.highlightSelectionMatches!==!1&&i.push(YUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(pI.of(" ".repeat(t.tabSize))),i.concat([fI.of(a.flat())]).filter(Boolean)};const $Vn="#e5c07b",Kze="#e06c75",MVn="#56b6c2",DVn="#ffffff",z8="#abb2bf",hge="#7d8799",LVn="#61afef",FVn="#98c379",Xze="#d19a66",zVn="#c678dd",BVn="#21252b",Jze="#2c313a",e8e="#282c34",mee="#353a42",UVn="#3E4451",t8e="#528bff",VVn=It.theme({"&":{color:z8,backgroundColor:e8e},".cm-content":{caretColor:t8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:t8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:UVn},".cm-panels":{backgroundColor:BVn,color:z8},".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:e8e,color:hge,border:"none"},".cm-activeLineGutter":{backgroundColor:Jze},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:mee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:mee,borderBottomColor:mee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:Jze,color:z8}}},{dark:!0}),qVn=Hg.define([{tag:pe.keyword,color:zVn},{tag:[pe.name,pe.deleted,pe.character,pe.propertyName,pe.macroName],color:Kze},{tag:[pe.function(pe.variableName),pe.labelName],color:LVn},{tag:[pe.color,pe.constant(pe.name),pe.standard(pe.name)],color:Xze},{tag:[pe.definition(pe.name),pe.separator],color:z8},{tag:[pe.typeName,pe.className,pe.number,pe.changed,pe.annotation,pe.modifier,pe.self,pe.namespace],color:$Vn},{tag:[pe.operator,pe.operatorKeyword,pe.url,pe.escape,pe.regexp,pe.link,pe.special(pe.string)],color:MVn},{tag:[pe.meta,pe.comment],color:hge},{tag:pe.strong,fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.link,color:hge,textDecoration:"underline"},{tag:pe.heading,fontWeight:"bold",color:Kze},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:Xze},{tag:[pe.processingInstruction,pe.string,pe.inserted],color:FVn},{tag:pe.invalid,color:DVn}]),HVn=[VVn,Z1(qVn)];var WVn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),ZVn=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(fI.of([HUn])),m&&(typeof m=="boolean"?g.unshift(Yze()):g.unshift(Yze(m))),p&&g.unshift(uFn(p)),d){case"light":g.push(WVn);break;case"dark":g.push(HVn);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]},GVn=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 QVn{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 n8e{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 gee=null,YVn=()=>typeof window>"u"?new n8e:(gee||(gee=new n8e),gee),KVn=It.theme({"& .cm-scroller":{height:"100% !important"}}),r8e=null,vee=null;function XVn(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===r8e||(r8e=i,vee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),vee}var s8e=Vy.define(),JVn=200,eqn=[];function tqn(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?eqn: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,w=x===void 0?null:x,k=e.minWidth,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,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],fe=XVn(h,g,b,w,C,E),Y=It.updateListener.of(ue=>{if(ue.docChanged&&typeof r=="function"&&!ue.transactions.some(be=>be.annotation(s8e))){J.current?J.current.reset():(J.current=new QVn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},JVn),YVn().add(J.current));var oe=ue.state.doc,me=oe.toString();r(me,ue)}s&&s(GVn(ue))}),re=ZVn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:z,basicSetup:F}),le=[Y,...fe?[fe]:[],KVn,...re];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(Q&&!ne){var ue={doc:t,selection:n,extensions:le},oe=V?cs.fromJSON(V.json,ue,V.fields):cs.create(ue);if(ee(oe),!U){var me=new It({state:oe,parent:Q,root:B});Z(me),a&&a(me,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,w,C,E,N,A,L,z,F,r,i]),v.useEffect(()=>{if(t!==void 0){var ue=U?U.state.doc.toString():"";if(U&&t!==ue){var oe=J.current&&!J.current.isDone,me=()=>{U&&t!==U.state.doc.toString()&&U.dispatch({changes:{from:0,to:U.state.doc.toString().length,insert:t||""},annotations:[s8e.of(!0)]})};oe?ae.current=me:me()}}},[t,U]),{state:ne,setState:ee,view:U,setView:Z,container:Q,setContainer:q}}var nqn=["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,w=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,j=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=a1t(e,nqn),L=v.useRef(null),D=tqn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:w,maxWidth:k,basicSetup:C,placeholder:_,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",ZO({ref:V,className:""+M+(n?" "+n:"")},R))});Xu.displayName="CodeMirror";const rqn={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 yee=null;function sqn(){return yee||(yee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-R8IQBlLo.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()})})()),yee}async function aqn(e,t){const n=rqn[t?.toLowerCase()];if(!n)return null;const r=await sqn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function iqn(e){return new VO(NSe.define(e))}const X1t=[ig.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>rF),void 0,import.meta.url).then(e=>e.javascript())}}),ig.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>$zn),void 0,import.meta.url).then(e=>e.json())}}),ig.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>rF),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(()=>TBn),void 0,import.meta.url).then(e=>e.markdown())}}),ig.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>rF),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(()=>rF),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=>iqn(e.shell))}})];function oqn(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 lqn(e){const t=oqn(e);return q0t({override:[cqn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function cqn(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 uqn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,dqn=jn.mark({class:"cm-variable-highlight"}),a8e=new s0t({regexp:uqn,decoration:()=>dqn}),fqn=Eo.fromClass(class{decorations;constructor(e){this.decorations=a8e.createDeco(e)}update(e){this.decorations=a8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),pqn=fqn;function hqn(){const e=mI({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:[pe.className,pe.propertyName],color:"var(--neutral6)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:pe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.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 mqn(){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:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[pe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:[pe.deleted],color:"var(--accent2)"},{tag:pe.invalid,color:"var(--error)"},{tag:[pe.standard(pe.tagName)],color:"var(--accent1)"}]);return[e,Z1(t)]}const n0=()=>{const e=WC().resolvedTheme==="dark";return v.useMemo(()=>e?hqn():mqn(),[e])},gqn=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"}}),vqn=eh.highest(It.editorAttributes.of({style:"outline: none"})),yqn=eh.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),bqn=[vqn,yqn],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=n0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const w=[...bqn];return f&&w.push(It.lineWrapping),a==="json"?w.push($p):a==="markdown"&&w.push(rke({base:WO,codeLanguages:X1t})),i&&a==="markdown"&&w.push(pqn),c&&a==="markdown"&&w.push(lqn(c)),p===!1&&w.push(cs.readOnly.of(!0)),w},[a,i,c,p,f]);return o.jsxs("div",{className:X(gqn({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}})]})}),xqn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},wqn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=n0(),{settings:r,setSettings:s}=pH(),a=r?.tracingOptions,i=v.useMemo(()=>xqn(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"})})]})},Sqn=()=>{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(Ve,{children:o.jsx(rq,{})})})}),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(wqn,{onSaved:()=>t(!1)})})]})})]})};function kqn({status:e}){switch(e){case"running":return o.jsx(Xt,{});case"failed":return o.jsx(ps,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(gT,{className:"text-neutral3"});case"suspended":return o.jsx(XV,{className:"text-accent3"});case"success":return o.jsx(la,{className:"text-accent1"});default:return o.jsx(gT,{className:"text-neutral3"})}}function J1t({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(kqn,{status:e})})}),o.jsx(Rn,{children:e})]})}var bee,i8e;function fke(){if(i8e)return bee;i8e=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 bee=r,bee}var xee,o8e;function Oqn(){return o8e||(o8e=1,xee="2.2.4"),xee}var wee,l8e;function Cqn(){return l8e||(l8e=1,wee={Graph:fke(),version:Oqn()}),wee}var See,c8e;function _qn(){if(c8e)return See;c8e=1;var e=fke();See={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 See}var kee,u8e;function Eqn(){if(u8e)return kee;u8e=1,kee=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 kee}var Oee,d8e;function eSt(){if(d8e)return Oee;d8e=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 Oee=e,Oee}var Cee,f8e;function tSt(){if(f8e)return Cee;f8e=1;var e=eSt();Cee=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 Cee}var _ee,p8e;function jqn(){if(p8e)return _ee;p8e=1;var e=tSt();_ee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return _ee}var Eee,h8e;function nSt(){if(h8e)return Eee;h8e=1,Eee=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 Eee}var jee,m8e;function Tqn(){if(m8e)return jee;m8e=1;var e=nSt();jee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return jee}var Tee,g8e;function Nqn(){if(g8e)return Tee;g8e=1,Tee=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 Tee}var Nee,v8e;function rSt(){if(v8e)return Nee;v8e=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 Nee=e,e.CycleException=t,Nee}var Iee,y8e;function Iqn(){if(y8e)return Iee;y8e=1;var e=rSt();Iee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Iee}var Aee,b8e;function sSt(){if(b8e)return Aee;b8e=1,Aee=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 Aee}var Ree,x8e;function Aqn(){if(x8e)return Ree;x8e=1;var e=sSt();Ree=t;function t(n,r){return e(n,r,"post")}return Ree}var Pee,w8e;function Rqn(){if(w8e)return Pee;w8e=1;var e=sSt();Pee=t;function t(n,r){return e(n,r,"pre")}return Pee}var $ee,S8e;function Pqn(){if(S8e)return $ee;S8e=1;var e=fke(),t=eSt();$ee=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 $ee}var Mee,k8e;function $qn(){return k8e||(k8e=1,Mee={components:Eqn(),dijkstra:tSt(),dijkstraAll:jqn(),findCycles:Tqn(),floydWarshall:Nqn(),isAcyclic:Iqn(),postorder:Aqn(),preorder:Rqn(),prim:Pqn(),tarjan:nSt(),topsort:rSt()}),Mee}var Dee,O8e;function Fg(){if(O8e)return Dee;O8e=1;var e=Cqn();return Dee={Graph:e.Graph,json:_qn(),alg:$qn(),version:e.version},Dee}var Lee,C8e;function Mqn(){if(C8e)return Lee;C8e=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 Lee=e,Lee}var Fee,_8e;function Dqn(){if(_8e)return Fee;_8e=1;let e=Fg().Graph,t=Mqn();Fee=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),w=b+x;f.setEdge(y.v,y.w,w),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 Fee}var zee,E8e;function Ll(){if(E8e)return zee;E8e=1;let e=Fg().Graph;zee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:w,zipObject:E};function t(j,N,I,A){for(var R=A;j.hasNode(R);)R=w(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 w(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 C(j,N){const I={};for(const A of N)j[A]!==void 0&&(I[A]=j[A]);return I}function _(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 zee}var Bee,j8e;function Lqn(){if(j8e)return Bee;j8e=1;let e=Dqn(),t=Ll().uniqueId;Bee={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 Bee}var Uee,T8e;function Fqn(){if(T8e)return Uee;T8e=1;let e=Ll();Uee={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 Uee}var Vee,N8e;function IB(){if(N8e)return Vee;N8e=1;const{applyWithChunking:e}=Ll();Vee={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 Vee}var qee,I8e;function aSt(){if(I8e)return qee;I8e=1;var e=Fg().Graph,t=IB().slack;qee=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 qee}var Hee,A8e;function zqn(){if(A8e)return Hee;A8e=1;var e=aSt(),t=IB().slack,n=IB().longestPath,r=Fg().alg.preorder,s=Fg().alg.postorder,a=Ll().simplify;Hee=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 w=e(x);d(w),l(w,x);for(var k,C;k=p(w);)C=h(w,x,k),m(w,x,k,C)}function l(x,w){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,w,C))}function c(x,w,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,w,k)}function u(x,w,k){var C=x.node(k),_=C.parent,E=!0,j=w.edge(k,_),N=0;return j||(E=!1,j=w.edge(_,k)),N=j.weight,w.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,D=w.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,w){arguments.length<2&&(w=x.nodes()[0]),f(x,{},1,w)}function f(x,w,k,C,_){var E=k,j=x.node(C);return w[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(w,N)||(k=f(x,w,k,N,C))}),j.low=E,j.lim=k++,_?j.parent=_:delete j.parent,k}function p(x){return x.edges().find(w=>x.edge(w).cutvalue<0)}function h(x,w,k){var C=k.v,_=k.w;w.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),j=x.node(_),N=E,I=!1;E.lim>j.lim&&(N=j,I=!0);var A=w.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(w,L)<t(w,R)?L:R)}function m(x,w,k,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,w),g(x,w)}function g(x,w){var k=x.nodes().find(_=>!w.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,j=w.edge(_,E),N=!1;j||(j=w.edge(E,_),N=!0),w.node(_).rank=w.node(E).rank+(N?j.minlen:-j.minlen)})}function y(x,w,k){return x.hasEdge(w,k)}function b(x,w,k){return k.low<=w.lim&&w.lim<=k.lim}return Hee}var Wee,R8e;function Bqn(){if(R8e)return Wee;R8e=1;var e=IB(),t=e.longestPath,n=aSt(),r=zqn();Wee=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 Wee}var Zee,P8e;function Uqn(){if(P8e)return Zee;P8e=1,Zee=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 Zee}var Gee,$8e;function Vqn(){if($8e)return Gee;$8e=1;let e=Ll();Gee={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),w=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,C=x.borderTop?u:2*u,_=w!==k?1:d-f[p]+1;i.setEdge(m,w,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,g,{weight:C,minlen:_,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 Gee}var Qee,M8e;function qqn(){if(M8e)return Qee;M8e=1;let e=Ll();Qee=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 Qee}var Yee,D8e;function Hqn(){if(D8e)return Yee;D8e=1,Yee={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 Yee}var Kee,L8e;function Wqn(){if(L8e)return Kee;L8e=1;let e=Ll();Kee=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 Kee}var Xee,F8e;function Zqn(){if(F8e)return Xee;F8e=1;let e=Ll().zipObject;Xee=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 Xee}var Jee,z8e;function Gqn(){if(z8e)return Jee;z8e=1,Jee=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 Jee}var ete,B8e;function Qqn(){if(B8e)return ete;B8e=1;let e=Ll();ete=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 ete}var tte,U8e;function Yqn(){if(U8e)return tte;U8e=1;let e=Ll();tte=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 tte}var nte,V8e;function Kqn(){if(V8e)return nte;V8e=1;let e=Gqn(),t=Qqn(),n=Yqn();nte=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 w=r(i,x.v,c,u);m[x.v]=w,Object.hasOwn(w,"barycenter")&&a(x,w)}});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]),w=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+w.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 nte}var rte,q8e;function Xqn(){if(q8e)return rte;q8e=1;let e=Fg().Graph,t=Ll();rte=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 rte}var ste,H8e;function Jqn(){if(H8e)return ste;H8e=1,ste=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 ste}var ate,W8e;function eHn(){if(W8e)return ate;W8e=1;let e=Wqn(),t=Zqn(),n=Kqn(),r=Xqn(),s=Jqn(),a=Fg().Graph,i=Ll();ate=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 w=0,k=0;k<4;++w,++k){u(w%2?m:g,w%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}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 ate}var ite,Z8e;function tHn(){if(Z8e)return ite;Z8e=1;let e=Fg().Graph,t=Ll();ite={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 w(k,C){let _=0,E=0,j=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:j;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(z=>{let H=y.node(z),F=H.order;(F<_||L<F)&&!(H.dummy&&y.node(D).dummy)&&a(x,z,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(w),x}function r(y,b){let x={};function w(C,_,E,j,N){let I;t.range(_,E).forEach(A=>{I=C[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 _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(j=y.node(R[0]).order,w(_,N,A,E,j),N=A,E=j)}w(_,N,_.length,j,C.length)}),_}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 w=y[b];w||(y[b]=w={}),w[x]=!0}function i(y,b,x){if(b>x){let w=b;b=x,x=w}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,w){let k={},C={},_={};return b.forEach(E=>{E.forEach((j,N)=>{k[j]=j,C[j]=j,_[j]=N})}),b.forEach(E=>{let j=-1;E.forEach(N=>{let I=w(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&j<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],j=_[D])}}})}),{root:k,align:C}}function c(y,b,x,w,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function j(A,R){let L=_.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){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,z)=>Math.min(D,C[z.w]-_.edge(z)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return j(N,_.predecessors.bind(_)),j(I,_.successors.bind(_)),Object.keys(w).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,w){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,w);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(_(y,N,j),R||0))}j=N})}),k}function d(y,b){return Object.values(b).reduce((x,w)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(w).forEach(([E,j])=>{let N=g(y,E)/2;k=Math.max(j+N,k),C=Math.min(j-N,C)});const _=k-C;return _<x[0]&&(x=[_,w]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),w=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(C=>{["l","r"].forEach(_=>{let E=C+_,j=y[E];if(j===b)return;let N=Object.values(j),I=w-t.applyWithChunking(Math.min,N);_!=="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,w)=>{if(b)return y[b.toLowerCase()][w];{let k=Object.values(y).map(C=>C[w]).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)),w={},k;["u","d"].forEach(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let j=(_==="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)),w[_+E]=I})});let C=d(y,w);return f(w,C),p(w,y.graph().align)}function m(y,b,x){return(w,k,C)=>{let _=w.node(k),E=w.node(C),j=0,N;if(j+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(j+=x?N:-N),N=0,j+=(_.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 ite}var ote,G8e;function nHn(){if(G8e)return ote;G8e=1;let e=Ll(),t=tHn().positionX;ote=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 ote}var lte,Q8e;function rHn(){if(Q8e)return lte;Q8e=1;let e=Lqn(),t=Fqn(),n=Bqn(),r=Ll().normalizeRanks,s=Uqn(),a=Ll().removeEmptyRanks,i=Vqn(),l=qqn(),c=Hqn(),u=eHn(),d=nHn(),f=Ll(),p=Fg().Graph;lte=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"],w=["width","height","rank"],k={width:0,height:0},C=["minlen","weight","width","height","labeloffset"],_={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,w);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({},_,Q(ne,C),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 fe(Y){let re=Y.x,le=Y.y,ue=Y.width,oe=Y.height;U=Math.min(U,re-ue/2),Z=Math.max(Z,re+ue/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>fe($.node(Y))),$.edges().forEach(Y=>{let re=$.edge(Y);Object.hasOwn(re,"x")&&fe(re)}),U-=J,K-=ae,$.nodes().forEach(Y=>{let re=$.node(Y);re.x-=U,re.y-=K}),$.edges().forEach(Y=>{let re=$.edge(Y);re.points.forEach(le=>{le.x-=U,le.y-=K}),Object.hasOwn(re,"x")&&(re.x-=U),Object.hasOwn(re,"y")&&(re.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 lte}var cte,Y8e;function sHn(){if(Y8e)return cte;Y8e=1;let e=Ll(),t=Fg().Graph;cte={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 cte}var ute,K8e;function aHn(){return K8e||(K8e=1,ute="1.1.8"),ute}var dte,X8e;function iHn(){return X8e||(X8e=1,dte={graphlib:Fg(),layout:rHn(),debug:sHn(),util:{time:Ll().time,notime:Ll().notime},version:aHn()}),dte}var oHn=iHn();const J8e=Ul(oHn);function Hl(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=Hl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var lHn={value:()=>{}};function BH(){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 B8(n)}function B8(e){this._=e}function cHn(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}})}B8.prototype=BH.prototype={constructor:B8,on:function(e,t){var n=this._,r=cHn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=uHn(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]=e9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=e9e(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 B8(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 uHn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function e9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=lHn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var mge="http://www.w3.org/1999/xhtml";const t9e={svg:"http://www.w3.org/2000/svg",xhtml:mge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function UH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),t9e.hasOwnProperty(t)?{space:t9e[t],local:e}:e}function dHn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===mge&&t.documentElement.namespaceURI===mge?t.createElement(e):t.createElementNS(n,e)}}function fHn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function iSt(e){var t=UH(e);return(t.local?fHn:dHn)(t)}function pHn(){}function pke(e){return e==null?pHn:function(){return this.querySelector(e)}}function hHn(e){typeof e!="function"&&(e=pke(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 mHn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function gHn(){return[]}function oSt(e){return e==null?gHn:function(){return this.querySelectorAll(e)}}function vHn(e){return function(){return mHn(e.apply(this,arguments))}}function yHn(e){typeof e=="function"?e=vHn(e):e=oSt(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 lSt(e){return function(){return this.matches(e)}}function cSt(e){return function(t){return t.matches(e)}}var bHn=Array.prototype.find;function xHn(e){return function(){return bHn.call(this.children,e)}}function wHn(){return this.firstElementChild}function SHn(e){return this.select(e==null?wHn:xHn(typeof e=="function"?e:cSt(e)))}var kHn=Array.prototype.filter;function OHn(){return Array.from(this.children)}function CHn(e){return function(){return kHn.call(this.children,e)}}function _Hn(e){return this.selectAll(e==null?OHn:CHn(typeof e=="function"?e:cSt(e)))}function EHn(e){typeof e!="function"&&(e=lSt(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 uSt(e){return new Array(e.length)}function jHn(){return new Zp(this._enter||this._groups.map(uSt),this._parents)}function AB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}AB.prototype={constructor:AB,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 THn(e){return function(){return e}}function NHn(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 AB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function IHn(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 AB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function AHn(e){return e.__data__}function RHn(e,t){if(!arguments.length)return Array.from(this,AHn);var n=t?IHn:NHn,r=this._parents,s=this._groups;typeof e!="function"&&(e=THn(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=PHn(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,w=0,k,C;x<m;++x)if(k=g[x]){for(x>=w&&(w=x+1);!(C=y[w])&&++w<m;);k._next=C||null}}return i=new Zp(i,r),i._enter=l,i._exit=c,i}function PHn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function $Hn(){return new Zp(this._exit||this._groups.map(uSt),this._parents)}function MHn(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 DHn(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 LHn(){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 FHn(e){e||(e=zHn);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 zHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function BHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function UHn(){return Array.from(this)}function VHn(){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 qHn(){let e=0;for(const t of this)++e;return e}function HHn(){return!this.node()}function WHn(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 ZHn(e){return function(){this.removeAttribute(e)}}function GHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function QHn(e,t){return function(){this.setAttribute(e,t)}}function YHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function KHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function XHn(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 JHn(e,t){var n=UH(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?GHn:ZHn:typeof t=="function"?n.local?XHn:KHn:n.local?YHn:QHn)(n,t))}function dSt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function eWn(e){return function(){this.style.removeProperty(e)}}function tWn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function nWn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function rWn(e,t,n){return arguments.length>1?this.each((t==null?eWn:typeof t=="function"?nWn:tWn)(e,t,n??"")):GT(this.node(),e)}function GT(e,t){return e.style.getPropertyValue(t)||dSt(e).getComputedStyle(e,null).getPropertyValue(t)}function sWn(e){return function(){delete this[e]}}function aWn(e,t){return function(){this[e]=t}}function iWn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function oWn(e,t){return arguments.length>1?this.each((t==null?sWn:typeof t=="function"?iWn:aWn)(e,t)):this.node()[e]}function fSt(e){return e.trim().split(/^|\s+/)}function hke(e){return e.classList||new pSt(e)}function pSt(e){this._node=e,this._names=fSt(e.getAttribute("class")||"")}pSt.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 hSt(e,t){for(var n=hke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function mSt(e,t){for(var n=hke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function lWn(e){return function(){hSt(this,e)}}function cWn(e){return function(){mSt(this,e)}}function uWn(e,t){return function(){(t.apply(this,arguments)?hSt:mSt)(this,e)}}function dWn(e,t){var n=fSt(e+"");if(arguments.length<2){for(var r=hke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?uWn:t?lWn:cWn)(n,t))}function fWn(){this.textContent=""}function pWn(e){return function(){this.textContent=e}}function hWn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function mWn(e){return arguments.length?this.each(e==null?fWn:(typeof e=="function"?hWn:pWn)(e)):this.node().textContent}function gWn(){this.innerHTML=""}function vWn(e){return function(){this.innerHTML=e}}function yWn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function bWn(e){return arguments.length?this.each(e==null?gWn:(typeof e=="function"?yWn:vWn)(e)):this.node().innerHTML}function xWn(){this.nextSibling&&this.parentNode.appendChild(this)}function wWn(){return this.each(xWn)}function SWn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function kWn(){return this.each(SWn)}function OWn(e){var t=typeof e=="function"?e:iSt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function CWn(){return null}function _Wn(e,t){var n=typeof e=="function"?e:iSt(e),r=t==null?CWn:typeof t=="function"?t:pke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function EWn(){var e=this.parentNode;e&&e.removeChild(this)}function jWn(){return this.each(EWn)}function TWn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function NWn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function IWn(e){return this.select(e?NWn:TWn)}function AWn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function RWn(e){return function(t){e.call(this,t,this.__data__)}}function PWn(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 $Wn(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 MWn(e,t,n){return function(){var r=this.__on,s,a=RWn(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 DWn(e,t,n){var r=PWn(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?MWn:$Wn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function gSt(e,t,n){var r=dSt(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 LWn(e,t){return function(){return gSt(this,e,t)}}function FWn(e,t){return function(){return gSt(this,e,t.apply(this,arguments))}}function zWn(e,t){return this.each((typeof t=="function"?FWn:LWn)(e,t))}function*BWn(){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 vSt=[null];function Zp(e,t){this._groups=e,this._parents=t}function H3(){return new Zp([[document.documentElement]],vSt)}function UWn(){return this}Zp.prototype=H3.prototype={constructor:Zp,select:hHn,selectAll:yHn,selectChild:SHn,selectChildren:_Hn,filter:EHn,data:RHn,enter:jHn,exit:$Hn,join:MHn,merge:DHn,selection:UWn,order:LHn,sort:FHn,call:BHn,nodes:UHn,node:VHn,size:qHn,empty:HHn,each:WHn,attr:JHn,style:rWn,property:oWn,classed:dWn,text:mWn,html:bWn,raise:wWn,lower:kWn,append:OWn,insert:_Wn,remove:jWn,clone:IWn,datum:AWn,on:DWn,dispatch:zWn,[Symbol.iterator]:BWn};function Op(e){return typeof e=="string"?new Zp([[document.querySelector(e)]],[document.documentElement]):new Zp([[e]],vSt)}function VWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function og(e,t){if(e=VWn(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 qWn={passive:!1},IM={capture:!0,passive:!1};function fte(e){e.stopImmediatePropagation()}function Yj(e){e.preventDefault(),e.stopImmediatePropagation()}function ySt(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",Yj,IM);"onselectstart"in t?n.on("selectstart.drag",Yj,IM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function bSt(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",Yj,IM),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 lF=e=>()=>e;function gge(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}})}gge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function HWn(e){return!e.ctrlKey&&!e.button}function WWn(){return this.parentNode}function ZWn(e,t){return t??{x:e.x,y:e.y}}function GWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function xSt(){var e=HWn,t=WWn,n=ZWn,r=GWn,s={},a=BH("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,qWn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=w(this,t.call(this,k,C),k,C,"mouse");_&&(Op(k.view).on("mousemove.drag",m,IM).on("mouseup.drag",g,IM),ySt(k.view),fte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(Yj(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function g(k){Op(k.view).on("mousemove.drag mouseup.drag",null),bSt(k.view,u),Yj(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),j=_.length,N,I;for(N=0;N<j;++N)(I=w(this,E,k,C,_[N].identifier,_[N]))&&(fte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,j;for(E=0;E<_;++E)(j=s[C[E].identifier])&&(Yj(k),j("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,j;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(j=s[C[E].identifier])&&(fte(k),j("end",k,C[E]))}function w(k,C,_,E,j,N){var I=a.copy(),A=og(N||_,C),R,L,D;if((D=n.call(k,new gge("beforestart",{sourceEvent:_,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,C),M=i;break}I.call(H,k,new gge(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:lF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:lF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:lF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:lF(!!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 mke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function wSt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function W3(){}var AM=.7,RB=1/AM,Kj="\\s*([+-]?\\d+)\\s*",RM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",iy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",QWn=/^#([0-9a-f]{3,8})$/,YWn=new RegExp(`^rgb\\(${Kj},${Kj},${Kj}\\)$`),KWn=new RegExp(`^rgb\\(${iy},${iy},${iy}\\)$`),XWn=new RegExp(`^rgba\\(${Kj},${Kj},${Kj},${RM}\\)$`),JWn=new RegExp(`^rgba\\(${iy},${iy},${iy},${RM}\\)$`),eZn=new RegExp(`^hsl\\(${RM},${iy},${iy}\\)$`),tZn=new RegExp(`^hsla\\(${RM},${iy},${iy},${RM}\\)$`),n9e={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};mke(W3,GO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:r9e,formatHex:r9e,formatHex8:nZn,formatHsl:rZn,formatRgb:s9e,toString:s9e});function r9e(){return this.rgb().formatHex()}function nZn(){return this.rgb().formatHex8()}function rZn(){return SSt(this).formatHsl()}function s9e(){return this.rgb().formatRgb()}function GO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=QWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?a9e(t):n===3?new gf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?cF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?cF(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=YWn.exec(e))?new gf(t[1],t[2],t[3],1):(t=KWn.exec(e))?new gf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=XWn.exec(e))?cF(t[1],t[2],t[3],t[4]):(t=JWn.exec(e))?cF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=eZn.exec(e))?l9e(t[1],t[2]/100,t[3]/100,1):(t=tZn.exec(e))?l9e(t[1],t[2]/100,t[3]/100,t[4]):n9e.hasOwnProperty(e)?a9e(n9e[e]):e==="transparent"?new gf(NaN,NaN,NaN,0):null}function a9e(e){return new gf(e>>16&255,e>>8&255,e&255,1)}function cF(e,t,n,r){return r<=0&&(e=t=n=NaN),new gf(e,t,n,r)}function sZn(e){return e instanceof W3||(e=GO(e)),e?(e=e.rgb(),new gf(e.r,e.g,e.b,e.opacity)):new gf}function vge(e,t,n,r){return arguments.length===1?sZn(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}mke(gf,vge,wSt(W3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?AM:Math.pow(AM,e),new gf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new gf(nO(this.r),nO(this.g),nO(this.b),PB(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:i9e,formatHex:i9e,formatHex8:aZn,formatRgb:o9e,toString:o9e}));function i9e(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}`}function aZn(){return`#${Lk(this.r)}${Lk(this.g)}${Lk(this.b)}${Lk((isNaN(this.opacity)?1:this.opacity)*255)}`}function o9e(){const e=PB(this.opacity);return`${e===1?"rgb(":"rgba("}${nO(this.r)}, ${nO(this.g)}, ${nO(this.b)}${e===1?")":`, ${e})`}`}function PB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function nO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Lk(e){return e=nO(e),(e<16?"0":"")+e.toString(16)}function l9e(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 SSt(e){if(e instanceof hg)return new hg(e.h,e.s,e.l,e.opacity);if(e instanceof W3||(e=GO(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 iZn(e,t,n,r){return arguments.length===1?SSt(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}mke(hg,iZn,wSt(W3,{brighter(e){return e=e==null?RB:Math.pow(RB,e),new hg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?AM:Math.pow(AM,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(pte(e>=240?e-240:e+120,s,r),pte(e,s,r),pte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new hg(c9e(this.h),uF(this.s),uF(this.l),PB(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=PB(this.opacity);return`${e===1?"hsl(":"hsla("}${c9e(this.h)}, ${uF(this.s)*100}%, ${uF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function c9e(e){return e=(e||0)%360,e<0?e+360:e}function uF(e){return Math.max(0,Math.min(1,e||0))}function pte(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 gke=e=>()=>e;function oZn(e,t){return function(n){return e+n*t}}function lZn(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 cZn(e){return(e=+e)==1?kSt:function(t,n){return n-t?lZn(t,n,e):gke(isNaN(t)?n:t)}}function kSt(e,t){var n=t-e;return n?oZn(e,n):gke(isNaN(e)?t:e)}const $B=(function e(t){var n=cZn(t);function r(s,a){var i=n((s=vge(s)).r,(a=vge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=kSt(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 uZn(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 dZn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function fZn(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]=hx(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 pZn(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 hZn(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]=hx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var yge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,hte=new RegExp(yge.source,"g");function mZn(e){return function(){return e}}function gZn(e){return function(t){return e(t)+""}}function OSt(e,t){var n=yge.lastIndex=hte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=yge.exec(e))&&(s=hte.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=hte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?gZn(c[0].x):mZn(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 hx(e,t){var n=typeof t,r;return t==null||n==="boolean"?gke(t):(n==="number"?cg:n==="string"?(r=GO(t))?(t=r,$B):OSt:t instanceof GO?$B:t instanceof Date?pZn:dZn(t)?uZn:Array.isArray(t)?fZn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?hZn:cg)(e,t)}function vke(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var u9e=180/Math.PI,bge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function CSt(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)*u9e,skewX:Math.atan(c)*u9e,scaleX:i,scaleY:l}}var dF;function vZn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?bge:CSt(t.a,t.b,t.c,t.d,t.e,t.f)}function yZn(e){return e==null||(dF||(dF=document.createElementNS("http://www.w3.org/2000/svg","g")),dF.setAttribute("transform",e),!(e=dF.transform.baseVal.consolidate()))?bge:(e=e.matrix,CSt(e.a,e.b,e.c,e.d,e.e,e.f))}function _St(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 bZn=_St(vZn,"px, ","px)","deg)"),xZn=_St(yZn,", ",")",")"),wZn=1e-12;function d9e(e){return((e=Math.exp(e))+1/e)/2}function SZn(e){return((e=Math.exp(e))-1/e)/2}function kZn(e){return((e=Math.exp(2*e))-1)/(e+1)}const U8=(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<wZn)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),w=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(2*p*n*x),C=Math.log(Math.sqrt(w*w+1)-w),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var j=E*b,N=d9e(C),I=u/(n*x)*(N*kZn(t*j+C)-SZn(C));return[l+I*h,c+I*m,u*N/d9e(t*j+C)]}}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 OZn(e,t){t===void 0&&(t=e,e=hx);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 QT=0,VP=0,_R=0,ESt=1e3,MB,qP,DB=0,QO=0,VH=0,PM=typeof performance=="object"&&performance.now?performance:Date,jSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function yke(){return QO||(jSt(CZn),QO=PM.now()+VH)}function CZn(){QO=0}function LB(){this._call=this._time=this._next=null}LB.prototype=TSt.prototype={constructor:LB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?yke():+n)+(t==null?0:+t),!this._next&&qP!==this&&(qP?qP._next=this:MB=this,qP=this),this._call=e,this._time=n,xge()},stop:function(){this._call&&(this._call=null,this._time=1/0,xge())}};function TSt(e,t,n){var r=new LB;return r.restart(e,t,n),r}function _Zn(){yke(),++QT;for(var e=MB,t;e;)(t=QO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--QT}function f9e(){QO=(DB=PM.now())+VH,QT=VP=0;try{_Zn()}finally{QT=0,jZn(),QO=0}}function EZn(){var e=PM.now(),t=e-DB;t>ESt&&(VH-=t,DB=e)}function jZn(){for(var e,t=MB,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:MB=n);qP=e,xge(r)}function xge(e){if(!QT){VP&&(VP=clearTimeout(VP));var t=e-QO;t>24?(e<1/0&&(VP=setTimeout(f9e,e-PM.now()-VH)),_R&&(_R=clearInterval(_R))):(_R||(DB=PM.now(),_R=setInterval(EZn,ESt)),QT=1,jSt(f9e))}}function p9e(e,t,n){var r=new LB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var TZn=BH("start","end","cancel","interrupt"),NZn=[],NSt=0,h9e=1,wge=2,V8=3,m9e=4,Sge=5,q8=6;function qH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;IZn(e,n,{name:t,index:r,group:s,on:TZn,tween:NZn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:NSt})}function bke(e,t){var n=Gg(e,t);if(n.state>NSt)throw new Error("too late; already scheduled");return n}function Hy(e,t){var n=Gg(e,t);if(n.state>V8)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 IZn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=TSt(a,0,n.time);function a(u){n.state=h9e,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!==h9e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===V8)return p9e(i);h.state===m9e?(h.state=q8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=q8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(p9e(function(){n.state===V8&&(n.state=m9e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=wge,n.on.call("start",e,e.__data__,n.index,n.group),n.state===wge){for(n.state=V8,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=Sge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===Sge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=q8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function H8(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>wge&&r.state<Sge,r.state=q8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function AZn(e){return this.each(function(){H8(this,e)})}function RZn(e,t){var n,r;return function(){var s=Hy(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 PZn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Hy(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 $Zn(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?RZn:PZn)(n,e,t))}function xke(e,t,n){var r=e._id;return e.each(function(){var s=Hy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Gg(s,r).value[t]}}function ISt(e,t){var n;return(typeof t=="number"?cg:t instanceof GO?$B:(n=GO(t))?(t=n,$B):OSt)(e,t)}function MZn(e){return function(){this.removeAttribute(e)}}function DZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function LZn(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 FZn(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 zZn(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 BZn(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 UZn(e,t){var n=UH(e),r=n==="transform"?xZn:ISt;return this.attrTween(e,typeof t=="function"?(n.local?BZn:zZn)(n,r,xke(this,"attr."+e,t)):t==null?(n.local?DZn:MZn)(n):(n.local?FZn:LZn)(n,r,t))}function VZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function qZn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function HZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&qZn(e,a)),n}return s._value=t,s}function WZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&VZn(e,a)),n}return s._value=t,s}function ZZn(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=UH(e);return this.tween(n,(r.local?HZn:WZn)(r,t))}function GZn(e,t){return function(){bke(this,e).delay=+t.apply(this,arguments)}}function QZn(e,t){return t=+t,function(){bke(this,e).delay=t}}function YZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?GZn:QZn)(t,e)):Gg(this.node(),t).delay}function KZn(e,t){return function(){Hy(this,e).duration=+t.apply(this,arguments)}}function XZn(e,t){return t=+t,function(){Hy(this,e).duration=t}}function JZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?KZn:XZn)(t,e)):Gg(this.node(),t).duration}function eGn(e,t){if(typeof t!="function")throw new Error;return function(){Hy(this,e).ease=t}}function tGn(e){var t=this._id;return arguments.length?this.each(eGn(t,e)):Gg(this.node(),t).ease}function nGn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Hy(this,e).ease=n}}function rGn(e){if(typeof e!="function")throw new Error;return this.each(nGn(this._id,e))}function sGn(e){typeof e!="function"&&(e=lSt(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 Px(r,this._parents,this._name,this._id)}function aGn(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 Px(i,this._parents,this._name,this._id)}function iGn(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 oGn(e,t,n){var r,s,a=iGn(t)?bke:Hy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function lGn(e,t){var n=this._id;return arguments.length<2?Gg(this.node(),n).on.on(e):this.each(oGn(n,e,t))}function cGn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function uGn(){return this.on("end.remove",cGn(this._id))}function dGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=pke(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,qH(u[p],t,n,p,u,Gg(d,n)));return new Px(a,this._parents,t,n)}function fGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=oSt(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])&&qH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Px(a,i,t,n)}var pGn=H3.prototype.constructor;function hGn(){return new pGn(this._groups,this._parents)}function mGn(e,t){var n,r,s;return function(){var a=GT(this,e),i=(this.style.removeProperty(e),GT(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function ASt(e){return function(){this.style.removeProperty(e)}}function gGn(e,t,n){var r,s=n+"",a;return function(){var i=GT(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function vGn(e,t,n){var r,s,a;return function(){var i=GT(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),GT(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function yGn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Hy(this,e),u=c.on,d=c.value[a]==null?l||(l=ASt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function bGn(e,t,n){var r=(e+="")=="transform"?bZn:ISt;return t==null?this.styleTween(e,mGn(e,r)).on("end.style."+e,ASt(e)):typeof t=="function"?this.styleTween(e,vGn(e,r,xke(this,"style."+e,t))).each(yGn(this._id,e)):this.styleTween(e,gGn(e,r,t),n).on("end.style."+e,null)}function xGn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function wGn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&xGn(e,i,n)),r}return a._value=t,a}function SGn(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,wGn(e,t,n??""))}function kGn(e){return function(){this.textContent=e}}function OGn(e){return function(){var t=e(this);this.textContent=t??""}}function CGn(e){return this.tween("text",typeof e=="function"?OGn(xke(this,"text",e)):kGn(e==null?"":e+""))}function _Gn(e){return function(t){this.textContent=e.call(this,t)}}function EGn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&_Gn(s)),t}return r._value=e,r}function jGn(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,EGn(e))}function TGn(){for(var e=this._name,t=this._id,n=RSt(),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);qH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Px(r,this._parents,e,n)}function NGn(){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=Hy(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 IGn=0;function Px(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function RSt(){return++IGn}var kb=H3.prototype;Px.prototype={constructor:Px,select:dGn,selectAll:fGn,selectChild:kb.selectChild,selectChildren:kb.selectChildren,filter:sGn,merge:aGn,selection:hGn,transition:TGn,call:kb.call,nodes:kb.nodes,node:kb.node,size:kb.size,empty:kb.empty,each:kb.each,on:lGn,attr:UZn,attrTween:ZZn,style:bGn,styleTween:SGn,text:CGn,textTween:jGn,remove:uGn,tween:$Zn,delay:YZn,duration:JZn,ease:tGn,easeVarying:rGn,end:NGn,[Symbol.iterator]:kb[Symbol.iterator]};function AGn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var RGn={time:null,delay:0,duration:250,ease:AGn};function PGn(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 $Gn(e){var t,n;e instanceof Px?(t=e._id,e=e._name):(t=RSt(),(n=RGn).time=yke(),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])&&qH(c,e,t,u,i,n||PGn(c,t));return new Px(r,this._parents,e,t)}H3.prototype.interrupt=AZn;H3.prototype.transition=$Gn;const fF=e=>()=>e;function MGn(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 rx(e,t,n){this.k=e,this.x=t,this.y=n}rx.prototype={constructor:rx,scale:function(e){return e===1?this:new rx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new rx(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 HH=new rx(1,0,0);PSt.prototype=rx.prototype;function PSt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return HH;return e.__zoom}function mte(e){e.stopImmediatePropagation()}function ER(e){e.preventDefault(),e.stopImmediatePropagation()}function DGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function LGn(){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 g9e(){return this.__zoom||HH}function FGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function zGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function BGn(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 $St(){var e=DGn,t=LGn,n=BGn,r=FGn,s=zGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=U8,u=BH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",g9e).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",g9e),D!==B?C(D,z,H,F):B.interrupt().each(function(){_(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(w(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(HH.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 rx(z,D.x,D.y)}function w(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 rx(D.k,F,B)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,z,H,F){D.on("start.zoom",function(){_(this,arguments).event(F).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(F).end()}).tween("zoom",function(){var B=this,V=arguments,M=_(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 rx(J,q[0]-ee[0]*J,q[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(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 MGn(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=_(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)],H8(this),H.start()}ER(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(w(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=_(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;ySt(D.view),mte(D),F.mouse=[V,this.__zoom.invert(V)],H8(this),F.start();function q(U){if(ER(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(w(F.that.__zoom,F.mouse[0]=og(U,H),F.mouse[1]),F.extent,i))}function $(U){B.on("mousemove.zoom mouseup.zoom",null),bSt(U.view,F.moved),ER(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(w(x(H,V),F,B),t.apply(this,z),i);ER(D),l>0?Op(this).transition().duration(l).call(C,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=_(this,z,D.changedTouches.length===F).event(D),V,M,Q,q;for(mte(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)),H8(this),B.start())}}function R(D,...z){if(this.__zooming){var H=_(this,z).event(D),F=D.changedTouches,B=F.length,V,M,Q,q;for(ER(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(w(M,Q,q),H.extent,i))}}function L(D,...z){if(this.__zooming){var H=_(this,z).event(D),F=D.changedTouches,B=F.length,V,M;for(mte(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:fF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:fF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:fF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:fF([[+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."},$M=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],MSt=["Enter"," ","Escape"],DSt={"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 YT;(function(e){e.Strict="strict",e.Loose="loose"})(YT||(YT={}));var rO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(rO||(rO={}));var MM;(function(e){e.Partial="partial",e.Full="full"})(MM||(MM={}));const LSt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var mw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(mw||(mw={}));var DM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(DM||(DM={}));var sr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(sr||(sr={}));const v9e={[sr.Left]:sr.Right,[sr.Right]:sr.Left,[sr.Top]:sr.Bottom,[sr.Bottom]:sr.Top};function FSt(e){return e===null?null:e?"valid":"invalid"}const zSt=e=>"id"in e&&"source"in e&&"target"in e,UGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),wke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),Z3=(e,t=[0,0])=>{const{width:n,height:r}=r0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},VGn=(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):wke(s)?s:t.nodeLookup.get(s.id));const l=i?FB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return WH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return ZH(n)},G3=(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=WH(n,FB(s)),r=!0)}),r?ZH(n):{x:0,y:0,width:0,height:0}},Ske=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...Y3(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=LM(l,XT(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},qGn=(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 HGn(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 WGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=HGn(e,i),c=G3(l),u=kke(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 BSt({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&&JT(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=JT(f)?YO(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 ZGn({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=qGn(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 KT=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),YO=(e={x:0,y:0},t,n)=>({x:KT(e.x,t[0][0],t[1][0]-(n?.width??0)),y:KT(e.y,t[0][1],t[1][1]-(n?.height??0))});function USt(e,t,n){const{width:r,height:s}=r0(n),{x:a,y:i}=n.internals.positionAbsolute;return YO(e,[[a,i],[a+r,i+s]],t)}const y9e=(e,t,n)=>e<t?KT(Math.abs(e-t),1,t)/t:e>n?-KT(Math.abs(e-n),1,t)/t:0,VSt=(e,t,n=15,r=40)=>{const s=y9e(e.x,r,t.width-r)*n,a=y9e(e.y,r,t.height-r)*n;return[s,a]},WH=(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)}),kge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),ZH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),XT=(e,t=[0,0])=>{const{x:n,y:r}=wke(e)?e.internals.positionAbsolute:Z3(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}},FB=(e,t=[0,0])=>{const{x:n,y:r}=wke(e)?e.internals.positionAbsolute:Z3(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)}},qSt=(e,t)=>ZH(WH(kge(e),kge(t))),LM=(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)},b9e=e=>xg(e.width)&&xg(e.height)&&xg(e.x)&&xg(e.y),xg=e=>!isNaN(e)&&isFinite(e),GGn=(e,t)=>{},Q3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Y3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?Q3(l,i):l},zB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function fE(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 QGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=fE(e,n),s=fE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=fE(e.top??e.y??0,n),s=fE(e.bottom??e.y??0,n),a=fE(e.left??e.x??0,t),i=fE(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 YGn(e,t,n,r,s,a){const{x:i,y:l}=zB(e,[t,n,r]),{x:c,y:u}=zB({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 kke=(e,t,n,r,s,a)=>{const i=QGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=KT(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=YGn(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}},FM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function JT(e){return e!=null&&e!=="parent"}function r0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function HSt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function WSt(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 x9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function KGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function XGn(e){return{...DSt,...e||{}}}function S2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=wg(e),l=Y3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?Q3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const Oke=e=>({width:e.offsetWidth,height:e.offsetHeight}),ZSt=e=>e?.getRootNode?.()||window?.document,JGn=["INPUT","SELECT","TEXTAREA"];function GSt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:JGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const QSt=e=>"clientX"in e,wg=(e,t)=>{const n=QSt(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)}},w9e=(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,...Oke(i)}})};function YSt({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 pF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function S9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case sr.Left:return[t-pF(t-r,a),n];case sr.Right:return[t+pF(r-t,a),n];case sr.Top:return[t,n-pF(n-s,a)];case sr.Bottom:return[t,n+pF(s-n,a)]}}function Cke({sourceX:e,sourceY:t,sourcePosition:n=sr.Bottom,targetX:r,targetY:s,targetPosition:a=sr.Top,curvature:i=.25}){const[l,c]=S9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=S9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=YSt({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 KSt({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 eQn({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 tQn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=WH(FB(e),FB(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 LM(i,ZH(a))>0}const nQn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,rQn=(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)),sQn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||nQn;let s;return zSt(e)?s={...e}:s={...e,id:r(e)},rQn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function XSt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=KSt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const k9e={[sr.Left]:{x:-1,y:0},[sr.Right]:{x:1,y:0},[sr.Top]:{x:0,y:-1},[sr.Bottom]:{x:0,y:1}},aQn=({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 iQn({source:e,sourcePosition:t=sr.Bottom,target:n,targetPosition:r=sr.Top,center:s,offset:a,stepPosition:i}){const l=k9e[t],c=k9e[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=aQn({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},[,,w,k]=KSt({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 C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],g,y,w,k]}function oQn(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 Oge({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]=iQn({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+=oQn(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 C9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function lQn(e){const{sourceNode:t,targetNode:n}=e;if(!C9e(t)||!C9e(n))return null;const r=t.internals.handleBounds||_9e(t.handles),s=n.internals.handleBounds||_9e(n.handles),a=E9e(r?.source??[],e.sourceHandle),i=E9e(e.connectionMode===YT.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=KO(t,a,l),d=KO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function _9e(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 KO(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??r0(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 E9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Cge(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function cQn(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=Cge(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 JSt=1e3,uQn=10,_ke={nodeOrigin:[0,0],nodeExtent:$M,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},dQn={..._ke,checkEquality:!0};function Eke(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function fQn(e,t,n){const r=Eke(_ke,n);for(const s of e.values())if(s.parentId)Tke(s,e,t,r);else{const a=Z3(s,r.nodeOrigin),i=JT(s.extent)?s.extent:r.nodeExtent,l=YO(a,i,r0(s));s.internals.positionAbsolute=l}}function pQn(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 jke(e){return e==="manual"}function _ge(e,t,n,r={}){const s=Eke(dQn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!jke(s.zIndexMode)?JSt: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=Z3(d,s.nodeOrigin),h=JT(d.extent)?d.extent:s.nodeExtent,m=YO(p,h,r0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:pQn(d,f),z:ekt(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&&Tke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function hQn(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 Tke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Eke(_ke,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}hQn(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*uQn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!jke(c)?JSt:0,{x:p,y:h,z:m}=mQn(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 ekt(e,t,n){const r=xg(e.zIndex)?e.zIndex:0;return jke(n)?r:r+(e.selected?t:0)}function mQn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=r0(e),u=Z3(e,n),d=JT(e.extent)?YO(u,e.extent,c):u;let f=YO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=USt(f,c,t));const p=ekt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function Nke(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??XT(l),u=qSt(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=r0(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(w=>w.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 gQn(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=Oke(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(),w=JT(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=USt(k,g,t.get(m.parentId)):w&&(k=YO(k,w,g));const C={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:w9e("source",h.nodeElement,x,f,m.id),target:w9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Tke(C,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:XT(C,s)}))}}if(p.length>0){const h=Nke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function vQn({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 j9e(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 tkt(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}`;j9e("source",c,d,e,s,i),j9e("target",c,u,e,a,l),t.set(r.id,r)}}function nkt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:nkt(n,t):!1}function T9e(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 yQn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!nkt(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 gte({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 bQn({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=Q3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function xQn({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:w,domNode:k,isSelectable:C,nodeId:_,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?kge(G3(l)):null,K=U&&F?bQn({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)}:Q3(J,H));let ae=null;if(U&&z&&!ee.extent&&Z){const{positionAbsolute:re}=ee.internals,le=re.x-Z.x+z[0][0],ue=re.x+ee.measured.width-Z.x2+z[1][0],oe=re.y-Z.y+z[0][1],me=re.y+ee.measured.height-Z.y2+z[1][1];ae=[[le,oe],[ue,me]]}const{position:fe,positionAbsolute:Y}=BSt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||z,nodeOrigin:B,onError:Q});$=$||ee.position.x!==fe.x||ee.position.y!==fe.y,ee.position=fe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(q(l,!0),g&&(r||V||!_&&M))){const[ne,ee]=gte({nodeId:_,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),V?.(g,ne,ee),_||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]=VSt(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||!C)&&!D&&_&&(L.get(_)?.selected||q()),C&&V&&_&&e?.(_);const $=S2(R.sourceEvent,{transform:H,snapGrid:F,snapToGrid:B,containerBounds:d});if(a=$,l=yQn(L,z,$,_),l.size>0&&(n||M||!_&&Q)){const[U,Z]=gte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,U,Z),M?.(R.sourceEvent,U,Z),_||Q?.(R.sourceEvent,Z)}}const A=xSt().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=S2(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=S2(R.sourceEvent,{transform:D,snapGrid:z,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!B.has(_))&&(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||!_&&H){const[F,B]=gte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,F,B),z?.(R.sourceEvent,F,B),_||H?.(R.sourceEvent,B)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!T9e(L,`.${x}`,k))&&(!w||T9e(L,w,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function wQn(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())LM(s,XT(a))>0&&r.push(a);return r}const SQn=250;function kQn(e,t,n,r){let s=[],a=1/0;const i=wQn(e,n,t+SQn);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}=KO(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 rkt(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,...KO(i,c,c.position,!0)}:c}function skt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function OQn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const akt=()=>!0;function CQn(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=akt,onReconnectEnd:x,updateConnection:w,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:j}){const N=ZSt(e.target);let I=0,A;const{x:R,y:L}=wg(e),D=skt(a,j),z=l?.getBoundingClientRect();let H=!1;if(!z||!D)return;const F=rkt(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[fe,Y]=VSt(B,z,_);p({x:fe,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:KO(Z,U,sr.Left,!0),fromHandle:U,fromPosition:U.position,fromNode:Z,to:B,toHandle:null,toPosition:v9e[U.position],toNode:null,pointer:B};function ee(){H=!0,w(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(fe){if(!H){const{x:me,y:be}=wg(fe),xe=me-R,_e=be-L;if(!(xe*xe+_e*_e>E*E))return;ee()}if(!C()||!U){ae(fe);return}const Y=k();B=wg(fe,z),A=kQn(Y3(B,Y,!1,[1,1]),n,c,U),V||($(),V=!0);const re=ikt(fe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});q=re.handleDomNode,M=re.connection,Q=OQn(!!A,re.isValid);const le=c.get(s),ue=le?KO(le,U,sr.Left,!0):ne.from,oe={...ne,from:ue,isValid:Q,to:re.toHandle&&Q?zB({x:re.toHandle.x,y:re.toHandle.y},Y):B,toHandle:re.toHandle,toPosition:Q&&re.toHandle?re.toHandle.position:v9e[U.position],toNode:re.toHandle?c.get(re.toHandle.nodeId):null,pointer:B};w(oe),ne=oe}function ae(fe){if(!("touches"in fe&&fe.touches.length>0)){if(H){(A||q)&&M&&Q&&g?.(M);const{inProgress:Y,...re}=ne,le={...re,toPosition:ne.toHandle?ne.toPosition:null};y?.(fe,le),a&&x?.(fe,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 ikt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=akt,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=skt(void 0,y),w=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!w||!x)return b;const E={source:f?w:r,sourceHandle:f?k:s,target:f?r:w,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===YT.Strict?f&&x==="source"||!f&&x==="target":w!==r||k!==s);b.isValid=N&&u(E),b.toHandle=rkt(w,x,k,d,n,!0)}return b}const Ege={onPointerDown:CQn,isValid:ikt};function _Qn({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=w=>{if(w.sourceEvent.type!=="wheel"||!t)return;const k=n(),C=w.sourceEvent.ctrlKey&&FM()?10:1,_=-w.sourceEvent.deltaY*(w.sourceEvent.deltaMode===1?.05:w.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let g=[0,0];const y=w=>{(w.sourceEvent.type==="mousedown"||w.sourceEvent.type==="touchstart")&&(g=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY])},b=w=>{const k=n();if(w.sourceEvent.type!=="mousemove"&&w.sourceEvent.type!=="touchmove"||!t)return;const C=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY],_=[C[0]-g[0],C[1]-g[1]];g=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),j={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:j.x,y:j.y,zoom:k[2]},N,l)},x=$St().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 GH=e=>({x:e.x,y:e.y,zoom:e.k}),vte=({x:e,y:t,zoom:n})=>HH.translate(e,t).scale(n),hj=(e,t)=>e.target.closest(`.${t}`),okt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),EQn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,yte=(e,t=0,n=EQn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},lkt=e=>{const t=e.ctrlKey&&FM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function jQn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(hj(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=lkt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===rO.Vertical?0:d.deltaX*p,m=s===rO.Horizontal?0:d.deltaY*p;!FM()&&d.shiftKey&&s!==rO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=GH(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 TQn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=hj(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function NQn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=GH(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 IQn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&okt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,GH(a.transform))}}function AQn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&okt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=GH(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function RQn({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"&&(hj(f,`${u}-flow__node`)||hj(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||hj(f,l)&&m||hj(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 PQn({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=$St().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:KT(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(lkt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?hx:U8).transform(yte(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?jQn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:F,panOnScrollSpeed:B,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):TQn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=NQn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const re=IQn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",re);const le=AQn({zoomPanValues:u,panOnDrag:H,panOnScroll:z,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const fe=RQn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:Q,panOnScroll:z,zoomOnDoubleClick:q,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:U,connectionInProgress:K});f.filter(fe),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=vte(A),z=f?.constrain()(D,R,L);return z&&await g(z),new Promise(H=>H(z))}async function w(A,R){const L=vte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=vte(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 C(){const A=p?PSt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?hx:U8).scaleTo(yte(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"?hx:U8).scaleBy(yte(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:w,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:j,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var eN;(function(e){e.Line="line",e.Handle="handle"})(eN||(eN={}));function $Qn({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 N9e(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 G0(e,t){return Math.max(0,t-e)}function Q0(e,t){return Math.max(0,e-t)}function hF(e,t,n){return Math.max(0,t-e,e-n)}function I9e(e,t){return e?!t:t}function MQn(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:w,y:k,width:C,height:_,aspectRatio:E}=e;let j=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-j:j),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=hF(I,g,y),z=hF(A,b,x);if(i){let B=0,V=0;c&&j<0?B=G0(w+j+R,i[0][0]):!c&&j>0&&(B=Q0(w+I+R,i[1][0])),u&&N<0?V=G0(k+N+L,i[0][1]):!u&&N>0&&(V=Q0(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=Q0(w+j,l[0][0]):!c&&j<0&&(B=G0(w+I,l[1][0])),u&&N>0?V=Q0(k+N,l[0][1]):!u&&N<0&&(V=G0(k+A,l[1][1])),D=Math.max(D,B),z=Math.max(z,V)}if(s){if(d){const B=hF(I/E,b,x)*E;if(D=Math.max(D,B),i){let V=0;!c&&!u||c&&!u&&p?V=Q0(k+L+I/E,i[1][1])*E:V=G0(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=G0(k+I/E,l[1][1])*E:V=Q0(k+(c?j:-j)/E,l[0][1])*E,D=Math.max(D,V)}}if(f){const B=hF(A*E,g,y)/E;if(z=Math.max(z,B),i){let V=0;!c&&!u||u&&!c&&p?V=Q0(w+A*E+R,i[1][0])/E:V=G0(w+(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=G0(w+A*E,l[1][0])/E:V=Q0(w+(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=(I9e(c,u)?-j:j)/E:j=(I9e(c,u)?-N:N)*E:d?(N=j/E,u=c):(j=N*E,c=u));const H=c?w+j:w,F=u?k+N:k;return{width:C+(c?-j:j),height:_+(u?-N:N),x:a[0]*j*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+F}}const ckt={width:0,height:0,x:0,y:0},DQn={...ckt,pointerX:0,pointerY:0,aspectRatio:1};function LQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function FQn(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 zQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:N9e("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={...ckt},x={...DQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:N9e(u)};let w,k=null,C=[],_,E,j,N=!1;const I=xSt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:z,nodeOrigin:H,paneDomNode:F}=n();if(w=R.get(t),!w)return;k=F?.getBoundingClientRect()??null;const{xSnapped:B,ySnapped:V}=S2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:z,containerBounds:k});b={width:w.measured.width??0,height:w.measured.height??0,x:w.position.x??0,y:w.position.y??0},x={...b,pointerX:B,pointerY:V,aspectRatio:b.width/b.height},_=void 0,w.parentId&&(w.extent==="parent"||w.expandParent)&&(_=R.get(w.parentId),E=_&&w.extent==="parent"?LQn(_):void 0),C=[],j=void 0;for(const[M,Q]of R)if(Q.parentId===t&&(C.push({id:M,position:{...Q.position},extent:Q.extent}),Q.extent==="parent"||Q.expandParent)){const q=FQn(Q,w,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=S2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),F=[];if(!w)return;const{x:B,y:V,width:M,height:Q}=b,q={},$=w.origin??z,{width:U,height:Z,x:K,y:ne}=MQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,j),ee=U!==M,J=Z!==Q,ae=K!==B&&ee,fe=ne!==V&&J;if(!ae&&!fe&&!ee&&!J)return;if((ae||fe||$[0]===1||$[1]===1)&&(q.x=ae?K:b.x,q.y=fe?ne:b.y,b.x=q.x,b.y=q.y,C.length>0)){const ue=K-B,oe=ne-V;for(const me of C)me.position={x:me.position.x-ue+$[0]*(U-M),y:me.position.y-oe+$[1]*(Z-Q)},F.push(me)}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),_&&w.expandParent){const ue=$[0]*(q.width??0);q.x&&q.x<ue&&(b.x=ue,x.x=x.x-(q.x-ue));const oe=$[1]*(q.height??0);q.y&&q.y<oe&&(b.y=oe,x.y=x.y-(q.y-oe))}const Y=$Qn({width:b.width,prevWidth:M,height:b.height,prevHeight:Q,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),re={...b,direction:Y};y?.(A,re)!==!1&&(N=!0,m?.(A,re),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 BQn={},A9e=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:()=>{(BQn?"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},UQn=e=>e?A9e(e):A9e,{useDebugValue:VQn}=Fe,{useSyncExternalStoreWithSelector:qQn}=oCn,HQn=e=>e;function ukt(e,t=HQn,n){const r=qQn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return VQn(r),r}const R9e=(e,t)=>{const n=UQn(e),r=(s,a=t)=>ukt(n,s,a);return Object.assign(r,n),r},WQn=(e,t)=>e?R9e(e,t):R9e;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),ZQn=QH.Provider,dkt=ky.error001();function Us(e,t){const n=v.useContext(QH);if(n===null)throw new Error(dkt);return ukt(n,e,t)}function To(){const e=v.useContext(QH);if(e===null)throw new Error(dkt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const P9e={display:"none"},GQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},fkt="react-flow__node-desc",pkt="react-flow__edge-desc",QQn="react-flow__aria-live",YQn=e=>e.ariaLiveMessage,KQn=e=>e.ariaLabelConfig;function XQn({rfId:e}){const t=Us(YQn);return o.jsx("div",{id:`${QQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:GQn,children:t})}function JQn({rfId:e,disableKeyboardA11y:t}){const n=Us(KQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${fkt}-${e}`,style:P9e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${pkt}-${e}`,style:P9e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(XQn,{rfId:e})]})}const K3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Hl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});K3.displayName="Panel";function eYn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(K3,{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 tYn=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}},mF=e=>e.id;function nYn(e,t){return io(e.selectedNodes.map(mF),t.selectedNodes.map(mF))&&io(e.selectedEdges.map(mF),t.selectedEdges.map(mF))}function rYn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(tYn,nYn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const sYn=e=>!!e.onSelectionChangeHandlers;function aYn({onSelectionChange:e}){const t=Us(sYn);return e||t?o.jsx(rYn,{onSelectionChange:e}):null}const jge=typeof window<"u"?v.useLayoutEffect:v.useEffect,hkt=[0,0],iYn={x:0,y:0,zoom:1},oYn=["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"],$9e=[...oYn,"rfId"],lYn=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}),M9e={translateExtent:$M,nodeOrigin:hkt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cYn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(lYn,io),u=To();jge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=M9e,l()}),[]);const d=v.useRef(M9e);return jge(()=>{for(const f of $9e){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:XGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},$9e.map(f=>e[f])),null}function D9e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function uYn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=D9e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:D9e()?.matches?"dark":"light"}const L9e=typeof document<"u"?document:null;function zM(e=null,t={target:L9e,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("+",`
|
|
339
339
|
`).replace(`
|
|
340
340
|
|
|
341
341
|
`,`
|
|
@@ -719,7 +719,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
|
|
|
719
719
|
}
|
|
720
720
|
]`})]})]})}function jls({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border-accent2/30 rounded-md border p-3",children:[o.jsxs("div",{className:"text-accent2 mb-2 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(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 Tls({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}=tos(),{batchInsertItems:b}=Ii(),x=v.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),w=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]),C=v.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),_=i&&i.items.length>0&&i.errors.length===0,E=()=>{switch(s){case"upload":return o.jsx(Els,{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(jls,{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(_ls,{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:C,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(ce,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(ce,{variant:"primary",onClick:w,disabled:!_,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:C,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(oc,{className:"flex justify-end gap-2 px-6 pt-4",children:j()})]})})}const BIe=e=>{const t=We(),{data:n}=AD(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})},Nls=e=>{const t=We(),{data:n}=AD(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 Ils(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 sBt({datasetId:e,experimentId:t,featuredItemId:n}){const r=We(),{data:s}=e0(e),{data:a,isLoading:i}=BIe(e),{data:l,isLoading:c}=Nls(e),u=v.useMemo(()=>t?(a??[]).filter(Te=>Te.experimentId===t):a,[a,t]),d=v.useMemo(()=>t?(l??[]).filter(Te=>Te.experimentId===t):l,[l,t]),{updateExperimentResult:f}=Ii(),[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,w]=v.useState(!1),[k,C]=v.useState(!1),[_,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 Te=new Set;if(s?.tags)for(const Ee of s.tags)Te.add(Ee);for(const Ee of M)for(const Oe of Ee.tags)Te.add(Oe);return[...Te].sort()},[s,M]),q=v.useCallback(Te=>{!s||!e||(s.tags??[]).includes(Te)},[s,e]),$=v.useMemo(()=>m?m==="__untagged__"?M.filter(Te=>Te.tags.length===0):M.filter(Te=>Te.tags.includes(m)):M,[M,m]),U=v.useMemo(()=>{const Te=new Map;for(const Ee of M)for(const Oe of Ee.tags)Te.set(Oe,(Te.get(Oe)??0)+1);return[...Te.entries()].sort((Ee,Oe)=>Oe[1]-Ee[1])},[M]),Z=v.useMemo(()=>M.filter(Te=>Te.tags.length===0).length,[M]),K=v.useMemo(()=>{let Te=0;return m&&Te++,x&&Te++,Te},[m,x]),ne=v.useCallback((Te,Ee)=>{V(Ie=>(Ie??[]).map(Me=>Me.id===Te?{...Me,tags:Ee}:Me));const Oe=M.find(Ie=>Ie.id===Te);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,tags:Ee})},[M,f]),ee=v.useCallback((Te,Ee)=>{const Oe=M.find(Ie=>Ie.id===Te);Oe?.traceId&&Ee!==void 0&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:Ee==="positive"?1:-1,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),V(Ie=>(Ie??[]).map(Me=>Me.id===Te?{...Me,rating:Ee}:Me))},[M,r]),J=v.useCallback((Te,Ee)=>{const Oe=M.find(Ie=>Ie.id===Te);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,comment:Ee}),Oe?.traceId&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:Ee,comment:Ee,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),V(Ie=>(Ie??[]).map(Me=>Me.id===Te?{...Me,comment:Ee}:Me))},[M,r,f]),ae=v.useCallback(Te=>{const Ee=M.find(Oe=>Oe.id===Te);V(Oe=>(Oe??[]).filter(Ie=>Ie.id!==Te)),b(Oe=>{const Ie=new Set(Oe);return Ie.delete(Te),Ie}),p===Te&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:null})},[M,f,p]),fe=v.useCallback(Te=>{const Ee=M.find(Oe=>Oe.id===Te);V(Oe=>(Oe??[]).filter(Ie=>Ie.id!==Te)),b(Oe=>{const Ie=new Set(Oe);return Ie.delete(Te),Ie}),p===Te&&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 Te=x?d??[]:$;return!x||!m?Te:m==="__untagged__"?Te.filter(Ee=>Ee.tags.length===0):Te.filter(Ee=>Ee.tags.includes(m))},[x,d,$,m]),re=x?c:!1,le=v.useMemo(()=>new Set(Y.map(Te=>Te.id)),[Y]),ue=v.useMemo(()=>[...y].filter(Te=>le.has(Te)).length,[y,le]),oe=Y.length>0&&ue===Y.length,me=ue>0&&!oe,be=v.useCallback(Te=>{b(Ee=>{const Oe=new Set(Ee);return Oe.has(Te)?Oe.delete(Te):Oe.add(Te),Oe})},[]),xe=v.useCallback(()=>{b(oe?new Set:new Set(Y.map(Te=>Te.id)))},[oe,Y]),_e=v.useCallback(Te=>{for(const Ee of y){const Oe=M.find(Ie=>Ie.id===Ee);Oe&&!Oe.tags.includes(Te)&&ne(Ee,[...Oe.tags,Te])}},[M,y,ne]),ke=v.useCallback(Te=>{for(const Ee of y){const Oe=M.find(Ie=>Ie.id===Ee);Oe&&Oe.tags.includes(Te)&&ne(Ee,Oe.tags.filter(Ie=>Ie!==Te))}},[M,y,ne]),Ne=v.useCallback(()=>{for(const Te of y)fe(Te);b(new Set)},[y,fe]),$e=v.useCallback(()=>{for(const Te of y)ae(Te);b(new Set)},[y,ae]),de=v.useCallback(()=>{N(""),E(!0)},[]),te=v.useCallback(async()=>{if(!(!I||!R)){C(!0),E(!1);try{const Te=M.filter(Oe=>y.has(Oe.id));if(Te.length===0){C(!1);return}const Ee=await r.clusterFailures({modelId:`${I}/${R}`,items:Te.map(Oe=>({id:Oe.id,input:Oe.input,output:Oe.output??void 0,error:typeof Oe.error=="string"?Oe.error:Oe.error?String(Oe.error):void 0,scores:Oe.scores,existingTags:Oe.tags.length>0?Oe.tags:void 0})),availableTags:Q.length>0?Q:void 0,prompt:j||void 0});Ee.proposedTags&&Ee.proposedTags.length>0&&(z(Ee.proposedTags.map(Oe=>({...Oe,accepted:!0}))),F(!0))}catch(Te){console.error("Analysis failed:",Te)}finally{C(!1)}}},[I,R,M,y,r,Q,j]),se=v.useCallback(()=>{for(const Te of D){if(!Te.accepted)continue;const Ee=M.find(Oe=>Oe.id===Te.itemId);if(Ee){const Oe=[...new Set([...Ee.tags,...Te.tags])];ne(Ee.id,Oe)}}F(!1)},[D,M,ne]),he=v.useCallback(Te=>{h(Ee=>Ee===Te?null:Te)},[]),we=v.useMemo(()=>p?Y.find(Te=>Te.id===p)??null:null,[p,Y]),je=p?Y.findIndex(Te=>Te.id===p):-1,Re=je>0?()=>h(Y[je-1].id):void 0,Ze=je>=0&&je<Y.length-1?()=>h(Y[je+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:_,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(Gy,{value:I,onValueChange:A})]}),o.jsxs("div",{children:[o.jsx(Dt,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Qy,{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:Te=>N(Te.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"mt-1 text-xs"})]})]}),o.jsxs(oc,{children:[o.jsx(ce,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(ce,{onClick:te,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(Te=>Te.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((Te,Ee)=>{const Oe=M.find(Ie=>Ie.id===Te.itemId);return o.jsx("div",{className:X("p-3 border rounded-lg",!Te.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(Bo,{checked:Te.accepted,onCheckedChange:Ie=>z(Me=>Me.map((Ue,Je)=>Je===Ee?{...Ue,accepted:!!Ie}:Ue))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 block truncate",children:Oe?typeof Oe.input=="string"?Oe.input.slice(0,100):JSON.stringify(Oe.input).slice(0,100):Te.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:Te.tags.map((Ie,Me)=>o.jsx(B9t,{tag:Ie,onRename:Ue=>z(Je=>Je.map((et,Mt)=>Mt===Ee?{...et,tags:et.tags.map((st,mt)=>mt===Me?Ue:st)}:et)),onRemove:()=>z(Ue=>Ue.map((Je,et)=>et===Ee?{...Je,tags:Je.tags.filter((Mt,st)=>st!==Me)}:Je))},`${Ie}-${Me}`))}),Te.reason&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:Te.reason})]})]})},Te.itemId)})}),o.jsxs(oc,{children:[o.jsx(ce,{variant:"outline",onClick:()=>F(!1),children:"Cancel"}),o.jsxs(ce,{onClick:se,disabled:D.filter(Te=>Te.accepted).length===0,children:["Accept ",D.filter(Te=>Te.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(Qit,{}),"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:()=>{w(!1),h(null)},onSelect:Te=>Te.preventDefault(),children:"Review Queue"}),o.jsx(it.CheckboxItem,{checked:x,onCheckedChange:()=>{w(!0),h(null)},onSelect:Te=>Te.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:Te=>Te.preventDefault(),children:"All"}),Z>0&&o.jsx(it.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>g(m==="__untagged__"?null:"__untagged__"),onSelect:Te=>Te.preventDefault(),children:"Untagged"}),U.length>0&&o.jsx(it.Separator,{}),U.map(([Te])=>o.jsx(it.CheckboxItem,{checked:m===Te,onCheckedChange:()=>g(m===Te?null:Te),onSelect:Ee=>Ee.preventDefault(),children:Te},Te))]})]}),K>0&&o.jsxs(o.Fragment,{children:[o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:()=>{g(null),w(!1),h(null)},children:[o.jsx(ps,{}),"Clear all filters"]})]})]})]}),K>0&&o.jsxs(ce,{variant:"outline",size:"md",onClick:()=>{g(null),w(!1),h(null)},children:[o.jsx(ps,{}),"Reset"]})]}),!x&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(z9t,{selectedCount:y.size,vocabulary:Q,onApplyTag:_e,onRemoveTag:ke,onNewTag:Te=>_e(Te)}),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(Ve,{size:"sm",children:o.jsx(wa,{})}),"Actions"]})}),o.jsxs(it.Content,{align:"end",children:[o.jsxs(it.Item,{onSelect:Ne,children:[o.jsx(Ve,{size:"sm",children:o.jsx(pO,{})}),"Complete"]}),o.jsxs(it.Item,{onSelect:$e,children:[o.jsx(Ve,{size:"sm",children:o.jsx(hu,{})}),"Remove"]}),o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:de,children:[o.jsx(Ve,{size:"sm",children:o.jsx(Ng,{})}),"Analyze"]})]})]})]})]}),re?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:me?"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(Te=>{const Ee=Te.scores?Object.entries(Te.scores):[],Oe=p===Te.id,Ie=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:Ils(Te.input,200)})}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:Te.comment?o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 truncate",children:Te.comment}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(ve.Cell,{height:"compact",className:"min-w-0",children:Te.tags.length>0?o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 truncate",children:Te.tags.join(", ")}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(ve.Cell,{height:"compact",children:[Te.rating==="positive"&&o.jsx(Ve,{size:"sm",className:"text-positive1",children:o.jsx(mxe,{})}),Te.rating==="negative"&&o.jsx(Ve,{size:"sm",className:"text-negative1",children:o.jsx(hxe,{})}),!Te.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(Ve,{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":Te.error?"Error":"Success",title:Te.error?"Error":"Success",className:X("w-2 h-2 rounded-full",Te.error?"bg-red-700":"bg-green-600")})}):o.jsx(ve.SelectCell,{checked:y.has(Te.id),onToggle:()=>be(Te.id),"aria-label":`Select item ${Te.id}`}),o.jsx(ve.RowButton,{flushLeft:!0,colStart:2,featured:Oe,onClick:()=>he(Te.id),children:Ie})]},Te.id)})]})]}),we&&o.jsx(F9t,{item:we,isCompleted:x,tagVocabulary:Q,onRate:Te=>ee(we.id,Te),onSetTags:Te=>{ne(we.id,Te);for(const Ee of Te)Q.includes(Ee)||q(Ee)},onComment:Te=>J(we.id,Te),onRemove:()=>ae(we.id),onComplete:x?void 0:()=>fe(we.id),onPrevious:Re,onNext:Ze,onClose:()=>h(null)})]})]})}function Als({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=yn(),[s,a]=vi(),{tab:i,activeVersion:l,handleTabChange:c}=FIe(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),[w,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]=$1e(L,300),{data:H}=e0(e),{data:F=[],total:B,isLoading:V,setEndOfListElement:M,isFetchingNextPage:Q,hasNextPage:q}=R1(e,z||void 0,l),{total:$}=R1(e,void 0,l),[U,Z]=v.useState({}),{data:K,isLoading:ne}=AD(e,void 0,U),{data:ee}=AD(e),{deleteItems:J}=Ii(),ae=K?.experiments??[],fe=ee?.experiments??[],Y=Ros({hasSearchQuery:!!z,filteredItemsLength:F.length,unfilteredItemsTotal:$,itemsTotal:B}),{data:re}=BIe(e),le=re?.length??0,ue=se=>{R(se)},oe=()=>{R(null)},me=se=>{y(se),m(!0)},be=se=>{k(se),x(!0)},xe=se=>{x(se),se||(k([]),I(he=>he+1))},_e=se=>{r(`/datasets/${e}/items?items=${se.join(",")}`)},ke=se=>{r(`/datasets/${e}/versions?ids=${se.join(",")}`)},Ne=se=>{j(se),_(!0)},$e=async()=>{await J.mutateAsync({datasetId:e,itemIds:E}),Le.success(`Deleted ${E.length} items`),_(!1),j([]),I(se=>se+1)},de=se=>{m(!1),y([]),I(he=>he+1),n?.(se)},te=se=>{m(se),se||(y([]),I(he=>he+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(vc,{defaultTab:"items",value:i,onValueChange:c,className:"grid h-full grid-rows-[auto_1fr]",children:[o.jsxs(gc,{children:[o.jsxs(Nr,{value:"items",children:["Items ",o.jsx(Js,{color:"gray",children:Y})]}),o.jsxs(Nr,{value:"experiments",children:["Experiments",o.jsx(Js,{color:"gray",children:ae.length})]}),o.jsxs(Nr,{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(Cls,{datasetId:e,items:F,isLoading:V,featuredItemId:A,onItemSelect:ue,onItemClose:oe,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ne,onCreateDatasetClick:me,onAddToDatasetClick:be,onCompareItemsClick:_e,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(Yos,{experiments:ae,allExperiments:fe,isLoading:ne,datasetId:e,filters:U,onFiltersChange:Z})}),o.jsx(Xr,{value:"review",className:"mt-2 overflow-auto pb-0",children:o.jsx(sBt,{datasetId:e})})]}),o.jsx(Uos,{datasetId:e,open:u,onOpenChange:d}),o.jsx(Tls,{datasetId:e,open:f,onOpenChange:p}),o.jsx(yos,{open:h,onOpenChange:te,items:g,onSuccess:de}),o.jsx(bos,{open:b,onOpenChange:xe,items:w,currentDatasetId:e}),o.jsx(Rt,{open:C,onOpenChange:_,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:$e,children:J.isPending?"Deleting...":"Delete"})]})]})})]})}function Rls(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 Bae({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 Pls({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}=Ii(),b=async _=>{_.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=Rls(R);L?g(L):Le.error(`Failed to add item: ${R instanceof Error?R.message:"Unknown error"}`)}},x=_=>{a(_),m?.field==="input"&&g(null)},w=_=>{l(_),m?.field==="groundTruth"&&g(null)},k=_=>{f(_),m?.field==="toolMocks"&&g(null)},C=()=>{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(Bae,{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:w,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(Bae,{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(Bae,{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:C,children:"Cancel"}),o.jsx(ce,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function $ls({item:e}){return o.jsx(da,{withMargins:!1,children:o.jsxs(da.Column,{children:[o.jsxs(da.Title,{size:"smaller",children:[o.jsx(HN,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(Pa,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(da.Description,{children:[o.jsxs(Oo,{children:[o.jsx(Bit,{})," Created ",nr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Oo,{children:[o.jsx(kC,{})," Version v",e.datasetVersion]})]})]})})}function UIe({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(QNe,{children:[o.jsx(As.CodeSection,{title:"Input",icon:o.jsx(hO,{}),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(dxe,{}),codeStr:s}),o.jsx(As.CodeSection,{title:"Metadata",icon:o.jsx(GN,{}),codeStr:r})]})}function Mls({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(zl,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const Dls=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function Lls({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Im(),{data:l,isLoading:c}=Yy(),{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(zl,{options:Dls,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(zl,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function Fls({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(D3,{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 zls({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}=Ii(),x=!!(n&&Object.keys(n).length>0),w=l&&u,k=b.isPending,C=()=>{c(""),d(""),p([]),m({}),y("")},_=()=>{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(!w)return;let N;try{N=_()}catch(I){const A=I instanceof Error?I.message:"Request Context must be valid JSON";iu.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});iu.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),C()}catch(I){const A=I instanceof Error?I.message:"Failed to trigger experiment";iu.error(A)}},j=()=>{k||(s(!1),C())};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(Lls,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(Mls,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),x?o.jsx(Fls,{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(oc,{className:"px-6 pt-4",children:[o.jsx(ce,{onClick:j,disabled:k,children:"Cancel"}),o.jsx(ce,{variant:"primary",onClick:E,disabled:!w||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Xt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const Bls=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})},VIe=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 Uae(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function Uls({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: ",Uae(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>Uae(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:Uae(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${Vls(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function Vls(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 qls({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=Bz(e?.input),x=Bz(e?.output),w=Bz(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",C=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(Hit,{}):o.jsx(qit,{})}),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(VIe,{}),"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:Bz(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(_=>o.jsxs(ve.RowButton,{featured:c===_.id,onClick:()=>l?.(_.id),children:[o.jsx(ve.Cell,{height:"compact",children:_.scorerId}),o.jsx(ve.MonoCell,{children:_.score.toFixed(3)})]},_.id))]}),e.toolMockReport&&o.jsx(Uls,{report:e.toolMockReport}),(e.status||C.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(xn.SectionHeading,{icon:o.jsx(GN,{}),className:"mb-2",children:"Review"}),(e.status||C.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}),C.map(_=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:_},_))]}),k&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(JV,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:i,children:[o.jsx(ka,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(xn.CodeSection,{title:"Input",icon:o.jsx(HN,{}),codeStr:b}),o.jsx(xn.CodeSection,{title:"Output",icon:o.jsx(_g,{}),codeStr:x}),o.jsx(xn.CodeSection,{title:"Ground Truth",icon:o.jsx(pxe,{}),codeStr:w})]})]})]})}function Bz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Hls({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:Zls(Wls(g.input),200)}),i?.map(w=>{const C=a?.[g.itemId]?.find(_=>_.scorerId===w);return o.jsx(ve.Cell,{height:"compact",className:"text-neutral3 text-ui-smd font-mono",children:C!=null?C.score.toFixed(3):"-"},w)})]});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 Wls(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Zls(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function Gls(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function Qls({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=Gls(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(Hit,{}):o.jsx(qit,{})}),(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(VIe,{}),"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 QXe=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function Yls({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:QXe,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:QXe,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 aBt({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,w]=v.useState(!1),[k,C]=v.useState(!1),[_,E]=v.useState(!1),[j,N]=v.useState(!1),{updateExperimentResult:I}=Ii(),A=v.useCallback(te=>{b(se=>{const he=new Set(se);return he.has(te)?he.delete(te):he.add(te),he})},[]),R=v.useCallback(()=>b(new Set),[]),L=v.useCallback(()=>{const te=r.filter(se=>!!se.error).map(se=>se.id);b(new Set(te))},[r]),D=v.useCallback(async te=>{if(x||te.length===0)return;w(!0);let se=0;const he=new Set;try{for(const we of te)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:we,status:"needs-review"}),se++,he.add(we)}catch{}}finally{w(!1)}he.size>0&&b(we=>{const je=new Set(we);for(const Re of he)je.delete(Re);return je}),se>0&&Le(`${se} result${se>1?"s":""} flagged for review`)},[t,e,x,I]),z=r.find(te=>te.id===c)??null,[H,F]=v.useState("summary"),[B,V]=v.useState(null),M=te=>{F(te),te!=="reviews"&&V(null)},{data:Q}=BIe(t),q=(Q??[]).filter(te=>te.experimentId===e).length,{data:$}=$9t(e,n),U=v.useMemo(()=>{if(!$)return[];const te=new Set;for(const se of Object.values($))for(const he of se)te.add(he.scorerId);return[...te].sort()},[$]),Z=te=>{u(te),f(null),h(void 0),g(null)},K=te=>{Z(te===c?null:te)},ne=()=>{Z(null)},ee=()=>{if(!z)return;const te=r.findIndex(se=>se.id===z.id);if(te>=0&&te<r.length-1)return()=>Z(r[te+1].id)},J=()=>{if(!z)return;const te=r.findIndex(se=>se.id===z.id);if(te>0)return()=>Z(r[te-1].id)},ae=z?$?.[z.itemId]:void 0,fe=ae?.find(te=>te.id===m)??null,Y=te=>{g(te===m?null:te),f(null),h(void 0)},re=()=>{if(!m||!ae)return;const te=ae.findIndex(se=>se.id===m);if(te>=0&&te<ae.length-1)return()=>g(ae[te+1].id)},le=()=>{if(!m||!ae)return;const te=ae.findIndex(se=>se.id===m);if(te>0)return()=>g(ae[te-1].id)},{data:ue,isLoading:oe}=Bls(d),me=ue?.spans,{data:be,isLoading:xe}=$L(d,p),_e=be?.span,{handlePreviousSpan:ke,handleNextSpan:Ne}=DIe(me,p??null,h),$e=(()=>{const te=[],se=!!fe,he=!!d;return te.push(k?"auto":se||he?"2fr":"1fr"),se&&te.push(j?"auto":"3fr"),he&&te.push(_?"auto":"3fr"),he&&p&&te.push("3fr"),te.join(" ")})(),de=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(te=>({name:te,label:te,size:"12rem"}))],[U]);return o.jsxs(vc,{defaultTab:"summary",value:H,onValueChange:M,className:"grid h-full grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"summary",children:"Summary"}),o.jsx(Nr,{value:"results",children:"Results"}),o.jsxs(Nr,{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(Yls,{scoresByItemId:$,experimentStatus:n})}),o.jsx(Xr,{value:"reviews",className:"mt-2 overflow-auto pb-0",children:o.jsx(sBt,{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(Ve,{size:"sm",children:o.jsx(JV,{})}),"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(Hls,{results:r,isLoading:s,featuredResultId:c,onResultClick:K,columns:de,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:$e},children:[o.jsx(qls,{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),C(!0),E(!1))},onOpenInReview:()=>{V(z.id),F("reviews")},onFlagForReview:te=>D([te]),collapsed:k,onCollapsedChange:C}),fe&&o.jsx(Qls,{score:fe,onNext:re(),onPrevious:le(),onClose:()=>g(null),onShowTrace:()=>{fe.traceId&&(f(fe.traceId),h(void 0),C(!0),N(!0),E(!1))},collapsed:j,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(TIe,{traceId:d,spans:me,isLoading:oe,onClose:()=>{f(null),h(void 0),C(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:_,onCollapsedChange:E,LinkComponent:vy,traceHref:`/traces/${d}`}),p&&o.jsx(_Ie,{traceId:d,spanId:p,span:_e,isLoading:xe,onPrevious:ke,onNext:Ne,onClose:()=>h(void 0)})]})]})]})]})]})}const Kls={pending:o.jsx(gT,{}),running:o.jsx(Hfe,{}),completed:o.jsx(la,{}),failed:o.jsx(ps,{})};function Xls({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:Kls[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 Jls({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(aH,{})," Prev"]}),o.jsxs(ce,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(b3,{})]})]})}function qIe({delta:e}){const t=e>0?o.jsx(Js,{size:"small",color:"green",intensity:"muted",children:o.jsx(DD,{})}):e<0?o.jsx(Js,{size:"small",color:"red",intensity:"muted",children:o.jsx(vHt,{})}):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 Uz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function ecs({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(Jls,{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(ps,{})})})]}),o.jsxs(Yr.Content,{className:"pb-6",children:[o.jsx(da,{withMargins:!1,children:o.jsx(da.Column,{children:o.jsxs(da.Title,{size:"smaller",children:[o.jsx(HN,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(QNe,{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(qIe,{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:Uz(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:Uz(u?.output)}),o.jsx(As.CodeSection,{title:"Item Input",icon:o.jsx(hO,{}),codeStr:Uz(e.input)}),o.jsx(As.CodeSection,{title:"Item Ground Truth",icon:o.jsx(pxe,{}),codeStr:Uz(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 tcs({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(qIe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const ncs={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 YXe({datasetId:e,experiment:t,type:n}){const{Link:r}=yn(),{label:s,color:a,customStyle:i}=ncs[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null,c=tS(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(Pc,{})," ",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(Vfe,{})," ",c]}),o.jsxs(Oo,{children:[o.jsx(pxe,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Oo,{children:[o.jsx(tq,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Oo,{children:[o.jsx(Uit,{})," ",nr(l,"MMM d, yyyy HH:mm")]})]})]})}function rcs({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=v.useState(null),{data:i,isLoading:l,error:c}=His(e,t,n),{data:u}=qV(e,t),{data:d}=qV(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)},w=()=>{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 C=i.baselineId,_=t===C?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(YXe,{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(YXe,{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(ZKe,{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(ZKe,{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(qIe,{delta:I}):"-"})]},E))})})]}),o.jsxs(dy,{className:X({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(tcs,{items:i.items,baselineId:C,contenderId:_,scorerIds:p,featuredItemId:s,columns:g,onItemClick:b}),!!y&&o.jsx(ecs,{item:y,baselineId:C,contenderId:_,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:w(),onClose:x})]})]})}function scs({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=LIe(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 w=new Set(x);if(w.has(b))w.delete(b);else if(w.size>=2){const[k]=Array.from(w);return new Set([k,b])}else w.add(b);return w})},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(Kw,{})," Compare Ver."]})})}),i?o.jsx(acs,{}):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),w=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:w,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function acs(){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 ics(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 ocs({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=cIe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${ics(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(Tc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(Tc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const lcs=[{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"}],ccs={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(rot,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(qWt,{}),tooltip:"Same in both versions"}};function Vae({red:e=!1,tooltip:t}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(THt,{className:X("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(Rn,{children:t})]})}function sk({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}=ccs[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 ucs(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function dcs({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=ucs(u,d);return o.jsxs(vn.Row,{columns:lcs,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(sk,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(sk,{variant:"changed",version:u.datasetVersion}):o.jsx(sk,{version:u.datasetVersion})}):o.jsx(vn.Cell,{className:"flex items-center justify-center",children:o.jsx(Vae,{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(sk,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(sk,{variant:"changed",version:d.datasetVersion}):o.jsx(sk,{version:d.datasetVersion})}):o.jsx(vn.Cell,{className:"flex items-center justify-center",children:o.jsx(Vae,{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(sk,{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(Vae,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const KXe={needsReview:"#facc15",complete:"#22c55e"},fcs=[{label:"Needs Review",color:KXe.needsReview},{label:"Reviewed",color:KXe.complete}];function pcs({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(FN,{data:a,segments:fcs,maxVal:i,fmt:u=>String(u)}):o.jsx(Ht.NoData,{message:"No items have been sent to review yet"})})]})}function HIe(){const e=We();return vt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function iBt(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 hcs(e,t){const n=new Map,r=iBt(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 mcs(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 gcs=10;function vcs(){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:gcs}),{data:g,isLoading:y,error:b}=gQ(),{data:x}=HIe(),w=v.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,C=v.useMemo(()=>g?.experiments??[],[g?.experiments]),_=v.useMemo(()=>cos(w),[w]),E=v.useMemo(()=>hcs(x,C),[x,C]),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&&bs(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(w.length===0&&!j&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(lr,{children:o.jsx(hos,{onCreateClick:I})}),o.jsx(Pbe,{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(vos,{search:n,onSearchChange:L,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:z,tagFilter:c,onTagFilterChange:H,tagOptions:_,onReset:B,hasActiveFilters:F,onCreateClick:I})}),o.jsx(pos,{datasets:w,experiments:C,reviewByDataset:E,isLoading:j,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:A,onPrevPage:R}),o.jsx(Pbe,{open:e,onOpenChange:t})]})}function Vz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function ycs(){const{datasetId:e}=Sr(),t=Hs(),[n,r]=vi(),{activeVersion:s}=FIe(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}=e0(e),{data:x=[],isLoading:w}=R1(e,void 0,s),k=!w&&x.length===0;if(b)return null;if(y&&bs(y))return o.jsx(Vz,{children:o.jsx(Ws,{})});if(y&&xs(y))return o.jsx(Vz,{children:o.jsx(Ms,{resource:"datasets"})});if(y&&W_e(y)||!b&&!y&&!g)return o.jsx(Vz,{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(Pc,{}),"Back to Datasets"]})})});if(y)return o.jsx(Vz,{children:o.jsx(qi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const C=E=>{t(`/datasets/${e}/experiments/${E}`)},_=()=>{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(FD,{})})}),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(hu,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Ft.MainArea,{children:o.jsx(Als,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx(zls,{datasetId:e,version:s??void 0,requestContextSchema:g?.requestContextSchema,open:a,onOpenChange:i,onSuccess:C}),o.jsx(Pls,{datasetId:e,open:l,onOpenChange:c}),g&&o.jsx(kos,{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(xos,{open:h,onOpenChange:m,sourceDatasetId:g.id,sourceDatasetName:g.name,sourceDatasetDescription:g.description,sourceDatasetTargetType:g.targetType}),g&&o.jsx(Cos,{open:f,onOpenChange:p,datasetId:g.id,datasetName:g.name,onSuccess:_})]})}function oBt({experiment:e}){const{Link:t,paths:n}=yn(),{data:r}=Im(),{data:s}=Yy(),{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(Xls,{experiment:e})})]})})}function qz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function bcs(){const{datasetId:e,experimentId:t}=Sr(),{data:n,isLoading:r,error:s}=qV(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=JG({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&bs(s)?o.jsx(qz,{children:o.jsx(Ws,{})}):s&&xs(s)?o.jsx(qz,{children:o.jsx(Ms,{resource:"datasets"})}):s&&W_e(s)||!r&&!s&&!n?o.jsx(qz,{children:o.jsx(Lr,{iconSlot:o.jsx(nxe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(ce,{as:Fa,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Pc,{}),"Back to Dataset"]})})}):s?o.jsx(qz,{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(oBt,{experiment:n}),o.jsx(Ft.MainArea,{children:o.jsx(aBt,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function xcs(){const{datasetId:e}=Sr(),[t,n]=vi(),{error:r}=e0(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&bs(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(Ty,{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(Ty,{children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[100rem] content-start px-12",children:[o.jsxs(da,{children:[o.jsxs(da.Column,{children:[o.jsxs(da.Title,{children:[o.jsx(Kw,{})," Dataset Experiments Comparison"]}),o.jsxs(da.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(da.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Pc,{}),"Back to Dataset"]})})]}),o.jsx(rcs,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function wcs(){const{datasetId:e,itemId:t}=Sr(),{Link:n}=yn(),r=Hs(),{data:s,isLoading:a,error:i}=LIe(e??"",t??""),{updateItem:l,deleteItem:c}=Ii(),{data:u}=e0(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,w]=v.useState(m.input),[k,C]=v.useState(m.groundTruth),[_,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),w(m.input),C(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(_.trim())try{ae=JSON.parse(_)}catch{Le.error("Metadata must be valid JSON");return}let fe;const Y=j!==m.trajectory;if(Y&&j.trim())try{fe=JSON.parse(j)}catch{Le.error("Expected Trajectory must be valid JSON");return}let re;const le=I!==m.toolMocks;if(le&&I.trim())try{const me=JSON.parse(I);if(!Array.isArray(me)){Le.error("Tool Mocks must be a JSON array");return}re=me}catch{Le.error("Tool Mocks must be valid JSON");return}let ue;const oe=R!==m.requestContext;if(oe&&R.trim())try{ue=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:fe??null}:{},...le?{toolMocks:re??[]}:{},...oe?{requestContext:ue}:{}}),Le.success("Item updated successfully"),b(!1)}catch(me){Le.error(`Failed to update item: ${me instanceof Error?me.message:"Unknown error"}`)}},U=()=>{d&&(w(JSON.stringify(d.input,null,2)),C(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&&bs(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(Ty,{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(da,{children:[o.jsxs(da.Column,{children:[o.jsxs(da.Title,{children:[o.jsx(HN,{}),t," ",o.jsx(Pa,{content:t})]}),o.jsx(da.Description,{children:o.jsxs(Oo,{children:["Item of ",o.jsx(fy,{})," ",u?.name]})}),o.jsxs(da.Description,{children:[o.jsxs(Oo,{children:[o.jsx(Bit,{})," Created at"," ",d?.createdAt?nr(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Oo,{children:[o.jsx(kC,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(da.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(rot,{})," Edit"]}),o.jsxs(ce,{onClick:q,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(hu,{})," 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(nBt,{inputValue:x,setInputValue:w,groundTruthValue:k,setGroundTruthValue:C,metadataValue:_,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(UIe,{item:ne,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Yr,{children:o.jsx(scs,{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 XXe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function Scs(){const{datasetId:e}=Sr(),[t,n]=vi(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=e0(e??""),{Link:i}=yn(),[l,c]=v.useState(!1),{data:u}=HV(e??"",r[0]??""),{data:d}=HV(e??"",r[1]??"");return a&&bs(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(Ty,{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(zy,{owner:"dataset-items-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Pc,{}),"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(da,{children:[o.jsxs(da.Column,{children:[o.jsxs(da.Title,{children:[o.jsx(Kw,{}),"Compare Dataset Items"]}),o.jsx(da.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(da.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(rxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(MWt,{})," Diff View"]})})})})]}),o.jsx(dy,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(v.Fragment,{children:[o.jsx(kcs,{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(uje,{codeA:XXe(u),codeB:XXe(d)})]})})]})}function kcs({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=HV(e,t),{data:u}=R1(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(fa,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(ha,{"aria-label":"Item",children:o.jsx(pa,{placeholder:"Select item"})}),o.jsx(ma,{children:f.map(p=>o.jsx($r,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(ce,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(kC,{}),"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($ls,{item:l}),o.jsx(UIe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function JXe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function Ocs(){const{datasetId:e,itemId:t}=Sr(),[n,r]=vi(),[s,a]=v.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=e0(e??""),{Link:u}=yn(),{data:d}=LIe(e??"",t??""),{data:f}=Lbe(e??"",t??"",i[0]??0,l?.version),{data:p}=Lbe(e??"",t??"",i[1]??0,l?.version);return c&&bs(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(Ty,{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(zy,{owner:"dataset-item-versions-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Pc,{}),"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(da,{children:[o.jsxs(da.Column,{children:[o.jsxs(da.Title,{children:[o.jsx(Kw,{}),"Compare Dataset Item Versions"]}),o.jsx(da.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(da.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(rxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(wZt,{})," Diff View"]})})})})]}),o.jsx(dy,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(v.Fragment,{children:[o.jsx(Ccs,{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(uje,{codeA:JXe(f),codeB:JXe(p)})]})})]})}function Ccs({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}=Lbe(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(kC,{className:"h-6 w-6 opacity-50"}),o.jsxs(fa,{name:`compare-version-${l}`,value:String(n),onValueChange:g=>u(Number(g)),children:[o.jsx(ha,{"aria-label":"Version",className:"w-full",children:o.jsx(pa,{placeholder:"Select version"})}),o.jsx(ma,{children:h.map(g=>o.jsx($r,{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(UIe,{item:m,Link:i})})]})}function _cs(){const{datasetId:e}=Sr(),[t]=vi(),n=t.get("ids")?.split(",").map(Number).filter(g=>!isNaN(g)&&g>0)??[],r=Hs(),{data:s,error:a}=e0(e??""),i=R1(e??"",void 0,n[0]??null),l=R1(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&&bs(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(Ty,{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(da,{children:[o.jsxs(da.Column,{children:[o.jsxs(da.Title,{children:[o.jsx(dQt,{})," Compare Dataset Versions"]}),o.jsx(da.Description,{children:o.jsxs(Oo,{children:[o.jsx(kC,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(da.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Pc,{}),"Back to Dataset"]})})]}),o.jsx(dy,{children:o.jsxs(Yr,{children:[o.jsx(ocs,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(dcs,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function Fbe({children:e,className:t}){return o.jsx("div",{className:X("flex flex-wrap gap-8",t),children:e})}function Ecs(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 jcs({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=Ecs(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 eJe="minmax(9rem,1fr) 1fr auto auto auto auto auto auto auto";function Tcs(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const Ncs={completed:"success",running:"warning",failed:"error",pending:"neutral"};function Ics({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:eJe}):o.jsxs(ve,{columns:eJe,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)??tS(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(tBt,{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:Ncs[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 w=n?.get(p.id);if(!w)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=w.needsReview+w.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):w.needsReview>0?o.jsxs(Js,{size:"small",color:"yellow",children:[w.needsReview," pending"]}):o.jsxs(Js,{size:"small",color:"green",children:[w.complete,"/",k," reviewed"]})})()}),o.jsx(ve.TextCell,{children:Tcs(p.createdAt)})]},p.id)})]})}const Acs=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function Rcs(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const Hz={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},Pcs=[{label:"Completed",color:Hz.completed},{label:"Running",color:Hz.running},{label:"Pending",color:Hz.pending},{label:"Failed",color:Hz.failed}];function $cs({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(FN,{data:s,segments:Pcs,maxVal:a,fmt:l=>String(l)}):o.jsx(Ht.NoData,{message:"No experiments have been run yet"})})]})}const Mcs=()=>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(ka,{})]})})})});function Dcs({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(Tc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...Acs],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(Tc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(ce,{onClick:l,size:"sm",variant:"default",children:[o.jsx(ps,{className:"size-3"})," Reset"]})]})]})}function Lcs(){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}=gQ(),{data:h,isLoading:m,isError:g,error:y}=SJr(n),{data:b,isLoading:x,isError:w,error:k}=HIe(),C=l?.datasets,_=d?.experiments,E=v.useMemo(()=>mcs(b),[b]),j=i||u||p||y||k;return j&&bs(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(r4,{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(Fbe,{children:o.jsx(jcs,{scorers:s,datasets:C,experiments:_,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:E.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(AXr,{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(gos,{experiments:_,isLoading:f,isError:!!p}),o.jsx($cs,{experiments:_,datasets:C,isLoading:f,isError:!!p})]}),o.jsx(pcs,{reviewSummary:b,experiments:_,datasets:C,isLoading:x,isError:!!w})]})]})}function Fcs(){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}=gQ(),{data:p}=HIe(),h=v.useMemo(()=>i?.datasets??[],[i?.datasets]),m=v.useMemo(()=>u?.experiments??[],[u?.experiments]),g=v.useMemo(()=>Rcs(h),[h]),y=v.useMemo(()=>iBt(p),[p]),b=l||d,x=f||c;if(x&&bs(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(Mcs,{})});const w=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(Dcs,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:g,onReset:k,hasActiveFilters:w})}),o.jsx(Ics,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function Wz({children:e}){return o.jsxs(Ft,{height:"full",children:[o.jsx("div",{}),o.jsx(Ft.MainArea,{isCentered:!0,children:e})]})}function zcs(){const{experimentId:e}=Sr(),{data:t,isLoading:n}=gQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=qV(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=JG({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&bs(l)?o.jsx(Wz,{children:o.jsx(Ws,{})}):l&&xs(l)?o.jsx(Wz,{children:o.jsx(Ms,{resource:"datasets"})}):l&&W_e(l)||!n&&!s||!i&&!l&&!a?o.jsx(Wz,{children:o.jsx(Lr,{iconSlot:o.jsx(nxe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(ce,{as:Fa,to:"/experiments",children:[o.jsx(Pc,{}),"Back to Experiments"]})})}):l?o.jsx(Wz,{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(oBt,{experiment:a}),o.jsx(Ft.MainArea,{children:o.jsx(aBt,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function Bcs({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 lBt({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(Bcs,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function Ucs({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(lBt,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function Vcs({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(Ucs,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(lBt,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function qcs({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 tJe=e=>e.authorId?.trim()||"shared",Hcs=(e,t)=>{if(!t||new Set(e.map(tJe)).size<=1)return null;const r=new Map;for(const a of e){const i=tJe(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},Wcs=["*","tool-providers:*","tool-providers:admin"];function Zcs(){const{data:e}=Nm();return e?.permissions?.some(t=>Wcs.includes(t))??!1}function Gcs(){const[e,t]=v.useState(""),[n,r]=v.useState(""),[s,a]=v.useState(""),i=BI(),l=kZ(e||null),c=E$t(e||null,n||null),u=_$t(),d=k$t(),f=Zcs(),p=i.data?.providers??[],h=l.data?.data??[],m=v.useMemo(()=>c.data?.items??[],[c.data?.items]),g=v.useMemo(()=>Hcs(m,f),[m,f]),y=w=>{t(w),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},x=w=>{d.mutate({providerId:e,connectionId:w})};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(qcs,{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(Vcs,{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 Qcs({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 cBt({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=dc(),{mutate:i,isPending:l,error:c}=cNr(),{mutate:u,isPending:d,error:f}=dNr(),{mutate:p,isPending:h}=HPt(),[m,g]=v.useState(n),[y,b]=v.useState(""),[x,w]=v.useState(""),[k,C]=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:_}=s,E=_.type==="sso"||_.type==="both",j=_.type==="credentials"||_.type==="both",N=_.sso,I=_.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=tQ("/")},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=_.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:_.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(Qcs,{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=>w(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=>C(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 Ycs(){const[e]=vi(),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(cBt,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Kcs({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 Xcs({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 Jcs(){return mI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[pe.className,pe.propertyName]}]})}function eus(){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:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"}]);return[e,Z1(t)]}const tus=()=>{const e=WC().resolvedTheme==="dark";return v.useMemo(()=>e?Jcs():eus(),[e])};function nus({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=tus(),[i,l]=v.useState(!1),c=v.useMemo(()=>{try{const f=JSON.parse(e);return zbe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
|
|
721
721
|
`):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(M$,{}):o.jsx(R7,{})})]})]}),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:[VT(),It.lineWrapping],theme:a,value:e,editable:!1})})]})}function zbe(e){if(typeof e=="string"){const t=e.indexOf(`
|
|
722
|
-
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>zbe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>zbe(t))}return!1}function rus({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function sus({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 aus({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 ius({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 ous({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function lus({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 cus({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 uus=Object.assign(ius,{Key:ous,Value:lus,Header:cus});function dus({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 fus({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(Kcs,{Header:sus,Heading:aus,CloseButton:Xcs,LoadingData:dus,NoData:fus,Content:rus,KeyValueList:uus,CodeSection:nus}),cp=zi.KeyValueList;function pus(e){return e instanceof Date?e:new Date(e)}function hus({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=pus(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(iH,{}):o.jsx(Bwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(aH,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(b3,{})})]}),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(P7,{}),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(P7,{}),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 mus({error:e,resource:t,errorTitle:n}){if(bs(e))return o.jsx(Ws,{});if(xs(e))return o.jsx(Ms,{resource:t});if(T4(e))return o.jsx(Lr,{iconSlot:o.jsx($7,{}),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(j4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx($7,{}),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 gus({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 vus={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 yus({level:e}){const t=vus[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 bus({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 xus({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(bus,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function wus({message:e}){return o.jsx(No,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function Sus({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(MEe,{children:t})}const Yl=Object.assign(L4,{Top:NZ,TopCell:d_,TopCellWithTooltip:IZ,TopCellSmart:hMt,RowWrapper:zEe,RowButton:F4,RowLink:pMt,Spacer:BEe,NoMatch:TZ,DateCell:DEe,TimeCell:LEe,LevelCell:yus,EntityCell:xus,MessageCell:wus,DataCell:Sus,NextPageLoading:jZ}),nJe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",kus=36,Ous=8;function Cus({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=B7t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>kus,overscan:Ous}),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:nJe});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(Yl,{columns:nJe,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Yl.Top,{children:[o.jsx(Yl.TopCell,{children:"Date"}),o.jsx(Yl.TopCell,{children:"Time"}),o.jsx(Yl.TopCell,{children:"Level"}),o.jsx(Yl.TopCell,{children:"Entity"}),o.jsx(Yl.TopCell,{children:"Message"}),o.jsx(Yl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Yl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Yl.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(Yl.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(Yl.DateCell,{timestamp:y.timestamp}),o.jsx(Yl.TimeCell,{timestamp:y.timestamp}),o.jsx(Yl.LevelCell,{level:y.level}),o.jsx(Yl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Yl.MessageCell,{message:y.message}),o.jsx(Yl.DataCell,{data:y.data})]},b)}),o.jsx(Yl.Spacer,{height:m})]}),o.jsx(Yl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function _us({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=>Eus(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(kIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(wIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Eus(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 jus={"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"},qae="MMM d, yyyy HH:mm",Hae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Tus({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${jus[e]}`,description:Hae}:t&&n?{title:`No logs between ${nr(t,qae)} and ${nr(n,qae)}`,description:Hae}:t?{title:`No logs since ${nr(t,qae)}`,description:Hae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Nus=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Tus({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($7,{}),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(Uwe,{})]})})})},Ius=20,Aus=1e4;function Rus(e,t,n){if(e?.pagination?.hasMore)return n+1}function Pus(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 $us(e){return j4(e.state.error,"logs")||T4(e.state.error)?!1:Aus}const Mus=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=KC(),s=B1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Ius},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Rus,select:Pus,retry:!1,refetchInterval:$us}),{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}},Zz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},uBt=[{label:"Agent",entityType:Zz.AGENT},{label:"Workflow",entityType:Zz.WORKFLOW},{label:"Scorer",entityType:Zz.SCORER},{label:"Ingest",entityType:Zz.INGEST}],Dus=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Hx="rootEntityType",ex="datePreset",tx="dateFrom",nx="dateTo",Lus=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"},ML=Object.keys(Il),WIe=new Set(["tags"]),ZIe="mastra:logs:saved-filters";function Fus(e,t=ZIe){const n=qus(e),r=e.get(ex);r&&n.set(ex,r);const s=e.get(tx);s&&n.set(tx,s);const a=e.get(nx);a&&n.set(nx,a);try{localStorage.setItem(t,n.toString())}catch{}}function zus(e=ZIe){try{localStorage.removeItem(e)}catch{}}function rJe(e=ZIe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Bus(e){if(e.has(ex)||e.has(tx)||e.has(nx)||e.has(Hx))return!0;for(const t of ML)if(e.has(Il[t]))return!0;return!1}function Uus({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:uBt.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:Dus.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 Vus(e){const t=[],n=new Map([[Hx,"rootEntityType"]]);for(const s of ML)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),WIe.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 qus(e){const t=new URLSearchParams,n=e.get(Hx);n&&t.set(Hx,n);for(const r of ML){const s=Il[r];if(WIe.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 Hus(e,t){e.delete(Hx);for(const n of ML)e.delete(Il[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Hx,n.value);continue}const r=Il[n.fieldId];if(r){if(WIe.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 Wus({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 Zus(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 Gus="Filters setting for Logs saved",Qus="Filters setting for Logs cleared up";function Yus(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>rJe(r)!==null),c=v.useCallback(()=>{Fus(e,r),l(!0);const f=s?.saved??Gus;f!==!1&&Le.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{zus(r),l(!1);const f=s?.cleared??Qus;f!==!1&&Le.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,Bus(e)))return;const f=rJe(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 Kus(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 Xus(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,Kus(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Jus(e,t,n,r){const s=v.useMemo(()=>Xus(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 Bbe="logId",Ube="traceId",Vbe="spanId",mP=1440*60*1e3,eds={"last-24h":mP,"last-3d":3*mP,"last-7d":7*mP,"last-14d":14*mP,"last-30d":30*mP};function Gz(e){e.delete(Bbe),e.delete(Ube),e.delete(Vbe)}function tds(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const C=e.get(ex);return C&&Lus.has(C)?C:"last-24h"},[e]),a=e.get(tx),i=e.get(nx),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=eds[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Bbe),f=e.get(Ube),p=e.get(Vbe),h=v.useMemo(()=>uBt.find(C=>C.entityType===e.get(Hx)),[e]),m=v.useMemo(()=>Vus(e),[e]),g=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[j,N]of Object.entries(C)){const I=j==="logId"?Bbe:j==="traceId"?Ube:Vbe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return Hus(E,C),Gz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?tx:nx;t(j=>{const N=new URLSearchParams(j);return C?N.set(E,C.toISOString()):N.delete(E),Gz(N),N},{replace:!0})},[t]),w=v.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(ex),E.delete(tx),E.delete(nx)):C==="custom"?E.set(ex,"custom"):(E.set(ex,C),E.delete(tx),E.delete(nx)),Gz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(Hx);for(const E of ML)_.delete(Il[E]);return _.delete(ex),_.delete(tx),_.delete(nx),Gz(_),_},{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:w,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,w,k,y])}const jb=zi.KeyValueList;function nds({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(jb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Type"}),o.jsx(jb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Started"}),o.jsx(jb.Value,{children:nr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Ended"}),o.jsx(jb.Value,{children:nr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Duration"}),o.jsx(jb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(Nhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(Ihe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(ww,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(ww,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function rds({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>jIe(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(EIe(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(L7t,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function sds(){const[e,t]=vi(),n=tds(e,t),r=Yus(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=$Ie(),{data:d=[],isPending:f}=AIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=RIe(),{data:m=[],isPending:g}=PIe(),y=v.useMemo(()=>Uus({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(()=>Wus({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:w,error:k,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E}=Mus({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Jus(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=MIe(n.featuredTraceId??null),{data:z,isLoading:H}=$L(n.featuredTraceId??"",n.featuredSpanId??""),F=v.useCallback(()=>n.applyFilterTokens(Zus(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(r4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:w,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(OIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:w,onStartTextFilter:a})]})}),o.jsx(_us,{isLoading:w,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(mus,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!w&&!Z?o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(Nus,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(gus,{logCollapsed:i,listSlot:o.jsx(Cus,{logs:x,isLoading:w,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(hus,{log:N,onClose:B,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(rds,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:Q,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(nds,{spanId:n.featuredSpanId,span:z?.span,isLoading:H,onClose:q}):null})]})}function ads({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=p8t(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=jy(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 ids({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(ads,{server:s},s.id))]})}const ods=()=>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(ka,{})]})})}),lds=()=>{const{data:e=[],isLoading:t,error:n}=WG(),[r,s]=v.useState("");return n&&bs(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(ods,{})}):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(ids,{mcpServers:e,isLoading:t,search:r})]})},cds=(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 uds({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>cds(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=jy(c.id,50),d=jy(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 dds=()=>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(ka,{})]})})}),fds=()=>{const e=We();return Mn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new IC;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}}})},pds=({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}=wTr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=fds(),{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(Ex(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(XNe,{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 hds({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}=FI(),{data:p={},isLoading:h,isError:m,error:g}=Im(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";Le.error(`Error loading tools: ${C}`)}},[d,f]),v.useEffect(()=>{if(m){const C=g instanceof Error?g.message:"Failed to load agents";Le.error(`Error loading agents: ${C}`)}},[m,g]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const w=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(zl,{options:w,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 mds=({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(Ty,{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(Ty,{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($7t,{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(gds,{server:t})})]})},gds=({server:e})=>{const{data:t={},isLoading:n}=p8t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(x_,{})}),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(yds,{tool:a,serverId:e.id},s)})})]})};function vds(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 yds=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=F8t[e.toolType||"tool"],i=vds(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})]})]})},bds=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=WG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(mds,{isLoading:n,server:r})})};function xds(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 wds=({toolId:e,serverId:t})=>{const{canExecute:n}=dl(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=HNe(t,e),{mutateAsync:c,isPending:u,data:d}=OYr(t,e),f=a?xds(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(f8t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(XNe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},Sds=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=HNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(wds,{toolId:t,serverId:e})})},dBt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],zN="rootEntityType",BN={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"},vQ=Object.keys(BN),GIe="mastra:metrics:saved-filters";function kds(e){const t=jds(e);try{localStorage.setItem(GIe,t.toString())}catch{}}function Ods(){try{localStorage.removeItem(GIe)}catch{}}function fBt(){try{const e=localStorage.getItem(GIe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Cds(e){if(e.has(zN))return!0;for(const t of vQ)if(e.has(BN[t]))return!0;return!1}function _ds({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:dBt.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 Eds(e){const t=[],n=new Map([[zN,"rootEntityType"]]);for(const s of vQ)n.set(BN[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 jds(e){const t=new URLSearchParams,n=e.getAll(zN);for(const r of n)t.append(zN,r);for(const r of vQ){const s=BN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Tds(e,t){e.delete(zN);for(const n of vQ)e.delete(BN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?zN:BN[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 Nds="Any";function sJe(e){const t=e.trim();return t===""||t===Nds}const Ids=new Set(dBt.map(e=>e.entityType));function aJe(e){const t=e.trim();return Ids.has(t)?t:void 0}function Ads(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=>!sJe(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?aJe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(sJe(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=aJe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const pBt=[{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"}],Rds=new Set(pBt.map(e=>e.value));function Pds(e){return typeof e=="string"&&(Rds.has(e)||e==="custom")}const hBt=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function yQ(){return v.useContext(hBt)}function $ds(e,t){return e!=="custom"?pBt.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 Mds({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(()=>Ads(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=$ds(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(hBt.Provider,{value:m,children:e})}const Dds=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Lds(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 Fds(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 zds(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=yQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(r4,{preset:Lds(e),onPresetChange:i=>{const l=Fds(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:Dds})}const qbe=1440*60*1e3,Bds={"24h":qbe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Uds(e,t,n){if(e!=="custom"){const r=Bds[e]??qbe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-qbe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=yQ(),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(()=>Uds(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 mBt(){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 DL({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(Ejn,{})})}function Vds({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(oTn,{})})}const qds=[{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 Hds(e){return e==="agents"||e==="workflows"||e==="tools"}function Wae({data:e,onPointClick:t}){return e.length===0?o.jsx(Ht.NoData,{message:"No latency data yet"}):o.jsx(UV,{data:e,series:qds,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Wds({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(vc,{value:p,onValueChange:b=>{Hds(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Nr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Nr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(Wae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(Wae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(Wae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ht.NoData,{message:"No latency data yet"})})]})}function Zds(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 Gds(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 gBt(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=Zds(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function vBt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function iJe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(Tw,"branches"),gBt(a,Nw,Iw,Aw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Vx,i),r.status&&a.set(qx,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),vBt(a,Nl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Qds({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;gBt(a,ex,tx,nx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Hx,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),vBt(a,Il.tags,n.tags),r.status==="error"&&a.append(Il.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function sA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=yQ(),a=v.useCallback((c={})=>iJe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>Qds({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Gds(u,d);return iJe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const yBt="1h";async function Zae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:yBt,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 Yds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Zae(e,"mastra_agent_duration_ms",t),Zae(e,"mastra_workflow_duration_ms",t),Zae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:yBt}}})}const oJe={agents:cu.AGENT,workflows:cu.WORKFLOW_RUN,tools:cu.TOOL};function Kds(){const{data:e,isLoading:t,isError:n}=Yds(),{getTracesHref:r,getBucketTracesHref:s}=sA(),{Link:a}=yn(),i=Hs();return o.jsx(Wds,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:oJe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(DL,{href:r({rootEntityType:oJe[l]}),LinkComponent:a})})}function Xds(e){return e==="threads"||e==="resources"}function Gae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Jds({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(vc,{defaultTab:"threads",value:i,onValueChange:y=>{Xds(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"threads",children:"Threads"}),o.jsx(Nr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ve,{columns:"auto auto auto auto auto",...Mbe,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:Gae(y.threadId)}),o.jsx(ve.NumberCell,{children:y.resourceId?Gae(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",...Mbe,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:Gae(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 Qae=20;function efs(){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:Qae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Qae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Qae})]),l=new Map,c=d=>rA(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 Yae=20;function tfs(){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:Yae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Yae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Yae})]),l=new Map,c=d=>rA(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 nfs(){const e=efs(),t=tfs(),{getTracesHref:n}=sA(),{Link:r}=yn();return o.jsx(Jds,{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 LL({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 rfs(){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 sfs(){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 afs(){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 ifs(){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 ofs(){const{data:e,isLoading:t,isError:n}=mBt();return o.jsx(LL,{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 lfs(){const{data:e,isLoading:t,isError:n}=afs();return o.jsx(LL,{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 cfs(){const{data:e,isLoading:t,isError:n}=ifs();return o.jsx(LL,{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 ufs(){const{data:e,isLoading:t,isError:n}=sfs();return o.jsx(LL,{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 dfs(){const{data:e,isLoading:t,isError:n}=rfs();return o.jsx(LL,{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 ffs({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=>pfs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(kIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(wIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function pfs(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 hfs({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",...Mbe,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 mfs(){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=>rA(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 gfs(){const{data:e,isLoading:t,isError:n}=mfs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(hfs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:cu.AGENT}),actions:o.jsx(DL,{href:r({rootEntityType:cu.AGENT}),LinkComponent:s})})}function vfs(e){return e==="tokens"||e==="cost"}function yfs({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(vc,{defaultTab:"tokens",value:i,onValueChange:b=>{vfs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"tokens",children:"Tokens"}),o.jsx(Nr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(FN,{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(FN,{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 bfs(){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=>rA(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 xfs(){const{data:e,isLoading:t,isError:n}=bfs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(yfs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:cu.AGENT,entityName:a.name}),actions:o.jsx(DL,{href:r({rootEntityType:cu.AGENT}),LinkComponent:s})})}function Hbe(e,t=Ml){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const wfs=[{dataKey:"input",label:"Input tokens",color:Bp.blue,aggregate:Hbe("input")},{dataKey:"output",label:"Output tokens",color:Bp.yellow,aggregate:Hbe("output")}];function Sfs(e){return e==="tokens"||e==="cost"}function kfs({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,C)=>k+C.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,C)=>k+(C.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",w=[{dataKey:"cost",label:"Cost",color:Bp.purple,aggregate:Hbe("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(vc,{defaultTab:"tokens",value:a,onValueChange:k=>{Sfs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"tokens",children:"Tokens"}),o.jsx(Nr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(UV,{data:c,series:wfs})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(UV,{data:p,series:w}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function Ofs(e){return e==="24h"?"1h":"1d"}function Cfs(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 lJe(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 _fs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function Efs(){const e=We(),{datePreset:t,filters:n,filterKey:r}=$m(),s=Ofs(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 lJe(l,a.series[0],"input"),lJe(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:Cfs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:_fs(u)}}),interval:s}}})}function jfs(){const{data:e,isLoading:t,isError:n}=Efs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(kfs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(DL,{href:r(),LinkComponent:s})})}function Kae({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(FN,{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 Tfs({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(vc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"agents",children:"Agents"}),o.jsx(Nr,{value:"workflows",children:"Workflows"}),o.jsx(Nr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(Kae,{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(Kae,{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(Kae,{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 Xae(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=rA(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 Nfs(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Xae(e,"mastra_agent_duration_ms",t),Xae(e,"mastra_workflow_duration_ms",t),Xae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Qz={agents:cu.AGENT,workflows:cu.WORKFLOW_RUN,tools:cu.TOOL};function Ifs(){const{data:e,isLoading:t,isError:n}=Nfs(),{getTracesHref:r,getLogsHref:s}=sA(),{Link:a}=yn();return o.jsx(Tfs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Qz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Qz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(DL,{href:r({rootEntityType:Qz[i]}),LinkComponent:a}),o.jsx(Vds,{href:s({rootEntityType:Qz[i],status:"error"}),LinkComponent:a})]})})}const Jae="period",Yz="dateFrom",Kz="dateTo";function Afs(){const[e,t]=vi(),n=e.get(Jae),r=Pds(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(Yz)),p=d(e.get(Kz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>Eds(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Jae):p.set(Jae,d),d!=="custom"&&(p.delete(Yz),p.delete(Kz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Yz,d.from.toISOString()):p.delete(Yz),d?.to?p.set(Kz,d.to.toISOString()):p.delete(Kz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Tds(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,Cds(e)))return;const d=fBt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Mds,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Rfs,{})})}function Rfs(){const[e]=vi(),{error:t,isLoading:n}=mBt(),{filterTokens:r,setFilterTokens:s}=yQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=V7t(),{data:d,isLoading:f}=$Ie(),{data:p,isLoading:h}=AIe(),{data:m,isLoading:g}=PIe(),{data:y,isLoading:b}=RIe(),x=v.useMemo(()=>_ds({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]),[w,k]=v.useState(()=>fBt()!==null),C=v.useCallback(()=>{kds(e),k(!0),Le.success("Filters setting for Metrics saved")},[e]),_=v.useCallback(()=>{Ods(),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&&bs(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(zds,{}),o.jsx(OIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(ffs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:j,onRemoveAll:E,onSave:C,onRemoveSaved:w?_: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(Fbe,{children:[o.jsx(ofs,{}),o.jsx(lfs,{}),o.jsx(cfs,{}),o.jsx(ufs,{}),o.jsx(dfs,{})]}),o.jsxs(Fbe,{children:[o.jsx(gfs,{}),o.jsx(xfs,{}),o.jsx(jfs,{}),o.jsx(nfs,{}),o.jsx(Ifs,{}),o.jsx(Kds,{})]})]}):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(ka,{})]})})})]})}const Pfs=50;function $fs(){const{paths:e}=yn(),{isCmsAvailable:t}=rS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=B8t({page:s,perPage:Pfs}),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&&bs(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(Nes,{})}):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(Tes,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Mfs(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx(lKr,{children:o.jsx(hbe,{})})})})}const Dfs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:BWt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Fit,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:ka,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:vT,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:Zit,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:zit,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Lfs(){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:Dfs.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(ka,{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 Ffs(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&bs(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(DXr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(FXr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(MXr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function zfs(){const{scorerId:e}=Sr(),[t,n]=vi(),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}=pXr(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Yy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:w,setEndOfListElement:k}=fXr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=v.useMemo(()=>c?.agentIds?.filter(V=>d[V]).map(V=>({value:V,label:d[V].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=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=bs(u)||bs(p)||bs(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(zy,{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(aXr,{})})]})}return o.jsxs(Ft,{width:"wide",children:[F,o.jsx(Ft.TopArea,{children:o.jsx(iXr,{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(sXr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:w,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function Bfs({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 bBt=[{value:"dark",label:"Dark",Icon:xGt},{value:"light",label:"Light",Icon:AQt},{value:"system",label:"System",Icon:eot}],Ufs=e=>bBt.some(t=>t.value===e);function Vfs({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 qfs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=cH(),{theme:r,setTheme:s}=WC();return o.jsx(Ft,{width:"narrow",children:o.jsxs(Ft.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Qye,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Bfs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(fa,{value:r,onValueChange:a=>{Ufs(a)&&s(a)},children:[o.jsx(ha,{id:"theme",className:"w-full sm:w-48",children:o.jsx(pa,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ma,{children:bBt.map(a=>o.jsx($r,{value:a.value,children:o.jsx(Vfs,{option:a})},a.value))})]})})}),o.jsx(Qye,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(SMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Hfs(){const[e]=vi(),t=Hs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(cBt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const xBt=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 Wfs(e){return e.replace(/\/$/,"").split("/").pop()}function bQ({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 Zfs({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(tot,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(UD,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(x_,{})," ",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(xBt,{})," ",Wfs(a.githubUrl)]})})]},a.slug)})})}function Gfs({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(ON,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Tc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Tc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(ps,{})]})]})}function Qfs(){const{data:e,isLoading:t}=etr(),{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,w)=>{w==="tag"?i(x):w==="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(r1e,{children:o.jsxs(dvt,{children:[o.jsx(Ve,{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(Gfs,{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(Zfs,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Yfs="1.57.0";function Kfs({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(gZt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(bQ,{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 Xfs({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(bQ,{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(not,{})]}),o.jsx(Tc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className: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(IO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(IO,{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(v8t,{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 Jfs({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(Zx,{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(ixe,{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(xBt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(GNe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function eps(e){switch(e){case"running":return o.jsx(Xt,{});case"success":return o.jsx(_x,{});case"failed":return o.jsx(Qu,{});default:return null}}function tps({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",ys.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",ys.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",ys.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",ys.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:eps(t.status)})]})}function nps({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(tps,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function rps({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",ys.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",ys.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",ys.colors),children:[n," of ",t," steps completed"]})]})}function sps({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(bQ,{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(rps,{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(NGt,{}),l||"Something went wrong"]}),u&&o.jsx(nps,{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 aps({name:e,installedEntities:t}){return o.jsxs(bQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(not,{}),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(GNe,{data:t})]})}function ips(){const{templateSlug:e}=Sr(),[t,n]=vi(),[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(""),[w,k]=v.useState(!1),[C,_]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=ttr({repoOrSlug:e,owner:"mastra-ai"}),R=Yfs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=ntr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:z,isLoading:H}=rtr(),{mutateAsync:F,isPending:B}=str(),{mutateAsync:V}=atr(),{streamInstall:M,streamResult:Q,isStreaming:q}=otr(z),{observeInstall:$,streamResult:U,isStreaming:Z}=ltr(z);v.useEffect(()=>{const re=t.get("runId");re&&!g&&!h&&!q&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:re}),x(re),V({runId:re}).then(le=>{const ue=le.snapshot;if(ue?.status==="success"&&ue?.result?.success)y(!0);else if(ue?.result?.success===!1)if(ue?.result?.validationResults&&!ue?.result?.validationResults?.valid&&ue?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=ue.result.validationResults,xe=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(xe),j(be||[])}else{const me=ue?.result?.message||ue?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).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 re=t.get("runId"),le=t.get("resume"),ue=t.get("provider");if(re&&le==="true"&&ue&&!q&&!Z&&!w&&!C&&z){x(re),k(!0);try{V({runId:re}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:re})}).then(()=>{n(oe=>{const me=new URLSearchParams(oe);return me.delete("resume"),me})}).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,w,C,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(re=>re).join(", "):"n/a",icon:o.jsx(Ud,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(re=>re).join(", "):"n/a",icon:o.jsx(Vo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(re=>re).join(", "):"n/a",icon:o.jsx(UD,{})},{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(GN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(re=>re.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const re=Q||U;re?.phase==="error"&&re?.error&&m(typeof re.error=="string"?re.error:String(re.error))},[Q?.phase,Q?.error,U?.phase,U?.error]);const J=re=>{s(re)},ae=async re=>(i(re.provider),c(re.modelId),{message:"Model updated successfully"}),fe=async()=>{const re=Object.entries(u).reduce((le,[ue,oe])=>(oe===""&&le.push(ue),le),[]);if(re.length>0){p(re);return}if(N){m(null),y(!1),x(""),_(!0);try{const ue={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(me=>{const be=new URLSearchParams(me);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:ue,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){_(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=re=>{const{name:le,value:ue}=re.target;ue.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(me=>me!==le)),d(oe=>({...oe,[le]:ue}))};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(Jfs,{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(sps,{name:N.title,streamResult:Z?U:Q,runId:b,workflowInfo:z}),g&&o.jsx(aps,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(Kfs,{errorMsg:h,validationErrors:E.length>0?E:Q?.validationResults?.errors||U?.validationResults?.errors}),!q&&!Z&&!g&&!h&&o.jsx(Xfs,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:fe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:B,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const ops=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(ZJr,{toolId:e,agentId:t})})},lps=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(pds,{toolId:e})})};function cps(){const{traceId:e}=Sr(),[t,n]=vi(),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:w,error:k}=MIe(e),C=v.useMemo(()=>x?.spans??[],[x?.spans]),_=v.useMemo(()=>C.find(ae=>ae.parentSpanId==null),[C]),{data:E,isLoading:j}=$L(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=lh(),{data:A,isLoading:R}=M8t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:z,isLoading:H}=K7t({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(fe=>fe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const F=v.useCallback(ae=>{const fe=new URLSearchParams(t);for(const[Y,re]of Object.entries(ae))re===null||re===""?fe.delete(Y):fe.set(Y,re);n(fe,{replace:!0})},[t,n]),B=v.useCallback(ae=>{const fe=ae??null,Y=fe===c;u(fe),Y||(f(void 0),h("details"),F({spanId:fe,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}=DIe(C,c,M),$=v.useCallback(ae=>{const fe=ae;h(fe),f(void 0),F({tab:fe==="details"?null:fe,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!==_.spanId?(u(_.spanId),f(void 0),F({spanId:_.spanId,tab:"scoring",scoreId:null})):F({tab:"scoring"})},[_,c,F]),ee=_?o.jsx(zy,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(cWt,{}),"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=_?o.jsx(Ft.Row,{children:o.jsx(Ft.Column,{children:o.jsx(P7t,{rootSpan:_,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(F7t,{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(W7t,{rootSpanId:_?.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(TIe,{traceId:e,spans:C,isLoading:w,onClose:K,onSpanSelect:B,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!w&&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(_Ie,{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(G7t,{feedbackData:z,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:fe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(Y7t,{traceId:fe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===cu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===cu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(Q7t,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:U})]})}),d&&o.jsx(ZNe,{score:d,onClose:Z})]})]})]})}function ups(){const{data:e,isLoading:t,error:n}=Yy(),[r,s]=v.useState("");return n&&bs(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(E7r,{})}):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(LD,{}),"Schedules"]})]})}),o.jsx(_7r,{workflows:e||{},isLoading:t,search:r})]})}const dps={active:"bg-accent1",paused:"bg-accent3"},fps={active:"text-accent1",paused:"text-accent3"},wBt=({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 ${dps[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${fps[e]}`,children:e})]}),fT=e=>!e||e<=0?"—":new Date(e).toLocaleString(),V2=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 SBt({status:e}){const{icon:t,color:n}=pps(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 pps(e){switch(e){case"success":return{icon:o.jsx(la,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(ps,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Xt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(XV,{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(gT,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const cJe="auto auto auto auto 1fr";function hps(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 mps(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 gps=3e4,vps=5*6e4;function yps({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(ll,{columns:cJe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ve,{columns:cJe,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=mps(u),f=`Scheduled ${fT(c.scheduledFireAt)} — published ${fT(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>gps&&m<=vps,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}),w=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(SBt,{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:V2(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:hps(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:w},y):o.jsx(ve.RowStatic,{children:w},y)}),o.jsx(ve.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const bps=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)}})},uJe=25,xps=e=>{const t=We(),{inView:n,setRef:r}=KC(),s=B1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:uJe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<uJe))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}},wps=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 Xz({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 Sps(){const{scheduleId:e}=Sr(),{paths:t}=yn(),{data:n,error:r}=bps(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=xps(e),d=wps(e);if(r&&bs(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(Pc,{}),"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(cxe,{}),"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(Xz,{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(Xz,{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(Xz,{label:"Status",children:o.jsx(wBt,{status:n.status})}),o.jsx(Xz,{label:"Next fire",children:o.jsx("span",{title:fT(n.nextFireAt),children:V2(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(yps,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const dJe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function kps({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:dJe}):o.jsxs(ve,{columns:dJe,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(wBt,{status:i.status})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:fT(i.nextFireAt),children:V2(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(SBt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:fT(i.lastFireAt),children:i.lastFireAt?V2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:fT(i.lastFireAt),children:V2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function Ops({workflowId:e}={}){const{data:t,isLoading:n,error:r}=t1e(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(kps,{schedules:t??[],isLoading:n,search:s})})]})}function Cps(){const[e]=vi(),t=e.get("workflowId")??void 0,{error:n}=t1e(t?{workflowId:t}:{});return n&&bs(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(Ops,{workflowId:t})})})}function _ps({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=Rke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=Vkt(r),[d]=qkt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=u3t({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(Ukt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(Sje,{position:"bottom-left"}),o.jsx(Wkt,{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 Eps(){const{stepDetail:e,closeStepDetail:t}=sW();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(k9,{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(ps,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(z2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(Ake,{children:o.jsx(_ps,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function jps(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Tps(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 Nps({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(Ve,{children:o.jsx(XV,{})}),"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(Ex(i.resumeSchema))):gp(ur(),MT());return o.jsx(Ips,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Ips({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(Ve,{children:o.jsx(SGt,{})}),"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(Ve,{children:o.jsx(ca,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Tps(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:jps(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(Ve,{children:o.jsx(CGt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(VB,{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 Aps(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(ql),{runId:a}=Sr(),i=Jkt(e,r??""),l=gXn(),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(Nps,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Rps=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"})]}),Pps=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"})]}),$ps=e=>e.includes("."),Mps=e=>e==="input"||e.endsWith(".input"),Dps=1;function Lps(e){return`${Number((e/1e3).toPrecision(3))}s`}function Fps(e,t){const n=Object.entries(e).filter(([i])=>!Mps(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,Dps);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:$ps(i)}})}const zps=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Rps,{className:"text-accent1"}),e==="failed"&&o.jsx(Pps,{className:"text-accent2"}),e==="suspended"&&o.jsx(XV,{className:"text-accent3"}),e==="waiting"&&o.jsx(qfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(qfe,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),Bps={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function kBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const fJe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Ups=e=>{const t=e;return t3t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Vps=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Ups(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(zps,{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(_Qt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(CV,{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:kBt(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 ${Bps[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(OQt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Lps(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function qps(){const{steps:e}=W4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=gH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);c1e(f,{enabled:!l});const p=Fps(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(wa,{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(Vps,{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:fJe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:fJe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(tOt,{data:u.data,title:`${kBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Hps=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=sW();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(y3t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Aps,{}),o.jsx(qps,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Eps,{})})]})},pJe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=e4(e);return r&&bs(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(Kke,{children:o.jsx(Hps,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Wps(e,t){if(e==null)return{};var n,r,s=a1t(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 Wbe(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 Zps(e){if(Array.isArray(e))return Wbe(e)}function Gps(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Qps(e,t){if(e){if(typeof e=="string")return Wbe(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)?Wbe(e,t):void 0}}function Yps(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
722
|
+
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>zbe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>zbe(t))}return!1}function rus({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function sus({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 aus({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 ius({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 ous({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function lus({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 cus({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 uus=Object.assign(ius,{Key:ous,Value:lus,Header:cus});function dus({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 fus({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(Kcs,{Header:sus,Heading:aus,CloseButton:Xcs,LoadingData:dus,NoData:fus,Content:rus,KeyValueList:uus,CodeSection:nus}),cp=zi.KeyValueList;function pus(e){return e instanceof Date?e:new Date(e)}function hus({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=pus(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(iH,{}):o.jsx(Bwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(aH,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(b3,{})})]}),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(P7,{}),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(P7,{}),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 mus({error:e,resource:t,errorTitle:n}){if(bs(e))return o.jsx(Ws,{});if(xs(e))return o.jsx(Ms,{resource:t});if(T4(e))return o.jsx(Lr,{iconSlot:o.jsx($7,{}),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(j4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx($7,{}),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 gus({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 vus={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 yus({level:e}){const t=vus[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 bus({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 xus({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(bus,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function wus({message:e}){return o.jsx(No,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function Sus({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(MEe,{children:t})}const Yl=Object.assign(L4,{Top:NZ,TopCell:d_,TopCellWithTooltip:IZ,TopCellSmart:hMt,RowWrapper:zEe,RowButton:F4,RowLink:pMt,Spacer:BEe,NoMatch:TZ,DateCell:DEe,TimeCell:LEe,LevelCell:yus,EntityCell:xus,MessageCell:wus,DataCell:Sus,NextPageLoading:jZ}),nJe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",kus=36,Ous=8;function Cus({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=B7t({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>kus,overscan:Ous}),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:nJe});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(Yl,{columns:nJe,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Yl.Top,{children:[o.jsx(Yl.TopCell,{children:"Date"}),o.jsx(Yl.TopCell,{children:"Time"}),o.jsx(Yl.TopCell,{children:"Level"}),o.jsx(Yl.TopCell,{children:"Entity"}),o.jsx(Yl.TopCell,{children:"Message"}),o.jsx(Yl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Yl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Yl.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(Yl.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(Yl.DateCell,{timestamp:y.timestamp}),o.jsx(Yl.TimeCell,{timestamp:y.timestamp}),o.jsx(Yl.LevelCell,{level:y.level}),o.jsx(Yl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Yl.MessageCell,{message:y.message}),o.jsx(Yl.DataCell,{data:y.data})]},b)}),o.jsx(Yl.Spacer,{height:m})]}),o.jsx(Yl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function _us({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=>Eus(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(kIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(wIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function Eus(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 jus={"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"},qae="MMM d, yyyy HH:mm",Hae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Tus({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${jus[e]}`,description:Hae}:t&&n?{title:`No logs between ${nr(t,qae)} and ${nr(n,qae)}`,description:Hae}:t?{title:`No logs since ${nr(t,qae)}`,description:Hae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Nus=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Tus({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($7,{}),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(Uwe,{})]})})})},Ius=20,Aus=1e4;function Rus(e,t,n){if(e?.pagination?.hasMore)return n+1}function Pus(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 $us(e){return j4(e.state.error,"logs")||T4(e.state.error)?!1:Aus}const Mus=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=KC(),s=B1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Ius},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Rus,select:Pus,retry:!1,refetchInterval:$us}),{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}},Zz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},uBt=[{label:"Agent",entityType:Zz.AGENT},{label:"Workflow",entityType:Zz.WORKFLOW},{label:"Scorer",entityType:Zz.SCORER},{label:"Ingest",entityType:Zz.INGEST}],Dus=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Hx="rootEntityType",ex="datePreset",tx="dateFrom",nx="dateTo",Lus=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"},ML=Object.keys(Il),WIe=new Set(["tags"]),ZIe="mastra:logs:saved-filters";function Fus(e,t=ZIe){const n=qus(e),r=e.get(ex);r&&n.set(ex,r);const s=e.get(tx);s&&n.set(tx,s);const a=e.get(nx);a&&n.set(nx,a);try{localStorage.setItem(t,n.toString())}catch{}}function zus(e=ZIe){try{localStorage.removeItem(e)}catch{}}function rJe(e=ZIe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Bus(e){if(e.has(ex)||e.has(tx)||e.has(nx)||e.has(Hx))return!0;for(const t of ML)if(e.has(Il[t]))return!0;return!1}function Uus({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:uBt.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:Dus.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 Vus(e){const t=[],n=new Map([[Hx,"rootEntityType"]]);for(const s of ML)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),WIe.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 qus(e){const t=new URLSearchParams,n=e.get(Hx);n&&t.set(Hx,n);for(const r of ML){const s=Il[r];if(WIe.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 Hus(e,t){e.delete(Hx);for(const n of ML)e.delete(Il[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Hx,n.value);continue}const r=Il[n.fieldId];if(r){if(WIe.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 Wus({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 Zus(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 Gus="Filters setting for Logs saved",Qus="Filters setting for Logs cleared up";function Yus(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>rJe(r)!==null),c=v.useCallback(()=>{Fus(e,r),l(!0);const f=s?.saved??Gus;f!==!1&&Le.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{zus(r),l(!1);const f=s?.cleared??Qus;f!==!1&&Le.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,Bus(e)))return;const f=rJe(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 Kus(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 Xus(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,Kus(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Jus(e,t,n,r){const s=v.useMemo(()=>Xus(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 Bbe="logId",Ube="traceId",Vbe="spanId",mP=1440*60*1e3,eds={"last-24h":mP,"last-3d":3*mP,"last-7d":7*mP,"last-14d":14*mP,"last-30d":30*mP};function Gz(e){e.delete(Bbe),e.delete(Ube),e.delete(Vbe)}function tds(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const C=e.get(ex);return C&&Lus.has(C)?C:"last-24h"},[e]),a=e.get(tx),i=e.get(nx),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=eds[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Bbe),f=e.get(Ube),p=e.get(Vbe),h=v.useMemo(()=>uBt.find(C=>C.entityType===e.get(Hx)),[e]),m=v.useMemo(()=>Vus(e),[e]),g=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[j,N]of Object.entries(C)){const I=j==="logId"?Bbe:j==="traceId"?Ube:Vbe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return Hus(E,C),Gz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?tx:nx;t(j=>{const N=new URLSearchParams(j);return C?N.set(E,C.toISOString()):N.delete(E),Gz(N),N},{replace:!0})},[t]),w=v.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(ex),E.delete(tx),E.delete(nx)):C==="custom"?E.set(ex,"custom"):(E.set(ex,C),E.delete(tx),E.delete(nx)),Gz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(Hx);for(const E of ML)_.delete(Il[E]);return _.delete(ex),_.delete(tx),_.delete(nx),Gz(_),_},{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:w,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,w,k,y])}const jb=zi.KeyValueList;function nds({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(jb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Type"}),o.jsx(jb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Started"}),o.jsx(jb.Value,{children:nr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Ended"}),o.jsx(jb.Value,{children:nr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(jb.Key,{children:"Duration"}),o.jsx(jb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(Nhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(Ihe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(ww,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(ww,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function rds({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>jIe(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(EIe(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(L7t,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function sds(){const[e,t]=vi(),n=tds(e,t),r=Yus(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=$Ie(),{data:d=[],isPending:f}=AIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=RIe(),{data:m=[],isPending:g}=PIe(),y=v.useMemo(()=>Uus({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(()=>Wus({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:w,error:k,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E}=Mus({filters:b}),{logIdMap:j,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Jus(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=MIe(n.featuredTraceId??null),{data:z,isLoading:H}=$L(n.featuredTraceId??"",n.featuredSpanId??""),F=v.useCallback(()=>n.applyFilterTokens(Zus(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(r4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:w,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(OIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:w,onStartTextFilter:a})]})}),o.jsx(_us,{isLoading:w,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(mus,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!w&&!Z?o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(Ft.MainArea,{isCentered:!0,children:o.jsx(Nus,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ft,{width:"wide",height:"full",children:[U,o.jsx(gus,{logCollapsed:i,listSlot:o.jsx(Cus,{logs:x,isLoading:w,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:j,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(hus,{log:N,onClose:B,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(rds,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:Q,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(nds,{spanId:n.featuredSpanId,span:z?.span,isLoading:H,onClose:q}):null})]})}function ads({server:e}){const{paths:t,Link:n}=yn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=p8t(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=jy(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 ids({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(ads,{server:s},s.id))]})}const ods=()=>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(ka,{})]})})}),lds=()=>{const{data:e=[],isLoading:t,error:n}=WG(),[r,s]=v.useState("");return n&&bs(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(ods,{})}):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(ids,{mcpServers:e,isLoading:t,search:r})]})},cds=(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 uds({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=yn(),i=v.useMemo(()=>cds(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=jy(c.id,50),d=jy(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 dds=()=>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(ka,{})]})})}),fds=()=>{const e=We();return Mn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new IC;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}}})},pds=({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}=wTr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=fds(),{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(Ex(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(XNe,{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 hds({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}=FI(),{data:p={},isLoading:h,isError:m,error:g}=Im(),{navigate:y,paths:b}=yn();v.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";Le.error(`Error loading tools: ${C}`)}},[d,f]),v.useEffect(()=>{if(m){const C=g instanceof Error?g.message:"Failed to load agents";Le.error(`Error loading agents: ${C}`)}},[m,g]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const w=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(zl,{options:w,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 mds=({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(Ty,{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(Ty,{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($7t,{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(gds,{server:t})})]})},gds=({server:e})=>{const{data:t={},isLoading:n}=p8t(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(x_,{})}),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(yds,{tool:a,serverId:e.id},s)})})]})};function vds(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 yds=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=yn(),a=F8t[e.toolType||"tool"],i=vds(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})]})]})},bds=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=WG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(mds,{isLoading:n,server:r})})};function xds(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 wds=({toolId:e,serverId:t})=>{const{canExecute:n}=dl(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=HNe(t,e),{mutateAsync:c,isPending:u,data:d}=OYr(t,e),f=a?xds(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(f8t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(XNe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},Sds=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=HNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(wds,{toolId:t,serverId:e})})},dBt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],zN="rootEntityType",BN={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"},vQ=Object.keys(BN),GIe="mastra:metrics:saved-filters";function kds(e){const t=jds(e);try{localStorage.setItem(GIe,t.toString())}catch{}}function Ods(){try{localStorage.removeItem(GIe)}catch{}}function fBt(){try{const e=localStorage.getItem(GIe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Cds(e){if(e.has(zN))return!0;for(const t of vQ)if(e.has(BN[t]))return!0;return!1}function _ds({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:dBt.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 Eds(e){const t=[],n=new Map([[zN,"rootEntityType"]]);for(const s of vQ)n.set(BN[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 jds(e){const t=new URLSearchParams,n=e.getAll(zN);for(const r of n)t.append(zN,r);for(const r of vQ){const s=BN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Tds(e,t){e.delete(zN);for(const n of vQ)e.delete(BN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?zN:BN[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 Nds="Any";function sJe(e){const t=e.trim();return t===""||t===Nds}const Ids=new Set(dBt.map(e=>e.entityType));function aJe(e){const t=e.trim();return Ids.has(t)?t:void 0}function Ads(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=>!sJe(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?aJe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(sJe(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=aJe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const pBt=[{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"}],Rds=new Set(pBt.map(e=>e.value));function Pds(e){return typeof e=="string"&&(Rds.has(e)||e==="custom")}const hBt=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function yQ(){return v.useContext(hBt)}function $ds(e,t){return e!=="custom"?pBt.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 Mds({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(()=>Ads(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=$ds(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(hBt.Provider,{value:m,children:e})}const Dds=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Lds(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 Fds(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 zds(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=yQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(r4,{preset:Lds(e),onPresetChange:i=>{const l=Fds(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:Dds})}const qbe=1440*60*1e3,Bds={"24h":qbe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function Uds(e,t,n){if(e!=="custom"){const r=Bds[e]??qbe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-qbe),end:t?.to??new Date(n)}}function $m(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=yQ(),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(()=>Uds(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 mBt(){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 DL({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(Ejn,{})})}function Vds({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(oTn,{})})}const qds=[{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 Hds(e){return e==="agents"||e==="workflows"||e==="tools"}function Wae({data:e,onPointClick:t}){return e.length===0?o.jsx(Ht.NoData,{message:"No latency data yet"}):o.jsx(UV,{data:e,series:qds,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function Wds({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(vc,{value:p,onValueChange:b=>{Hds(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Nr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Nr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:o.jsx(Wae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Xr,{value:"workflows",children:o.jsx(Wae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Xr,{value:"tools",children:o.jsx(Wae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ht.NoData,{message:"No latency data yet"})})]})}function Zds(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 Gds(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 gBt(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=Zds(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function vBt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function iJe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/observability"}){const a=new URLSearchParams;a.set(Tw,"branches"),gBt(a,Nw,Iw,Aw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Vx,i),r.status&&a.set(qx,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),vBt(a,Nl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function Qds({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;gBt(a,ex,tx,nx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Hx,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),vBt(a,Il.tags,n.tags),r.status==="error"&&a.append(Il.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function sA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=yQ(),a=v.useCallback((c={})=>iJe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>Qds({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=Gds(u,d);return iJe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const yBt="1h";async function Zae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:yBt,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 Yds(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Zae(e,"mastra_agent_duration_ms",t),Zae(e,"mastra_workflow_duration_ms",t),Zae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:yBt}}})}const oJe={agents:cu.AGENT,workflows:cu.WORKFLOW_RUN,tools:cu.TOOL};function Kds(){const{data:e,isLoading:t,isError:n}=Yds(),{getTracesHref:r,getBucketTracesHref:s}=sA(),{Link:a}=yn(),i=Hs();return o.jsx(Wds,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:oJe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(DL,{href:r({rootEntityType:oJe[l]}),LinkComponent:a})})}function Xds(e){return e==="threads"||e==="resources"}function Gae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Jds({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(vc,{defaultTab:"threads",value:i,onValueChange:y=>{Xds(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"threads",children:"Threads"}),o.jsx(Nr,{value:"resources",children:"Resources"})]}),o.jsx(Xr,{value:"threads",children:d?o.jsxs(ve,{columns:"auto auto auto auto auto",...Mbe,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:Gae(y.threadId)}),o.jsx(ve.NumberCell,{children:y.resourceId?Gae(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",...Mbe,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:Gae(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 Qae=20;function efs(){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:Qae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Qae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Qae})]),l=new Map,c=d=>rA(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 Yae=20;function tfs(){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:Yae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Yae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Yae})]),l=new Map,c=d=>rA(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 nfs(){const e=efs(),t=tfs(),{getTracesHref:n}=sA(),{Link:r}=yn();return o.jsx(Jds,{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 LL({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 rfs(){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 sfs(){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 afs(){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 ifs(){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 ofs(){const{data:e,isLoading:t,isError:n}=mBt();return o.jsx(LL,{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 lfs(){const{data:e,isLoading:t,isError:n}=afs();return o.jsx(LL,{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 cfs(){const{data:e,isLoading:t,isError:n}=ifs();return o.jsx(LL,{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 ufs(){const{data:e,isLoading:t,isError:n}=sfs();return o.jsx(LL,{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 dfs(){const{data:e,isLoading:t,isError:n}=rfs();return o.jsx(LL,{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 ffs({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=>pfs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(kIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(wIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function pfs(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 hfs({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",...Mbe,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 mfs(){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=>rA(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 gfs(){const{data:e,isLoading:t,isError:n}=mfs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(hfs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:cu.AGENT}),actions:o.jsx(DL,{href:r({rootEntityType:cu.AGENT}),LinkComponent:s})})}function vfs(e){return e==="tokens"||e==="cost"}function yfs({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(vc,{defaultTab:"tokens",value:i,onValueChange:b=>{vfs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"tokens",children:"Tokens"}),o.jsx(Nr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(FN,{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(FN,{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 bfs(){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=>rA(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 xfs(){const{data:e,isLoading:t,isError:n}=bfs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(yfs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:cu.AGENT,entityName:a.name}),actions:o.jsx(DL,{href:r({rootEntityType:cu.AGENT}),LinkComponent:s})})}function Hbe(e,t=Ml){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const wfs=[{dataKey:"input",label:"Input tokens",color:Bp.blue,aggregate:Hbe("input")},{dataKey:"output",label:"Output tokens",color:Bp.yellow,aggregate:Hbe("output")}];function Sfs(e){return e==="tokens"||e==="cost"}function kfs({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,C)=>k+C.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,C)=>k+(C.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",w=[{dataKey:"cost",label:"Cost",color:Bp.purple,aggregate:Hbe("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(vc,{defaultTab:"tokens",value:a,onValueChange:k=>{Sfs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"tokens",children:"Tokens"}),o.jsx(Nr,{value:"cost",children:"Cost"})]}),o.jsx(Xr,{value:"tokens",children:o.jsx(UV,{data:c,series:wfs})}),o.jsx(Xr,{value:"cost",children:b?o.jsx(UV,{data:p,series:w}):o.jsx(Ht.NoData,{message:"No cost data yet"})})]}):o.jsx(Ht.NoData,{message:"No token usage data yet"})})]})}function Ofs(e){return e==="24h"?"1h":"1d"}function Cfs(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 lJe(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 _fs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function Efs(){const e=We(),{datePreset:t,filters:n,filterKey:r}=$m(),s=Ofs(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 lJe(l,a.series[0],"input"),lJe(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:Cfs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:_fs(u)}}),interval:s}}})}function jfs(){const{data:e,isLoading:t,isError:n}=Efs(),{getTracesHref:r}=sA(),{Link:s}=yn();return o.jsx(kfs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(DL,{href:r(),LinkComponent:s})})}function Kae({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(FN,{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 Tfs({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(vc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(gc,{children:[o.jsx(Nr,{value:"agents",children:"Agents"}),o.jsx(Nr,{value:"workflows",children:"Workflows"}),o.jsx(Nr,{value:"tools",children:"Tools"})]}),o.jsx(Xr,{value:"agents",children:e.agentData.length>0?o.jsx(Kae,{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(Kae,{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(Kae,{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 Xae(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=rA(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 Nfs(){const e=We(),{filters:t,filterKey:n}=$m();return vt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Xae(e,"mastra_agent_duration_ms",t),Xae(e,"mastra_workflow_duration_ms",t),Xae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Qz={agents:cu.AGENT,workflows:cu.WORKFLOW_RUN,tools:cu.TOOL};function Ifs(){const{data:e,isLoading:t,isError:n}=Nfs(),{getTracesHref:r,getLogsHref:s}=sA(),{Link:a}=yn();return o.jsx(Tfs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Qz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Qz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(DL,{href:r({rootEntityType:Qz[i]}),LinkComponent:a}),o.jsx(Vds,{href:s({rootEntityType:Qz[i],status:"error"}),LinkComponent:a})]})})}const Jae="period",Yz="dateFrom",Kz="dateTo";function Afs(){const[e,t]=vi(),n=e.get(Jae),r=Pds(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(Yz)),p=d(e.get(Kz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>Eds(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Jae):p.set(Jae,d),d!=="custom"&&(p.delete(Yz),p.delete(Kz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Yz,d.from.toISOString()):p.delete(Yz),d?.to?p.set(Kz,d.to.toISOString()):p.delete(Kz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Tds(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,Cds(e)))return;const d=fBt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Mds,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Rfs,{})})}function Rfs(){const[e]=vi(),{error:t,isLoading:n}=mBt(),{filterTokens:r,setFilterTokens:s}=yQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=V7t(),{data:d,isLoading:f}=$Ie(),{data:p,isLoading:h}=AIe(),{data:m,isLoading:g}=PIe(),{data:y,isLoading:b}=RIe(),x=v.useMemo(()=>_ds({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]),[w,k]=v.useState(()=>fBt()!==null),C=v.useCallback(()=>{kds(e),k(!0),Le.success("Filters setting for Metrics saved")},[e]),_=v.useCallback(()=>{Ods(),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&&bs(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(zds,{}),o.jsx(OIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(ffs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:j,onRemoveAll:E,onSave:C,onRemoveSaved:w?_: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(Fbe,{children:[o.jsx(ofs,{}),o.jsx(lfs,{}),o.jsx(cfs,{}),o.jsx(ufs,{}),o.jsx(dfs,{})]}),o.jsxs(Fbe,{children:[o.jsx(gfs,{}),o.jsx(xfs,{}),o.jsx(jfs,{}),o.jsx(nfs,{}),o.jsx(Ifs,{}),o.jsx(Kds,{})]})]}):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(ka,{})]})})})]})}const Pfs=50;function $fs(){const{paths:e}=yn(),{isCmsAvailable:t}=rS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=B8t({page:s,perPage:Pfs}),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&&bs(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(Nes,{})}):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(Tes,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Mfs(){return o.jsx(Ft,{width:"narrow",children:o.jsx(Ft.MainArea,{children:o.jsx(lKr,{children:o.jsx(hbe,{})})})})}const Dfs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:BWt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Fit,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:ka,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:vT,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:Zit,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:zit,href:"https://mastra.ai/contact?ref=studio",external:!0}];function Lfs(){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:Dfs.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(ka,{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 Ffs(){const{data:e={},isLoading:t,error:n}=lh(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&bs(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(DXr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ft,{children:[o.jsx(Ft.TopArea,{children:o.jsx(FXr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(MXr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function zfs(){const{scorerId:e}=Sr(),[t,n]=vi(),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}=pXr(e),{data:d={},isLoading:f,error:p}=Im(),{isLoading:h,error:m}=Yy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:w,setEndOfListElement:k}=fXr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=v.useMemo(()=>c?.agentIds?.filter(V=>d[V]).map(V=>({value:V,label:d[V].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=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=bs(u)||bs(p)||bs(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(zy,{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(aXr,{})})]})}return o.jsxs(Ft,{width:"wide",children:[F,o.jsx(Ft.TopArea,{children:o.jsx(iXr,{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(sXr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:w,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function Bfs({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 bBt=[{value:"dark",label:"Dark",Icon:xGt},{value:"light",label:"Light",Icon:AQt},{value:"system",label:"System",Icon:eot}],Ufs=e=>bBt.some(t=>t.value===e);function Vfs({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 qfs=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=cH(),{theme:r,setTheme:s}=WC();return o.jsx(Ft,{width:"narrow",children:o.jsxs(Ft.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Qye,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(Bfs,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(fa,{value:r,onValueChange:a=>{Ufs(a)&&s(a)},children:[o.jsx(ha,{id:"theme",className:"w-full sm:w-48",children:o.jsx(pa,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ma,{children:bBt.map(a=>o.jsx($r,{value:a.value,children:o.jsx(Vfs,{option:a})},a.value))})]})})}),o.jsx(Qye,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(SMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function Hfs(){const[e]=vi(),t=Hs(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(cBt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const xBt=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 Wfs(e){return e.replace(/\/$/,"").split("/").pop()}function bQ({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 Zfs({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(tot,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(UD,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(x_,{})," ",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(xBt,{})," ",Wfs(a.githubUrl)]})})]},a.slug)})})}function Gfs({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(ON,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Tc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Tc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(ps,{})]})]})}function Qfs(){const{data:e,isLoading:t}=etr(),{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,w)=>{w==="tag"?i(x):w==="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(r1e,{children:o.jsxs(dvt,{children:[o.jsx(Ve,{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(Gfs,{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(Zfs,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Yfs="1.58.0-alpha.0";function Kfs({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(gZt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(bQ,{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 Xfs({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(bQ,{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(not,{})]}),o.jsx(Tc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className: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(IO,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(IO,{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(v8t,{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 Jfs({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(Zx,{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(ixe,{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(xBt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(GNe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function eps(e){switch(e){case"running":return o.jsx(Xt,{});case"success":return o.jsx(_x,{});case"failed":return o.jsx(Qu,{});default:return null}}function tps({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",ys.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",ys.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",ys.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",ys.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:eps(t.status)})]})}function nps({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(tps,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function rps({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",ys.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",ys.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",ys.colors),children:[n," of ",t," steps completed"]})]})}function sps({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(bQ,{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(rps,{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(NGt,{}),l||"Something went wrong"]}),u&&o.jsx(nps,{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 aps({name:e,installedEntities:t}){return o.jsxs(bQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(not,{}),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(GNe,{data:t})]})}function ips(){const{templateSlug:e}=Sr(),[t,n]=vi(),[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(""),[w,k]=v.useState(!1),[C,_]=v.useState(!1),[E,j]=v.useState([]),{data:N,isLoading:I}=ttr({repoOrSlug:e,owner:"mastra-ai"}),R=Yfs?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=ntr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:z,isLoading:H}=rtr(),{mutateAsync:F,isPending:B}=str(),{mutateAsync:V}=atr(),{streamInstall:M,streamResult:Q,isStreaming:q}=otr(z),{observeInstall:$,streamResult:U,isStreaming:Z}=ltr(z);v.useEffect(()=>{const re=t.get("runId");re&&!g&&!h&&!q&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:re}),x(re),V({runId:re}).then(le=>{const ue=le.snapshot;if(ue?.status==="success"&&ue?.result?.success)y(!0);else if(ue?.result?.success===!1)if(ue?.result?.validationResults&&!ue?.result?.validationResults?.valid&&ue?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=ue.result.validationResults,xe=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(xe),j(be||[])}else{const me=ue?.result?.message||ue?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).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 re=t.get("runId"),le=t.get("resume"),ue=t.get("provider");if(re&&le==="true"&&ue&&!q&&!Z&&!w&&!C&&z){x(re),k(!0);try{V({runId:re}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:re})}).then(()=>{n(oe=>{const me=new URLSearchParams(oe);return me.delete("resume"),me})}).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,w,C,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(re=>re).join(", "):"n/a",icon:o.jsx(Ud,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(re=>re).join(", "):"n/a",icon:o.jsx(Vo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(re=>re).join(", "):"n/a",icon:o.jsx(UD,{})},{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(GN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(re=>re.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const re=Q||U;re?.phase==="error"&&re?.error&&m(typeof re.error=="string"?re.error:String(re.error))},[Q?.phase,Q?.error,U?.phase,U?.error]);const J=re=>{s(re)},ae=async re=>(i(re.provider),c(re.modelId),{message:"Model updated successfully"}),fe=async()=>{const re=Object.entries(u).reduce((le,[ue,oe])=>(oe===""&&le.push(ue),le),[]);if(re.length>0){p(re);return}if(N){m(null),y(!1),x(""),_(!0);try{const ue={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(me=>{const be=new URLSearchParams(me);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:ue,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){_(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=re=>{const{name:le,value:ue}=re.target;ue.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(me=>me!==le)),d(oe=>({...oe,[le]:ue}))};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(Jfs,{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(sps,{name:N.title,streamResult:Z?U:Q,runId:b,workflowInfo:z}),g&&o.jsx(aps,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(Kfs,{errorMsg:h,validationErrors:E.length>0?E:Q?.validationResults?.errors||U?.validationResults?.errors}),!q&&!Z&&!g&&!h&&o.jsx(Xfs,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:fe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:B,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const ops=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(ZJr,{toolId:e,agentId:t})})},lps=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(pds,{toolId:e})})};function cps(){const{traceId:e}=Sr(),[t,n]=vi(),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:w,error:k}=MIe(e),C=v.useMemo(()=>x?.spans??[],[x?.spans]),_=v.useMemo(()=>C.find(ae=>ae.parentSpanId==null),[C]),{data:E,isLoading:j}=$L(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=lh(),{data:A,isLoading:R}=M8t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:z,isLoading:H}=K7t({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(fe=>fe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const F=v.useCallback(ae=>{const fe=new URLSearchParams(t);for(const[Y,re]of Object.entries(ae))re===null||re===""?fe.delete(Y):fe.set(Y,re);n(fe,{replace:!0})},[t,n]),B=v.useCallback(ae=>{const fe=ae??null,Y=fe===c;u(fe),Y||(f(void 0),h("details"),F({spanId:fe,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}=DIe(C,c,M),$=v.useCallback(ae=>{const fe=ae;h(fe),f(void 0),F({tab:fe==="details"?null:fe,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!==_.spanId?(u(_.spanId),f(void 0),F({spanId:_.spanId,tab:"scoring",scoreId:null})):F({tab:"scoring"})},[_,c,F]),ee=_?o.jsx(zy,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(cWt,{}),"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=_?o.jsx(Ft.Row,{children:o.jsx(Ft.Column,{children:o.jsx(P7t,{rootSpan:_,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(F7t,{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(W7t,{rootSpanId:_?.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(TIe,{traceId:e,spans:C,isLoading:w,onClose:K,onSpanSelect:B,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!w&&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(_Ie,{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(G7t,{feedbackData:z,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:fe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(Y7t,{traceId:fe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===cu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===cu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(Q7t,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:U})]})}),d&&o.jsx(ZNe,{score:d,onClose:Z})]})]})]})}function ups(){const{data:e,isLoading:t,error:n}=Yy(),[r,s]=v.useState("");return n&&bs(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(E7r,{})}):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(LD,{}),"Schedules"]})]})}),o.jsx(_7r,{workflows:e||{},isLoading:t,search:r})]})}const dps={active:"bg-accent1",paused:"bg-accent3"},fps={active:"text-accent1",paused:"text-accent3"},wBt=({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 ${dps[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${fps[e]}`,children:e})]}),fT=e=>!e||e<=0?"—":new Date(e).toLocaleString(),V2=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 SBt({status:e}){const{icon:t,color:n}=pps(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 pps(e){switch(e){case"success":return{icon:o.jsx(la,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(ps,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Xt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(XV,{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(gT,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const cJe="auto auto auto auto 1fr";function hps(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 mps(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 gps=3e4,vps=5*6e4;function yps({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=yn();return t?o.jsx(ll,{columns:cJe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ve,{columns:cJe,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=mps(u),f=`Scheduled ${fT(c.scheduledFireAt)} — published ${fT(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>gps&&m<=vps,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}),w=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(SBt,{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:V2(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:hps(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:w},y):o.jsx(ve.RowStatic,{children:w},y)}),o.jsx(ve.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const bps=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)}})},uJe=25,xps=e=>{const t=We(),{inView:n,setRef:r}=KC(),s=B1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:uJe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<uJe))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}},wps=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 Xz({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 Sps(){const{scheduleId:e}=Sr(),{paths:t}=yn(),{data:n,error:r}=bps(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=xps(e),d=wps(e);if(r&&bs(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(Pc,{}),"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(cxe,{}),"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(Xz,{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(Xz,{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(Xz,{label:"Status",children:o.jsx(wBt,{status:n.status})}),o.jsx(Xz,{label:"Next fire",children:o.jsx("span",{title:fT(n.nextFireAt),children:V2(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(yps,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const dJe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function kps({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:dJe}):o.jsxs(ve,{columns:dJe,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(wBt,{status:i.status})}),o.jsx(ve.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:fT(i.nextFireAt),children:V2(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(SBt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:fT(i.lastFireAt),children:i.lastFireAt?V2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:fT(i.lastFireAt),children:V2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function Ops({workflowId:e}={}){const{data:t,isLoading:n,error:r}=t1e(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(kps,{schedules:t??[],isLoading:n,search:s})})]})}function Cps(){const[e]=vi(),t=e.get("workflowId")??void 0,{error:n}=t1e(t?{workflowId:t}:{});return n&&bs(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(Ops,{workflowId:t})})})}function _ps({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=Rke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=Vkt(r),[d]=qkt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=u3t({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(Ukt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(Sje,{position:"bottom-left"}),o.jsx(Wkt,{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 Eps(){const{stepDetail:e,closeStepDetail:t}=sW();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(k9,{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(ps,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(z2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(Ake,{children:o.jsx(_ps,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function jps(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Tps(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 Nps({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(Ve,{children:o.jsx(XV,{})}),"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(Ex(i.resumeSchema))):gp(ur(),MT());return o.jsx(Ips,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Ips({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(Ve,{children:o.jsx(SGt,{})}),"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(Ve,{children:o.jsx(ca,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Tps(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:jps(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(Ve,{children:o.jsx(CGt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(VB,{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 Aps(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(ql),{runId:a}=Sr(),i=Jkt(e,r??""),l=gXn(),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(Nps,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Rps=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"})]}),Pps=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"})]}),$ps=e=>e.includes("."),Mps=e=>e==="input"||e.endsWith(".input"),Dps=1;function Lps(e){return`${Number((e/1e3).toPrecision(3))}s`}function Fps(e,t){const n=Object.entries(e).filter(([i])=>!Mps(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,Dps);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:$ps(i)}})}const zps=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Rps,{className:"text-accent1"}),e==="failed"&&o.jsx(Pps,{className:"text-accent2"}),e==="suspended"&&o.jsx(XV,{className:"text-accent3"}),e==="waiting"&&o.jsx(qfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(qfe,{className:"text-icon3"}),e==="running"&&o.jsx(ia,{className:"text-accent6 animate-spin"})]}),Bps={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function kBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const fJe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Ups=e=>{const t=e;return t3t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},Vps=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Ups(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(zps,{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(_Qt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(CV,{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:kBt(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 ${Bps[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(OQt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:Lps(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function qps(){const{steps:e}=W4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=gH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);c1e(f,{enabled:!l});const p=Fps(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(wa,{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(Vps,{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:fJe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:fJe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(tOt,{data:u.data,title:`${kBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Hps=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=sW();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(y3t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Aps,{}),o.jsx(qps,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Eps,{})})]})},pJe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=e4(e);return r&&bs(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(Kke,{children:o.jsx(Hps,{workflowId:e,workflow:t??void 0,isLoading:n})})};function Wps(e,t){if(e==null)return{};var n,r,s=a1t(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 Wbe(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 Zps(e){if(Array.isArray(e))return Wbe(e)}function Gps(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Qps(e,t){if(e){if(typeof e=="string")return Wbe(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)?Wbe(e,t):void 0}}function Yps(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
723
723
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zbe(e){return Zps(e)||Gps(e)||Qps(e)||Yps()}function PD(e){"@babel/helpers - typeof";return PD=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},PD(e)}function Kps(e,t){if(PD(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(PD(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Xps(e){var t=Kps(e,"string");return PD(t)=="symbol"?t:t+""}function OBt(e,t,n){return(t=Xps(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hJe(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 _j(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?hJe(Object(n),!0).forEach(function(r){OBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hJe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Jps(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 eie={};function ehs(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return eie[t]||(eie[t]=Jps(e)),eie[t]}function ths(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=ehs(r);return s.reduce(function(a,i){return _j(_j({},a),n[i])},t)}function mJe(e){return e.join(" ")}function nhs(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return CBt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function CBt(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=nhs(n,a),p;if(!a)p=_j(_j({},l),{},{className:mJe(l.className)});else{var h=Object.keys(n).reduce(function(b,x){return x.split(".").forEach(function(w){b.includes(w)||b.push(w)}),b},[]),m=l.className&&l.className.includes("token")?["token"]:[],g=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=_j(_j({},l),{},{className:mJe(g)||void 0,style:ths(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Fe.createElement(u,ZO({key:i},p),y)}}const rhs=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var shs=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function gJe(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 Rw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?gJe(Object(n),!0).forEach(function(r){OBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gJe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var ahs=/\n/g;function ihs(e){return e.match(ahs)}function ohs(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,`
|
|
724
724
|
`))})}function lhs(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)},ohs({lines:t.replace(/\n$/,"").split(`
|
|
725
725
|
`),style:i,startingLineNumber:l}))}function chs(e){return"".concat(e.toString().length,".25em")}function _Bt(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 EBt(e,t,n){var r={display:"inline-block",minWidth:chs(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=Rw(Rw({},r),s);return a}function b9(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?Rw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(Zbe(m.className.trim().split(/\s+/)),Zbe(u)):u,n&&a){var g=EBt(r,n,s);t.unshift(_Bt(n,g))}return f&d&&(m.style=Rw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function jBt(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(b9({children:[s],className:Zbe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);jBt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function uhs(e,t,n,r,s,a,i,l,c){var u,d=jBt(e.value),f=[],p=-1,h=0;function m(C,_){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return b9({children:C,lineNumber:_,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:E,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function g(C,_){if(r&&_&&s){var E=EBt(l,_,i);C.unshift(_Bt(_,E))}return C}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 _=d[h],E=_.children[0].value,j=ihs(E);if(j){var N=E.split(`
|