agent-dag 1.33.112 → 1.33.113

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -56,7 +56,7 @@ Error generating stack: `+w.message+`
56
56
  */var mw;function Nj(){if(mw)return sd;mw=1;var e=pa(),n=Ej();function r(h,f){return h===f&&(h!==0||1/h===1/f)||h!==h&&f!==f}var s=typeof Object.is=="function"?Object.is:r,o=n.useSyncExternalStore,l=e.useRef,u=e.useEffect,c=e.useMemo,p=e.useDebugValue;return sd.useSyncExternalStoreWithSelector=function(h,f,g,y,x){var N=l(null);if(N.current===null){var _={hasValue:!1,value:null};N.current=_}else _=N.current;N=c(function(){function S(M){if(!k){if(k=!0,E=M,M=y(M),x!==void 0&&_.hasValue){var O=_.value;if(x(O,M))return C=O}return C=M}if(O=C,s(E,M))return O;var W=y(M);return x!==void 0&&x(O,W)?(E=M,O):(E=M,C=W)}var k=!1,E,C,I=g===void 0?null:g;return[function(){return S(f())},I===null?void 0:function(){return S(I())}]},[f,g,y,x]);var b=o(h,N[0],N[1]);return u(function(){_.hasValue=!0,_.value=b},[b]),p(b),b},sd}var gw;function Cj(){return gw||(gw=1,id.exports=Nj()),id.exports}var Tj=Cj();const jj=lv(Tj),Rj={},vw=e=>{let n;const r=new Set,s=(f,g)=>{const y=typeof f=="function"?f(n):f;if(!Object.is(y,n)){const x=n;n=g??(typeof y!="object"||y===null)?y:Object.assign({},n,y),r.forEach(N=>N(n,x))}},o=()=>n,p={setState:s,getState:o,getInitialState:()=>h,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{(Rj?"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."),r.clear()}},h=n=e(s,o,p);return p},Aj=e=>e?vw(e):vw,{useDebugValue:Ij}=ae,{useSyncExternalStoreWithSelector:Mj}=jj,Pj=e=>e;function iE(e,n=Pj,r){const s=Mj(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,r);return Ij(s),s}const yw=(e,n)=>{const r=Aj(e),s=(o,l=n)=>iE(r,o,l);return Object.assign(s,r),s},Oj=(e,n)=>e?yw(e,n):yw;function kt(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[s,o]of e)if(!Object.is(o,n.get(s)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const s of e)if(!n.has(s))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(n).length)return!1;for(const s of r)if(!Object.prototype.hasOwnProperty.call(n,s)||!Object.is(e[s],n[s]))return!1;return!0}var Lj={value:()=>{}};function au(){for(var e=0,n=arguments.length,r={},s;e<n;++e){if(!(s=arguments[e]+"")||s in r||/[\s.]/.test(s))throw new Error("illegal type: "+s);r[s]=[]}return new Ul(r)}function Ul(e){this._=e}function qj(e,n){return e.trim().split(/^|\s+/).map(function(r){var s="",o=r.indexOf(".");if(o>=0&&(s=r.slice(o+1),r=r.slice(0,o)),r&&!n.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:s}})}Ul.prototype=au.prototype={constructor:Ul,on:function(e,n){var r=this._,s=qj(e+"",r),o,l=-1,u=s.length;if(arguments.length<2){for(;++l<u;)if((o=(e=s[l]).type)&&(o=$j(r[o],e.name)))return o;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++l<u;)if(o=(e=s[l]).type)r[o]=ww(r[o],e.name,n);else if(n==null)for(o in r)r[o]=ww(r[o],e.name,null);return this},copy:function(){var e={},n=this._;for(var r in n)e[r]=n[r].slice();return new Ul(e)},call:function(e,n){if((o=arguments.length-2)>0)for(var r=new Array(o),s=0,o,l;s<o;++s)r[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(l=this._[e],s=0,o=l.length;s<o;++s)l[s].value.apply(n,r)},apply:function(e,n,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var s=this._[e],o=0,l=s.length;o<l;++o)s[o].value.apply(n,r)}};function $j(e,n){for(var r=0,s=e.length,o;r<s;++r)if((o=e[r]).name===n)return o.value}function ww(e,n,r){for(var s=0,o=e.length;s<o;++s)if(e[s].name===n){e[s]=Lj,e=e.slice(0,s).concat(e.slice(s+1));break}return r!=null&&e.push({name:n,value:r}),e}var $g="http://www.w3.org/1999/xhtml";const xw={svg:"http://www.w3.org/2000/svg",xhtml:$g,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function lu(e){var n=e+="",r=n.indexOf(":");return r>=0&&(n=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),xw.hasOwnProperty(n)?{space:xw[n],local:e}:e}function Dj(e){return function(){var n=this.ownerDocument,r=this.namespaceURI;return r===$g&&n.documentElement.namespaceURI===$g?n.createElement(e):n.createElementNS(r,e)}}function Fj(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function sE(e){var n=lu(e);return(n.local?Fj:Dj)(n)}function zj(){}function uv(e){return e==null?zj:function(){return this.querySelector(e)}}function Bj(e){typeof e!="function"&&(e=uv(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=new Array(u),p,h,f=0;f<u;++f)(p=l[f])&&(h=e.call(p,p.__data__,f,l))&&("__data__"in p&&(h.__data__=p.__data__),c[f]=h);return new dn(s,this._parents)}function Uj(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Hj(){return[]}function oE(e){return e==null?Hj:function(){return this.querySelectorAll(e)}}function Wj(e){return function(){return Uj(e.apply(this,arguments))}}function Vj(e){typeof e=="function"?e=Wj(e):e=oE(e);for(var n=this._groups,r=n.length,s=[],o=[],l=0;l<r;++l)for(var u=n[l],c=u.length,p,h=0;h<c;++h)(p=u[h])&&(s.push(e.call(p,p.__data__,h,u)),o.push(p));return new dn(s,o)}function aE(e){return function(){return this.matches(e)}}function lE(e){return function(n){return n.matches(e)}}var Gj=Array.prototype.find;function Yj(e){return function(){return Gj.call(this.children,e)}}function Kj(){return this.firstElementChild}function Xj(e){return this.select(e==null?Kj:Yj(typeof e=="function"?e:lE(e)))}var Qj=Array.prototype.filter;function Zj(){return Array.from(this.children)}function Jj(e){return function(){return Qj.call(this.children,e)}}function eR(e){return this.selectAll(e==null?Zj:Jj(typeof e=="function"?e:lE(e)))}function tR(e){typeof e!="function"&&(e=aE(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=[],p,h=0;h<u;++h)(p=l[h])&&e.call(p,p.__data__,h,l)&&c.push(p);return new dn(s,this._parents)}function uE(e){return new Array(e.length)}function nR(){return new dn(this._enter||this._groups.map(uE),this._parents)}function Yl(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}Yl.prototype={constructor:Yl,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function rR(e){return function(){return e}}function iR(e,n,r,s,o,l){for(var u=0,c,p=n.length,h=l.length;u<h;++u)(c=n[u])?(c.__data__=l[u],s[u]=c):r[u]=new Yl(e,l[u]);for(;u<p;++u)(c=n[u])&&(o[u]=c)}function sR(e,n,r,s,o,l,u){var c,p,h=new Map,f=n.length,g=l.length,y=new Array(f),x;for(c=0;c<f;++c)(p=n[c])&&(y[c]=x=u.call(p,p.__data__,c,n)+"",h.has(x)?o[c]=p:h.set(x,p));for(c=0;c<g;++c)x=u.call(e,l[c],c,l)+"",(p=h.get(x))?(s[c]=p,p.__data__=l[c],h.delete(x)):r[c]=new Yl(e,l[c]);for(c=0;c<f;++c)(p=n[c])&&h.get(y[c])===p&&(o[c]=p)}function oR(e){return e.__data__}function aR(e,n){if(!arguments.length)return Array.from(this,oR);var r=n?sR:iR,s=this._parents,o=this._groups;typeof e!="function"&&(e=rR(e));for(var l=o.length,u=new Array(l),c=new Array(l),p=new Array(l),h=0;h<l;++h){var f=s[h],g=o[h],y=g.length,x=lR(e.call(f,f&&f.__data__,h,s)),N=x.length,_=c[h]=new Array(N),b=u[h]=new Array(N),S=p[h]=new Array(y);r(f,g,_,b,S,x,n);for(var k=0,E=0,C,I;k<N;++k)if(C=_[k]){for(k>=E&&(E=k+1);!(I=b[E])&&++E<N;);C._next=I||null}}return u=new dn(u,s),u._enter=c,u._exit=p,u}function lR(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function uR(){return new dn(this._exit||this._groups.map(uE),this._parents)}function cR(e,n,r){var s=this.enter(),o=this,l=this.exit();return typeof e=="function"?(s=e(s),s&&(s=s.selection())):s=s.append(e+""),n!=null&&(o=n(o),o&&(o=o.selection())),r==null?l.remove():r(l),s&&o?s.merge(o).order():o}function dR(e){for(var n=e.selection?e.selection():e,r=this._groups,s=n._groups,o=r.length,l=s.length,u=Math.min(o,l),c=new Array(o),p=0;p<u;++p)for(var h=r[p],f=s[p],g=h.length,y=c[p]=new Array(g),x,N=0;N<g;++N)(x=h[N]||f[N])&&(y[N]=x);for(;p<o;++p)c[p]=r[p];return new dn(c,this._parents)}function fR(){for(var e=this._groups,n=-1,r=e.length;++n<r;)for(var s=e[n],o=s.length-1,l=s[o],u;--o>=0;)(u=s[o])&&(l&&u.compareDocumentPosition(l)^4&&l.parentNode.insertBefore(u,l),l=u);return this}function hR(e){e||(e=pR);function n(g,y){return g&&y?e(g.__data__,y.__data__):!g-!y}for(var r=this._groups,s=r.length,o=new Array(s),l=0;l<s;++l){for(var u=r[l],c=u.length,p=o[l]=new Array(c),h,f=0;f<c;++f)(h=u[f])&&(p[f]=h);p.sort(n)}return new dn(o,this._parents).order()}function pR(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function mR(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function gR(){return Array.from(this)}function vR(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var s=e[n],o=0,l=s.length;o<l;++o){var u=s[o];if(u)return u}return null}function yR(){let e=0;for(const n of this)++e;return e}function wR(){return!this.node()}function xR(e){for(var n=this._groups,r=0,s=n.length;r<s;++r)for(var o=n[r],l=0,u=o.length,c;l<u;++l)(c=o[l])&&e.call(c,c.__data__,l,o);return this}function _R(e){return function(){this.removeAttribute(e)}}function bR(e){return function(){this.removeAttributeNS(e.space,e.local)}}function SR(e,n){return function(){this.setAttribute(e,n)}}function kR(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function ER(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function NR(e,n){return function(){var r=n.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function CR(e,n){var r=lu(e);if(arguments.length<2){var s=this.node();return r.local?s.getAttributeNS(r.space,r.local):s.getAttribute(r)}return this.each((n==null?r.local?bR:_R:typeof n=="function"?r.local?NR:ER:r.local?kR:SR)(r,n))}function cE(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function TR(e){return function(){this.style.removeProperty(e)}}function jR(e,n,r){return function(){this.style.setProperty(e,n,r)}}function RR(e,n,r){return function(){var s=n.apply(this,arguments);s==null?this.style.removeProperty(e):this.style.setProperty(e,s,r)}}function AR(e,n,r){return arguments.length>1?this.each((n==null?TR:typeof n=="function"?RR:jR)(e,n,r??"")):Js(this.node(),e)}function Js(e,n){return e.style.getPropertyValue(n)||cE(e).getComputedStyle(e,null).getPropertyValue(n)}function IR(e){return function(){delete this[e]}}function MR(e,n){return function(){this[e]=n}}function PR(e,n){return function(){var r=n.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function OR(e,n){return arguments.length>1?this.each((n==null?IR:typeof n=="function"?PR:MR)(e,n)):this.node()[e]}function dE(e){return e.trim().split(/^|\s+/)}function cv(e){return e.classList||new fE(e)}function fE(e){this._node=e,this._names=dE(e.getAttribute("class")||"")}fE.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function hE(e,n){for(var r=cv(e),s=-1,o=n.length;++s<o;)r.add(n[s])}function pE(e,n){for(var r=cv(e),s=-1,o=n.length;++s<o;)r.remove(n[s])}function LR(e){return function(){hE(this,e)}}function qR(e){return function(){pE(this,e)}}function $R(e,n){return function(){(n.apply(this,arguments)?hE:pE)(this,e)}}function DR(e,n){var r=dE(e+"");if(arguments.length<2){for(var s=cv(this.node()),o=-1,l=r.length;++o<l;)if(!s.contains(r[o]))return!1;return!0}return this.each((typeof n=="function"?$R:n?LR:qR)(r,n))}function FR(){this.textContent=""}function zR(e){return function(){this.textContent=e}}function BR(e){return function(){var n=e.apply(this,arguments);this.textContent=n??""}}function UR(e){return arguments.length?this.each(e==null?FR:(typeof e=="function"?BR:zR)(e)):this.node().textContent}function HR(){this.innerHTML=""}function WR(e){return function(){this.innerHTML=e}}function VR(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n??""}}function GR(e){return arguments.length?this.each(e==null?HR:(typeof e=="function"?VR:WR)(e)):this.node().innerHTML}function YR(){this.nextSibling&&this.parentNode.appendChild(this)}function KR(){return this.each(YR)}function XR(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function QR(){return this.each(XR)}function ZR(e){var n=typeof e=="function"?e:sE(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function JR(){return null}function e2(e,n){var r=typeof e=="function"?e:sE(e),s=n==null?JR:typeof n=="function"?n:uv(n);return this.select(function(){return this.insertBefore(r.apply(this,arguments),s.apply(this,arguments)||null)})}function t2(){var e=this.parentNode;e&&e.removeChild(this)}function n2(){return this.each(t2)}function r2(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function i2(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function s2(e){return this.select(e?i2:r2)}function o2(e){return arguments.length?this.property("__data__",e):this.node().__data__}function a2(e){return function(n){e.call(this,n,this.__data__)}}function l2(e){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");return s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),{type:n,name:r}})}function u2(e){return function(){var n=this.__on;if(n){for(var r=0,s=-1,o=n.length,l;r<o;++r)l=n[r],(!e.type||l.type===e.type)&&l.name===e.name?this.removeEventListener(l.type,l.listener,l.options):n[++s]=l;++s?n.length=s:delete this.__on}}}function c2(e,n,r){return function(){var s=this.__on,o,l=a2(n);if(s){for(var u=0,c=s.length;u<c;++u)if((o=s[u]).type===e.type&&o.name===e.name){this.removeEventListener(o.type,o.listener,o.options),this.addEventListener(o.type,o.listener=l,o.options=r),o.value=n;return}}this.addEventListener(e.type,l,r),o={type:e.type,name:e.name,value:n,listener:l,options:r},s?s.push(o):this.__on=[o]}}function d2(e,n,r){var s=l2(e+""),o,l=s.length,u;if(arguments.length<2){var c=this.node().__on;if(c){for(var p=0,h=c.length,f;p<h;++p)for(o=0,f=c[p];o<l;++o)if((u=s[o]).type===f.type&&u.name===f.name)return f.value}return}for(c=n?c2:u2,o=0;o<l;++o)this.each(c(s[o],n,r));return this}function mE(e,n,r){var s=cE(e),o=s.CustomEvent;typeof o=="function"?o=new o(n,r):(o=s.document.createEvent("Event"),r?(o.initEvent(n,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(n,!1,!1)),e.dispatchEvent(o)}function f2(e,n){return function(){return mE(this,e,n)}}function h2(e,n){return function(){return mE(this,e,n.apply(this,arguments))}}function p2(e,n){return this.each((typeof n=="function"?h2:f2)(e,n))}function*m2(){for(var e=this._groups,n=0,r=e.length;n<r;++n)for(var s=e[n],o=0,l=s.length,u;o<l;++o)(u=s[o])&&(yield u)}var gE=[null];function dn(e,n){this._groups=e,this._parents=n}function ma(){return new dn([[document.documentElement]],gE)}function g2(){return this}dn.prototype=ma.prototype={constructor:dn,select:Bj,selectAll:Vj,selectChild:Xj,selectChildren:eR,filter:tR,data:aR,enter:nR,exit:uR,join:cR,merge:dR,selection:g2,order:fR,sort:hR,call:mR,nodes:gR,node:vR,size:yR,empty:wR,each:xR,attr:CR,style:AR,property:OR,classed:DR,text:UR,html:GR,raise:KR,lower:QR,append:ZR,insert:e2,remove:n2,clone:s2,datum:o2,on:d2,dispatch:p2,[Symbol.iterator]:m2};function kn(e){return typeof e=="string"?new dn([[document.querySelector(e)]],[document.documentElement]):new dn([[e]],gE)}function v2(e){let n;for(;n=e.sourceEvent;)e=n;return e}function Vn(e,n){if(e=v2(e),n===void 0&&(n=e.currentTarget),n){var r=n.ownerSVGElement||n;if(r.createSVGPoint){var s=r.createSVGPoint();return s.x=e.clientX,s.y=e.clientY,s=s.matrixTransform(n.getScreenCTM().inverse()),[s.x,s.y]}if(n.getBoundingClientRect){var o=n.getBoundingClientRect();return[e.clientX-o.left-n.clientLeft,e.clientY-o.top-n.clientTop]}}return[e.pageX,e.pageY]}const y2={passive:!1},ia={capture:!0,passive:!1};function ld(e){e.stopImmediatePropagation()}function Ks(e){e.preventDefault(),e.stopImmediatePropagation()}function vE(e){var n=e.document.documentElement,r=kn(e).on("dragstart.drag",Ks,ia);"onselectstart"in n?r.on("selectstart.drag",Ks,ia):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function yE(e,n){var r=e.document.documentElement,s=kn(e).on("dragstart.drag",null);n&&(s.on("click.drag",Ks,ia),setTimeout(function(){s.on("click.drag",null)},0)),"onselectstart"in r?s.on("selectstart.drag",null):(r.style.MozUserSelect=r.__noselect,delete r.__noselect)}const Cl=e=>()=>e;function Dg(e,{sourceEvent:n,subject:r,target:s,identifier:o,active:l,x:u,y:c,dx:p,dy:h,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:r,enumerable:!0,configurable:!0},target:{value:s,enumerable:!0,configurable:!0},identifier:{value:o,enumerable:!0,configurable:!0},active:{value:l,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:p,enumerable:!0,configurable:!0},dy:{value:h,enumerable:!0,configurable:!0},_:{value:f}})}Dg.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function w2(e){return!e.ctrlKey&&!e.button}function x2(){return this.parentNode}function _2(e,n){return n??{x:e.x,y:e.y}}function b2(){return navigator.maxTouchPoints||"ontouchstart"in this}function S2(){var e=w2,n=x2,r=_2,s=b2,o={},l=au("start","drag","end"),u=0,c,p,h,f,g=0;function y(C){C.on("mousedown.drag",x).filter(s).on("touchstart.drag",b).on("touchmove.drag",S,y2).on("touchend.drag touchcancel.drag",k).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function x(C,I){if(!(f||!e.call(this,C,I))){var M=E(this,n.call(this,C,I),C,I,"mouse");M&&(kn(C.view).on("mousemove.drag",N,ia).on("mouseup.drag",_,ia),vE(C.view),ld(C),h=!1,c=C.clientX,p=C.clientY,M("start",C))}}function N(C){if(Ks(C),!h){var I=C.clientX-c,M=C.clientY-p;h=I*I+M*M>g}o.mouse("drag",C)}function _(C){kn(C.view).on("mousemove.drag mouseup.drag",null),yE(C.view,h),Ks(C),o.mouse("end",C)}function b(C,I){if(e.call(this,C,I)){var M=C.changedTouches,O=n.call(this,C,I),W=M.length,L,P;for(L=0;L<W;++L)(P=E(this,O,C,I,M[L].identifier,M[L]))&&(ld(C),P("start",C,M[L]))}}function S(C){var I=C.changedTouches,M=I.length,O,W;for(O=0;O<M;++O)(W=o[I[O].identifier])&&(Ks(C),W("drag",C,I[O]))}function k(C){var I=C.changedTouches,M=I.length,O,W;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),O=0;O<M;++O)(W=o[I[O].identifier])&&(ld(C),W("end",C,I[O]))}function E(C,I,M,O,W,L){var P=l.copy(),q=Vn(L||M,I),U,B,R;if((R=r.call(C,new Dg("beforestart",{sourceEvent:M,target:y,identifier:W,active:u,x:q[0],y:q[1],dx:0,dy:0,dispatch:P}),O))!=null)return U=R.x-q[0]||0,B=R.y-q[1]||0,function Q(H,te,Z){var D=q,X;switch(H){case"start":o[W]=Q,X=u++;break;case"end":delete o[W],--u;case"drag":q=Vn(Z||te,I),X=u;break}P.call(H,C,new Dg(H,{sourceEvent:te,subject:R,target:y,identifier:W,active:X,x:q[0]+U,y:q[1]+B,dx:q[0]-D[0],dy:q[1]-D[1],dispatch:P}),O)}}return y.filter=function(C){return arguments.length?(e=typeof C=="function"?C:Cl(!!C),y):e},y.container=function(C){return arguments.length?(n=typeof C=="function"?C:Cl(C),y):n},y.subject=function(C){return arguments.length?(r=typeof C=="function"?C:Cl(C),y):r},y.touchable=function(C){return arguments.length?(s=typeof C=="function"?C:Cl(!!C),y):s},y.on=function(){var C=l.on.apply(l,arguments);return C===l?y:C},y.clickDistance=function(C){return arguments.length?(g=(C=+C)*C,y):Math.sqrt(g)},y}function dv(e,n,r){e.prototype=n.prototype=r,r.constructor=e}function wE(e,n){var r=Object.create(e.prototype);for(var s in n)r[s]=n[s];return r}function ga(){}var sa=.7,Kl=1/sa,Xs="\\s*([+-]?\\d+)\\s*",oa="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",k2=/^#([0-9a-f]{3,8})$/,E2=new RegExp(`^rgb\\(${Xs},${Xs},${Xs}\\)$`),N2=new RegExp(`^rgb\\(${cr},${cr},${cr}\\)$`),C2=new RegExp(`^rgba\\(${Xs},${Xs},${Xs},${oa}\\)$`),T2=new RegExp(`^rgba\\(${cr},${cr},${cr},${oa}\\)$`),j2=new RegExp(`^hsl\\(${oa},${cr},${cr}\\)$`),R2=new RegExp(`^hsla\\(${oa},${cr},${cr},${oa}\\)$`),_w={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};dv(ga,aa,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:bw,formatHex:bw,formatHex8:A2,formatHsl:I2,formatRgb:Sw,toString:Sw});function bw(){return this.rgb().formatHex()}function A2(){return this.rgb().formatHex8()}function I2(){return xE(this).formatHsl()}function Sw(){return this.rgb().formatRgb()}function aa(e){var n,r;return e=(e+"").trim().toLowerCase(),(n=k2.exec(e))?(r=n[1].length,n=parseInt(n[1],16),r===6?kw(n):r===3?new rn(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):r===8?Tl(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):r===4?Tl(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=E2.exec(e))?new rn(n[1],n[2],n[3],1):(n=N2.exec(e))?new rn(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=C2.exec(e))?Tl(n[1],n[2],n[3],n[4]):(n=T2.exec(e))?Tl(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=j2.exec(e))?Cw(n[1],n[2]/100,n[3]/100,1):(n=R2.exec(e))?Cw(n[1],n[2]/100,n[3]/100,n[4]):_w.hasOwnProperty(e)?kw(_w[e]):e==="transparent"?new rn(NaN,NaN,NaN,0):null}function kw(e){return new rn(e>>16&255,e>>8&255,e&255,1)}function Tl(e,n,r,s){return s<=0&&(e=n=r=NaN),new rn(e,n,r,s)}function M2(e){return e instanceof ga||(e=aa(e)),e?(e=e.rgb(),new rn(e.r,e.g,e.b,e.opacity)):new rn}function Fg(e,n,r,s){return arguments.length===1?M2(e):new rn(e,n,r,s??1)}function rn(e,n,r,s){this.r=+e,this.g=+n,this.b=+r,this.opacity=+s}dv(rn,Fg,wE(ga,{brighter(e){return e=e==null?Kl:Math.pow(Kl,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?sa:Math.pow(sa,e),new rn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new rn(Ji(this.r),Ji(this.g),Ji(this.b),Xl(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:Ew,formatHex:Ew,formatHex8:P2,formatRgb:Nw,toString:Nw}));function Ew(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}`}function P2(){return`#${Qi(this.r)}${Qi(this.g)}${Qi(this.b)}${Qi((isNaN(this.opacity)?1:this.opacity)*255)}`}function Nw(){const e=Xl(this.opacity);return`${e===1?"rgb(":"rgba("}${Ji(this.r)}, ${Ji(this.g)}, ${Ji(this.b)}${e===1?")":`, ${e})`}`}function Xl(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Ji(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Qi(e){return e=Ji(e),(e<16?"0":"")+e.toString(16)}function Cw(e,n,r,s){return s<=0?e=n=r=NaN:r<=0||r>=1?e=n=NaN:n<=0&&(e=NaN),new Gn(e,n,r,s)}function xE(e){if(e instanceof Gn)return new Gn(e.h,e.s,e.l,e.opacity);if(e instanceof ga||(e=aa(e)),!e)return new Gn;if(e instanceof Gn)return e;e=e.rgb();var n=e.r/255,r=e.g/255,s=e.b/255,o=Math.min(n,r,s),l=Math.max(n,r,s),u=NaN,c=l-o,p=(l+o)/2;return c?(n===l?u=(r-s)/c+(r<s)*6:r===l?u=(s-n)/c+2:u=(n-r)/c+4,c/=p<.5?l+o:2-l-o,u*=60):c=p>0&&p<1?0:u,new Gn(u,c,p,e.opacity)}function O2(e,n,r,s){return arguments.length===1?xE(e):new Gn(e,n,r,s??1)}function Gn(e,n,r,s){this.h=+e,this.s=+n,this.l=+r,this.opacity=+s}dv(Gn,O2,wE(ga,{brighter(e){return e=e==null?Kl:Math.pow(Kl,e),new Gn(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?sa:Math.pow(sa,e),new Gn(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,s=r+(r<.5?r:1-r)*n,o=2*r-s;return new rn(ud(e>=240?e-240:e+120,o,s),ud(e,o,s),ud(e<120?e+240:e-120,o,s),this.opacity)},clamp(){return new Gn(Tw(this.h),jl(this.s),jl(this.l),Xl(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=Xl(this.opacity);return`${e===1?"hsl(":"hsla("}${Tw(this.h)}, ${jl(this.s)*100}%, ${jl(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Tw(e){return e=(e||0)%360,e<0?e+360:e}function jl(e){return Math.max(0,Math.min(1,e||0))}function ud(e,n,r){return(e<60?n+(r-n)*e/60:e<180?r:e<240?n+(r-n)*(240-e)/60:n)*255}const _E=e=>()=>e;function L2(e,n){return function(r){return e+r*n}}function q2(e,n,r){return e=Math.pow(e,r),n=Math.pow(n,r)-e,r=1/r,function(s){return Math.pow(e+s*n,r)}}function $2(e){return(e=+e)==1?bE:function(n,r){return r-n?q2(n,r,e):_E(isNaN(n)?r:n)}}function bE(e,n){var r=n-e;return r?L2(e,r):_E(isNaN(e)?n:e)}const jw=(function e(n){var r=$2(n);function s(o,l){var u=r((o=Fg(o)).r,(l=Fg(l)).r),c=r(o.g,l.g),p=r(o.b,l.b),h=bE(o.opacity,l.opacity);return function(f){return o.r=u(f),o.g=c(f),o.b=p(f),o.opacity=h(f),o+""}}return s.gamma=e,s})(1);function di(e,n){return e=+e,n=+n,function(r){return e*(1-r)+n*r}}var zg=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,cd=new RegExp(zg.source,"g");function D2(e){return function(){return e}}function F2(e){return function(n){return e(n)+""}}function z2(e,n){var r=zg.lastIndex=cd.lastIndex=0,s,o,l,u=-1,c=[],p=[];for(e=e+"",n=n+"";(s=zg.exec(e))&&(o=cd.exec(n));)(l=o.index)>r&&(l=n.slice(r,l),c[u]?c[u]+=l:c[++u]=l),(s=s[0])===(o=o[0])?c[u]?c[u]+=o:c[++u]=o:(c[++u]=null,p.push({i:u,x:di(s,o)})),r=cd.lastIndex;return r<n.length&&(l=n.slice(r),c[u]?c[u]+=l:c[++u]=l),c.length<2?p[0]?F2(p[0].x):D2(n):(n=p.length,function(h){for(var f=0,g;f<n;++f)c[(g=p[f]).i]=g.x(h);return c.join("")})}var Rw=180/Math.PI,Bg={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function SE(e,n,r,s,o,l){var u,c,p;return(u=Math.sqrt(e*e+n*n))&&(e/=u,n/=u),(p=e*r+n*s)&&(r-=e*p,s-=n*p),(c=Math.sqrt(r*r+s*s))&&(r/=c,s/=c,p/=c),e*s<n*r&&(e=-e,n=-n,p=-p,u=-u),{translateX:o,translateY:l,rotate:Math.atan2(n,e)*Rw,skewX:Math.atan(p)*Rw,scaleX:u,scaleY:c}}var Rl;function B2(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Bg:SE(n.a,n.b,n.c,n.d,n.e,n.f)}function U2(e){return e==null||(Rl||(Rl=document.createElementNS("http://www.w3.org/2000/svg","g")),Rl.setAttribute("transform",e),!(e=Rl.transform.baseVal.consolidate()))?Bg:(e=e.matrix,SE(e.a,e.b,e.c,e.d,e.e,e.f))}function kE(e,n,r,s){function o(h){return h.length?h.pop()+" ":""}function l(h,f,g,y,x,N){if(h!==g||f!==y){var _=x.push("translate(",null,n,null,r);N.push({i:_-4,x:di(h,g)},{i:_-2,x:di(f,y)})}else(g||y)&&x.push("translate("+g+n+y+r)}function u(h,f,g,y){h!==f?(h-f>180?f+=360:f-h>180&&(h+=360),y.push({i:g.push(o(g)+"rotate(",null,s)-2,x:di(h,f)})):f&&g.push(o(g)+"rotate("+f+s)}function c(h,f,g,y){h!==f?y.push({i:g.push(o(g)+"skewX(",null,s)-2,x:di(h,f)}):f&&g.push(o(g)+"skewX("+f+s)}function p(h,f,g,y,x,N){if(h!==g||f!==y){var _=x.push(o(x)+"scale(",null,",",null,")");N.push({i:_-4,x:di(h,g)},{i:_-2,x:di(f,y)})}else(g!==1||y!==1)&&x.push(o(x)+"scale("+g+","+y+")")}return function(h,f){var g=[],y=[];return h=e(h),f=e(f),l(h.translateX,h.translateY,f.translateX,f.translateY,g,y),u(h.rotate,f.rotate,g,y),c(h.skewX,f.skewX,g,y),p(h.scaleX,h.scaleY,f.scaleX,f.scaleY,g,y),h=f=null,function(x){for(var N=-1,_=y.length,b;++N<_;)g[(b=y[N]).i]=b.x(x);return g.join("")}}}var H2=kE(B2,"px, ","px)","deg)"),W2=kE(U2,", ",")",")"),V2=1e-12;function Aw(e){return((e=Math.exp(e))+1/e)/2}function G2(e){return((e=Math.exp(e))-1/e)/2}function Y2(e){return((e=Math.exp(2*e))-1)/(e+1)}const K2=(function e(n,r,s){function o(l,u){var c=l[0],p=l[1],h=l[2],f=u[0],g=u[1],y=u[2],x=f-c,N=g-p,_=x*x+N*N,b,S;if(_<V2)S=Math.log(y/h)/n,b=function(O){return[c+O*x,p+O*N,h*Math.exp(n*O*S)]};else{var k=Math.sqrt(_),E=(y*y-h*h+s*_)/(2*h*r*k),C=(y*y-h*h-s*_)/(2*y*r*k),I=Math.log(Math.sqrt(E*E+1)-E),M=Math.log(Math.sqrt(C*C+1)-C);S=(M-I)/n,b=function(O){var W=O*S,L=Aw(I),P=h/(r*k)*(L*Y2(n*W+I)-G2(I));return[c+P*x,p+P*N,h*L/Aw(n*W+I)]}}return b.duration=S*1e3*n/Math.SQRT2,b}return o.rho=function(l){var u=Math.max(.001,+l),c=u*u,p=c*c;return e(u,c,p)},o})(Math.SQRT2,2,4);var eo=0,Zo=0,Vo=0,EE=1e3,Ql,Jo,Zl=0,ts=0,uu=0,la=typeof performance=="object"&&performance.now?performance:Date,NE=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function fv(){return ts||(NE(X2),ts=la.now()+uu)}function X2(){ts=0}function Jl(){this._call=this._time=this._next=null}Jl.prototype=CE.prototype={constructor:Jl,restart:function(e,n,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?fv():+r)+(n==null?0:+n),!this._next&&Jo!==this&&(Jo?Jo._next=this:Ql=this,Jo=this),this._call=e,this._time=r,Ug()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ug())}};function CE(e,n,r){var s=new Jl;return s.restart(e,n,r),s}function Q2(){fv(),++eo;for(var e=Ql,n;e;)(n=ts-e._time)>=0&&e._call.call(void 0,n),e=e._next;--eo}function Iw(){ts=(Zl=la.now())+uu,eo=Zo=0;try{Q2()}finally{eo=0,J2(),ts=0}}function Z2(){var e=la.now(),n=e-Zl;n>EE&&(uu-=n,Zl=e)}function J2(){for(var e,n=Ql,r,s=1/0;n;)n._call?(s>n._time&&(s=n._time),e=n,n=n._next):(r=n._next,n._next=null,n=e?e._next=r:Ql=r);Jo=e,Ug(s)}function Ug(e){if(!eo){Zo&&(Zo=clearTimeout(Zo));var n=e-ts;n>24?(e<1/0&&(Zo=setTimeout(Iw,e-la.now()-uu)),Vo&&(Vo=clearInterval(Vo))):(Vo||(Zl=la.now(),Vo=setInterval(Z2,EE)),eo=1,NE(Iw))}}function Mw(e,n,r){var s=new Jl;return n=n==null?0:+n,s.restart(o=>{s.stop(),e(o+n)},n,r),s}var eA=au("start","end","cancel","interrupt"),tA=[],TE=0,Pw=1,Hg=2,Hl=3,Ow=4,Wg=5,Wl=6;function cu(e,n,r,s,o,l){var u=e.__transition;if(!u)e.__transition={};else if(r in u)return;nA(e,r,{name:n,index:s,group:o,on:eA,tween:tA,time:l.time,delay:l.delay,duration:l.duration,ease:l.ease,timer:null,state:TE})}function hv(e,n){var r=Xn(e,n);if(r.state>TE)throw new Error("too late; already scheduled");return r}function dr(e,n){var r=Xn(e,n);if(r.state>Hl)throw new Error("too late; already running");return r}function Xn(e,n){var r=e.__transition;if(!r||!(r=r[n]))throw new Error("transition not found");return r}function nA(e,n,r){var s=e.__transition,o;s[n]=r,r.timer=CE(l,0,r.time);function l(h){r.state=Pw,r.timer.restart(u,r.delay,r.time),r.delay<=h&&u(h-r.delay)}function u(h){var f,g,y,x;if(r.state!==Pw)return p();for(f in s)if(x=s[f],x.name===r.name){if(x.state===Hl)return Mw(u);x.state===Ow?(x.state=Wl,x.timer.stop(),x.on.call("interrupt",e,e.__data__,x.index,x.group),delete s[f]):+f<n&&(x.state=Wl,x.timer.stop(),x.on.call("cancel",e,e.__data__,x.index,x.group),delete s[f])}if(Mw(function(){r.state===Hl&&(r.state=Ow,r.timer.restart(c,r.delay,r.time),c(h))}),r.state=Hg,r.on.call("start",e,e.__data__,r.index,r.group),r.state===Hg){for(r.state=Hl,o=new Array(y=r.tween.length),f=0,g=-1;f<y;++f)(x=r.tween[f].value.call(e,e.__data__,r.index,r.group))&&(o[++g]=x);o.length=g+1}}function c(h){for(var f=h<r.duration?r.ease.call(null,h/r.duration):(r.timer.restart(p),r.state=Wg,1),g=-1,y=o.length;++g<y;)o[g].call(e,f);r.state===Wg&&(r.on.call("end",e,e.__data__,r.index,r.group),p())}function p(){r.state=Wl,r.timer.stop(),delete s[n];for(var h in s)return;delete e.__transition}}function Vl(e,n){var r=e.__transition,s,o,l=!0,u;if(r){n=n==null?null:n+"";for(u in r){if((s=r[u]).name!==n){l=!1;continue}o=s.state>Hg&&s.state<Wg,s.state=Wl,s.timer.stop(),s.on.call(o?"interrupt":"cancel",e,e.__data__,s.index,s.group),delete r[u]}l&&delete e.__transition}}function rA(e){return this.each(function(){Vl(this,e)})}function iA(e,n){var r,s;return function(){var o=dr(this,e),l=o.tween;if(l!==r){s=r=l;for(var u=0,c=s.length;u<c;++u)if(s[u].name===n){s=s.slice(),s.splice(u,1);break}}o.tween=s}}function sA(e,n,r){var s,o;if(typeof r!="function")throw new Error;return function(){var l=dr(this,e),u=l.tween;if(u!==s){o=(s=u).slice();for(var c={name:n,value:r},p=0,h=o.length;p<h;++p)if(o[p].name===n){o[p]=c;break}p===h&&o.push(c)}l.tween=o}}function oA(e,n){var r=this._id;if(e+="",arguments.length<2){for(var s=Xn(this.node(),r).tween,o=0,l=s.length,u;o<l;++o)if((u=s[o]).name===e)return u.value;return null}return this.each((n==null?iA:sA)(r,e,n))}function pv(e,n,r){var s=e._id;return e.each(function(){var o=dr(this,s);(o.value||(o.value={}))[n]=r.apply(this,arguments)}),function(o){return Xn(o,s).value[n]}}function jE(e,n){var r;return(typeof n=="number"?di:n instanceof aa?jw:(r=aa(n))?(n=r,jw):z2)(e,n)}function aA(e){return function(){this.removeAttribute(e)}}function lA(e){return function(){this.removeAttributeNS(e.space,e.local)}}function uA(e,n,r){var s,o=r+"",l;return function(){var u=this.getAttribute(e);return u===o?null:u===s?l:l=n(s=u,r)}}function cA(e,n,r){var s,o=r+"",l;return function(){var u=this.getAttributeNS(e.space,e.local);return u===o?null:u===s?l:l=n(s=u,r)}}function dA(e,n,r){var s,o,l;return function(){var u,c=r(this),p;return c==null?void this.removeAttribute(e):(u=this.getAttribute(e),p=c+"",u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c)))}}function fA(e,n,r){var s,o,l;return function(){var u,c=r(this),p;return c==null?void this.removeAttributeNS(e.space,e.local):(u=this.getAttributeNS(e.space,e.local),p=c+"",u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c)))}}function hA(e,n){var r=lu(e),s=r==="transform"?W2:jE;return this.attrTween(e,typeof n=="function"?(r.local?fA:dA)(r,s,pv(this,"attr."+e,n)):n==null?(r.local?lA:aA)(r):(r.local?cA:uA)(r,s,n))}function pA(e,n){return function(r){this.setAttribute(e,n.call(this,r))}}function mA(e,n){return function(r){this.setAttributeNS(e.space,e.local,n.call(this,r))}}function gA(e,n){var r,s;function o(){var l=n.apply(this,arguments);return l!==s&&(r=(s=l)&&mA(e,l)),r}return o._value=n,o}function vA(e,n){var r,s;function o(){var l=n.apply(this,arguments);return l!==s&&(r=(s=l)&&pA(e,l)),r}return o._value=n,o}function yA(e,n){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;var s=lu(e);return this.tween(r,(s.local?gA:vA)(s,n))}function wA(e,n){return function(){hv(this,e).delay=+n.apply(this,arguments)}}function xA(e,n){return n=+n,function(){hv(this,e).delay=n}}function _A(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?wA:xA)(n,e)):Xn(this.node(),n).delay}function bA(e,n){return function(){dr(this,e).duration=+n.apply(this,arguments)}}function SA(e,n){return n=+n,function(){dr(this,e).duration=n}}function kA(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?bA:SA)(n,e)):Xn(this.node(),n).duration}function EA(e,n){if(typeof n!="function")throw new Error;return function(){dr(this,e).ease=n}}function NA(e){var n=this._id;return arguments.length?this.each(EA(n,e)):Xn(this.node(),n).ease}function CA(e,n){return function(){var r=n.apply(this,arguments);if(typeof r!="function")throw new Error;dr(this,e).ease=r}}function TA(e){if(typeof e!="function")throw new Error;return this.each(CA(this._id,e))}function jA(e){typeof e!="function"&&(e=aE(e));for(var n=this._groups,r=n.length,s=new Array(r),o=0;o<r;++o)for(var l=n[o],u=l.length,c=s[o]=[],p,h=0;h<u;++h)(p=l[h])&&e.call(p,p.__data__,h,l)&&c.push(p);return new Mr(s,this._parents,this._name,this._id)}function RA(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,r=e._groups,s=n.length,o=r.length,l=Math.min(s,o),u=new Array(s),c=0;c<l;++c)for(var p=n[c],h=r[c],f=p.length,g=u[c]=new Array(f),y,x=0;x<f;++x)(y=p[x]||h[x])&&(g[x]=y);for(;c<s;++c)u[c]=n[c];return new Mr(u,this._parents,this._name,this._id)}function AA(e){return(e+"").trim().split(/^|\s+/).every(function(n){var r=n.indexOf(".");return r>=0&&(n=n.slice(0,r)),!n||n==="start"})}function IA(e,n,r){var s,o,l=AA(n)?hv:dr;return function(){var u=l(this,e),c=u.on;c!==s&&(o=(s=c).copy()).on(n,r),u.on=o}}function MA(e,n){var r=this._id;return arguments.length<2?Xn(this.node(),r).on.on(e):this.each(IA(r,e,n))}function PA(e){return function(){var n=this.parentNode;for(var r in this.__transition)if(+r!==e)return;n&&n.removeChild(this)}}function OA(){return this.on("end.remove",PA(this._id))}function LA(e){var n=this._name,r=this._id;typeof e!="function"&&(e=uv(e));for(var s=this._groups,o=s.length,l=new Array(o),u=0;u<o;++u)for(var c=s[u],p=c.length,h=l[u]=new Array(p),f,g,y=0;y<p;++y)(f=c[y])&&(g=e.call(f,f.__data__,y,c))&&("__data__"in f&&(g.__data__=f.__data__),h[y]=g,cu(h[y],n,r,y,h,Xn(f,r)));return new Mr(l,this._parents,n,r)}function qA(e){var n=this._name,r=this._id;typeof e!="function"&&(e=oE(e));for(var s=this._groups,o=s.length,l=[],u=[],c=0;c<o;++c)for(var p=s[c],h=p.length,f,g=0;g<h;++g)if(f=p[g]){for(var y=e.call(f,f.__data__,g,p),x,N=Xn(f,r),_=0,b=y.length;_<b;++_)(x=y[_])&&cu(x,n,r,_,y,N);l.push(y),u.push(f)}return new Mr(l,u,n,r)}var $A=ma.prototype.constructor;function DA(){return new $A(this._groups,this._parents)}function FA(e,n){var r,s,o;return function(){var l=Js(this,e),u=(this.style.removeProperty(e),Js(this,e));return l===u?null:l===r&&u===s?o:o=n(r=l,s=u)}}function RE(e){return function(){this.style.removeProperty(e)}}function zA(e,n,r){var s,o=r+"",l;return function(){var u=Js(this,e);return u===o?null:u===s?l:l=n(s=u,r)}}function BA(e,n,r){var s,o,l;return function(){var u=Js(this,e),c=r(this),p=c+"";return c==null&&(p=c=(this.style.removeProperty(e),Js(this,e))),u===p?null:u===s&&p===o?l:(o=p,l=n(s=u,c))}}function UA(e,n){var r,s,o,l="style."+n,u="end."+l,c;return function(){var p=dr(this,e),h=p.on,f=p.value[l]==null?c||(c=RE(n)):void 0;(h!==r||o!==f)&&(s=(r=h).copy()).on(u,o=f),p.on=s}}function HA(e,n,r){var s=(e+="")=="transform"?H2:jE;return n==null?this.styleTween(e,FA(e,s)).on("end.style."+e,RE(e)):typeof n=="function"?this.styleTween(e,BA(e,s,pv(this,"style."+e,n))).each(UA(this._id,e)):this.styleTween(e,zA(e,s,n),r).on("end.style."+e,null)}function WA(e,n,r){return function(s){this.style.setProperty(e,n.call(this,s),r)}}function VA(e,n,r){var s,o;function l(){var u=n.apply(this,arguments);return u!==o&&(s=(o=u)&&WA(e,u,r)),s}return l._value=n,l}function GA(e,n,r){var s="style."+(e+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(n==null)return this.tween(s,null);if(typeof n!="function")throw new Error;return this.tween(s,VA(e,n,r??""))}function YA(e){return function(){this.textContent=e}}function KA(e){return function(){var n=e(this);this.textContent=n??""}}function XA(e){return this.tween("text",typeof e=="function"?KA(pv(this,"text",e)):YA(e==null?"":e+""))}function QA(e){return function(n){this.textContent=e.call(this,n)}}function ZA(e){var n,r;function s(){var o=e.apply(this,arguments);return o!==r&&(n=(r=o)&&QA(o)),n}return s._value=e,s}function JA(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,ZA(e))}function eI(){for(var e=this._name,n=this._id,r=AE(),s=this._groups,o=s.length,l=0;l<o;++l)for(var u=s[l],c=u.length,p,h=0;h<c;++h)if(p=u[h]){var f=Xn(p,n);cu(p,e,r,h,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Mr(s,this._parents,e,r)}function tI(){var e,n,r=this,s=r._id,o=r.size();return new Promise(function(l,u){var c={value:u},p={value:function(){--o===0&&l()}};r.each(function(){var h=dr(this,s),f=h.on;f!==e&&(n=(e=f).copy(),n._.cancel.push(c),n._.interrupt.push(c),n._.end.push(p)),h.on=n}),o===0&&l()})}var nI=0;function Mr(e,n,r,s){this._groups=e,this._parents=n,this._name=r,this._id=s}function AE(){return++nI}var jr=ma.prototype;Mr.prototype={constructor:Mr,select:LA,selectAll:qA,selectChild:jr.selectChild,selectChildren:jr.selectChildren,filter:jA,merge:RA,selection:DA,transition:eI,call:jr.call,nodes:jr.nodes,node:jr.node,size:jr.size,empty:jr.empty,each:jr.each,on:MA,attr:hA,attrTween:yA,style:HA,styleTween:GA,text:XA,textTween:JA,remove:OA,tween:oA,delay:_A,duration:kA,ease:NA,easeVarying:TA,end:tI,[Symbol.iterator]:jr[Symbol.iterator]};function rI(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var iI={time:null,delay:0,duration:250,ease:rI};function sI(e,n){for(var r;!(r=e.__transition)||!(r=r[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return r}function oI(e){var n,r;e instanceof Mr?(n=e._id,e=e._name):(n=AE(),(r=iI).time=fv(),e=e==null?null:e+"");for(var s=this._groups,o=s.length,l=0;l<o;++l)for(var u=s[l],c=u.length,p,h=0;h<c;++h)(p=u[h])&&cu(p,e,n,h,u,r||sI(p,n));return new Mr(s,this._parents,e,n)}ma.prototype.interrupt=rA;ma.prototype.transition=oI;const Al=e=>()=>e;function aI(e,{sourceEvent:n,target:r,transform:s,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:s,enumerable:!0,configurable:!0},_:{value:o}})}function Ar(e,n,r){this.k=e,this.x=n,this.y=r}Ar.prototype={constructor:Ar,scale:function(e){return e===1?this:new Ar(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new Ar(this.k,this.x+this.k*e,this.y+this.k*n)},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 Ir=new Ar(1,0,0);Ar.prototype;function dd(e){e.stopImmediatePropagation()}function Go(e){e.preventDefault(),e.stopImmediatePropagation()}function lI(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function uI(){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 Lw(){return this.__zoom||Ir}function cI(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function dI(){return navigator.maxTouchPoints||"ontouchstart"in this}function fI(e,n,r){var s=e.invertX(n[0][0])-r[0][0],o=e.invertX(n[1][0])-r[1][0],l=e.invertY(n[0][1])-r[0][1],u=e.invertY(n[1][1])-r[1][1];return e.translate(o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o),u>l?(l+u)/2:Math.min(0,l)||Math.max(0,u))}function IE(){var e=lI,n=uI,r=fI,s=cI,o=dI,l=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,p=K2,h=au("start","zoom","end"),f,g,y,x=500,N=150,_=0,b=10;function S(R){R.property("__zoom",Lw).on("wheel.zoom",W,{passive:!1}).on("mousedown.zoom",L).on("dblclick.zoom",P).filter(o).on("touchstart.zoom",q).on("touchmove.zoom",U).on("touchend.zoom touchcancel.zoom",B).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}S.transform=function(R,Q,H,te){var Z=R.selection?R.selection():R;Z.property("__zoom",Lw),R!==Z?I(R,Q,H,te):Z.interrupt().each(function(){M(this,arguments).event(te).start().zoom(null,typeof Q=="function"?Q.apply(this,arguments):Q).end()})},S.scaleBy=function(R,Q,H,te){S.scaleTo(R,function(){var Z=this.__zoom.k,D=typeof Q=="function"?Q.apply(this,arguments):Q;return Z*D},H,te)},S.scaleTo=function(R,Q,H,te){S.transform(R,function(){var Z=n.apply(this,arguments),D=this.__zoom,X=H==null?C(Z):typeof H=="function"?H.apply(this,arguments):H,j=D.invert(X),$=typeof Q=="function"?Q.apply(this,arguments):Q;return r(E(k(D,$),X,j),Z,u)},H,te)},S.translateBy=function(R,Q,H,te){S.transform(R,function(){return r(this.__zoom.translate(typeof Q=="function"?Q.apply(this,arguments):Q,typeof H=="function"?H.apply(this,arguments):H),n.apply(this,arguments),u)},null,te)},S.translateTo=function(R,Q,H,te,Z){S.transform(R,function(){var D=n.apply(this,arguments),X=this.__zoom,j=te==null?C(D):typeof te=="function"?te.apply(this,arguments):te;return r(Ir.translate(j[0],j[1]).scale(X.k).translate(typeof Q=="function"?-Q.apply(this,arguments):-Q,typeof H=="function"?-H.apply(this,arguments):-H),D,u)},te,Z)};function k(R,Q){return Q=Math.max(l[0],Math.min(l[1],Q)),Q===R.k?R:new Ar(Q,R.x,R.y)}function E(R,Q,H){var te=Q[0]-H[0]*R.k,Z=Q[1]-H[1]*R.k;return te===R.x&&Z===R.y?R:new Ar(R.k,te,Z)}function C(R){return[(+R[0][0]+ +R[1][0])/2,(+R[0][1]+ +R[1][1])/2]}function I(R,Q,H,te){R.on("start.zoom",function(){M(this,arguments).event(te).start()}).on("interrupt.zoom end.zoom",function(){M(this,arguments).event(te).end()}).tween("zoom",function(){var Z=this,D=arguments,X=M(Z,D).event(te),j=n.apply(Z,D),$=H==null?C(j):typeof H=="function"?H.apply(Z,D):H,V=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),F=Z.__zoom,J=typeof Q=="function"?Q.apply(Z,D):Q,ne=p(F.invert($).concat(V/F.k),J.invert($).concat(V/J.k));return function(le){if(le===1)le=J;else{var de=ne(le),me=V/de[2];le=new Ar(me,$[0]-de[0]*me,$[1]-de[1]*me)}X.zoom(null,le)}})}function M(R,Q,H){return!H&&R.__zooming||new O(R,Q)}function O(R,Q){this.that=R,this.args=Q,this.active=0,this.sourceEvent=null,this.extent=n.apply(R,Q),this.taps=0}O.prototype={event:function(R){return R&&(this.sourceEvent=R),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(R,Q){return this.mouse&&R!=="mouse"&&(this.mouse[1]=Q.invert(this.mouse[0])),this.touch0&&R!=="touch"&&(this.touch0[1]=Q.invert(this.touch0[0])),this.touch1&&R!=="touch"&&(this.touch1[1]=Q.invert(this.touch1[0])),this.that.__zoom=Q,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(R){var Q=kn(this.that).datum();h.call(R,this.that,new aI(R,{sourceEvent:this.sourceEvent,target:S,transform:this.that.__zoom,dispatch:h}),Q)}};function W(R,...Q){if(!e.apply(this,arguments))return;var H=M(this,Q).event(R),te=this.__zoom,Z=Math.max(l[0],Math.min(l[1],te.k*Math.pow(2,s.apply(this,arguments)))),D=Vn(R);if(H.wheel)(H.mouse[0][0]!==D[0]||H.mouse[0][1]!==D[1])&&(H.mouse[1]=te.invert(H.mouse[0]=D)),clearTimeout(H.wheel);else{if(te.k===Z)return;H.mouse=[D,te.invert(D)],Vl(this),H.start()}Go(R),H.wheel=setTimeout(X,N),H.zoom("mouse",r(E(k(te,Z),H.mouse[0],H.mouse[1]),H.extent,u));function X(){H.wheel=null,H.end()}}function L(R,...Q){if(y||!e.apply(this,arguments))return;var H=R.currentTarget,te=M(this,Q,!0).event(R),Z=kn(R.view).on("mousemove.zoom",$,!0).on("mouseup.zoom",V,!0),D=Vn(R,H),X=R.clientX,j=R.clientY;vE(R.view),dd(R),te.mouse=[D,this.__zoom.invert(D)],Vl(this),te.start();function $(F){if(Go(F),!te.moved){var J=F.clientX-X,ne=F.clientY-j;te.moved=J*J+ne*ne>_}te.event(F).zoom("mouse",r(E(te.that.__zoom,te.mouse[0]=Vn(F,H),te.mouse[1]),te.extent,u))}function V(F){Z.on("mousemove.zoom mouseup.zoom",null),yE(F.view,te.moved),Go(F),te.event(F).end()}}function P(R,...Q){if(e.apply(this,arguments)){var H=this.__zoom,te=Vn(R.changedTouches?R.changedTouches[0]:R,this),Z=H.invert(te),D=H.k*(R.shiftKey?.5:2),X=r(E(k(H,D),te,Z),n.apply(this,Q),u);Go(R),c>0?kn(this).transition().duration(c).call(I,X,te,R):kn(this).call(S.transform,X,te,R)}}function q(R,...Q){if(e.apply(this,arguments)){var H=R.touches,te=H.length,Z=M(this,Q,R.changedTouches.length===te).event(R),D,X,j,$;for(dd(R),X=0;X<te;++X)j=H[X],$=Vn(j,this),$=[$,this.__zoom.invert($),j.identifier],Z.touch0?!Z.touch1&&Z.touch0[2]!==$[2]&&(Z.touch1=$,Z.taps=0):(Z.touch0=$,D=!0,Z.taps=1+!!f);f&&(f=clearTimeout(f)),D&&(Z.taps<2&&(g=$[0],f=setTimeout(function(){f=null},x)),Vl(this),Z.start())}}function U(R,...Q){if(this.__zooming){var H=M(this,Q).event(R),te=R.changedTouches,Z=te.length,D,X,j,$;for(Go(R),D=0;D<Z;++D)X=te[D],j=Vn(X,this),H.touch0&&H.touch0[2]===X.identifier?H.touch0[0]=j:H.touch1&&H.touch1[2]===X.identifier&&(H.touch1[0]=j);if(X=H.that.__zoom,H.touch1){var V=H.touch0[0],F=H.touch0[1],J=H.touch1[0],ne=H.touch1[1],le=(le=J[0]-V[0])*le+(le=J[1]-V[1])*le,de=(de=ne[0]-F[0])*de+(de=ne[1]-F[1])*de;X=k(X,Math.sqrt(le/de)),j=[(V[0]+J[0])/2,(V[1]+J[1])/2],$=[(F[0]+ne[0])/2,(F[1]+ne[1])/2]}else if(H.touch0)j=H.touch0[0],$=H.touch0[1];else return;H.zoom("touch",r(E(X,j,$),H.extent,u))}}function B(R,...Q){if(this.__zooming){var H=M(this,Q).event(R),te=R.changedTouches,Z=te.length,D,X;for(dd(R),y&&clearTimeout(y),y=setTimeout(function(){y=null},x),D=0;D<Z;++D)X=te[D],H.touch0&&H.touch0[2]===X.identifier?delete H.touch0:H.touch1&&H.touch1[2]===X.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&&(X=Vn(X,this),Math.hypot(g[0]-X[0],g[1]-X[1])<b)){var j=kn(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return S.wheelDelta=function(R){return arguments.length?(s=typeof R=="function"?R:Al(+R),S):s},S.filter=function(R){return arguments.length?(e=typeof R=="function"?R:Al(!!R),S):e},S.touchable=function(R){return arguments.length?(o=typeof R=="function"?R:Al(!!R),S):o},S.extent=function(R){return arguments.length?(n=typeof R=="function"?R:Al([[+R[0][0],+R[0][1]],[+R[1][0],+R[1][1]]]),S):n},S.scaleExtent=function(R){return arguments.length?(l[0]=+R[0],l[1]=+R[1],S):[l[0],l[1]]},S.translateExtent=function(R){return arguments.length?(u[0][0]=+R[0][0],u[1][0]=+R[1][0],u[0][1]=+R[0][1],u[1][1]=+R[1][1],S):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},S.constrain=function(R){return arguments.length?(r=R,S):r},S.duration=function(R){return arguments.length?(c=+R,S):c},S.interpolate=function(R){return arguments.length?(p=R,S):p},S.on=function(){var R=h.on.apply(h,arguments);return R===h?S:R},S.clickDistance=function(R){return arguments.length?(_=(R=+R)*R,S):Math.sqrt(_)},S.tapDistance=function(R){return arguments.length?(b=+R,S):b},S}var hI=rE();const du=A.createContext(null),pI=du.Provider,Pr={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,n)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?n.targetHandle:n.sourceHandle}", edge id: ${n.id}.`,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.`},ME=Pr.error001();function Xe(e,n){const r=A.useContext(du);if(r===null)throw new Error(ME);return iE(r,e,n)}const Et=()=>{const e=A.useContext(du);if(e===null)throw new Error(ME);return A.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},mI=e=>e.userSelectionActive?"none":"all";function mv({position:e,children:n,className:r,style:s,...o}){const l=Xe(mI),u=`${e}`.split("-");return ae.createElement("div",{className:qt(["react-flow__panel",r,...u]),style:{...s,pointerEvents:l},...o},n)}function gI({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:ae.createElement(mv,{position:n,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},ae.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const vI=({x:e,y:n,label:r,labelStyle:s={},labelShowBg:o=!0,labelBgStyle:l={},labelBgPadding:u=[2,4],labelBgBorderRadius:c=2,children:p,className:h,...f})=>{const g=A.useRef(null),[y,x]=A.useState({x:0,y:0,width:0,height:0}),N=qt(["react-flow__edge-textwrapper",h]);return A.useEffect(()=>{if(g.current){const _=g.current.getBBox();x({x:_.x,y:_.y,width:_.width,height:_.height})}},[r]),typeof r>"u"||!r?null:ae.createElement("g",{transform:`translate(${e-y.width/2} ${n-y.height/2})`,className:N,visibility:y.width?"visible":"hidden",...f},o&&ae.createElement("rect",{width:y.width+2*u[0],x:-u[0],y:-u[1],height:y.height+2*u[1],className:"react-flow__edge-textbg",style:l,rx:c,ry:c}),ae.createElement("text",{className:"react-flow__edge-text",y:y.height/2,dy:"0.3em",ref:g,style:s},r),p)};var yI=A.memo(vI);const gv=e=>({width:e.offsetWidth,height:e.offsetHeight}),to=(e,n=0,r=1)=>Math.min(Math.max(e,n),r),vv=(e={x:0,y:0},n)=>({x:to(e.x,n[0][0],n[1][0]),y:to(e.y,n[0][1],n[1][1])}),qw=(e,n,r)=>e<n?to(Math.abs(e-n),1,50)/50:e>r?-to(Math.abs(e-r),1,50)/50:0,PE=(e,n)=>{const r=qw(e.x,35,n.width-35)*20,s=qw(e.y,35,n.height-35)*20;return[r,s]},OE=e=>{var n;return((n=e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},LE=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),ua=({x:e,y:n,width:r,height:s})=>({x:e,y:n,x2:e+r,y2:n+s}),qE=({x:e,y:n,x2:r,y2:s})=>({x:e,y:n,width:r-e,height:s-n}),$w=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),wI=(e,n)=>qE(LE(ua(e),ua(n))),Vg=(e,n)=>{const r=Math.max(0,Math.min(e.x+e.width,n.x+n.width)-Math.max(e.x,n.x)),s=Math.max(0,Math.min(e.y+e.height,n.y+n.height)-Math.max(e.y,n.y));return Math.ceil(r*s)},xI=e=>En(e.width)&&En(e.height)&&En(e.x)&&En(e.y),En=e=>!isNaN(e)&&isFinite(e),ht=Symbol.for("internals"),$E=["Enter"," ","Escape"],_I=(e,n)=>{},bI=e=>"nativeEvent"in e;function Gg(e){var o,l;const n=bI(e)?e.nativeEvent:e,r=((l=(o=n.composedPath)==null?void 0:o.call(n))==null?void 0:l[0])||e.target;return["INPUT","SELECT","TEXTAREA"].includes(r==null?void 0:r.nodeName)||(r==null?void 0:r.hasAttribute("contenteditable"))||!!(r!=null&&r.closest(".nokey"))}const DE=e=>"clientX"in e,pi=(e,n)=>{var l,u;const r=DE(e),s=r?e.clientX:(l=e.touches)==null?void 0:l[0].clientX,o=r?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:s-((n==null?void 0:n.left)??0),y:o-((n==null?void 0:n.top)??0)}},eu=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},va=({id:e,path:n,labelX:r,labelY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:g,markerStart:y,interactionWidth:x=20})=>ae.createElement(ae.Fragment,null,ae.createElement("path",{id:e,style:f,d:n,fill:"none",className:"react-flow__edge-path",markerEnd:g,markerStart:y}),x&&ae.createElement("path",{d:n,fill:"none",strokeOpacity:0,strokeWidth:x,className:"react-flow__edge-interaction"}),o&&En(r)&&En(s)?ae.createElement(yI,{x:r,y:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h}):null);va.displayName="BaseEdge";function Yo(e,n,r){return r===void 0?r:s=>{const o=n().edges.find(l=>l.id===e);o&&r(s,{...o})}}function FE({sourceX:e,sourceY:n,targetX:r,targetY:s}){const o=Math.abs(r-e)/2,l=r<e?r+o:r-o,u=Math.abs(s-n)/2,c=s<n?s+u:s-u;return[l,c,o,u]}function zE({sourceX:e,sourceY:n,targetX:r,targetY:s,sourceControlX:o,sourceControlY:l,targetControlX:u,targetControlY:c}){const p=e*.125+o*.375+u*.375+r*.125,h=n*.125+l*.375+c*.375+s*.125,f=Math.abs(p-e),g=Math.abs(h-n);return[p,h,f,g]}var ns;(function(e){e.Strict="strict",e.Loose="loose"})(ns||(ns={}));var Zi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Zi||(Zi={}));var ca;(function(e){e.Partial="partial",e.Full="full"})(ca||(ca={}));var hi;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(hi||(hi={}));var tu;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(tu||(tu={}));var Te;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Te||(Te={}));function Dw({pos:e,x1:n,y1:r,x2:s,y2:o}){return e===Te.Left||e===Te.Right?[.5*(n+s),r]:[n,.5*(r+o)]}function BE({sourceX:e,sourceY:n,sourcePosition:r=Te.Bottom,targetX:s,targetY:o,targetPosition:l=Te.Top}){const[u,c]=Dw({pos:r,x1:e,y1:n,x2:s,y2:o}),[p,h]=Dw({pos:l,x1:s,y1:o,x2:e,y2:n}),[f,g,y,x]=zE({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:u,sourceControlY:c,targetControlX:p,targetControlY:h});return[`M${e},${n} C${u},${c} ${p},${h} ${s},${o}`,f,g,y,x]}const yv=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,sourcePosition:o=Te.Bottom,targetPosition:l=Te.Top,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:N,interactionWidth:_})=>{const[b,S,k]=BE({sourceX:e,sourceY:n,sourcePosition:o,targetX:r,targetY:s,targetPosition:l});return ae.createElement(va,{path:b,labelX:S,labelY:k,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:N,interactionWidth:_})});yv.displayName="SimpleBezierEdge";const Fw={[Te.Left]:{x:-1,y:0},[Te.Right]:{x:1,y:0},[Te.Top]:{x:0,y:-1},[Te.Bottom]:{x:0,y:1}},SI=({source:e,sourcePosition:n=Te.Bottom,target:r})=>n===Te.Left||n===Te.Right?e.x<r.x?{x:1,y:0}:{x:-1,y:0}:e.y<r.y?{x:0,y:1}:{x:0,y:-1},zw=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function kI({source:e,sourcePosition:n=Te.Bottom,target:r,targetPosition:s=Te.Top,center:o,offset:l}){const u=Fw[n],c=Fw[s],p={x:e.x+u.x*l,y:e.y+u.y*l},h={x:r.x+c.x*l,y:r.y+c.y*l},f=SI({source:p,sourcePosition:n,target:h}),g=f.x!==0?"x":"y",y=f[g];let x=[],N,_;const b={x:0,y:0},S={x:0,y:0},[k,E,C,I]=FE({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(u[g]*c[g]===-1){N=o.x??k,_=o.y??E;const O=[{x:N,y:p.y},{x:N,y:h.y}],W=[{x:p.x,y:_},{x:h.x,y:_}];u[g]===y?x=g==="x"?O:W:x=g==="x"?W:O}else{const O=[{x:p.x,y:h.y}],W=[{x:h.x,y:p.y}];if(g==="x"?x=u.x===y?W:O:x=u.y===y?O:W,n===s){const B=Math.abs(e[g]-r[g]);if(B<=l){const R=Math.min(l-1,l-B);u[g]===y?b[g]=(p[g]>e[g]?-1:1)*R:S[g]=(h[g]>r[g]?-1:1)*R}}if(n!==s){const B=g==="x"?"y":"x",R=u[g]===c[B],Q=p[B]>h[B],H=p[B]<h[B];(u[g]===1&&(!R&&Q||R&&H)||u[g]!==1&&(!R&&H||R&&Q))&&(x=g==="x"?O:W)}const L={x:p.x+b.x,y:p.y+b.y},P={x:h.x+S.x,y:h.y+S.y},q=Math.max(Math.abs(L.x-x[0].x),Math.abs(P.x-x[0].x)),U=Math.max(Math.abs(L.y-x[0].y),Math.abs(P.y-x[0].y));q>=U?(N=(L.x+P.x)/2,_=x[0].y):(N=x[0].x,_=(L.y+P.y)/2)}return[[e,{x:p.x+b.x,y:p.y+b.y},...x,{x:h.x+S.x,y:h.y+S.y},r],N,_,C,I]}function EI(e,n,r,s){const o=Math.min(zw(e,n)/2,zw(n,r)/2,s),{x:l,y:u}=n;if(e.x===l&&l===r.x||e.y===u&&u===r.y)return`L${l} ${u}`;if(e.y===u){const h=e.x<r.x?-1:1,f=e.y<r.y?1:-1;return`L ${l+o*h},${u}Q ${l},${u} ${l},${u+o*f}`}const c=e.x<r.x?1:-1,p=e.y<r.y?-1:1;return`L ${l},${u+o*p}Q ${l},${u} ${l+o*c},${u}`}function Yg({sourceX:e,sourceY:n,sourcePosition:r=Te.Bottom,targetX:s,targetY:o,targetPosition:l=Te.Top,borderRadius:u=5,centerX:c,centerY:p,offset:h=20}){const[f,g,y,x,N]=kI({source:{x:e,y:n},sourcePosition:r,target:{x:s,y:o},targetPosition:l,center:{x:c,y:p},offset:h});return[f.reduce((b,S,k)=>{let E="";return k>0&&k<f.length-1?E=EI(f[k-1],S,f[k+1],u):E=`${k===0?"M":"L"}${S.x} ${S.y}`,b+=E,b},""),g,y,x,N]}const fu=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,sourcePosition:g=Te.Bottom,targetPosition:y=Te.Top,markerEnd:x,markerStart:N,pathOptions:_,interactionWidth:b})=>{const[S,k,E]=Yg({sourceX:e,sourceY:n,sourcePosition:g,targetX:r,targetY:s,targetPosition:y,borderRadius:_==null?void 0:_.borderRadius,offset:_==null?void 0:_.offset});return ae.createElement(va,{path:S,labelX:k,labelY:E,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:x,markerStart:N,interactionWidth:b})});fu.displayName="SmoothStepEdge";const wv=A.memo(e=>{var n;return ae.createElement(fu,{...e,pathOptions:A.useMemo(()=>{var r;return{borderRadius:0,offset:(r=e.pathOptions)==null?void 0:r.offset}},[(n=e.pathOptions)==null?void 0:n.offset])})});wv.displayName="StepEdge";function NI({sourceX:e,sourceY:n,targetX:r,targetY:s}){const[o,l,u,c]=FE({sourceX:e,sourceY:n,targetX:r,targetY:s});return[`M ${e},${n}L ${r},${s}`,o,l,u,c]}const xv=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:g,markerStart:y,interactionWidth:x})=>{const[N,_,b]=NI({sourceX:e,sourceY:n,targetX:r,targetY:s});return ae.createElement(va,{path:N,labelX:_,labelY:b,label:o,labelStyle:l,labelShowBg:u,labelBgStyle:c,labelBgPadding:p,labelBgBorderRadius:h,style:f,markerEnd:g,markerStart:y,interactionWidth:x})});xv.displayName="StraightEdge";function Il(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Bw({pos:e,x1:n,y1:r,x2:s,y2:o,c:l}){switch(e){case Te.Left:return[n-Il(n-s,l),r];case Te.Right:return[n+Il(s-n,l),r];case Te.Top:return[n,r-Il(r-o,l)];case Te.Bottom:return[n,r+Il(o-r,l)]}}function UE({sourceX:e,sourceY:n,sourcePosition:r=Te.Bottom,targetX:s,targetY:o,targetPosition:l=Te.Top,curvature:u=.25}){const[c,p]=Bw({pos:r,x1:e,y1:n,x2:s,y2:o,c:u}),[h,f]=Bw({pos:l,x1:s,y1:o,x2:e,y2:n,c:u}),[g,y,x,N]=zE({sourceX:e,sourceY:n,targetX:s,targetY:o,sourceControlX:c,sourceControlY:p,targetControlX:h,targetControlY:f});return[`M${e},${n} C${c},${p} ${h},${f} ${s},${o}`,g,y,x,N]}const nu=A.memo(({sourceX:e,sourceY:n,targetX:r,targetY:s,sourcePosition:o=Te.Bottom,targetPosition:l=Te.Top,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:N,pathOptions:_,interactionWidth:b})=>{const[S,k,E]=UE({sourceX:e,sourceY:n,sourcePosition:o,targetX:r,targetY:s,targetPosition:l,curvature:_==null?void 0:_.curvature});return ae.createElement(va,{path:S,labelX:k,labelY:E,label:u,labelStyle:c,labelShowBg:p,labelBgStyle:h,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:x,markerStart:N,interactionWidth:b})});nu.displayName="BezierEdge";const _v=A.createContext(null),CI=_v.Provider;_v.Consumer;const TI=()=>A.useContext(_v),jI=e=>"id"in e&&"source"in e&&"target"in e,RI=({source:e,sourceHandle:n,target:r,targetHandle:s})=>`reactflow__edge-${e}${n||""}-${r}${s||""}`,Kg=(e,n)=>typeof e>"u"?"":typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`,AI=(e,n)=>n.some(r=>r.source===e.source&&r.target===e.target&&(r.sourceHandle===e.sourceHandle||!r.sourceHandle&&!e.sourceHandle)&&(r.targetHandle===e.targetHandle||!r.targetHandle&&!e.targetHandle)),II=(e,n)=>{if(!e.source||!e.target)return n;let r;return jI(e)?r={...e}:r={...e,id:RI(e)},AI(r,n)?n:n.concat(r)},Xg=({x:e,y:n},[r,s,o],l,[u,c])=>{const p={x:(e-r)/o,y:(n-s)/o};return l?{x:u*Math.round(p.x/u),y:c*Math.round(p.y/c)}:p},HE=({x:e,y:n},[r,s,o])=>({x:e*o+r,y:n*o+s}),es=(e,n=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const r=(e.width??0)*n[0],s=(e.height??0)*n[1],o={x:e.position.x-r,y:e.position.y-s};return{...o,positionAbsolute:e.positionAbsolute?{x:e.positionAbsolute.x-r,y:e.positionAbsolute.y-s}:o}},hu=(e,n=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((s,o)=>{const{x:l,y:u}=es(o,n).positionAbsolute;return LE(s,ua({x:l,y:u,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return qE(r)},WE=(e,n,[r,s,o]=[0,0,1],l=!1,u=!1,c=[0,0])=>{const p={x:(n.x-r)/o,y:(n.y-s)/o,width:n.width/o,height:n.height/o},h=[];return e.forEach(f=>{const{width:g,height:y,selectable:x=!0,hidden:N=!1}=f;if(u&&!x||N)return!1;const{positionAbsolute:_}=es(f,c),b={x:_.x,y:_.y,width:g||0,height:y||0},S=Vg(p,b),k=typeof g>"u"||typeof y>"u"||g===null||y===null,E=l&&S>0,C=(g||0)*(y||0);(k||E||S>=C||f.dragging)&&h.push(f)}),h},VE=(e,n)=>{const r=e.map(s=>s.id);return n.filter(s=>r.includes(s.source)||r.includes(s.target))},GE=(e,n,r,s,o,l=.1)=>{const u=n/(e.width*(1+l)),c=r/(e.height*(1+l)),p=Math.min(u,c),h=to(p,s,o),f=e.x+e.width/2,g=e.y+e.height/2,y=n/2-f*h,x=r/2-g*h;return{x:y,y:x,zoom:h}},Xi=(e,n=0)=>e.transition().duration(n);function Uw(e,n,r,s){return(n[r]||[]).reduce((o,l)=>{var u,c;return`${e.id}-${l.id}-${r}`!==s&&o.push({id:l.id||null,type:r,nodeId:e.id,x:(((u=e.positionAbsolute)==null?void 0:u.x)??0)+l.x+l.width/2,y:(((c=e.positionAbsolute)==null?void 0:c.y)??0)+l.y+l.height/2}),o},[])}function MI(e,n,r,s,o,l){const{x:u,y:c}=pi(e),h=n.elementsFromPoint(u,c).find(N=>N.classList.contains("react-flow__handle"));if(h){const N=h.getAttribute("data-nodeid");if(N){const _=bv(void 0,h),b=h.getAttribute("data-handleid"),S=l({nodeId:N,id:b,type:_});if(S){const k=o.find(E=>E.nodeId===N&&E.type===_&&E.id===b);return{handle:{id:b,type:_,nodeId:N,x:(k==null?void 0:k.x)||r.x,y:(k==null?void 0:k.y)||r.y},validHandleResult:S}}}}let f=[],g=1/0;if(o.forEach(N=>{const _=Math.sqrt((N.x-r.x)**2+(N.y-r.y)**2);if(_<=s){const b=l(N);_<=g&&(_<g?f=[{handle:N,validHandleResult:b}]:_===g&&f.push({handle:N,validHandleResult:b}),g=_)}}),!f.length)return{handle:null,validHandleResult:YE()};if(f.length===1)return f[0];const y=f.some(({validHandleResult:N})=>N.isValid),x=f.some(({handle:N})=>N.type==="target");return f.find(({handle:N,validHandleResult:_})=>x?N.type==="target":y?_.isValid:!0)||f[0]}const PI={source:null,target:null,sourceHandle:null,targetHandle:null},YE=()=>({handleDomNode:null,isValid:!1,connection:PI,endHandle:null});function KE(e,n,r,s,o,l,u){const c=o==="target",p=u.querySelector(`.react-flow__handle[data-id="${e==null?void 0:e.nodeId}-${e==null?void 0:e.id}-${e==null?void 0:e.type}"]`),h={...YE(),handleDomNode:p};if(p){const f=bv(void 0,p),g=p.getAttribute("data-nodeid"),y=p.getAttribute("data-handleid"),x=p.classList.contains("connectable"),N=p.classList.contains("connectableend"),_={source:c?g:r,sourceHandle:c?y:s,target:c?r:g,targetHandle:c?s:y};h.connection=_,x&&N&&(n===ns.Strict?c&&f==="source"||!c&&f==="target":g!==r||y!==s)&&(h.endHandle={nodeId:g,handleId:y,type:f},h.isValid=l(_))}return h}function OI({nodes:e,nodeId:n,handleId:r,handleType:s}){return e.reduce((o,l)=>{if(l[ht]){const{handleBounds:u}=l[ht];let c=[],p=[];u&&(c=Uw(l,u,"source",`${n}-${r}-${s}`),p=Uw(l,u,"target",`${n}-${r}-${s}`)),o.push(...c,...p)}return o},[])}function bv(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function fd(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function LI(e,n){let r=null;return n?r="valid":e&&!n&&(r="invalid"),r}function XE({event:e,handleId:n,nodeId:r,onConnect:s,isTarget:o,getState:l,setState:u,isValidConnection:c,edgeUpdaterType:p,onReconnectEnd:h}){const f=OE(e.target),{connectionMode:g,domNode:y,autoPanOnConnect:x,connectionRadius:N,onConnectStart:_,panBy:b,getNodes:S,cancelConnection:k}=l();let E=0,C;const{x:I,y:M}=pi(e),O=f==null?void 0:f.elementFromPoint(I,M),W=bv(p,O),L=y==null?void 0:y.getBoundingClientRect();if(!L||!W)return;let P,q=pi(e,L),U=!1,B=null,R=!1,Q=null;const H=OI({nodes:S(),nodeId:r,handleId:n,handleType:W}),te=()=>{if(!x)return;const[X,j]=PE(q,L);b({x:X,y:j}),E=requestAnimationFrame(te)};u({connectionPosition:q,connectionStatus:null,connectionNodeId:r,connectionHandleId:n,connectionHandleType:W,connectionStartHandle:{nodeId:r,handleId:n,type:W},connectionEndHandle:null}),_==null||_(e,{nodeId:r,handleId:n,handleType:W});function Z(X){const{transform:j}=l();q=pi(X,L);const{handle:$,validHandleResult:V}=MI(X,f,Xg(q,j,!1,[1,1]),N,H,F=>KE(F,g,r,n,o?"target":"source",c,f));if(C=$,U||(te(),U=!0),Q=V.handleDomNode,B=V.connection,R=V.isValid,u({connectionPosition:C&&R?HE({x:C.x,y:C.y},j):q,connectionStatus:LI(!!C,R),connectionEndHandle:V.endHandle}),!C&&!R&&!Q)return fd(P);B.source!==B.target&&Q&&(fd(P),P=Q,Q.classList.add("connecting","react-flow__handle-connecting"),Q.classList.toggle("valid",R),Q.classList.toggle("react-flow__handle-valid",R))}function D(X){var j,$;(C||Q)&&B&&R&&(s==null||s(B)),($=(j=l()).onConnectEnd)==null||$.call(j,X),p&&(h==null||h(X)),fd(P),k(),cancelAnimationFrame(E),U=!1,R=!1,B=null,Q=null,f.removeEventListener("mousemove",Z),f.removeEventListener("mouseup",D),f.removeEventListener("touchmove",Z),f.removeEventListener("touchend",D)}f.addEventListener("mousemove",Z),f.addEventListener("mouseup",D),f.addEventListener("touchmove",Z),f.addEventListener("touchend",D)}const Hw=()=>!0,qI=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),$I=(e,n,r)=>s=>{const{connectionStartHandle:o,connectionEndHandle:l,connectionClickStartHandle:u}=s;return{connecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===n&&(o==null?void 0:o.type)===r||(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.handleId)===n&&(l==null?void 0:l.type)===r,clickConnecting:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===n&&(u==null?void 0:u.type)===r}},QE=A.forwardRef(({type:e="source",position:n=Te.Top,isValidConnection:r,isConnectable:s=!0,isConnectableStart:o=!0,isConnectableEnd:l=!0,id:u,onConnect:c,children:p,className:h,onMouseDown:f,onTouchStart:g,...y},x)=>{var L,P;const N=u||null,_=e==="target",b=Et(),S=TI(),{connectOnClick:k,noPanClassName:E}=Xe(qI,kt),{connecting:C,clickConnecting:I}=Xe($I(S,N,e),kt);S||(P=(L=b.getState()).onError)==null||P.call(L,"010",Pr.error010());const M=q=>{const{defaultEdgeOptions:U,onConnect:B,hasDefaultEdges:R}=b.getState(),Q={...U,...q};if(R){const{edges:H,setEdges:te}=b.getState();te(II(Q,H))}B==null||B(Q),c==null||c(Q)},O=q=>{if(!S)return;const U=DE(q);o&&(U&&q.button===0||!U)&&XE({event:q,handleId:N,nodeId:S,onConnect:M,isTarget:_,getState:b.getState,setState:b.setState,isValidConnection:r||b.getState().isValidConnection||Hw}),U?f==null||f(q):g==null||g(q)},W=q=>{const{onClickConnectStart:U,onClickConnectEnd:B,connectionClickStartHandle:R,connectionMode:Q,isValidConnection:H}=b.getState();if(!S||!R&&!o)return;if(!R){U==null||U(q,{nodeId:S,handleId:N,handleType:e}),b.setState({connectionClickStartHandle:{nodeId:S,type:e,handleId:N}});return}const te=OE(q.target),Z=r||H||Hw,{connection:D,isValid:X}=KE({nodeId:S,id:N,type:e},Q,R.nodeId,R.handleId||null,R.type,Z,te);X&&M(D),B==null||B(q),b.setState({connectionClickStartHandle:null})};return ae.createElement("div",{"data-handleid":N,"data-nodeid":S,"data-handlepos":n,"data-id":`${S}-${N}-${e}`,className:qt(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",E,h,{source:!_,target:_,connectable:s,connectablestart:o,connectableend:l,connecting:I,connectionindicator:s&&(o&&!C||l&&C)}]),onMouseDown:O,onTouchStart:O,onClick:k?W:void 0,ref:x,...y},p)});QE.displayName="Handle";var no=A.memo(QE);const ZE=({data:e,isConnectable:n,targetPosition:r=Te.Top,sourcePosition:s=Te.Bottom})=>ae.createElement(ae.Fragment,null,ae.createElement(no,{type:"target",position:r,isConnectable:n}),e==null?void 0:e.label,ae.createElement(no,{type:"source",position:s,isConnectable:n}));ZE.displayName="DefaultNode";var Qg=A.memo(ZE);const JE=({data:e,isConnectable:n,sourcePosition:r=Te.Bottom})=>ae.createElement(ae.Fragment,null,e==null?void 0:e.label,ae.createElement(no,{type:"source",position:r,isConnectable:n}));JE.displayName="InputNode";var eN=A.memo(JE);const tN=({data:e,isConnectable:n,targetPosition:r=Te.Top})=>ae.createElement(ae.Fragment,null,ae.createElement(no,{type:"target",position:r,isConnectable:n}),e==null?void 0:e.label);tN.displayName="OutputNode";var nN=A.memo(tN);const Sv=()=>null;Sv.displayName="GroupNode";const DI=e=>({selectedNodes:e.getNodes().filter(n=>n.selected),selectedEdges:e.edges.filter(n=>n.selected).map(n=>({...n}))}),Ml=e=>e.id;function FI(e,n){return kt(e.selectedNodes.map(Ml),n.selectedNodes.map(Ml))&&kt(e.selectedEdges.map(Ml),n.selectedEdges.map(Ml))}const rN=A.memo(({onSelectionChange:e})=>{const n=Et(),{selectedNodes:r,selectedEdges:s}=Xe(DI,FI);return A.useEffect(()=>{const o={nodes:r,edges:s};e==null||e(o),n.getState().onSelectionChange.forEach(l=>l(o))},[r,s,e]),null});rN.displayName="SelectionListener";const zI=e=>!!e.onSelectionChange;function BI({onSelectionChange:e}){const n=Xe(zI);return e||n?ae.createElement(rN,{onSelectionChange:e}):null}const UI=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset});function Fs(e,n){A.useEffect(()=>{typeof e<"u"&&n(e)},[e])}function $e(e,n,r){A.useEffect(()=>{typeof n<"u"&&r({[e]:n})},[n])}const HI=({nodes:e,edges:n,defaultNodes:r,defaultEdges:s,onConnect:o,onConnectStart:l,onConnectEnd:u,onClickConnectStart:c,onClickConnectEnd:p,nodesDraggable:h,nodesConnectable:f,nodesFocusable:g,edgesFocusable:y,edgesUpdatable:x,elevateNodesOnSelect:N,minZoom:_,maxZoom:b,nodeExtent:S,onNodesChange:k,onEdgesChange:E,elementsSelectable:C,connectionMode:I,snapGrid:M,snapToGrid:O,translateExtent:W,connectOnClick:L,defaultEdgeOptions:P,fitView:q,fitViewOptions:U,onNodesDelete:B,onEdgesDelete:R,onNodeDrag:Q,onNodeDragStart:H,onNodeDragStop:te,onSelectionDrag:Z,onSelectionDragStart:D,onSelectionDragStop:X,noPanClassName:j,nodeOrigin:$,rfId:V,autoPanOnConnect:F,autoPanOnNodeDrag:J,onError:ne,connectionRadius:le,isValidConnection:de,nodeDragThreshold:me})=>{const{setNodes:ve,setEdges:Pe,setDefaultNodesAndEdges:Me,setMinZoom:Oe,setMaxZoom:ye,setTranslateExtent:Se,setNodeExtent:Ke,reset:xe}=Xe(UI,kt),ge=Et();return A.useEffect(()=>{const Fe=s==null?void 0:s.map(pt=>({...pt,...P}));return Me(r,Fe),()=>{xe()}},[]),$e("defaultEdgeOptions",P,ge.setState),$e("connectionMode",I,ge.setState),$e("onConnect",o,ge.setState),$e("onConnectStart",l,ge.setState),$e("onConnectEnd",u,ge.setState),$e("onClickConnectStart",c,ge.setState),$e("onClickConnectEnd",p,ge.setState),$e("nodesDraggable",h,ge.setState),$e("nodesConnectable",f,ge.setState),$e("nodesFocusable",g,ge.setState),$e("edgesFocusable",y,ge.setState),$e("edgesUpdatable",x,ge.setState),$e("elementsSelectable",C,ge.setState),$e("elevateNodesOnSelect",N,ge.setState),$e("snapToGrid",O,ge.setState),$e("snapGrid",M,ge.setState),$e("onNodesChange",k,ge.setState),$e("onEdgesChange",E,ge.setState),$e("connectOnClick",L,ge.setState),$e("fitViewOnInit",q,ge.setState),$e("fitViewOnInitOptions",U,ge.setState),$e("onNodesDelete",B,ge.setState),$e("onEdgesDelete",R,ge.setState),$e("onNodeDrag",Q,ge.setState),$e("onNodeDragStart",H,ge.setState),$e("onNodeDragStop",te,ge.setState),$e("onSelectionDrag",Z,ge.setState),$e("onSelectionDragStart",D,ge.setState),$e("onSelectionDragStop",X,ge.setState),$e("noPanClassName",j,ge.setState),$e("nodeOrigin",$,ge.setState),$e("rfId",V,ge.setState),$e("autoPanOnConnect",F,ge.setState),$e("autoPanOnNodeDrag",J,ge.setState),$e("onError",ne,ge.setState),$e("connectionRadius",le,ge.setState),$e("isValidConnection",de,ge.setState),$e("nodeDragThreshold",me,ge.setState),Fs(e,ve),Fs(n,Pe),Fs(_,Oe),Fs(b,ye),Fs(W,Se),Fs(S,Ke),null},Ww={display:"none"},WI={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},iN="react-flow__node-desc",sN="react-flow__edge-desc",VI="react-flow__aria-live",GI=e=>e.ariaLiveMessage;function YI({rfId:e}){const n=Xe(GI);return ae.createElement("div",{id:`${VI}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:WI},n)}function KI({rfId:e,disableKeyboardA11y:n}){return ae.createElement(ae.Fragment,null,ae.createElement("div",{id:`${iN}-${e}`,style:Ww},"Press enter or space to select a node.",!n&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),ae.createElement("div",{id:`${sN}-${e}`,style:Ww},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!n&&ae.createElement(YI,{rfId:e}))}var da=(e=null,n={actInsideInputWithModifier:!0})=>{const[r,s]=A.useState(!1),o=A.useRef(!1),l=A.useRef(new Set([])),[u,c]=A.useMemo(()=>{if(e!==null){const h=(Array.isArray(e)?e:[e]).filter(g=>typeof g=="string").map(g=>g.split("+")),f=h.reduce((g,y)=>g.concat(...y),[]);return[h,f]}return[[],[]]},[e]);return A.useEffect(()=>{const p=typeof document<"u"?document:null,h=(n==null?void 0:n.target)||p;if(e!==null){const f=x=>{if(o.current=x.ctrlKey||x.metaKey||x.shiftKey,(!o.current||o.current&&!n.actInsideInputWithModifier)&&Gg(x))return!1;const _=Gw(x.code,c);l.current.add(x[_]),Vw(u,l.current,!1)&&(x.preventDefault(),s(!0))},g=x=>{if((!o.current||o.current&&!n.actInsideInputWithModifier)&&Gg(x))return!1;const _=Gw(x.code,c);Vw(u,l.current,!0)?(s(!1),l.current.clear()):l.current.delete(x[_]),x.key==="Meta"&&l.current.clear(),o.current=!1},y=()=>{l.current.clear(),s(!1)};return h==null||h.addEventListener("keydown",f),h==null||h.addEventListener("keyup",g),window.addEventListener("blur",y),()=>{h==null||h.removeEventListener("keydown",f),h==null||h.removeEventListener("keyup",g),window.removeEventListener("blur",y)}}},[e,s]),r};function Vw(e,n,r){return e.filter(s=>r||s.length===n.size).some(s=>s.every(o=>n.has(o)))}function Gw(e,n){return n.includes(e)?"code":"key"}function oN(e,n,r,s){var c,p;const o=e.parentNode||e.parentId;if(!o)return r;const l=n.get(o),u=es(l,s);return oN(l,n,{x:(r.x??0)+u.x,y:(r.y??0)+u.y,z:(((c=l[ht])==null?void 0:c.z)??0)>(r.z??0)?((p=l[ht])==null?void 0:p.z)??0:r.z??0},s)}function aN(e,n,r){e.forEach(s=>{var l;const o=s.parentNode||s.parentId;if(o&&!e.has(o))throw new Error(`Parent node ${o} not found`);if(o||r!=null&&r[s.id]){const{x:u,y:c,z:p}=oN(s,e,{...s.position,z:((l=s[ht])==null?void 0:l.z)??0},n);s.positionAbsolute={x:u,y:c},s[ht].z=p,r!=null&&r[s.id]&&(s[ht].isParent=!0)}})}function hd(e,n,r,s){const o=new Map,l={},u=s?1e3:0;return e.forEach(c=>{var x;const p=(En(c.zIndex)?c.zIndex:0)+(c.selected?u:0),h=n.get(c.id),f={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},g=c.parentNode||c.parentId;g&&(l[g]=!0);const y=(h==null?void 0:h.type)&&(h==null?void 0:h.type)!==c.type;Object.defineProperty(f,ht,{enumerable:!1,value:{handleBounds:y||(x=h==null?void 0:h[ht])==null?void 0:x.handleBounds,z:p}}),o.set(c.id,f)}),aN(o,r,l),o}function lN(e,n={}){const{getNodes:r,width:s,height:o,minZoom:l,maxZoom:u,d3Zoom:c,d3Selection:p,fitViewOnInitDone:h,fitViewOnInit:f,nodeOrigin:g}=e(),y=n.initial&&!h&&f;if(c&&p&&(y||!n.initial)){const N=r().filter(b=>{var k;const S=n.includeHiddenNodes?b.width&&b.height:!b.hidden;return(k=n.nodes)!=null&&k.length?S&&n.nodes.some(E=>E.id===b.id):S}),_=N.every(b=>b.width&&b.height);if(N.length>0&&_){const b=hu(N,g),{x:S,y:k,zoom:E}=GE(b,s,o,n.minZoom??l,n.maxZoom??u,n.padding??.1),C=Ir.translate(S,k).scale(E);return typeof n.duration=="number"&&n.duration>0?c.transform(Xi(p,n.duration),C):c.transform(p,C),!0}}return!1}function XI(e,n){return e.forEach(r=>{const s=n.get(r.id);s&&n.set(s.id,{...s,[ht]:s[ht],selected:r.selected})}),new Map(n)}function QI(e,n){return n.map(r=>{const s=e.find(o=>o.id===r.id);return s&&(r.selected=s.selected),r})}function Pl({changedNodes:e,changedEdges:n,get:r,set:s}){const{nodeInternals:o,edges:l,onNodesChange:u,onEdgesChange:c,hasDefaultNodes:p,hasDefaultEdges:h}=r();e!=null&&e.length&&(p&&s({nodeInternals:XI(e,o)}),u==null||u(e)),n!=null&&n.length&&(h&&s({edges:QI(n,l)}),c==null||c(n))}const zs=()=>{},ZI={zoomIn:zs,zoomOut:zs,zoomTo:zs,getZoom:()=>1,setViewport:zs,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:zs,fitBounds:zs,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},JI=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),eM=()=>{const e=Et(),{d3Zoom:n,d3Selection:r}=Xe(JI,kt);return A.useMemo(()=>r&&n?{zoomIn:o=>n.scaleBy(Xi(r,o==null?void 0:o.duration),1.2),zoomOut:o=>n.scaleBy(Xi(r,o==null?void 0:o.duration),1/1.2),zoomTo:(o,l)=>n.scaleTo(Xi(r,l==null?void 0:l.duration),o),getZoom:()=>e.getState().transform[2],setViewport:(o,l)=>{const[u,c,p]=e.getState().transform,h=Ir.translate(o.x??u,o.y??c).scale(o.zoom??p);n.transform(Xi(r,l==null?void 0:l.duration),h)},getViewport:()=>{const[o,l,u]=e.getState().transform;return{x:o,y:l,zoom:u}},fitView:o=>lN(e.getState,o),setCenter:(o,l,u)=>{const{width:c,height:p,maxZoom:h}=e.getState(),f=typeof(u==null?void 0:u.zoom)<"u"?u.zoom:h,g=c/2-o*f,y=p/2-l*f,x=Ir.translate(g,y).scale(f);n.transform(Xi(r,u==null?void 0:u.duration),x)},fitBounds:(o,l)=>{const{width:u,height:c,minZoom:p,maxZoom:h}=e.getState(),{x:f,y:g,zoom:y}=GE(o,u,c,p,h,(l==null?void 0:l.padding)??.1),x=Ir.translate(f,g).scale(y);n.transform(Xi(r,l==null?void 0:l.duration),x)},project:o=>{const{transform:l,snapToGrid:u,snapGrid:c}=e.getState();return console.warn("[DEPRECATED] `project` is deprecated. Instead use `screenToFlowPosition`. There is no need to subtract the react flow bounds anymore! https://reactflow.dev/api-reference/types/react-flow-instance#screen-to-flow-position"),Xg(o,l,u,c)},screenToFlowPosition:o=>{const{transform:l,snapToGrid:u,snapGrid:c,domNode:p}=e.getState();if(!p)return o;const{x:h,y:f}=p.getBoundingClientRect(),g={x:o.x-h,y:o.y-f};return Xg(g,l,u,c)},flowToScreenPosition:o=>{const{transform:l,domNode:u}=e.getState();if(!u)return o;const{x:c,y:p}=u.getBoundingClientRect(),h=HE(o,l);return{x:h.x+c,y:h.y+p}},viewportInitialized:!0}:ZI,[n,r])};function ya(){const e=eM(),n=Et(),r=A.useCallback(()=>n.getState().getNodes().map(_=>({..._})),[]),s=A.useCallback(_=>n.getState().nodeInternals.get(_),[]),o=A.useCallback(()=>{const{edges:_=[]}=n.getState();return _.map(b=>({...b}))},[]),l=A.useCallback(_=>{const{edges:b=[]}=n.getState();return b.find(S=>S.id===_)},[]),u=A.useCallback(_=>{const{getNodes:b,setNodes:S,hasDefaultNodes:k,onNodesChange:E}=n.getState(),C=b(),I=typeof _=="function"?_(C):_;if(k)S(I);else if(E){const M=I.length===0?C.map(O=>({type:"remove",id:O.id})):I.map(O=>({item:O,type:"reset"}));E(M)}},[]),c=A.useCallback(_=>{const{edges:b=[],setEdges:S,hasDefaultEdges:k,onEdgesChange:E}=n.getState(),C=typeof _=="function"?_(b):_;if(k)S(C);else if(E){const I=C.length===0?b.map(M=>({type:"remove",id:M.id})):C.map(M=>({item:M,type:"reset"}));E(I)}},[]),p=A.useCallback(_=>{const b=Array.isArray(_)?_:[_],{getNodes:S,setNodes:k,hasDefaultNodes:E,onNodesChange:C}=n.getState();if(E){const M=[...S(),...b];k(M)}else if(C){const I=b.map(M=>({item:M,type:"add"}));C(I)}},[]),h=A.useCallback(_=>{const b=Array.isArray(_)?_:[_],{edges:S=[],setEdges:k,hasDefaultEdges:E,onEdgesChange:C}=n.getState();if(E)k([...S,...b]);else if(C){const I=b.map(M=>({item:M,type:"add"}));C(I)}},[]),f=A.useCallback(()=>{const{getNodes:_,edges:b=[],transform:S}=n.getState(),[k,E,C]=S;return{nodes:_().map(I=>({...I})),edges:b.map(I=>({...I})),viewport:{x:k,y:E,zoom:C}}},[]),g=A.useCallback(({nodes:_,edges:b})=>{const{nodeInternals:S,getNodes:k,edges:E,hasDefaultNodes:C,hasDefaultEdges:I,onNodesDelete:M,onEdgesDelete:O,onNodesChange:W,onEdgesChange:L}=n.getState(),P=(_||[]).map(Q=>Q.id),q=(b||[]).map(Q=>Q.id),U=k().reduce((Q,H)=>{const te=H.parentNode||H.parentId,Z=!P.includes(H.id)&&te&&Q.find(X=>X.id===te);return(typeof H.deletable=="boolean"?H.deletable:!0)&&(P.includes(H.id)||Z)&&Q.push(H),Q},[]),B=E.filter(Q=>typeof Q.deletable=="boolean"?Q.deletable:!0),R=B.filter(Q=>q.includes(Q.id));if(U||R){const Q=VE(U,B),H=[...R,...Q],te=H.reduce((Z,D)=>(Z.includes(D.id)||Z.push(D.id),Z),[]);if((I||C)&&(I&&n.setState({edges:E.filter(Z=>!te.includes(Z.id))}),C&&(U.forEach(Z=>{S.delete(Z.id)}),n.setState({nodeInternals:new Map(S)}))),te.length>0&&(O==null||O(H),L&&L(te.map(Z=>({id:Z,type:"remove"})))),U.length>0&&(M==null||M(U),W)){const Z=U.map(D=>({id:D.id,type:"remove"}));W(Z)}}},[]),y=A.useCallback(_=>{const b=xI(_),S=b?null:n.getState().nodeInternals.get(_.id);return!b&&!S?[null,null,b]:[b?_:$w(S),S,b]},[]),x=A.useCallback((_,b=!0,S)=>{const[k,E,C]=y(_);return k?(S||n.getState().getNodes()).filter(I=>{if(!C&&(I.id===E.id||!I.positionAbsolute))return!1;const M=$w(I),O=Vg(M,k);return b&&O>0||O>=k.width*k.height}):[]},[]),N=A.useCallback((_,b,S=!0)=>{const[k]=y(_);if(!k)return!1;const E=Vg(k,b);return S&&E>0||E>=k.width*k.height},[]);return A.useMemo(()=>({...e,getNodes:r,getNode:s,getEdges:o,getEdge:l,setNodes:u,setEdges:c,addNodes:p,addEdges:h,toObject:f,deleteElements:g,getIntersectingNodes:x,isNodeIntersecting:N}),[e,r,s,o,l,u,c,p,h,f,g,x,N])}const tM={actInsideInputWithModifier:!1};var nM=({deleteKeyCode:e,multiSelectionKeyCode:n})=>{const r=Et(),{deleteElements:s}=ya(),o=da(e,tM),l=da(n);A.useEffect(()=>{if(o){const{edges:u,getNodes:c}=r.getState(),p=c().filter(f=>f.selected),h=u.filter(f=>f.selected);s({nodes:p,edges:h}),r.setState({nodesSelectionActive:!1})}},[o]),A.useEffect(()=>{r.setState({multiSelectionActive:l})},[l])};function rM(e){const n=Et();A.useEffect(()=>{let r;const s=()=>{var l,u;if(!e.current)return;const o=gv(e.current);(o.height===0||o.width===0)&&((u=(l=n.getState()).onError)==null||u.call(l,"004",Pr.error004())),n.setState({width:o.width||500,height:o.height||500})};return s(),window.addEventListener("resize",s),e.current&&(r=new ResizeObserver(()=>s()),r.observe(e.current)),()=>{window.removeEventListener("resize",s),r&&e.current&&r.unobserve(e.current)}},[])}const kv={position:"absolute",width:"100%",height:"100%",top:0,left:0},iM=(e,n)=>e.x!==n.x||e.y!==n.y||e.zoom!==n.k,Ol=e=>({x:e.x,y:e.y,zoom:e.k}),Bs=(e,n)=>e.target.closest(`.${n}`),Yw=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Kw=e=>{const n=e.ctrlKey&&eu()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n},sM=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),oM=({onMove:e,onMoveStart:n,onMoveEnd:r,onPaneContextMenu:s,zoomOnScroll:o=!0,zoomOnPinch:l=!0,panOnScroll:u=!1,panOnScrollSpeed:c=.5,panOnScrollMode:p=Zi.Free,zoomOnDoubleClick:h=!0,elementsSelectable:f,panOnDrag:g=!0,defaultViewport:y,translateExtent:x,minZoom:N,maxZoom:_,zoomActivationKeyCode:b,preventScrolling:S=!0,children:k,noWheelClassName:E,noPanClassName:C})=>{const I=A.useRef(),M=Et(),O=A.useRef(!1),W=A.useRef(!1),L=A.useRef(null),P=A.useRef({x:0,y:0,zoom:0}),{d3Zoom:q,d3Selection:U,d3ZoomHandler:B,userSelectionActive:R}=Xe(sM,kt),Q=da(b),H=A.useRef(0),te=A.useRef(!1),Z=A.useRef();return rM(L),A.useEffect(()=>{if(L.current){const D=L.current.getBoundingClientRect(),X=IE().scaleExtent([N,_]).translateExtent(x),j=kn(L.current).call(X),$=Ir.translate(y.x,y.y).scale(to(y.zoom,N,_)),V=[[0,0],[D.width,D.height]],F=X.constrain()($,V,x);X.transform(j,F),X.wheelDelta(Kw),M.setState({d3Zoom:X,d3Selection:j,d3ZoomHandler:j.on("wheel.zoom"),transform:[F.x,F.y,F.k],domNode:L.current.closest(".react-flow")})}},[]),A.useEffect(()=>{U&&q&&(u&&!Q&&!R?U.on("wheel.zoom",D=>{if(Bs(D,E))return!1;D.preventDefault(),D.stopImmediatePropagation();const X=U.property("__zoom").k||1;if(D.ctrlKey&&l){const de=Vn(D),me=Kw(D),ve=X*Math.pow(2,me);q.scaleTo(U,ve,de,D);return}const j=D.deltaMode===1?20:1;let $=p===Zi.Vertical?0:D.deltaX*j,V=p===Zi.Horizontal?0:D.deltaY*j;!eu()&&D.shiftKey&&p!==Zi.Vertical&&($=D.deltaY*j,V=0),q.translateBy(U,-($/X)*c,-(V/X)*c,{internal:!0});const F=Ol(U.property("__zoom")),{onViewportChangeStart:J,onViewportChange:ne,onViewportChangeEnd:le}=M.getState();clearTimeout(Z.current),te.current||(te.current=!0,n==null||n(D,F),J==null||J(F)),te.current&&(e==null||e(D,F),ne==null||ne(F),Z.current=setTimeout(()=>{r==null||r(D,F),le==null||le(F),te.current=!1},150))},{passive:!1}):typeof B<"u"&&U.on("wheel.zoom",function(D,X){if(!S&&D.type==="wheel"&&!D.ctrlKey||Bs(D,E))return null;D.preventDefault(),B.call(this,D,X)},{passive:!1}))},[R,u,p,U,q,B,Q,l,S,E,n,e,r]),A.useEffect(()=>{q&&q.on("start",D=>{var $,V;if(!D.sourceEvent||D.sourceEvent.internal)return null;H.current=($=D.sourceEvent)==null?void 0:$.button;const{onViewportChangeStart:X}=M.getState(),j=Ol(D.transform);O.current=!0,P.current=j,((V=D.sourceEvent)==null?void 0:V.type)==="mousedown"&&M.setState({paneDragging:!0}),X==null||X(j),n==null||n(D.sourceEvent,j)})},[q,n]),A.useEffect(()=>{q&&(R&&!O.current?q.on("zoom",null):R||q.on("zoom",D=>{var j;const{onViewportChange:X}=M.getState();if(M.setState({transform:[D.transform.x,D.transform.y,D.transform.k]}),W.current=!!(s&&Yw(g,H.current??0)),(e||X)&&!((j=D.sourceEvent)!=null&&j.internal)){const $=Ol(D.transform);X==null||X($),e==null||e(D.sourceEvent,$)}}))},[R,q,e,g,s]),A.useEffect(()=>{q&&q.on("end",D=>{if(!D.sourceEvent||D.sourceEvent.internal)return null;const{onViewportChangeEnd:X}=M.getState();if(O.current=!1,M.setState({paneDragging:!1}),s&&Yw(g,H.current??0)&&!W.current&&s(D.sourceEvent),W.current=!1,(r||X)&&iM(P.current,D.transform)){const j=Ol(D.transform);P.current=j,clearTimeout(I.current),I.current=setTimeout(()=>{X==null||X(j),r==null||r(D.sourceEvent,j)},u?150:0)}})},[q,u,g,r,s]),A.useEffect(()=>{q&&q.filter(D=>{const X=Q||o,j=l&&D.ctrlKey;if((g===!0||Array.isArray(g)&&g.includes(1))&&D.button===1&&D.type==="mousedown"&&(Bs(D,"react-flow__node")||Bs(D,"react-flow__edge")))return!0;if(!g&&!X&&!u&&!h&&!l||R||!h&&D.type==="dblclick"||Bs(D,E)&&D.type==="wheel"||Bs(D,C)&&(D.type!=="wheel"||u&&D.type==="wheel"&&!Q)||!l&&D.ctrlKey&&D.type==="wheel"||!X&&!u&&!j&&D.type==="wheel"||!g&&(D.type==="mousedown"||D.type==="touchstart")||Array.isArray(g)&&!g.includes(D.button)&&D.type==="mousedown")return!1;const $=Array.isArray(g)&&g.includes(D.button)||!D.button||D.button<=1;return(!D.ctrlKey||D.type==="wheel")&&$})},[R,q,o,l,u,h,g,f,Q]),ae.createElement("div",{className:"react-flow__renderer",ref:L,style:kv},k)},aM=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function lM(){const{userSelectionActive:e,userSelectionRect:n}=Xe(aM,kt);return e&&n?ae.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}function Xw(e,n){const r=n.parentNode||n.parentId,s=e.find(o=>o.id===r);if(s){const o=n.position.x+n.width-s.width,l=n.position.y+n.height-s.height;if(o>0||l>0||n.position.x<0||n.position.y<0){if(s.style={...s.style},s.style.width=s.style.width??s.width,s.style.height=s.style.height??s.height,o>0&&(s.style.width+=o),l>0&&(s.style.height+=l),n.position.x<0){const u=Math.abs(n.position.x);s.position.x=s.position.x-u,s.style.width+=u,n.position.x=0}if(n.position.y<0){const u=Math.abs(n.position.y);s.position.y=s.position.y-u,s.style.height+=u,n.position.y=0}s.width=s.style.width,s.height=s.style.height}}}function uM(e,n){if(e.some(s=>s.type==="reset"))return e.filter(s=>s.type==="reset").map(s=>s.item);const r=e.filter(s=>s.type==="add").map(s=>s.item);return n.reduce((s,o)=>{const l=e.filter(c=>c.id===o.id);if(l.length===0)return s.push(o),s;const u={...o};for(const c of l)if(c)switch(c.type){case"select":{u.selected=c.selected;break}case"position":{typeof c.position<"u"&&(u.position=c.position),typeof c.positionAbsolute<"u"&&(u.positionAbsolute=c.positionAbsolute),typeof c.dragging<"u"&&(u.dragging=c.dragging),u.expandParent&&Xw(s,u);break}case"dimensions":{typeof c.dimensions<"u"&&(u.width=c.dimensions.width,u.height=c.dimensions.height),typeof c.updateStyle<"u"&&(u.style={...u.style||{},...c.dimensions}),typeof c.resizing=="boolean"&&(u.resizing=c.resizing),u.expandParent&&Xw(s,u);break}case"remove":return s}return s.push(u),s},r)}function cM(e,n){return uM(e,n)}const fi=(e,n)=>({id:e,type:"select",selected:n});function Vs(e,n){return e.reduce((r,s)=>{const o=n.includes(s.id);return!s.selected&&o?(s.selected=!0,r.push(fi(s.id,!0))):s.selected&&!o&&(s.selected=!1,r.push(fi(s.id,!1))),r},[])}const pd=(e,n)=>r=>{r.target===n.current&&(e==null||e(r))},dM=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),uN=A.memo(({isSelecting:e,selectionMode:n=ca.Full,panOnDrag:r,onSelectionStart:s,onSelectionEnd:o,onPaneClick:l,onPaneContextMenu:u,onPaneScroll:c,onPaneMouseEnter:p,onPaneMouseMove:h,onPaneMouseLeave:f,children:g})=>{const y=A.useRef(null),x=Et(),N=A.useRef(0),_=A.useRef(0),b=A.useRef(),{userSelectionActive:S,elementsSelectable:k,dragging:E}=Xe(dM,kt),C=()=>{x.setState({userSelectionActive:!1,userSelectionRect:null}),N.current=0,_.current=0},I=B=>{l==null||l(B),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},M=B=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){B.preventDefault();return}u==null||u(B)},O=c?B=>c(B):void 0,W=B=>{const{resetSelectedElements:R,domNode:Q}=x.getState();if(b.current=Q==null?void 0:Q.getBoundingClientRect(),!k||!e||B.button!==0||B.target!==y.current||!b.current)return;const{x:H,y:te}=pi(B,b.current);R(),x.setState({userSelectionRect:{width:0,height:0,startX:H,startY:te,x:H,y:te}}),s==null||s(B)},L=B=>{const{userSelectionRect:R,nodeInternals:Q,edges:H,transform:te,onNodesChange:Z,onEdgesChange:D,nodeOrigin:X,getNodes:j}=x.getState();if(!e||!b.current||!R)return;x.setState({userSelectionActive:!0,nodesSelectionActive:!1});const $=pi(B,b.current),V=R.startX??0,F=R.startY??0,J={...R,x:$.x<V?$.x:V,y:$.y<F?$.y:F,width:Math.abs($.x-V),height:Math.abs($.y-F)},ne=j(),le=WE(Q,J,te,n===ca.Partial,!0,X),de=VE(le,H).map(ve=>ve.id),me=le.map(ve=>ve.id);if(N.current!==me.length){N.current=me.length;const ve=Vs(ne,me);ve.length&&(Z==null||Z(ve))}if(_.current!==de.length){_.current=de.length;const ve=Vs(H,de);ve.length&&(D==null||D(ve))}x.setState({userSelectionRect:J})},P=B=>{if(B.button!==0)return;const{userSelectionRect:R}=x.getState();!S&&R&&B.target===y.current&&(I==null||I(B)),x.setState({nodesSelectionActive:N.current>0}),C(),o==null||o(B)},q=B=>{S&&(x.setState({nodesSelectionActive:N.current>0}),o==null||o(B)),C()},U=k&&(e||S);return ae.createElement("div",{className:qt(["react-flow__pane",{dragging:E,selection:e}]),onClick:U?void 0:pd(I,y),onContextMenu:pd(M,y),onWheel:pd(O,y),onMouseEnter:U?void 0:p,onMouseDown:U?W:void 0,onMouseMove:U?L:h,onMouseUp:U?P:void 0,onMouseLeave:U?q:f,ref:y,style:kv},g,ae.createElement(lM,null))});uN.displayName="Pane";function cN(e,n){const r=e.parentNode||e.parentId;if(!r)return!1;const s=n.get(r);return s?s.selected?!0:cN(s,n):!1}function Qw(e,n,r){let s=e;do{if(s!=null&&s.matches(n))return!0;if(s===r.current)return!1;s=s.parentElement}while(s);return!1}function fM(e,n,r,s){return Array.from(e.values()).filter(o=>(o.selected||o.id===s)&&(!o.parentNode||o.parentId||!cN(o,e))&&(o.draggable||n&&typeof o.draggable>"u")).map(o=>{var l,u;return{id:o.id,position:o.position||{x:0,y:0},positionAbsolute:o.positionAbsolute||{x:0,y:0},distance:{x:r.x-(((l=o.positionAbsolute)==null?void 0:l.x)??0),y:r.y-(((u=o.positionAbsolute)==null?void 0:u.y)??0)},delta:{x:0,y:0},extent:o.extent,parentNode:o.parentNode||o.parentId,parentId:o.parentNode||o.parentId,width:o.width,height:o.height,expandParent:o.expandParent}})}function hM(e,n){return!n||n==="parent"?n:[n[0],[n[1][0]-(e.width||0),n[1][1]-(e.height||0)]]}function dN(e,n,r,s,o=[0,0],l){const u=hM(e,e.extent||s);let c=u;const p=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(p&&e.width&&e.height){const g=r.get(p),{x:y,y:x}=es(g,o).positionAbsolute;c=g&&En(y)&&En(x)&&En(g.width)&&En(g.height)?[[y+e.width*o[0],x+e.height*o[1]],[y+g.width-e.width+e.width*o[0],x+g.height-e.height+e.height*o[1]]]:c}else l==null||l("005",Pr.error005()),c=u;else if(e.extent&&p&&e.extent!=="parent"){const g=r.get(p),{x:y,y:x}=es(g,o).positionAbsolute;c=[[e.extent[0][0]+y,e.extent[0][1]+x],[e.extent[1][0]+y,e.extent[1][1]+x]]}let h={x:0,y:0};if(p){const g=r.get(p);h=es(g,o).positionAbsolute}const f=c&&c!=="parent"?vv(n,c):n;return{position:{x:f.x-h.x,y:f.y-h.y},positionAbsolute:f}}function md({nodeId:e,dragItems:n,nodeInternals:r}){const s=n.map(o=>({...r.get(o.id),position:o.position,positionAbsolute:o.positionAbsolute}));return[e?s.find(o=>o.id===e):s[0],s]}const Zw=(e,n,r,s)=>{const o=n.querySelectorAll(e);if(!o||!o.length)return null;const l=Array.from(o),u=n.getBoundingClientRect(),c={x:u.width*s[0],y:u.height*s[1]};return l.map(p=>{const h=p.getBoundingClientRect();return{id:p.getAttribute("data-handleid"),position:p.getAttribute("data-handlepos"),x:(h.left-u.left-c.x)/r,y:(h.top-u.top-c.y)/r,...gv(p)}})};function Ko(e,n,r){return r===void 0?r:s=>{const o=n().nodeInternals.get(e);o&&r(s,{...o})}}function Zg({id:e,store:n,unselect:r=!1,nodeRef:s}){const{addSelectedNodes:o,unselectNodesAndEdges:l,multiSelectionActive:u,nodeInternals:c,onError:p}=n.getState(),h=c.get(e);if(!h){p==null||p("012",Pr.error012(e));return}n.setState({nodesSelectionActive:!1}),h.selected?(r||h.selected&&u)&&(l({nodes:[h],edges:[]}),requestAnimationFrame(()=>{var f;return(f=s==null?void 0:s.current)==null?void 0:f.blur()})):o([e])}function pM(){const e=Et();return A.useCallback(({sourceEvent:r})=>{const{transform:s,snapGrid:o,snapToGrid:l}=e.getState(),u=r.touches?r.touches[0].clientX:r.clientX,c=r.touches?r.touches[0].clientY:r.clientY,p={x:(u-s[0])/s[2],y:(c-s[1])/s[2]};return{xSnapped:l?o[0]*Math.round(p.x/o[0]):p.x,ySnapped:l?o[1]*Math.round(p.y/o[1]):p.y,...p}},[])}function gd(e){return(n,r,s)=>e==null?void 0:e(n,s)}function fN({nodeRef:e,disabled:n=!1,noDragClassName:r,handleSelector:s,nodeId:o,isSelectable:l,selectNodesOnDrag:u}){const c=Et(),[p,h]=A.useState(!1),f=A.useRef([]),g=A.useRef({x:null,y:null}),y=A.useRef(0),x=A.useRef(null),N=A.useRef({x:0,y:0}),_=A.useRef(null),b=A.useRef(!1),S=A.useRef(!1),k=A.useRef(!1),E=pM();return A.useEffect(()=>{if(e!=null&&e.current){const C=kn(e.current),I=({x:W,y:L})=>{const{nodeInternals:P,onNodeDrag:q,onSelectionDrag:U,updateNodePositions:B,nodeExtent:R,snapGrid:Q,snapToGrid:H,nodeOrigin:te,onError:Z}=c.getState();g.current={x:W,y:L};let D=!1,X={x:0,y:0,x2:0,y2:0};if(f.current.length>1&&R){const $=hu(f.current,te);X=ua($)}if(f.current=f.current.map($=>{const V={x:W-$.distance.x,y:L-$.distance.y};H&&(V.x=Q[0]*Math.round(V.x/Q[0]),V.y=Q[1]*Math.round(V.y/Q[1]));const F=[[R[0][0],R[0][1]],[R[1][0],R[1][1]]];f.current.length>1&&R&&!$.extent&&(F[0][0]=$.positionAbsolute.x-X.x+R[0][0],F[1][0]=$.positionAbsolute.x+($.width??0)-X.x2+R[1][0],F[0][1]=$.positionAbsolute.y-X.y+R[0][1],F[1][1]=$.positionAbsolute.y+($.height??0)-X.y2+R[1][1]);const J=dN($,V,P,F,te,Z);return D=D||$.position.x!==J.position.x||$.position.y!==J.position.y,$.position=J.position,$.positionAbsolute=J.positionAbsolute,$}),!D)return;B(f.current,!0,!0),h(!0);const j=o?q:gd(U);if(j&&_.current){const[$,V]=md({nodeId:o,dragItems:f.current,nodeInternals:P});j(_.current,$,V)}},M=()=>{if(!x.current)return;const[W,L]=PE(N.current,x.current);if(W!==0||L!==0){const{transform:P,panBy:q}=c.getState();g.current.x=(g.current.x??0)-W/P[2],g.current.y=(g.current.y??0)-L/P[2],q({x:W,y:L})&&I(g.current)}y.current=requestAnimationFrame(M)},O=W=>{var te;const{nodeInternals:L,multiSelectionActive:P,nodesDraggable:q,unselectNodesAndEdges:U,onNodeDragStart:B,onSelectionDragStart:R}=c.getState();S.current=!0;const Q=o?B:gd(R);(!u||!l)&&!P&&o&&((te=L.get(o))!=null&&te.selected||U()),o&&l&&u&&Zg({id:o,store:c,nodeRef:e});const H=E(W);if(g.current=H,f.current=fM(L,q,H,o),Q&&f.current){const[Z,D]=md({nodeId:o,dragItems:f.current,nodeInternals:L});Q(W.sourceEvent,Z,D)}};if(n)C.on(".drag",null);else{const W=S2().on("start",L=>{const{domNode:P,nodeDragThreshold:q}=c.getState();q===0&&O(L),k.current=!1;const U=E(L);g.current=U,x.current=(P==null?void 0:P.getBoundingClientRect())||null,N.current=pi(L.sourceEvent,x.current)}).on("drag",L=>{var B,R;const P=E(L),{autoPanOnNodeDrag:q,nodeDragThreshold:U}=c.getState();if(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1&&(k.current=!0),!k.current){if(!b.current&&S.current&&q&&(b.current=!0,M()),!S.current){const Q=P.xSnapped-(((B=g==null?void 0:g.current)==null?void 0:B.x)??0),H=P.ySnapped-(((R=g==null?void 0:g.current)==null?void 0:R.y)??0);Math.sqrt(Q*Q+H*H)>U&&O(L)}(g.current.x!==P.xSnapped||g.current.y!==P.ySnapped)&&f.current&&S.current&&(_.current=L.sourceEvent,N.current=pi(L.sourceEvent,x.current),I(P))}}).on("end",L=>{if(!(!S.current||k.current)&&(h(!1),b.current=!1,S.current=!1,cancelAnimationFrame(y.current),f.current)){const{updateNodePositions:P,nodeInternals:q,onNodeDragStop:U,onSelectionDragStop:B}=c.getState(),R=o?U:gd(B);if(P(f.current,!1,!1),R){const[Q,H]=md({nodeId:o,dragItems:f.current,nodeInternals:q});R(L.sourceEvent,Q,H)}}}).filter(L=>{const P=L.target;return!L.button&&(!r||!Qw(P,`.${r}`,e))&&(!s||Qw(P,s,e))});return C.call(W),()=>{C.on(".drag",null)}}}},[e,n,r,s,l,c,o,u,E]),p}function hN(){const e=Et();return A.useCallback(r=>{const{nodeInternals:s,nodeExtent:o,updateNodePositions:l,getNodes:u,snapToGrid:c,snapGrid:p,onError:h,nodesDraggable:f}=e.getState(),g=u().filter(k=>k.selected&&(k.draggable||f&&typeof k.draggable>"u")),y=c?p[0]:5,x=c?p[1]:5,N=r.isShiftPressed?4:1,_=r.x*y*N,b=r.y*x*N,S=g.map(k=>{if(k.positionAbsolute){const E={x:k.positionAbsolute.x+_,y:k.positionAbsolute.y+b};c&&(E.x=p[0]*Math.round(E.x/p[0]),E.y=p[1]*Math.round(E.y/p[1]));const{positionAbsolute:C,position:I}=dN(k,E,s,o,void 0,h);k.position=I,k.positionAbsolute=C}return k});l(S,!0,!1)},[])}const Qs={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var Xo=e=>{const n=({id:r,type:s,data:o,xPos:l,yPos:u,xPosOrigin:c,yPosOrigin:p,selected:h,onClick:f,onMouseEnter:g,onMouseMove:y,onMouseLeave:x,onContextMenu:N,onDoubleClick:_,style:b,className:S,isDraggable:k,isSelectable:E,isConnectable:C,isFocusable:I,selectNodesOnDrag:M,sourcePosition:O,targetPosition:W,hidden:L,resizeObserver:P,dragHandle:q,zIndex:U,isParent:B,noDragClassName:R,noPanClassName:Q,initialized:H,disableKeyboardA11y:te,ariaLabel:Z,rfId:D,hasHandleBounds:X})=>{const j=Et(),$=A.useRef(null),V=A.useRef(null),F=A.useRef(O),J=A.useRef(W),ne=A.useRef(s),le=E||k||f||g||y||x,de=hN(),me=Ko(r,j.getState,g),ve=Ko(r,j.getState,y),Pe=Ko(r,j.getState,x),Me=Ko(r,j.getState,N),Oe=Ko(r,j.getState,_),ye=xe=>{const{nodeDragThreshold:ge}=j.getState();if(E&&(!M||!k||ge>0)&&Zg({id:r,store:j,nodeRef:$}),f){const Fe=j.getState().nodeInternals.get(r);Fe&&f(xe,{...Fe})}},Se=xe=>{if(!Gg(xe)&&!te)if($E.includes(xe.key)&&E){const ge=xe.key==="Escape";Zg({id:r,store:j,unselect:ge,nodeRef:$})}else k&&h&&Object.prototype.hasOwnProperty.call(Qs,xe.key)&&(j.setState({ariaLiveMessage:`Moved selected node ${xe.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~l}, y: ${~~u}`}),de({x:Qs[xe.key].x,y:Qs[xe.key].y,isShiftPressed:xe.shiftKey}))};A.useEffect(()=>()=>{V.current&&(P==null||P.unobserve(V.current),V.current=null)},[]),A.useEffect(()=>{if($.current&&!L){const xe=$.current;(!H||!X||V.current!==xe)&&(V.current&&(P==null||P.unobserve(V.current)),P==null||P.observe(xe),V.current=xe)}},[L,H,X]),A.useEffect(()=>{const xe=ne.current!==s,ge=F.current!==O,Fe=J.current!==W;$.current&&(xe||ge||Fe)&&(xe&&(ne.current=s),ge&&(F.current=O),Fe&&(J.current=W),j.getState().updateNodeDimensions([{id:r,nodeElement:$.current,forceUpdate:!0}]))},[r,s,O,W]);const Ke=fN({nodeRef:$,disabled:L||!k,noDragClassName:R,handleSelector:q,nodeId:r,isSelectable:E,selectNodesOnDrag:M});return L?null:ae.createElement("div",{className:qt(["react-flow__node",`react-flow__node-${s}`,{[Q]:k},S,{selected:h,selectable:E,parent:B,dragging:Ke}]),ref:$,style:{zIndex:U,transform:`translate(${c}px,${p}px)`,pointerEvents:le?"all":"none",visibility:H?"visible":"hidden",...b},"data-id":r,"data-testid":`rf__node-${r}`,onMouseEnter:me,onMouseMove:ve,onMouseLeave:Pe,onContextMenu:Me,onClick:ye,onDoubleClick:Oe,onKeyDown:I?Se:void 0,tabIndex:I?0:void 0,role:I?"button":void 0,"aria-describedby":te?void 0:`${iN}-${D}`,"aria-label":Z},ae.createElement(CI,{value:r},ae.createElement(e,{id:r,data:o,type:s,xPos:l,yPos:u,selected:h,isConnectable:C,sourcePosition:O,targetPosition:W,dragging:Ke,dragHandle:q,zIndex:U})))};return n.displayName="NodeWrapper",A.memo(n)};const mM=e=>{const n=e.getNodes().filter(r=>r.selected);return{...hu(n,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function gM({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:r}){const s=Et(),{width:o,height:l,x:u,y:c,transformString:p,userSelectionActive:h}=Xe(mM,kt),f=hN(),g=A.useRef(null);if(A.useEffect(()=>{var N;r||(N=g.current)==null||N.focus({preventScroll:!0})},[r]),fN({nodeRef:g}),h||!o||!l)return null;const y=e?N=>{const _=s.getState().getNodes().filter(b=>b.selected);e(N,_)}:void 0,x=N=>{Object.prototype.hasOwnProperty.call(Qs,N.key)&&f({x:Qs[N.key].x,y:Qs[N.key].y,isShiftPressed:N.shiftKey})};return ae.createElement("div",{className:qt(["react-flow__nodesselection","react-flow__container",n]),style:{transform:p}},ae.createElement("div",{ref:g,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:r?void 0:-1,onKeyDown:r?void 0:x,style:{width:o,height:l,top:c,left:u}}))}var vM=A.memo(gM);const yM=e=>e.nodesSelectionActive,pN=({children:e,onPaneClick:n,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:l,onPaneScroll:u,deleteKeyCode:c,onMove:p,onMoveStart:h,onMoveEnd:f,selectionKeyCode:g,selectionOnDrag:y,selectionMode:x,onSelectionStart:N,onSelectionEnd:_,multiSelectionKeyCode:b,panActivationKeyCode:S,zoomActivationKeyCode:k,elementsSelectable:E,zoomOnScroll:C,zoomOnPinch:I,panOnScroll:M,panOnScrollSpeed:O,panOnScrollMode:W,zoomOnDoubleClick:L,panOnDrag:P,defaultViewport:q,translateExtent:U,minZoom:B,maxZoom:R,preventScrolling:Q,onSelectionContextMenu:H,noWheelClassName:te,noPanClassName:Z,disableKeyboardA11y:D})=>{const X=Xe(yM),j=da(g),$=da(S),V=$||P,F=$||M,J=j||y&&V!==!0;return nM({deleteKeyCode:c,multiSelectionKeyCode:b}),ae.createElement(oM,{onMove:p,onMoveStart:h,onMoveEnd:f,onPaneContextMenu:l,elementsSelectable:E,zoomOnScroll:C,zoomOnPinch:I,panOnScroll:F,panOnScrollSpeed:O,panOnScrollMode:W,zoomOnDoubleClick:L,panOnDrag:!j&&V,defaultViewport:q,translateExtent:U,minZoom:B,maxZoom:R,zoomActivationKeyCode:k,preventScrolling:Q,noWheelClassName:te,noPanClassName:Z},ae.createElement(uN,{onSelectionStart:N,onSelectionEnd:_,onPaneClick:n,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:l,onPaneScroll:u,panOnDrag:V,isSelecting:!!J,selectionMode:x},e,X&&ae.createElement(vM,{onSelectionContextMenu:H,noPanClassName:Z,disableKeyboardA11y:D})))};pN.displayName="FlowRenderer";var wM=A.memo(pN);function xM(e){return Xe(A.useCallback(r=>e?WE(r.nodeInternals,{x:0,y:0,width:r.width,height:r.height},r.transform,!0):r.getNodes(),[e]))}function _M(e){const n={input:Xo(e.input||eN),default:Xo(e.default||Qg),output:Xo(e.output||nN),group:Xo(e.group||Sv)},r={},s=Object.keys(e).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,l)=>(o[l]=Xo(e[l]||Qg),o),r);return{...n,...s}}const bM=({x:e,y:n,width:r,height:s,origin:o})=>!r||!s?{x:e,y:n}:o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:n}:{x:e-r*o[0],y:n-s*o[1]},SM=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),mN=e=>{const{nodesDraggable:n,nodesConnectable:r,nodesFocusable:s,elementsSelectable:o,updateNodeDimensions:l,onError:u}=Xe(SM,kt),c=xM(e.onlyRenderVisibleElements),p=A.useRef(),h=A.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(g=>{const y=g.map(x=>({id:x.target.getAttribute("data-id"),nodeElement:x.target,forceUpdate:!0}));l(y)});return p.current=f,f},[]);return A.useEffect(()=>()=>{var f;(f=p==null?void 0:p.current)==null||f.disconnect()},[]),ae.createElement("div",{className:"react-flow__nodes",style:kv},c.map(f=>{var I,M,O;let g=f.type||"default";e.nodeTypes[g]||(u==null||u("003",Pr.error003(g)),g="default");const y=e.nodeTypes[g]||e.nodeTypes.default,x=!!(f.draggable||n&&typeof f.draggable>"u"),N=!!(f.selectable||o&&typeof f.selectable>"u"),_=!!(f.connectable||r&&typeof f.connectable>"u"),b=!!(f.focusable||s&&typeof f.focusable>"u"),S=e.nodeExtent?vv(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,k=(S==null?void 0:S.x)??0,E=(S==null?void 0:S.y)??0,C=bM({x:k,y:E,width:f.width??0,height:f.height??0,origin:e.nodeOrigin});return ae.createElement(y,{key:f.id,id:f.id,className:f.className,style:f.style,type:g,data:f.data,sourcePosition:f.sourcePosition||Te.Bottom,targetPosition:f.targetPosition||Te.Top,hidden:f.hidden,xPos:k,yPos:E,xPosOrigin:C.x,yPosOrigin:C.y,selectNodesOnDrag:e.selectNodesOnDrag,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,selected:!!f.selected,isDraggable:x,isSelectable:N,isConnectable:_,isFocusable:b,resizeObserver:h,dragHandle:f.dragHandle,zIndex:((I=f[ht])==null?void 0:I.z)??0,isParent:!!((M=f[ht])!=null&&M.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel,hasHandleBounds:!!((O=f[ht])!=null&&O.handleBounds)})}))};mN.displayName="NodeRenderer";var kM=A.memo(mN);const EM=(e,n,r)=>r===Te.Left?e-n:r===Te.Right?e+n:e,NM=(e,n,r)=>r===Te.Top?e-n:r===Te.Bottom?e+n:e,Jw="react-flow__edgeupdater",ex=({position:e,centerX:n,centerY:r,radius:s=10,onMouseDown:o,onMouseEnter:l,onMouseOut:u,type:c})=>ae.createElement("circle",{onMouseDown:o,onMouseEnter:l,onMouseOut:u,className:qt([Jw,`${Jw}-${c}`]),cx:EM(n,s,e),cy:NM(r,s,e),r:s,stroke:"transparent",fill:"transparent"}),CM=()=>!0;var Us=e=>{const n=({id:r,className:s,type:o,data:l,onClick:u,onEdgeDoubleClick:c,selected:p,animated:h,label:f,labelStyle:g,labelShowBg:y,labelBgStyle:x,labelBgPadding:N,labelBgBorderRadius:_,style:b,source:S,target:k,sourceX:E,sourceY:C,targetX:I,targetY:M,sourcePosition:O,targetPosition:W,elementsSelectable:L,hidden:P,sourceHandleId:q,targetHandleId:U,onContextMenu:B,onMouseEnter:R,onMouseMove:Q,onMouseLeave:H,reconnectRadius:te,onReconnect:Z,onReconnectStart:D,onReconnectEnd:X,markerEnd:j,markerStart:$,rfId:V,ariaLabel:F,isFocusable:J,isReconnectable:ne,pathOptions:le,interactionWidth:de,disableKeyboardA11y:me})=>{const ve=A.useRef(null),[Pe,Me]=A.useState(!1),[Oe,ye]=A.useState(!1),Se=Et(),Ke=A.useMemo(()=>`url('#${Kg($,V)}')`,[$,V]),xe=A.useMemo(()=>`url('#${Kg(j,V)}')`,[j,V]);if(P)return null;const ge=Ye=>{var Ct;const{edges:Nt,addSelectedEdges:dt,unselectNodesAndEdges:lt,multiSelectionActive:fn}=Se.getState(),Ut=Nt.find(Je=>Je.id===r);Ut&&(L&&(Se.setState({nodesSelectionActive:!1}),Ut.selected&&fn?(lt({nodes:[],edges:[Ut]}),(Ct=ve.current)==null||Ct.blur()):dt([r])),u&&u(Ye,Ut))},Fe=Yo(r,Se.getState,c),pt=Yo(r,Se.getState,B),mt=Yo(r,Se.getState,R),Ze=Yo(r,Se.getState,Q),De=Yo(r,Se.getState,H),Qe=(Ye,Nt)=>{if(Ye.button!==0)return;const{edges:dt,isValidConnection:lt}=Se.getState(),fn=Nt?k:S,Ut=(Nt?U:q)||null,Ct=Nt?"target":"source",Je=lt||CM,hr=Nt,Ht=dt.find(Tt=>Tt.id===r);ye(!0),D==null||D(Ye,Ht,Ct);const hn=Tt=>{ye(!1),X==null||X(Tt,Ht,Ct)};XE({event:Ye,handleId:Ut,nodeId:fn,onConnect:Tt=>Z==null?void 0:Z(Ht,Tt),isTarget:hr,getState:Se.getState,setState:Se.setState,isValidConnection:Je,edgeUpdaterType:Ct,onReconnectEnd:hn})},at=Ye=>Qe(Ye,!0),It=Ye=>Qe(Ye,!1),it=()=>Me(!0),gt=()=>Me(!1),Kt=!L&&!u,Mt=Ye=>{var Nt;if(!me&&$E.includes(Ye.key)&&L){const{unselectNodesAndEdges:dt,addSelectedEdges:lt,edges:fn}=Se.getState();Ye.key==="Escape"?((Nt=ve.current)==null||Nt.blur(),dt({edges:[fn.find(Ct=>Ct.id===r)]})):lt([r])}};return ae.createElement("g",{className:qt(["react-flow__edge",`react-flow__edge-${o}`,s,{selected:p,animated:h,inactive:Kt,updating:Pe}]),onClick:ge,onDoubleClick:Fe,onContextMenu:pt,onMouseEnter:mt,onMouseMove:Ze,onMouseLeave:De,onKeyDown:J?Mt:void 0,tabIndex:J?0:void 0,role:J?"button":"img","data-testid":`rf__edge-${r}`,"aria-label":F===null?void 0:F||`Edge from ${S} to ${k}`,"aria-describedby":J?`${sN}-${V}`:void 0,ref:ve},!Oe&&ae.createElement(e,{id:r,source:S,target:k,selected:p,animated:h,label:f,labelStyle:g,labelShowBg:y,labelBgStyle:x,labelBgPadding:N,labelBgBorderRadius:_,data:l,style:b,sourceX:E,sourceY:C,targetX:I,targetY:M,sourcePosition:O,targetPosition:W,sourceHandleId:q,targetHandleId:U,markerStart:Ke,markerEnd:xe,pathOptions:le,interactionWidth:de}),ne&&ae.createElement(ae.Fragment,null,(ne==="source"||ne===!0)&&ae.createElement(ex,{position:O,centerX:E,centerY:C,radius:te,onMouseDown:at,onMouseEnter:it,onMouseOut:gt,type:"source"}),(ne==="target"||ne===!0)&&ae.createElement(ex,{position:W,centerX:I,centerY:M,radius:te,onMouseDown:It,onMouseEnter:it,onMouseOut:gt,type:"target"})))};return n.displayName="EdgeWrapper",A.memo(n)};function TM(e){const n={default:Us(e.default||nu),straight:Us(e.bezier||xv),step:Us(e.step||wv),smoothstep:Us(e.step||fu),simplebezier:Us(e.simplebezier||yv)},r={},s=Object.keys(e).filter(o=>!["default","bezier"].includes(o)).reduce((o,l)=>(o[l]=Us(e[l]||nu),o),r);return{...n,...s}}function tx(e,n,r=null){const s=((r==null?void 0:r.x)||0)+n.x,o=((r==null?void 0:r.y)||0)+n.y,l=(r==null?void 0:r.width)||n.width,u=(r==null?void 0:r.height)||n.height;switch(e){case Te.Top:return{x:s+l/2,y:o};case Te.Right:return{x:s+l,y:o+u/2};case Te.Bottom:return{x:s+l/2,y:o+u};case Te.Left:return{x:s,y:o+u/2}}}function nx(e,n){return e?e.length===1||!n?e[0]:n&&e.find(r=>r.id===n)||null:null}const jM=(e,n,r,s,o,l)=>{const u=tx(r,e,n),c=tx(l,s,o);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y}};function RM({sourcePos:e,targetPos:n,sourceWidth:r,sourceHeight:s,targetWidth:o,targetHeight:l,width:u,height:c,transform:p}){const h={x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x+r,n.x+o),y2:Math.max(e.y+s,n.y+l)};h.x===h.x2&&(h.x2+=1),h.y===h.y2&&(h.y2+=1);const f=ua({x:(0-p[0])/p[2],y:(0-p[1])/p[2],width:u/p[2],height:c/p[2]}),g=Math.max(0,Math.min(f.x2,h.x2)-Math.max(f.x,h.x)),y=Math.max(0,Math.min(f.y2,h.y2)-Math.max(f.y,h.y));return Math.ceil(g*y)>0}function rx(e){var s,o,l,u,c;const n=((s=e==null?void 0:e[ht])==null?void 0:s.handleBounds)||null,r=n&&(e==null?void 0:e.width)&&(e==null?void 0:e.height)&&typeof((o=e==null?void 0:e.positionAbsolute)==null?void 0:o.x)<"u"&&typeof((l=e==null?void 0:e.positionAbsolute)==null?void 0:l.y)<"u";return[{x:((u=e==null?void 0:e.positionAbsolute)==null?void 0:u.x)||0,y:((c=e==null?void 0:e.positionAbsolute)==null?void 0:c.y)||0,width:(e==null?void 0:e.width)||0,height:(e==null?void 0:e.height)||0},n,!!r]}const AM=[{level:0,isMaxLevel:!0,edges:[]}];function IM(e,n,r=!1){let s=-1;const o=e.reduce((u,c)=>{var f,g;const p=En(c.zIndex);let h=p?c.zIndex:0;if(r){const y=n.get(c.target),x=n.get(c.source),N=c.selected||(y==null?void 0:y.selected)||(x==null?void 0:x.selected),_=Math.max(((f=x==null?void 0:x[ht])==null?void 0:f.z)||0,((g=y==null?void 0:y[ht])==null?void 0:g.z)||0,1e3);h=(p?c.zIndex:0)+(N?_:0)}return u[h]?u[h].push(c):u[h]=[c],s=h>s?h:s,u},{}),l=Object.entries(o).map(([u,c])=>{const p=+u;return{edges:c,level:p,isMaxLevel:p===s}});return l.length===0?AM:l}function MM(e,n,r){const s=Xe(A.useCallback(o=>e?o.edges.filter(l=>{const u=n.get(l.source),c=n.get(l.target);return(u==null?void 0:u.width)&&(u==null?void 0:u.height)&&(c==null?void 0:c.width)&&(c==null?void 0:c.height)&&RM({sourcePos:u.positionAbsolute||{x:0,y:0},targetPos:c.positionAbsolute||{x:0,y:0},sourceWidth:u.width,sourceHeight:u.height,targetWidth:c.width,targetHeight:c.height,width:o.width,height:o.height,transform:o.transform})}):o.edges,[e,n]));return IM(s,n,r)}const PM=({color:e="none",strokeWidth:n=1})=>ae.createElement("polyline",{style:{stroke:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),OM=({color:e="none",strokeWidth:n=1})=>ae.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:n},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),ix={[tu.Arrow]:PM,[tu.ArrowClosed]:OM};function LM(e){const n=Et();return A.useMemo(()=>{var o,l;return Object.prototype.hasOwnProperty.call(ix,e)?ix[e]:((l=(o=n.getState()).onError)==null||l.call(o,"009",Pr.error009(e)),null)},[e])}const qM=({id:e,type:n,color:r,width:s=12.5,height:o=12.5,markerUnits:l="strokeWidth",strokeWidth:u,orient:c="auto-start-reverse"})=>{const p=LM(n);return p?ae.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:l,orient:c,refX:"0",refY:"0"},ae.createElement(p,{color:r,strokeWidth:u})):null},$M=({defaultColor:e,rfId:n})=>r=>{const s=[];return r.edges.reduce((o,l)=>([l.markerStart,l.markerEnd].forEach(u=>{if(u&&typeof u=="object"){const c=Kg(u,n);s.includes(c)||(o.push({id:c,color:u.color||e,...u}),s.push(c))}}),o),[]).sort((o,l)=>o.id.localeCompare(l.id))},gN=({defaultColor:e,rfId:n})=>{const r=Xe(A.useCallback($M({defaultColor:e,rfId:n}),[e,n]),(s,o)=>!(s.length!==o.length||s.some((l,u)=>l.id!==o[u].id)));return ae.createElement("defs",null,r.map(s=>ae.createElement(qM,{id:s.id,key:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient})))};gN.displayName="MarkerDefinitions";var DM=A.memo(gN);const FM=e=>({nodesConnectable:e.nodesConnectable,edgesFocusable:e.edgesFocusable,edgesUpdatable:e.edgesUpdatable,elementsSelectable:e.elementsSelectable,width:e.width,height:e.height,connectionMode:e.connectionMode,nodeInternals:e.nodeInternals,onError:e.onError}),vN=({defaultMarkerColor:e,onlyRenderVisibleElements:n,elevateEdgesOnSelect:r,rfId:s,edgeTypes:o,noPanClassName:l,onEdgeContextMenu:u,onEdgeMouseEnter:c,onEdgeMouseMove:p,onEdgeMouseLeave:h,onEdgeClick:f,onEdgeDoubleClick:g,onReconnect:y,onReconnectStart:x,onReconnectEnd:N,reconnectRadius:_,children:b,disableKeyboardA11y:S})=>{const{edgesFocusable:k,edgesUpdatable:E,elementsSelectable:C,width:I,height:M,connectionMode:O,nodeInternals:W,onError:L}=Xe(FM,kt),P=MM(n,W,r);return I?ae.createElement(ae.Fragment,null,P.map(({level:q,edges:U,isMaxLevel:B})=>ae.createElement("svg",{key:q,style:{zIndex:q},width:I,height:M,className:"react-flow__edges react-flow__container"},B&&ae.createElement(DM,{defaultColor:e,rfId:s}),ae.createElement("g",null,U.map(R=>{const[Q,H,te]=rx(W.get(R.source)),[Z,D,X]=rx(W.get(R.target));if(!te||!X)return null;let j=R.type||"default";o[j]||(L==null||L("011",Pr.error011(j)),j="default");const $=o[j]||o.default,V=O===ns.Strict?D.target:(D.target??[]).concat(D.source??[]),F=nx(H.source,R.sourceHandle),J=nx(V,R.targetHandle),ne=(F==null?void 0:F.position)||Te.Bottom,le=(J==null?void 0:J.position)||Te.Top,de=!!(R.focusable||k&&typeof R.focusable>"u"),me=R.reconnectable||R.updatable,ve=typeof y<"u"&&(me||E&&typeof me>"u");if(!F||!J)return L==null||L("008",Pr.error008(F,R)),null;const{sourceX:Pe,sourceY:Me,targetX:Oe,targetY:ye}=jM(Q,F,ne,Z,J,le);return ae.createElement($,{key:R.id,id:R.id,className:qt([R.className,l]),type:j,data:R.data,selected:!!R.selected,animated:!!R.animated,hidden:!!R.hidden,label:R.label,labelStyle:R.labelStyle,labelShowBg:R.labelShowBg,labelBgStyle:R.labelBgStyle,labelBgPadding:R.labelBgPadding,labelBgBorderRadius:R.labelBgBorderRadius,style:R.style,source:R.source,target:R.target,sourceHandleId:R.sourceHandle,targetHandleId:R.targetHandle,markerEnd:R.markerEnd,markerStart:R.markerStart,sourceX:Pe,sourceY:Me,targetX:Oe,targetY:ye,sourcePosition:ne,targetPosition:le,elementsSelectable:C,onContextMenu:u,onMouseEnter:c,onMouseMove:p,onMouseLeave:h,onClick:f,onEdgeDoubleClick:g,onReconnect:y,onReconnectStart:x,onReconnectEnd:N,reconnectRadius:_,rfId:s,ariaLabel:R.ariaLabel,isFocusable:de,isReconnectable:ve,pathOptions:"pathOptions"in R?R.pathOptions:void 0,interactionWidth:R.interactionWidth,disableKeyboardA11y:S})})))),b):null};vN.displayName="EdgeRenderer";var zM=A.memo(vN);const BM=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function UM({children:e}){const n=Xe(BM);return ae.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:n}},e)}function HM(e){const n=ya(),r=A.useRef(!1);A.useEffect(()=>{!r.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),r.current=!0)},[e,n.viewportInitialized])}const WM={[Te.Left]:Te.Right,[Te.Right]:Te.Left,[Te.Top]:Te.Bottom,[Te.Bottom]:Te.Top},yN=({nodeId:e,handleType:n,style:r,type:s=hi.Bezier,CustomComponent:o,connectionStatus:l})=>{var M,O,W;const{fromNode:u,handleId:c,toX:p,toY:h,connectionMode:f}=Xe(A.useCallback(L=>({fromNode:L.nodeInternals.get(e),handleId:L.connectionHandleId,toX:(L.connectionPosition.x-L.transform[0])/L.transform[2],toY:(L.connectionPosition.y-L.transform[1])/L.transform[2],connectionMode:L.connectionMode}),[e]),kt),g=(M=u==null?void 0:u[ht])==null?void 0:M.handleBounds;let y=g==null?void 0:g[n];if(f===ns.Loose&&(y=y||(g==null?void 0:g[n==="source"?"target":"source"])),!u||!y)return null;const x=c?y.find(L=>L.id===c):y[0],N=x?x.x+x.width/2:(u.width??0)/2,_=x?x.y+x.height/2:u.height??0,b=(((O=u.positionAbsolute)==null?void 0:O.x)??0)+N,S=(((W=u.positionAbsolute)==null?void 0:W.y)??0)+_,k=x==null?void 0:x.position,E=k?WM[k]:null;if(!k||!E)return null;if(o)return ae.createElement(o,{connectionLineType:s,connectionLineStyle:r,fromNode:u,fromHandle:x,fromX:b,fromY:S,toX:p,toY:h,fromPosition:k,toPosition:E,connectionStatus:l});let C="";const I={sourceX:b,sourceY:S,sourcePosition:k,targetX:p,targetY:h,targetPosition:E};return s===hi.Bezier?[C]=UE(I):s===hi.Step?[C]=Yg({...I,borderRadius:0}):s===hi.SmoothStep?[C]=Yg(I):s===hi.SimpleBezier?[C]=BE(I):C=`M${b},${S} ${p},${h}`,ae.createElement("path",{d:C,fill:"none",className:"react-flow__connection-path",style:r})};yN.displayName="ConnectionLine";const VM=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function GM({containerStyle:e,style:n,type:r,component:s}){const{nodeId:o,handleType:l,nodesConnectable:u,width:c,height:p,connectionStatus:h}=Xe(VM,kt);return!(o&&l&&c&&u)?null:ae.createElement("svg",{style:e,width:c,height:p,className:"react-flow__edges react-flow__connectionline react-flow__container"},ae.createElement("g",{className:qt(["react-flow__connection",h])},ae.createElement(yN,{nodeId:o,handleType:l,style:n,type:r,CustomComponent:s,connectionStatus:h})))}function sx(e,n){return A.useRef(null),Et(),A.useMemo(()=>n(e),[e])}const wN=({nodeTypes:e,edgeTypes:n,onMove:r,onMoveStart:s,onMoveEnd:o,onInit:l,onNodeClick:u,onEdgeClick:c,onNodeDoubleClick:p,onEdgeDoubleClick:h,onNodeMouseEnter:f,onNodeMouseMove:g,onNodeMouseLeave:y,onNodeContextMenu:x,onSelectionContextMenu:N,onSelectionStart:_,onSelectionEnd:b,connectionLineType:S,connectionLineStyle:k,connectionLineComponent:E,connectionLineContainerStyle:C,selectionKeyCode:I,selectionOnDrag:M,selectionMode:O,multiSelectionKeyCode:W,panActivationKeyCode:L,zoomActivationKeyCode:P,deleteKeyCode:q,onlyRenderVisibleElements:U,elementsSelectable:B,selectNodesOnDrag:R,defaultViewport:Q,translateExtent:H,minZoom:te,maxZoom:Z,preventScrolling:D,defaultMarkerColor:X,zoomOnScroll:j,zoomOnPinch:$,panOnScroll:V,panOnScrollSpeed:F,panOnScrollMode:J,zoomOnDoubleClick:ne,panOnDrag:le,onPaneClick:de,onPaneMouseEnter:me,onPaneMouseMove:ve,onPaneMouseLeave:Pe,onPaneScroll:Me,onPaneContextMenu:Oe,onEdgeContextMenu:ye,onEdgeMouseEnter:Se,onEdgeMouseMove:Ke,onEdgeMouseLeave:xe,onReconnect:ge,onReconnectStart:Fe,onReconnectEnd:pt,reconnectRadius:mt,noDragClassName:Ze,noWheelClassName:De,noPanClassName:Qe,elevateEdgesOnSelect:at,disableKeyboardA11y:It,nodeOrigin:it,nodeExtent:gt,rfId:Kt})=>{const Mt=sx(e,_M),Ye=sx(n,TM);return HM(l),ae.createElement(wM,{onPaneClick:de,onPaneMouseEnter:me,onPaneMouseMove:ve,onPaneMouseLeave:Pe,onPaneContextMenu:Oe,onPaneScroll:Me,deleteKeyCode:q,selectionKeyCode:I,selectionOnDrag:M,selectionMode:O,onSelectionStart:_,onSelectionEnd:b,multiSelectionKeyCode:W,panActivationKeyCode:L,zoomActivationKeyCode:P,elementsSelectable:B,onMove:r,onMoveStart:s,onMoveEnd:o,zoomOnScroll:j,zoomOnPinch:$,zoomOnDoubleClick:ne,panOnScroll:V,panOnScrollSpeed:F,panOnScrollMode:J,panOnDrag:le,defaultViewport:Q,translateExtent:H,minZoom:te,maxZoom:Z,onSelectionContextMenu:N,preventScrolling:D,noDragClassName:Ze,noWheelClassName:De,noPanClassName:Qe,disableKeyboardA11y:It},ae.createElement(UM,null,ae.createElement(zM,{edgeTypes:Ye,onEdgeClick:c,onEdgeDoubleClick:h,onlyRenderVisibleElements:U,onEdgeContextMenu:ye,onEdgeMouseEnter:Se,onEdgeMouseMove:Ke,onEdgeMouseLeave:xe,onReconnect:ge,onReconnectStart:Fe,onReconnectEnd:pt,reconnectRadius:mt,defaultMarkerColor:X,noPanClassName:Qe,elevateEdgesOnSelect:!!at,disableKeyboardA11y:It,rfId:Kt},ae.createElement(GM,{style:k,type:S,component:E,containerStyle:C})),ae.createElement("div",{className:"react-flow__edgelabel-renderer"}),ae.createElement(kM,{nodeTypes:Mt,onNodeClick:u,onNodeDoubleClick:p,onNodeMouseEnter:f,onNodeMouseMove:g,onNodeMouseLeave:y,onNodeContextMenu:x,selectNodesOnDrag:R,onlyRenderVisibleElements:U,noPanClassName:Qe,noDragClassName:Ze,disableKeyboardA11y:It,nodeOrigin:it,nodeExtent:gt,rfId:Kt})))};wN.displayName="GraphView";var YM=A.memo(wN);const Jg=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],ci={rfId:"1",width:0,height:0,transform:[0,0,1],nodeInternals:new Map,edges:[],onNodesChange:null,onEdgesChange:null,hasDefaultNodes:!1,hasDefaultEdges:!1,d3Zoom:null,d3Selection:null,d3ZoomHandler:void 0,minZoom:.5,maxZoom:2,translateExtent:Jg,nodeExtent:Jg,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:ns.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:[0,0],nodeDragThreshold:0,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesUpdatable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,fitViewOnInit:!1,fitViewOnInitDone:!1,fitViewOnInitOptions:void 0,onSelectionChange:[],multiSelectionActive:!1,connectionStartHandle:null,connectionEndHandle:null,connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,connectionRadius:20,onError:_I,isValidConnection:void 0},KM=()=>Oj((e,n)=>({...ci,setNodes:r=>{const{nodeInternals:s,nodeOrigin:o,elevateNodesOnSelect:l}=n();e({nodeInternals:hd(r,s,o,l)})},getNodes:()=>Array.from(n().nodeInternals.values()),setEdges:r=>{const{defaultEdgeOptions:s={}}=n();e({edges:r.map(o=>({...s,...o}))})},setDefaultNodesAndEdges:(r,s)=>{const o=typeof r<"u",l=typeof s<"u",u=o?hd(r,new Map,n().nodeOrigin,n().elevateNodesOnSelect):new Map;e({nodeInternals:u,edges:l?s:[],hasDefaultNodes:o,hasDefaultEdges:l})},updateNodeDimensions:r=>{const{onNodesChange:s,nodeInternals:o,fitViewOnInit:l,fitViewOnInitDone:u,fitViewOnInitOptions:c,domNode:p,nodeOrigin:h}=n(),f=p==null?void 0:p.querySelector(".react-flow__viewport");if(!f)return;const g=window.getComputedStyle(f),{m22:y}=new window.DOMMatrixReadOnly(g.transform),x=r.reduce((_,b)=>{const S=o.get(b.id);if(S!=null&&S.hidden)o.set(S.id,{...S,[ht]:{...S[ht],handleBounds:void 0}});else if(S){const k=gv(b.nodeElement);!!(k.width&&k.height&&(S.width!==k.width||S.height!==k.height||b.forceUpdate))&&(o.set(S.id,{...S,[ht]:{...S[ht],handleBounds:{source:Zw(".source",b.nodeElement,y,h),target:Zw(".target",b.nodeElement,y,h)}},...k}),_.push({id:S.id,type:"dimensions",dimensions:k}))}return _},[]);aN(o,h);const N=u||l&&!u&&lN(n,{initial:!0,...c});e({nodeInternals:new Map(o),fitViewOnInitDone:N}),(x==null?void 0:x.length)>0&&(s==null||s(x))},updateNodePositions:(r,s=!0,o=!1)=>{const{triggerNodeChanges:l}=n(),u=r.map(c=>{const p={id:c.id,type:"position",dragging:o};return s&&(p.positionAbsolute=c.positionAbsolute,p.position=c.position),p});l(u)},triggerNodeChanges:r=>{const{onNodesChange:s,nodeInternals:o,hasDefaultNodes:l,nodeOrigin:u,getNodes:c,elevateNodesOnSelect:p}=n();if(r!=null&&r.length){if(l){const h=cM(r,c()),f=hd(h,o,u,p);e({nodeInternals:f})}s==null||s(r)}},addSelectedNodes:r=>{const{multiSelectionActive:s,edges:o,getNodes:l}=n();let u,c=null;s?u=r.map(p=>fi(p,!0)):(u=Vs(l(),r),c=Vs(o,[])),Pl({changedNodes:u,changedEdges:c,get:n,set:e})},addSelectedEdges:r=>{const{multiSelectionActive:s,edges:o,getNodes:l}=n();let u,c=null;s?u=r.map(p=>fi(p,!0)):(u=Vs(o,r),c=Vs(l(),[])),Pl({changedNodes:c,changedEdges:u,get:n,set:e})},unselectNodesAndEdges:({nodes:r,edges:s}={})=>{const{edges:o,getNodes:l}=n(),u=r||l(),c=s||o,p=u.map(f=>(f.selected=!1,fi(f.id,!1))),h=c.map(f=>fi(f.id,!1));Pl({changedNodes:p,changedEdges:h,get:n,set:e})},setMinZoom:r=>{const{d3Zoom:s,maxZoom:o}=n();s==null||s.scaleExtent([r,o]),e({minZoom:r})},setMaxZoom:r=>{const{d3Zoom:s,minZoom:o}=n();s==null||s.scaleExtent([o,r]),e({maxZoom:r})},setTranslateExtent:r=>{var s;(s=n().d3Zoom)==null||s.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{const{edges:r,getNodes:s}=n(),l=s().filter(c=>c.selected).map(c=>fi(c.id,!1)),u=r.filter(c=>c.selected).map(c=>fi(c.id,!1));Pl({changedNodes:l,changedEdges:u,get:n,set:e})},setNodeExtent:r=>{const{nodeInternals:s}=n();s.forEach(o=>{o.positionAbsolute=vv(o.position,r)}),e({nodeExtent:r,nodeInternals:new Map(s)})},panBy:r=>{const{transform:s,width:o,height:l,d3Zoom:u,d3Selection:c,translateExtent:p}=n();if(!u||!c||!r.x&&!r.y)return!1;const h=Ir.translate(s[0]+r.x,s[1]+r.y).scale(s[2]),f=[[0,0],[o,l]],g=u==null?void 0:u.constrain()(h,f,p);return u.transform(c,g),s[0]!==g.x||s[1]!==g.y||s[2]!==g.k},cancelConnection:()=>e({connectionNodeId:ci.connectionNodeId,connectionHandleId:ci.connectionHandleId,connectionHandleType:ci.connectionHandleType,connectionStatus:ci.connectionStatus,connectionStartHandle:ci.connectionStartHandle,connectionEndHandle:ci.connectionEndHandle}),reset:()=>e({...ci})}),Object.is),Ev=({children:e})=>{const n=A.useRef(null);return n.current||(n.current=KM()),ae.createElement(pI,{value:n.current},e)};Ev.displayName="ReactFlowProvider";const xN=({children:e})=>A.useContext(du)?ae.createElement(ae.Fragment,null,e):ae.createElement(Ev,null,e);xN.displayName="ReactFlowWrapper";const XM={input:eN,default:Qg,output:nN,group:Sv},QM={default:nu,straight:xv,step:wv,smoothstep:fu,simplebezier:yv},ZM=[0,0],JM=[15,15],eP={x:0,y:0,zoom:1},tP={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},_N=A.forwardRef(({nodes:e,edges:n,defaultNodes:r,defaultEdges:s,className:o,nodeTypes:l=XM,edgeTypes:u=QM,onNodeClick:c,onEdgeClick:p,onInit:h,onMove:f,onMoveStart:g,onMoveEnd:y,onConnect:x,onConnectStart:N,onConnectEnd:_,onClickConnectStart:b,onClickConnectEnd:S,onNodeMouseEnter:k,onNodeMouseMove:E,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:M,onNodeDragStart:O,onNodeDrag:W,onNodeDragStop:L,onNodesDelete:P,onEdgesDelete:q,onSelectionChange:U,onSelectionDragStart:B,onSelectionDrag:R,onSelectionDragStop:Q,onSelectionContextMenu:H,onSelectionStart:te,onSelectionEnd:Z,connectionMode:D=ns.Strict,connectionLineType:X=hi.Bezier,connectionLineStyle:j,connectionLineComponent:$,connectionLineContainerStyle:V,deleteKeyCode:F="Backspace",selectionKeyCode:J="Shift",selectionOnDrag:ne=!1,selectionMode:le=ca.Full,panActivationKeyCode:de="Space",multiSelectionKeyCode:me=eu()?"Meta":"Control",zoomActivationKeyCode:ve=eu()?"Meta":"Control",snapToGrid:Pe=!1,snapGrid:Me=JM,onlyRenderVisibleElements:Oe=!1,selectNodesOnDrag:ye=!0,nodesDraggable:Se,nodesConnectable:Ke,nodesFocusable:xe,nodeOrigin:ge=ZM,edgesFocusable:Fe,edgesUpdatable:pt,elementsSelectable:mt,defaultViewport:Ze=eP,minZoom:De=.5,maxZoom:Qe=2,translateExtent:at=Jg,preventScrolling:It=!0,nodeExtent:it,defaultMarkerColor:gt="#b1b1b7",zoomOnScroll:Kt=!0,zoomOnPinch:Mt=!0,panOnScroll:Ye=!1,panOnScrollSpeed:Nt=.5,panOnScrollMode:dt=Zi.Free,zoomOnDoubleClick:lt=!0,panOnDrag:fn=!0,onPaneClick:Ut,onPaneMouseEnter:Ct,onPaneMouseMove:Je,onPaneMouseLeave:hr,onPaneScroll:Ht,onPaneContextMenu:hn,children:Tn,onEdgeContextMenu:Tt,onEdgeDoubleClick:pr,onEdgeMouseEnter:as,onEdgeMouseMove:ls,onEdgeMouseLeave:vi,onEdgeUpdate:qr,onEdgeUpdateStart:jn,onEdgeUpdateEnd:Zn,onReconnect:$r,onReconnectStart:pn,onReconnectEnd:us,reconnectRadius:Rn=10,edgeUpdaterRadius:yt=10,onNodesChange:An,onEdgesChange:Jn,noDragClassName:In="nodrag",noWheelClassName:cs="nowheel",noPanClassName:yi="nopan",fitView:Mn=!1,fitViewOptions:er,connectOnClick:wi=!0,attributionPosition:ds,proOptions:fs,defaultEdgeOptions:xi,elevateNodesOnSelect:_i=!0,elevateEdgesOnSelect:Dr=!1,disableKeyboardA11y:Pn=!1,autoPanOnConnect:uo=!0,autoPanOnNodeDrag:Be=!0,connectionRadius:bi=20,isValidConnection:mr,onError:Si,style:On,id:Fr,nodeDragThreshold:mn,...gr},Wt)=>{const zr=Fr||"1";return ae.createElement("div",{...gr,style:{...On,...tP},ref:Wt,className:qt(["react-flow",o]),"data-testid":"rf__wrapper",id:Fr},ae.createElement(xN,null,ae.createElement(YM,{onInit:h,onMove:f,onMoveStart:g,onMoveEnd:y,onNodeClick:c,onEdgeClick:p,onNodeMouseEnter:k,onNodeMouseMove:E,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:M,nodeTypes:l,edgeTypes:u,connectionLineType:X,connectionLineStyle:j,connectionLineComponent:$,connectionLineContainerStyle:V,selectionKeyCode:J,selectionOnDrag:ne,selectionMode:le,deleteKeyCode:F,multiSelectionKeyCode:me,panActivationKeyCode:de,zoomActivationKeyCode:ve,onlyRenderVisibleElements:Oe,selectNodesOnDrag:ye,defaultViewport:Ze,translateExtent:at,minZoom:De,maxZoom:Qe,preventScrolling:It,zoomOnScroll:Kt,zoomOnPinch:Mt,zoomOnDoubleClick:lt,panOnScroll:Ye,panOnScrollSpeed:Nt,panOnScrollMode:dt,panOnDrag:fn,onPaneClick:Ut,onPaneMouseEnter:Ct,onPaneMouseMove:Je,onPaneMouseLeave:hr,onPaneScroll:Ht,onPaneContextMenu:hn,onSelectionContextMenu:H,onSelectionStart:te,onSelectionEnd:Z,onEdgeContextMenu:Tt,onEdgeDoubleClick:pr,onEdgeMouseEnter:as,onEdgeMouseMove:ls,onEdgeMouseLeave:vi,onReconnect:$r??qr,onReconnectStart:pn??jn,onReconnectEnd:us??Zn,reconnectRadius:Rn??yt,defaultMarkerColor:gt,noDragClassName:In,noWheelClassName:cs,noPanClassName:yi,elevateEdgesOnSelect:Dr,rfId:zr,disableKeyboardA11y:Pn,nodeOrigin:ge,nodeExtent:it}),ae.createElement(HI,{nodes:e,edges:n,defaultNodes:r,defaultEdges:s,onConnect:x,onConnectStart:N,onConnectEnd:_,onClickConnectStart:b,onClickConnectEnd:S,nodesDraggable:Se,nodesConnectable:Ke,nodesFocusable:xe,edgesFocusable:Fe,edgesUpdatable:pt,elementsSelectable:mt,elevateNodesOnSelect:_i,minZoom:De,maxZoom:Qe,nodeExtent:it,onNodesChange:An,onEdgesChange:Jn,snapToGrid:Pe,snapGrid:Me,connectionMode:D,translateExtent:at,connectOnClick:wi,defaultEdgeOptions:xi,fitView:Mn,fitViewOptions:er,onNodesDelete:P,onEdgesDelete:q,onNodeDragStart:O,onNodeDrag:W,onNodeDragStop:L,onSelectionDrag:R,onSelectionDragStart:B,onSelectionDragStop:Q,noPanClassName:yi,nodeOrigin:ge,rfId:zr,autoPanOnConnect:uo,autoPanOnNodeDrag:Be,onError:Si,connectionRadius:bi,isValidConnection:mr,nodeDragThreshold:mn}),ae.createElement(BI,{onSelectionChange:U}),Tn,ae.createElement(gI,{proOptions:fs,position:ds}),ae.createElement(KI,{rfId:zr,disableKeyboardA11y:Pn})))});_N.displayName="ReactFlow";const nP=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function bN(){return Xe(nP,kt)}const SN=({id:e,x:n,y:r,width:s,height:o,style:l,color:u,strokeColor:c,strokeWidth:p,className:h,borderRadius:f,shapeRendering:g,onClick:y,selected:x})=>{const{background:N,backgroundColor:_}=l||{},b=u||N||_;return ae.createElement("rect",{className:qt(["react-flow__minimap-node",{selected:x},h]),x:n,y:r,rx:f,ry:f,width:s,height:o,fill:b,stroke:c,strokeWidth:p,shapeRendering:g,onClick:y?S=>y(S,e):void 0})};SN.displayName="MiniMapNode";var rP=A.memo(SN);const iP=e=>e.nodeOrigin,sP=e=>e.getNodes().filter(n=>!n.hidden&&n.width&&n.height),vd=e=>e instanceof Function?e:()=>e;function oP({nodeStrokeColor:e="transparent",nodeColor:n="#e2e2e2",nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:o=2,nodeComponent:l=rP,onClick:u}){const c=Xe(sP,kt),p=Xe(iP),h=vd(n),f=vd(e),g=vd(r),y=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return ae.createElement(ae.Fragment,null,c.map(x=>{const{x:N,y:_}=es(x,p).positionAbsolute;return ae.createElement(l,{key:x.id,x:N,y:_,width:x.width,height:x.height,style:x.style,selected:x.selected,className:g(x),color:h(x),borderRadius:s,strokeColor:f(x),strokeWidth:o,shapeRendering:y,onClick:u,id:x.id})}))}var aP=A.memo(oP);const lP=200,uP=150,cP=e=>{const n=e.getNodes(),r={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:r,boundingRect:n.length>0?wI(hu(n,e.nodeOrigin),r):r,rfId:e.rfId}},dP="react-flow__minimap-desc";function kN({style:e,className:n,nodeStrokeColor:r="transparent",nodeColor:s="#e2e2e2",nodeClassName:o="",nodeBorderRadius:l=5,nodeStrokeWidth:u=2,nodeComponent:c,maskColor:p="rgb(240, 240, 240, 0.6)",maskStrokeColor:h="none",maskStrokeWidth:f=1,position:g="bottom-right",onClick:y,onNodeClick:x,pannable:N=!1,zoomable:_=!1,ariaLabel:b="React Flow mini map",inversePan:S=!1,zoomStep:k=10,offsetScale:E=5}){const C=Et(),I=A.useRef(null),{boundingRect:M,viewBB:O,rfId:W}=Xe(cP,kt),L=(e==null?void 0:e.width)??lP,P=(e==null?void 0:e.height)??uP,q=M.width/L,U=M.height/P,B=Math.max(q,U),R=B*L,Q=B*P,H=E*B,te=M.x-(R-M.width)/2-H,Z=M.y-(Q-M.height)/2-H,D=R+H*2,X=Q+H*2,j=`${dP}-${W}`,$=A.useRef(0);$.current=B,A.useEffect(()=>{if(I.current){const J=kn(I.current),ne=me=>{const{transform:ve,d3Selection:Pe,d3Zoom:Me}=C.getState();if(me.sourceEvent.type!=="wheel"||!Pe||!Me)return;const Oe=-me.sourceEvent.deltaY*(me.sourceEvent.deltaMode===1?.05:me.sourceEvent.deltaMode?1:.002)*k,ye=ve[2]*Math.pow(2,Oe);Me.scaleTo(Pe,ye)},le=me=>{const{transform:ve,d3Selection:Pe,d3Zoom:Me,translateExtent:Oe,width:ye,height:Se}=C.getState();if(me.sourceEvent.type!=="mousemove"||!Pe||!Me)return;const Ke=$.current*Math.max(1,ve[2])*(S?-1:1),xe={x:ve[0]-me.sourceEvent.movementX*Ke,y:ve[1]-me.sourceEvent.movementY*Ke},ge=[[0,0],[ye,Se]],Fe=Ir.translate(xe.x,xe.y).scale(ve[2]),pt=Me.constrain()(Fe,ge,Oe);Me.transform(Pe,pt)},de=IE().on("zoom",N?le:null).on("zoom.wheel",_?ne:null);return J.call(de),()=>{J.on("zoom",null)}}},[N,_,S,k]);const V=y?J=>{const ne=Vn(J);y(J,{x:ne[0],y:ne[1]})}:void 0,F=x?(J,ne)=>{const le=C.getState().nodeInternals.get(ne);x(J,le)}:void 0;return ae.createElement(mv,{position:g,style:e,className:qt(["react-flow__minimap",n]),"data-testid":"rf__minimap"},ae.createElement("svg",{width:L,height:P,viewBox:`${te} ${Z} ${D} ${X}`,role:"img","aria-labelledby":j,ref:I,onClick:V},b&&ae.createElement("title",{id:j},b),ae.createElement(aP,{onClick:F,nodeColor:s,nodeStrokeColor:r,nodeBorderRadius:l,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:c}),ae.createElement("path",{className:"react-flow__minimap-mask",d:`M${te-H},${Z-H}h${D+H*2}v${X+H*2}h${-D-H*2}z
57
57
  M${O.x},${O.y}h${O.width}v${O.height}h${-O.width}z`,fill:p,fillRule:"evenodd",stroke:h,strokeWidth:f,pointerEvents:"none"})))}kN.displayName="MiniMap";var fP=A.memo(kN);function hP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ae.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function pP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ae.createElement("path",{d:"M0 0h32v4.2H0z"}))}function mP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},ae.createElement("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"}))}function gP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ae.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"}))}function vP(){return ae.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ae.createElement("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"}))}const Gs=({children:e,className:n,...r})=>ae.createElement("button",{type:"button",className:qt(["react-flow__controls-button",n]),...r},e);Gs.displayName="ControlButton";const yP=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),EN=({style:e,showZoom:n=!0,showFitView:r=!0,showInteractive:s=!0,fitViewOptions:o,onZoomIn:l,onZoomOut:u,onFitView:c,onInteractiveChange:p,className:h,children:f,position:g="bottom-left"})=>{const y=Et(),[x,N]=A.useState(!1),{isInteractive:_,minZoomReached:b,maxZoomReached:S}=Xe(yP,kt),{zoomIn:k,zoomOut:E,fitView:C}=ya();if(A.useEffect(()=>{N(!0)},[]),!x)return null;const I=()=>{k(),l==null||l()},M=()=>{E(),u==null||u()},O=()=>{C(o),c==null||c()},W=()=>{y.setState({nodesDraggable:!_,nodesConnectable:!_,elementsSelectable:!_}),p==null||p(!_)};return ae.createElement(mv,{className:qt(["react-flow__controls",h]),position:g,style:e,"data-testid":"rf__controls"},n&&ae.createElement(ae.Fragment,null,ae.createElement(Gs,{onClick:I,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:S},ae.createElement(hP,null)),ae.createElement(Gs,{onClick:M,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:b},ae.createElement(pP,null))),r&&ae.createElement(Gs,{className:"react-flow__controls-fitview",onClick:O,title:"fit view","aria-label":"fit view"},ae.createElement(mP,null)),s&&ae.createElement(Gs,{className:"react-flow__controls-interactive",onClick:W,title:"toggle interactivity","aria-label":"toggle interactivity"},_?ae.createElement(vP,null):ae.createElement(gP,null)),f)};EN.displayName="Controls";var wP=A.memo(EN),Yn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(Yn||(Yn={}));function xP({color:e,dimensions:n,lineWidth:r}){return ae.createElement("path",{stroke:e,strokeWidth:r,d:`M${n[0]/2} 0 V${n[1]} M0 ${n[1]/2} H${n[0]}`})}function _P({color:e,radius:n}){return ae.createElement("circle",{cx:n,cy:n,r:n,fill:e})}const bP={[Yn.Dots]:"#91919a",[Yn.Lines]:"#eee",[Yn.Cross]:"#e2e2e2"},SP={[Yn.Dots]:1,[Yn.Lines]:1,[Yn.Cross]:6},kP=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function NN({id:e,variant:n=Yn.Dots,gap:r=20,size:s,lineWidth:o=1,offset:l=2,color:u,style:c,className:p}){const h=A.useRef(null),{transform:f,patternId:g}=Xe(kP,kt),y=u||bP[n],x=s||SP[n],N=n===Yn.Dots,_=n===Yn.Cross,b=Array.isArray(r)?r:[r,r],S=[b[0]*f[2]||1,b[1]*f[2]||1],k=x*f[2],E=_?[k,k]:S,C=N?[k/l,k/l]:[E[0]/l,E[1]/l];return ae.createElement("svg",{className:qt(["react-flow__background",p]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:h,"data-testid":"rf__background"},ae.createElement("pattern",{id:g+e,x:f[0]%S[0],y:f[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${C[0]},-${C[1]})`},N?ae.createElement(_P,{color:y,radius:k/l}):ae.createElement(xP,{dimensions:E,color:y,lineWidth:o})),ae.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${g+e})`}))}NN.displayName="Background";var EP=A.memo(NN);function CN(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function TN(e){const n=e.cache_creation,r=n&&typeof n=="object"?n:e,s=r.ephemeral_1h_input_tokens,o=r.ephemeral_5m_input_tokens;return typeof s!="number"&&typeof o!="number"?{}:{cacheCreate1hTokens:Number(s??0),cacheCreate5mTokens:Number(o??0)}}function jN(e,n=0){if(!e||typeof e!="object"||n>6)return null;const r=e;if(typeof r.input_tokens=="number"||typeof r.output_tokens=="number"||typeof r.cache_read_input_tokens=="number"||typeof r.cache_creation_input_tokens=="number")return{inputTokens:Number(r.input_tokens??0),outputTokens:Number(r.output_tokens??0),cacheReadTokens:Number(r.cache_read_input_tokens??0),cacheCreateTokens:Number(r.cache_creation_input_tokens??0),...TN(r)};for(const s of Object.values(r)){const o=jN(s,n+1);if(o)return o}return null}function NP(e,n){e.inputTokens+=n.inputTokens,e.outputTokens+=n.outputTokens,e.cacheReadTokens+=n.cacheReadTokens,e.cacheCreateTokens+=n.cacheCreateTokens,(n.cacheCreate1hTokens!==void 0||n.cacheCreate5mTokens!==void 0)&&(e.cacheCreate1hTokens=(e.cacheCreate1hTokens??0)+(n.cacheCreate1hTokens??0),e.cacheCreate5mTokens=(e.cacheCreate5mTokens??0)+(n.cacheCreate5mTokens??0))}const CP=/^(?:claude[-_]|gpt[-_]|o\d|codex[-_])/i;function RN(e,n=0){if(!e||typeof e!="object"||n>6)return null;const r=e;if(typeof r.model=="string"&&CP.test(r.model))return r.model;for(const s of Object.values(r)){const o=RN(s,n+1);if(o)return o}return null}function ev(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,seqEpoch:null,totalEvents:0}}function mi(e){if(!e)return;const n=e.replace(/\\/g,"/").split("/").filter(Boolean);return n[n.length-1]}function Nv(e,n){return`${e}::${n}`}function ru(e){return e.agent_type??e.subagent_type??"subagent"}function tv(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function ra(e,n,r,s){const o=n;let l=e.agents.get(o);return l||(l={id:o,sessionId:n,label:"session",kind:"root",state:"active",startedAt:r,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:s,inFlightTool:null,usage:CN()},e.agents.set(o,l),l)}function AN(e,n,r,s){const o=Nv(n,r),l=e.agents.get(o);if(!l)return null;!l.cwd&&s.cwd&&(l.cwd=s.cwd,l.cwdBasename=mi(s.cwd));const u=ru(s);return u&&(l.label==="subagent"||!l.label)&&(l.label=u),l}function ox(e,n,r){const s=n.session_id??"unknown",o=tv(n);if(o){const p=AN(e,s,o,n);if(p)return p}const l=e.activeSubagentStack.get(s),u=l&&l.length>0?l[l.length-1]:null;if(u){const p=e.agents.get(Nv(s,u));if(p)return!p.cwd&&n.cwd&&(p.cwd=n.cwd,p.cwdBasename=mi(n.cwd)),p}const c=ra(e,s,r,!1);return c.synthetic&&(c.synthetic=!1,c.startedAt=r),!c.cwd&&n.cwd&&(c.cwd=n.cwd,c.cwdBasename=mi(n.cwd)),c.label==="session"&&n.cwd&&(c.label=mi(n.cwd)??"session"),c}function TP(e,n,r,s,o){const l=Nv(n,r),u=ra(e,n,o,!0);let c=e.agents.get(l);if(c){!c.cwd&&s.cwd&&(c.cwd=s.cwd,c.cwdBasename=mi(s.cwd));const p=ru(s);return p&&(c.label==="subagent"||!c.label)&&(c.label=p),c}return c={id:l,sessionId:n,label:ru(s),kind:"subagent",parentId:u.id,state:"active",startedAt:o,tools:[],prompts:[],cwd:s.cwd,cwdBasename:mi(s.cwd),toolCount:0,childCount:0,inFlightTool:null,usage:CN()},e.agents.set(l,c),u.childCount+=1,c}function jP(e,n,r){const s=e.activeSubagentStack.get(n)??[];s.includes(r)||(s.push(r),e.activeSubagentStack.set(n,s))}function RP(e,n,r){const s=e.activeSubagentStack.get(n);if(s){for(let o=s.length-1;o>=0;o--)if(s[o]===r){s.splice(o,1);break}s.length===0&&e.activeSubagentStack.delete(n)}}function Ll(e,n=80){if(e==null)return"";if(typeof e=="string")return e.length>n?e.slice(0,n-1)+"…":e;try{const r=JSON.stringify(e);return r.length>n?r.slice(0,n-1)+"…":r}catch{return String(e)}}function Ys(e){let n=null;for(let r=e.tools.length-1;r>=0;r--){const s=e.tools[r];if(s.endedAt==null){n=s;break}}e.inFlightTool=n}const ax=200,AP=25;function IP(e,n){const r=n.tools;if(r.length>ax){const s=r.splice(0,r.length-ax);let o=!1;for(const l of s)e.toolIndex.delete(l.id)&&(o=!0),e.toolOwner.delete(l.id);o&&Ys(n)}for(let s=r.length-AP-1;s>=0;s--){const o=r[s];if(o.trimmed)break;o.input=void 0,o.response=void 0,o.trimmed=!0}}function MP(e,n,r){const s=e.toolIndex.get(r);if(s)return s;for(let o=n.tools.length-1;o>=0;o--)if(n.tools[o].id===r)return n.tools[o];return null}const lx=2e3;function PP(e,n,r){for(let s=e.prompts.length-1;s>=0;s--){const o=e.prompts[s];if(o.at<n-lx)return!1;if(o.text===r&&o.at<=n+lx)return!0}return!1}function OP(e,n,r,s){if(e.agents.size<=r)return!1;const o=[];for(const[u,c]of e.agents)c.state==="done"&&c.endedAt!=null&&n-c.endedAt>s&&o.push({id:u,endedAt:c.endedAt});if(o.length===0)return!1;o.sort((u,c)=>u.endedAt-c.endedAt);let l=0;for(const u of o){if(e.agents.size<=r)break;e.agents.delete(u.id),l++}return l>0}function LP(e,n,r,s){const o=new Map;for(const[h,f]of e.agents){let g=o.get(f.sessionId);g||(g={ids:[],endedAt:0,live:!1},o.set(f.sessionId,g)),g.ids.push(h),f.state==="done"&&f.endedAt!=null?g.endedAt=Math.max(g.endedAt,f.endedAt):g.live=!0}const l=[...o.values()].filter(h=>!h.live&&h.endedAt>0&&n-h.endedAt>s).sort((h,f)=>h.endedAt-f.endedAt);let c=[...o.values()].filter(h=>!h.live).length-r;if(c<=0)return!1;let p=!1;for(const h of l){if(c<=0)break;for(const f of h.ids)e.agents.delete(f);c--,p=!0}return p}function qP(e,n,r){let s=!1;for(const o of e.agents.values()){let l=!1;for(const u of o.tools)u.endedAt==null&&n-u.startedAt>r&&(u.endedAt=u.startedAt+r,u.ok=!1,u.errorPreview="stale (no PostToolUse received)",e.toolIndex.delete(u.id),e.toolOwner.delete(u.id),l=!0,s=!0);l&&Ys(o)}return s}function ux(e,n){const r=n.epoch??null;if(r!==null&&r!==e.seqEpoch)e.seqEpoch=r,e.lastSeq=0;else if(n.seq<=e.lastSeq)return e;const s=n.payload??{},o=n.receivedAt,l=s.hook_event_name??"Unknown";if(l==="__clear")return{...ev(),lastSeq:n.seq,seqEpoch:e.seqEpoch};e.totalEvents+=1,e.lastSeq=n.seq;const u=s.session_id??"unknown";if(typeof s.model_context_window=="number"&&s.model_context_window>0){const h=e.agents.get(u);h&&(h.contextWindow=s.model_context_window)}if(l==="ModelObserved"){const h=typeof s.model=="string"?s.model:null;if(h){const g=e.agents.get(u);g&&(g.model=h)}const f=s.subagentModels;if(f&&typeof f=="object")for(const[g,y]of Object.entries(f)){if(typeof y!="string")continue;const x=`${u}::${g}`,N=e.agents.get(x);N&&(N.model=y)}return e}if(l==="ContextObserved"){const h=s.context??null;if(h){const f=e.agents.get(u);f&&(f.context={msgsUser:Number(h.msgsUser??0),msgsAssistant:Number(h.msgsAssistant??0),toolUses:Number(h.toolUses??0),toolResults:Number(h.toolResults??0),systemReminders:Number(h.systemReminders??0),currentContextTokens:Number(h.currentContextTokens??0),claudeMdFiles:Array.isArray(h.claudeMdFiles)?h.claudeMdFiles:[]})}return e}if(l==="UsageObserved"){const h=s.usage??null;if(h){const f=e.agents.get(u);if(f){f.usage.inputTokens=Number(h.input_tokens??0),f.usage.outputTokens=Number(h.output_tokens??0),f.usage.cacheReadTokens=Number(h.cache_read_input_tokens??h.cached_input_tokens??0),f.usage.cacheCreateTokens=Number(h.cache_creation_input_tokens??0);const g=TN(h);f.usage.cacheCreate1hTokens=g.cacheCreate1hTokens,f.usage.cacheCreate5mTokens=g.cacheCreate5mTokens,typeof h.reasoning_output_tokens=="number"&&(f.usage.reasoningOutputTokens=Number(h.reasoning_output_tokens))}}return e}const c=ox(e,s,o);c.provider||(c.provider=s.provider==="codex"?"codex":"claude");const p=RN(s);switch(p&&(c.model=p),l){case"SessionStart":{const h=ra(e,u,o,!1);h.synthetic=!1,h.state="active",h.startedAt=h.startedAt||o,!h.cwd&&s.cwd&&(h.cwd=s.cwd,h.cwdBasename=mi(s.cwd)),h.label==="session"&&s.cwd&&(h.label=mi(s.cwd)??"session");break}case"UserPromptSubmit":{for(const y of e.agents.values())y.sessionId===u&&y.kind==="subagent"&&y.state==="done"&&y.exitAt==null&&y.endedAt!=null&&y.endedAt<o&&(y.exitAt=o);const h=ra(e,u,o,!1);h.state="active",h.endedAt=void 0,h.exitAt=void 0;const f=ox(e,s,o);f.state="active",f.exitAt=void 0,f.endedAt=void 0;const g=(typeof s.prompt=="string"?s.prompt:typeof s.message=="string"?s.message:"")??"";g&&!PP(f,o,g)&&(f.prompts.push({at:o,text:g}),f.firstPrompt||(f.firstPrompt=Ll(g,120)));break}case"PreToolUse":{const h=s.tool_use_id?MP(e,c,s.tool_use_id):null;if(h){s.tool_name&&h.name==="?"&&(h.name=s.tool_name),h.endedAt==null&&!h.trimmed&&s.tool_input!==void 0&&(h.input=s.tool_input,h.inputPreview=Ll(s.tool_input));break}const f=s.tool_use_id??`${c.id}:${c.toolCount}`,g={id:f,name:s.tool_name??"?",input:s.tool_input,inputPreview:Ll(s.tool_input),agentId:c.id,startedAt:o};c.tools.push(g),c.toolCount+=1,c.state="active",e.toolIndex.set(f,g),e.toolOwner.set(f,c.id),Ys(c),IP(e,c);break}case"PostToolUse":case"PostToolUseFailure":{const h=s.tool_use_id;if(!h)break;let f=e.toolIndex.get(h),g=!1;if(!f)for(const N of e.agents.values()){const _=N.tools.find(b=>b.id===h);if(_){f=_,g=!0;break}}if(!f)break;f.endedAt=o,f.ok=l==="PostToolUse",f.trimmed||(f.response=s.tool_response),l==="PostToolUseFailure"?f.errorPreview=Ll(s.tool_response):g&&(f.errorPreview=void 0);const y=jN(s.tool_response);y&&(f.usage=y),e.toolIndex.delete(h);const x=e.toolOwner.get(h)??f.agentId;if(e.toolOwner.delete(h),x){const N=e.agents.get(x);N&&(y&&NP(N.usage,y),Ys(N))}break}case"SubagentStart":{const h=tv(s);if(!h)break;const f=TP(e,u,h,s,o);f.state="active",f.startedAt=f.startedAt||o,f.exitAt=void 0,f.endedAt=void 0;const g=ru(s);g&&(f.label=g),jP(e,u,h);break}case"SubagentStop":{const h=tv(s);if(!h)break;const f=AN(e,u,h,s);if(!f)break;f.state="done",f.endedAt=o,Ys(f),RP(e,u,h);break}case"Stop":case"SessionEnd":{const h=ra(e,u,o,!1);h.state="done",h.endedAt=o,Ys(h),e.activeSubagentStack.delete(u);break}}return e}function Cv(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}const $P=Date.UTC(2026,8,1);function DP(e){return e<$P?{input:2,output:10,cacheRead:.2,cacheWrite:2.5,cacheWrite1h:4}:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}}const FP=[{match:/^claude[-_](fable|mythos)[-_]5\b/i,rates:{input:10,output:50,cacheRead:1,cacheWrite:12.5,cacheWrite1h:20}},{match:/^claude[-_]opus[-_]5\b/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,cacheWrite1h:10}},{match:/^claude[-_]sonnet[-_]5\b/i,rates:DP},{match:/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,cacheWrite1h:10}},{match:/^claude[-_]opus[-_]4(?:[-_.]1)?\b/i,rates:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75,cacheWrite1h:30}},{match:/^claude[-_]sonnet[-_]4[-_.](?:5|6)\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}},{match:/^claude[-_]sonnet[-_]4\b/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}},{match:/^claude[-_]haiku[-_]4[-_.]5\b/i,rates:{input:1,output:5,cacheRead:.1,cacheWrite:1.25,cacheWrite1h:2}},{match:/^claude[-_]haiku[-_]3[-_.]5\b/i,rates:{input:.8,output:4,cacheRead:.08,cacheWrite:1,cacheWrite1h:1.6}},{match:/^gpt[-_]5[-_.]6[-_]cyber/i,rates:{input:12.5,output:75,cacheRead:1.25,cacheWrite:0}},{match:/^gpt[-_]5[-_.]6[-_]luna/i,rates:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25}},{match:/^gpt[-_]5[-_.]6[-_]terra/i,rates:{input:2,output:12,cacheRead:.2,cacheWrite:2.5}},{match:/^gpt[-_]5[-_.]6(?:[-_]sol)?\b/i,rates:{input:5,output:30,cacheRead:.5,cacheWrite:6.25}},{match:/^gpt[-_]5[-_.]5[-_]pro/i,rates:{input:30,output:180,cacheRead:30,cacheWrite:0}},{match:/^gpt[-_]5[-_.]5\b/i,rates:{input:5,output:30,cacheRead:.5,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]pro/i,rates:{input:30,output:180,cacheRead:3,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]mini/i,rates:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4[-_]nano/i,rates:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0}},{match:/^gpt[-_]5[-_.]4\b/i,rates:{input:2.5,output:15,cacheRead:.25,cacheWrite:0}},{match:/^gpt[-_]5[-_.]3[-_]codex/i,rates:{input:1.75,output:14,cacheRead:.175,cacheWrite:0}},{match:/^gpt[-_]5[-_.]2[-_]pro/i,rates:{input:21,output:168,cacheRead:21,cacheWrite:0}},{match:/^gpt[-_]5[-_.]2\b/i,rates:{input:1.75,output:14,cacheRead:.175,cacheWrite:0}},{match:/^codex[-_]mini/i,rates:{input:1.5,output:6,cacheRead:.375,cacheWrite:0}},{match:/^o1[-_]pro/i,rates:{input:150,output:600,cacheRead:150,cacheWrite:0}},{match:/^o1\b/i,rates:{input:15,output:60,cacheRead:7.5,cacheWrite:0}},{match:/^o3[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0}},{match:/^o3[-_]pro/i,rates:{input:20,output:80,cacheRead:20,cacheWrite:0}},{match:/^o4[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.275,cacheWrite:0}},{match:/^o3\b/i,rates:{input:2,output:8,cacheRead:.5,cacheWrite:0}}];function zP(e){return e?/^(?:gpt[-_]|codex[-_]|o\d)/i.test(e):!1}function Tv(e,n=Date.now()){if(!e)return null;for(const r of FP)if(r.match.test(e))return typeof r.rates=="function"?r.rates(n):r.rates;return null}function IN(e,n){const r=Math.max(0,e.cacheCreate1hTokens??0),s=Math.max(0,e.cacheCreate5mTokens??0),o=Math.max(0,e.cacheCreateTokens-r-s),l=s+o,u=n.cacheWrite1h??n.cacheWrite;return{tokens5m:l,tokens1h:r,usd5m:l*n.cacheWrite/1e6,usd1h:r*u/1e6}}function MN(e,n){return zP(n)?Math.max(0,e.inputTokens-e.cacheReadTokens):e.inputTokens}function sn(e,n,r=Date.now()){const s=Tv(n,r);if(!s)return{input:0,output:0,cacheRead:0,cacheWrite:0,total:0};const o=MN(e,n)*s.input/1e6,l=e.outputTokens*s.output/1e6,u=e.cacheReadTokens*s.cacheRead/1e6,c=IN(e,s),p=c.usd5m+c.usd1h;return{input:o,output:l,cacheRead:u,cacheWrite:p,total:o+l+u+p}}const cx=2e5,BP=1e6,UP=[/\[1m\]/i,/^claude[-_]opus[-_]5\b/i,/^claude[-_]sonnet[-_]5\b/i,/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b/i,/^claude[-_]sonnet[-_]4[-_.]6\b/i,/^claude[-_](fable|mythos)[-_]5\b/i],HP=[{match:/^gpt[-_]5[-_.]6[-_]cyber/i,window:4e5},{match:/^gpt[-_]5[-_.]6/i,window:105e4},{match:/^gpt[-_]5[-_.]5/i,window:105e4},{match:/^gpt[-_]5[-_.]4[-_](?:mini|nano)/i,window:4e5},{match:/^gpt[-_]5[-_.]4/i,window:105e4},{match:/^gpt[-_]5[-_.]3[-_]codex[-_]spark/i,window:128e3},{match:/^gpt[-_]5[-_.]3[-_]codex/i,window:4e5},{match:/^gpt[-_]5[-_.]2/i,window:4e5},{match:/^gpt[-_]5/i,window:4e5},{match:/^codex[-_]mini/i,window:2e5},{match:/^o\d/i,window:2e5}];function WP(e){if(!e)return cx;for(const n of UP)if(n.test(e))return BP;for(const n of HP)if(n.match.test(e))return n.window;return cx}function PN(e,n){return typeof e=="number"&&e>0?e:WP(n)}function ze(e){if(e<=0)return"—";if(e<.005)return"<1¢";if(e<1){const n=(e*100).toFixed(e<.1?1:0);if(Number(n)<100)return`${n}¢`}return e<100?`$${e.toFixed(2)}`:e<1e4?`$${e.toFixed(0)}`:`$${(e/1e3).toFixed(1)}k`}function iu(e,n){if(e<=0||n<10)return null;const r=e/n,s=r*60;return s>=.01?`${ze(s)}/min`:`${ze(r*3600)}/hr`}function Sn(e){return e.toLocaleString()}function VP(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}const GP=60;function YP(e,n=GP){if(e.length<=n)return e;const r=e.slice(e.length-(n-1)),s=r.search(/[/\\]/);return"…"+(s===-1?r:r.slice(s))}function KP({agent:e,onClose:n}){var h;const r=e.context,s=e.usage,o=(r==null?void 0:r.currentContextTokens)??0,l=PN(e.contextWindow,e.model),u=Math.min(100,o/l*100),c=sn(s,e.model),p=s.inputTokens+s.cacheReadTokens+s.cacheCreateTokens;return m.jsx("div",{className:"ctx-modal-backdrop",onClick:n,role:"presentation",children:m.jsxs("div",{className:"ctx-modal",onClick:f=>f.stopPropagation(),role:"dialog","aria-label":"Context breakdown",children:[m.jsxs("header",{className:"ctx-modal-head",children:[m.jsxs("div",{children:[m.jsxs("div",{className:"ctx-modal-title",children:["Context · ",e.label]}),m.jsx("div",{className:"ctx-modal-sub",children:"approximation — CC's /context isn't hook-exposed"})]}),m.jsx("button",{className:"ctx-modal-close",onClick:n,"aria-label":"Close",children:"×"})]}),m.jsxs("section",{className:"ctx-window-row",children:[m.jsx("div",{className:"ctx-window-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(u),children:m.jsx("div",{className:"ctx-window-fill",style:{width:`${u}%`}})}),m.jsxs("div",{className:"ctx-window-meta",children:[m.jsxs("span",{className:"ctx-window-pct",children:[u.toFixed(1),"%"]}),m.jsxs("span",{className:"ctx-window-num",children:[Sn(o)," / ",Sn(l)," tok (current turn)"]})]})]}),m.jsx("h3",{className:"ctx-section-title",children:"Cumulative usage · whole session"}),m.jsxs("div",{className:"ctx-grid",children:[m.jsx(Wn,{label:"input tokens",val:Sn(s.inputTokens)}),m.jsx(Wn,{label:"output tokens",val:Sn(s.outputTokens)}),m.jsx(Wn,{label:"cache reads",val:Sn(s.cacheReadTokens)}),m.jsx(Wn,{label:"cache writes",val:Sn(s.cacheCreateTokens)}),m.jsx(Wn,{label:"cumulative total",val:Sn(p)}),m.jsx(Wn,{label:"estimated cost",val:ze(c.total),accent:!0})]}),m.jsx("h3",{className:"ctx-section-title",children:"Transcript composition"}),m.jsxs("div",{className:"ctx-grid",children:[m.jsx(Wn,{label:"user messages",val:Sn((r==null?void 0:r.msgsUser)??0)}),m.jsx(Wn,{label:"assistant messages",val:Sn((r==null?void 0:r.msgsAssistant)??0)}),m.jsx(Wn,{label:"tool uses",val:Sn((r==null?void 0:r.toolUses)??0)}),m.jsx(Wn,{label:"tool results",val:Sn((r==null?void 0:r.toolResults)??0)}),m.jsx(Wn,{label:"system-reminders",val:Sn((r==null?void 0:r.systemReminders)??0)})]}),m.jsx("h3",{className:"ctx-section-title",children:"CLAUDE.md files in scope"}),(((h=r==null?void 0:r.claudeMdFiles)==null?void 0:h.length)??0)===0?m.jsx("div",{className:"ctx-empty",children:"No CLAUDE.md files found on the path from cwd to ~/.claude."}):m.jsx("ul",{className:"ctx-md-list",children:r.claudeMdFiles.map(f=>m.jsxs("li",{children:[m.jsx("span",{className:"ctx-md-path",title:f.path,children:YP(f.path)}),m.jsx("span",{className:"ctx-md-size",children:VP(f.bytes)})]},f.path))})]})})}function Wn({label:e,val:n,accent:r}){return m.jsxs("div",{className:`ctx-row${r?" accent":""}`,children:[m.jsx("span",{className:"ctx-row-label",children:e}),m.jsx("span",{className:"ctx-row-val",children:n})]})}function XP({currentContextTokens:e,modelId:n,contextWindow:r,size:s=26,onClick:o,title:l}){const u=PN(r,n),c=Math.min(1,e/u),p=s/2-3,h=s/2,f=2*Math.PI*p,g=f*c,y=c>.9?"var(--err)":c>.7?"var(--inflight)":"var(--accent)";return m.jsx("button",{type:"button",className:"ctx-donut",onClick:o,title:l??`context: ${e.toLocaleString()} / ${u.toLocaleString()} (${(c*100).toFixed(1)}%)`,"aria-label":"Show context breakdown",children:m.jsxs("svg",{width:s,height:s,viewBox:`0 0 ${s} ${s}`,children:[m.jsx("circle",{cx:h,cy:h,r:p,stroke:"var(--line)",strokeWidth:"2.5",fill:"none"}),m.jsx("circle",{cx:h,cy:h,r:p,stroke:y,strokeWidth:"2.5",fill:"none",strokeDasharray:`${g} ${f-g}`,strokeDashoffset:f/4,strokeLinecap:"round",style:{transition:"stroke-dasharray 400ms ease"}}),m.jsx("text",{x:h,y:h+3,textAnchor:"middle",fontSize:"8",fill:"var(--text)",fontWeight:"600",children:Math.round(c*100)})]})})}function QP(e,n){const r=Tv(n);if(!r)return"no rates for this model";const s=f=>f.toLocaleString(),o=f=>`$${f}/MTok`,l=sn(e,n),u=IN(e,r),c=u.tokens1h>0?[`cache w5m${s(u.tokens5m).padStart(14)} × ${o(r.cacheWrite).padEnd(11)} = ${ze(u.usd5m)}`,`cache w1h${s(u.tokens1h).padStart(14)} × ${o(r.cacheWrite1h??r.cacheWrite).padEnd(11)} = ${ze(u.usd1h)}`]:[`cache w ${s(u.tokens5m).padStart(14)} × ${o(r.cacheWrite).padEnd(11)} = ${ze(u.usd5m)}`],p=MN(e,n),h=p===e.inputTokens?"input":"uncached";return[`model: ${n}`,`${h.padEnd(9)}${s(p).padStart(14)} × ${o(r.input).padEnd(11)} = ${ze(l.input)}`,`output ${s(e.outputTokens).padStart(14)} × ${o(r.output).padEnd(11)} = ${ze(l.output)}`,`cache r ${s(e.cacheReadTokens).padStart(14)} × ${o(r.cacheRead).padEnd(11)} = ${ze(l.cacheRead)}`,...c,"─────────────────────────────────────────",`total = ${ze(l.total)}`].join(`
58
58
  `)}function ZP(e,n,r){const s=(n??r)-e;if(s<1e3)return`${Math.max(0,s)}ms`;const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60),u=o%60;return`${l}m ${String(u).padStart(2,"0")}s`}function JP({data:e,selected:n}){var h;const r=e.now??Date.now(),s=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",n?"selected":""].filter(Boolean).join(" "),o=e.tools.filter(f=>!f.endedAt).length,u=`hsl(${Cv(e.sessionId)} 70% 60%)`,c=((h=e.context)==null?void 0:h.currentContextTokens)??0,p=e.kind==="root"&&c>0;return m.jsxs("div",{className:s,style:{"--accent":u},children:[m.jsx("span",{className:"accent-stripe"}),m.jsx(no,{type:"target",position:Te.Left,style:{background:"transparent",border:"none"}}),m.jsxs("div",{className:"head",children:[m.jsxs("div",{className:"title",children:[m.jsx(eO,{state:e.state}),m.jsx("span",{className:"label",title:e.cwd,children:e.label}),e.synthetic&&m.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),m.jsxs("div",{className:"head-right",children:[p&&e.onOpenContext&&m.jsx(XP,{currentContextTokens:c,modelId:e.model,contextWindow:e.contextWindow,onClick:()=>e.onOpenContext(e.sessionId)}),m.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:ZP(e.startedAt,e.endedAt,r)})]})]}),m.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&m.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:"",e.model&&m.jsx("span",{className:"model-chip",title:e.model,children:wa(e.model)})]}),e.tools.length>0&&m.jsx(nO,{tools:e.tools,now:r}),m.jsxs("div",{className:"meta",children:[m.jsxs("span",{children:[m.jsx("b",{children:e.toolCount})," tools"]}),o>0&&m.jsxs("span",{className:"inflight-meta",children:[m.jsx("b",{children:o})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&m.jsxs("span",{className:"tokens-meta",title:`in:${e.usage.inputTokens} out:${e.usage.outputTokens} cache-r:${e.usage.cacheReadTokens} cache-c:${e.usage.cacheCreateTokens}${(e.usage.reasoningOutputTokens??0)>0?` reasoning:${e.usage.reasoningOutputTokens}`:""}`,children:[m.jsx("b",{children:tO(e.usage.inputTokens+e.usage.outputTokens)})," tok"]}),e.model&&Tv(e.model)&&(()=>{const f=sn(e.usage,e.model);if(f.total<=0)return null;const g=Math.max(0,((e.endedAt??r)-e.startedAt)/1e3),y=e.state==="active"?iu(f.total,g):null,x=QP(e.usage,e.model)+(y?`
59
- burn: ${y}`:"");return m.jsxs("span",{className:"cost-meta",title:x,children:[m.jsx("b",{children:ze(f.total)}),y&&m.jsx("span",{className:"cost-rate",children:y})]})})()]}),m.jsx(no,{type:"source",position:Te.Right,style:{background:"transparent",border:"none"}})]})}function eO({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return m.jsx("span",{className:`state-pill state-${e}`,children:n})}function tO(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function nO({tools:e,now:n}){const l=new Array(24).fill(0);let u=0;for(const y of e){const x=n-y.startedAt;if(x<0||x>=6e4)continue;const N=23-Math.floor(x/2500);N>=0&&N<24&&(l[N]+=1,u+=1)}const c=Math.max(1,...l),p=132,h=14,f=p/24,g=c/(2500/1e3);return m.jsxs("div",{className:"tool-spark-row",title:`${u} tool calls in last 60s · peak ${g.toFixed(1)}/s`,children:[m.jsx("svg",{className:"tool-spark",width:p,height:h,viewBox:`0 0 ${p} ${h}`,"aria-hidden":!0,children:l.map((y,x)=>{const N=y===0?1.5:Math.max(1.5,y/c*h),_=x===23&&y>0,S=`tool-spark-bar${y>0?" active":""}${_?" latest":""}`;return m.jsx("rect",{x:x*f+.4,y:h-N,width:Math.max(.5,f-1),height:N,rx:.8,className:S},x)})}),m.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function wa(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),l=n[2].replace(/[-_]/g,".");return`${o} ${l}`}const r=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(r)return`GPT-${r[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function dx(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function rO(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function iO({tool:e,onClose:n}){A.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const r=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return m.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:m.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[m.jsxs("header",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:`status-dot ${r}`}),m.jsx("span",{className:"modal-tool-name",children:e.name}),m.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),m.jsxs("div",{className:"modal-actions",children:[m.jsx("span",{className:"modal-dur",children:rO(e)}),m.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),m.jsxs("section",{className:"modal-body",children:[e.trimmed&&m.jsx("div",{className:"modal-section",children:m.jsx("p",{className:"modal-note",children:"Full payloads for this call were released to keep memory bounded — only the previews below are still held."})}),m.jsxs("div",{className:"modal-section",children:[m.jsx("h4",{children:"Input"}),m.jsx("pre",{children:dx(e.input??e.inputPreview)})]}),m.jsxs("div",{className:"modal-section",children:[m.jsxs("h4",{children:["Response ",r==="err"&&m.jsx("span",{className:"err-tag",children:"error"})]}),m.jsx("pre",{children:e.endedAt==null?"(waiting…)":dx(e.response??e.errorPreview)})]})]})]})})}const ql=18,fx=26,sO=12;function oO(e){return aO(e.nodeInternals.values())}function aO(e){const n=new Map;for(const o of e){if(o.type!=="agent")continue;const l=o.data;if(!(l!=null&&l.sessionId)||l.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,c=o.position.y,p=u+o.width,h=c+o.height,f=n.get(l.sessionId);f?(f.minX=Math.min(f.minX,u),f.minY=Math.min(f.minY,c),f.maxX=Math.max(f.maxX,p),f.maxY=Math.max(f.maxY,h),l.kind==="root"&&(f.label=hx(l)??f.label)):n.set(l.sessionId,{minX:u,minY:c,maxX:p,maxY:h,label:hx(l)??l.sessionId})}const r=new Map;for(const o of n.values())r.set(o.label,(r.get(o.label)??0)+1);const s=[];for(const[o,l]of n){const c=(r.get(l.label)??0)>1?`${l.label} · ${lO(o)}`:l.label;s.push({sessionId:o,label:c,x:l.minX-ql,y:l.minY-ql-fx,w:l.maxX-l.minX+ql*2,h:l.maxY-l.minY+ql*2+fx})}return s}function lO(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function hx(e){if(e.kind==="root")return e.label}function uO(){const{x:e,y:n,zoom:r}=bN(),s=ya(),o=Xe(oO,cO);if(o.length<=1)return null;const l=u=>{try{const c=s.getNodes().filter(p=>{const h=p.data;return(h==null?void 0:h.sessionId)===u});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return m.jsx("div",{className:"session-clusters",children:o.map(u=>{const c=Cv(u.sessionId),p={position:"absolute",left:u.x*r+e,top:u.y*r+n,width:u.w*r,height:u.h*r,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},h={position:"absolute",left:u.x*r+e+16*r,top:(u.y-sO)*r+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,r)})`,transformOrigin:"left top"};return m.jsxs(ae.Fragment,{children:[m.jsx("div",{className:"cluster-card",style:p,"aria-hidden":!0}),m.jsx("button",{type:"button",className:"cluster-label",style:h,title:`Fit view to ${u.label} · drag the wrapper to move the whole session`,onClick:()=>l(u.sessionId),children:u.label})]},u.sessionId)})})}function cO(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++){const s=e[r],o=n[r];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function dO({data:e}){return m.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const ON=600,fO=4,hO=36,nv=16,pO=60,mO=6,px=220,mx=96,gO=28,vO={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function yO(e){return e.startsWith("mcp__")?"mcp":vO[e]??"other"}const wO={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function gx(e){return e.startsWith("mcp__")?"🔌":wO[e]??"✨"}const xO={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function LN(e){if(!e)return null;let n=e.trim();if(!n)return null;const r=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(r)return LN(r[1]);for(;;){const l=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!l)break;n=n.slice(l[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function _O(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(r=>typeof r=="string")){const r=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(r[0]??"")){const s=r.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<r.length)return r[s+1]}return r.join(" ")}return typeof n.script=="string"?n.script:null}const bO=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),SO=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function kO(e,n){return SO.has(e)||e.startsWith("mcp__")?Math.max(mx,34+n.length*7.5):mx}function EO(e,n){if(!bO.has(e))return null;const r=_O(n);if(!r)return null;const s=LN(r);return s?{emoji:xO[s]??"⚙️",label:s,category:"shell",detail:r}:null}const NO=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),vx={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},yx={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function CO(e){const r=e.replace(/\\/g,"/").replace(/\/+$/,""),s=r.lastIndexOf("/");return s>=0?r.slice(s+1):r}function TO(e){const n=e.toLowerCase();if(yx[n])return yx[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const r=n.lastIndexOf(".");if(r>0&&r<n.length-1){const s=n.slice(r+1);if(vx[s])return vx[s]}return"📄"}function jO(e,n){if(!n||typeof n!="object")return null;const r=n;if(e==="apply_patch"&&typeof r.patch=="string"){const s=r.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof r.file_path=="string"?r.file_path:typeof r.notebook_path=="string"?r.notebook_path:typeof r.path=="string"?r.path:e==="Glob"&&typeof r.pattern=="string"?r.pattern:null}function RO(e,n){if(!NO.has(e))return null;const r=jO(e,n);if(!r)return null;const s=CO(r);return s?{emoji:e==="LS"?"📂":TO(s),label:s,category:"file",detail:r}:null}const qN={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function $N(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),r=n.indexOf("__");return r<=0?{server:n,method:""}:{server:n.slice(0,r),method:n.slice(r+2)}}function AO(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}function IO(e,n){const r=$N(e);if(!r)return null;const{server:s,method:o}=r;if(!o)return null;const l=qN[s.toLowerCase()];return{emoji:(l==null?void 0:l.emoji)??"🔌",label:o,category:"mcp",detail:l?`${l.name} · ${o}`:`${s} · ${o}`}}function MO(e,n){return EO(e,n)??RO(e,n)??IO(e)}const PO={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function OO(e){const n=$N(e);if(n){const s=qN[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:AO(n.server)}}const r=PO[e];return r?{emoji:gx(e),label:r}:{emoji:gx(e),label:e}}function LO(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function qO(e,n,r){if(r==null)return 1;const s=n-r;return s<0?1:Math.max(0,1-s/ON)}function $O(e,n){const r=[],s=new Set;for(let o=e.length-1;o>=0&&r.length<n;o--){const l=e[o];s.has(l.id)||(s.add(l.id),r.push(l))}return r.reverse()}function DO(e,n,r,s,o,l){const u=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&l-c.exitAt>ON)continue;const p=s.get(c.id)??r.get(c.id);if(!p)continue;const h=$O(c.tools,fO);if(h.length===0)continue;const f=c.exitAt??null,g=o.get(c.id),y=Math.max((g==null?void 0:g.width)??px,px),x=(g==null?void 0:g.height)??130,N=p.x,_=p.y,b=N+y,S=_+x/2;h.forEach((k,E)=>{const C=E*hO,I=N+y+pO,M=_+mO+C,O=qO(k,l,f),W=k.inputPreview??"",L=LO(k),P=O<.999,q=OO(k.name);u.push({id:`${c.id}::${k.id}`,toolId:k.id,agentId:c.id,toolName:k.name,name:q.label,emoji:q.emoji,status:L,category:yO(k.name),mcpHue:q.hue,inputPreview:W,fade:O,fading:P,worldX:I,worldY:M,anchorX:b,anchorY:S,spawnDx:b-I,spawnDy:S-(M+nv)});const U=MO(k.name,k.input);if(U){const B=kO(k.name,q.label),R=I+B+gO,Q=M,H=I+B,te=M+nv;u.push({id:`sub:${c.id}::${k.id}`,toolId:k.id,agentId:c.id,toolName:k.name,name:U.label,emoji:U.emoji,isSub:!0,status:L,category:U.category,inputPreview:U.detail??W,fade:O,fading:P,worldX:R,worldY:Q,anchorX:H,anchorY:te,spawnDx:H-R,spawnDy:0})}})}return u}function FO({agents:e,visibleAgentIds:n,positions:r,pinned:s,measured:o,dimUnmatched:l,spotlight:u,hiddenCategories:c,now:p,onOpenTool:h}){const f=DO(e,n,r,s,o,p),g=c&&c.size>0?f.filter(y=>!c.has(y.category)):f;return m.jsx(zO,{bursts:g,dimUnmatched:l,spotlight:u,onOpenTool:h})}function zO({bursts:e,dimUnmatched:n,spotlight:r,onOpenTool:s}){const{x:o,y:l,zoom:u}=bN();return m.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[m.jsx("svg",{className:"tool-bursts-svg",children:e.map(c=>{const p=c.anchorX*u+o,h=c.anchorY*u+l,f=(c.worldX+6)*u+o,g=(c.worldY+nv)*u+l,y=p+(f-p)*.55,x=n!=null&&!n.has(c.agentId),N=r!=null&&!r.has(c.agentId),_=c.fade*(x||N?.14:1);return m.jsx("path",{d:`M ${p} ${h} Q ${y} ${h}, ${f} ${g}`,className:`tool-conn status-${c.status}${c.fading?" fading":""}`,opacity:_},`l:${c.id}`)})}),e.map(c=>{const p=c.worldX*u+o,h=c.worldY*u+l,f={left:`${p}px`,top:`${h}px`,transform:`scale(${u})`,transformOrigin:"left top","--spawn-dx":`${c.spawnDx}px`,"--spawn-dy":`${c.spawnDy}px`},g=c.isSub?`${c.toolName} · ${c.name}`:c.toolName,y=c.inputPreview?`${g} · ${c.inputPreview}`:g,x=s!=null,N=c.mcpHue!=null?{"--cat-accent":`hsl(${c.mcpHue} 65% 65%)`}:{},_=n!=null&&!n.has(c.agentId),b=r!=null&&!r.has(c.agentId),S=_||b?" dim":"";return m.jsx("div",{className:"tool-burst-wrap",style:f,children:m.jsxs("div",{className:`tool-burst cat-${c.category} status-${c.status}${c.fading?" fading":""}${x?" clickable":""}${c.isSub?" sub":""}${S}`,style:N,title:y,role:x?"button":void 0,tabIndex:x?0:void 0,"aria-label":x?`Open ${c.toolName} ${c.status==="inflight"?"in flight":c.status} — click for details`:void 0,onClick:x?()=>s(c.toolId):void 0,onKeyDown:x?k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),s(c.toolId))}:void 0,children:[m.jsx("span",{className:"tb-emoji",children:c.emoji}),m.jsx("span",{className:"tb-name",children:c.name}),c.status==="inflight"&&m.jsx("span",{className:"tb-spin"}),c.status==="done"&&m.jsx("span",{className:"tb-mark done",children:"✓"}),c.status==="err"&&m.jsx("span",{className:"tb-mark err",children:"×"})]})},c.id)})]})}function BO({state:e,sessionId:n,onClose:r}){const s=A.useMemo(()=>HO(e,n),[e,n]);return s?m.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:m.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[m.jsxs("div",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),m.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),m.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),m.jsxs("div",{className:"modal-actions",children:[m.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),m.jsx("button",{className:"btn",onClick:r,"aria-label":"Close",children:"×"})]})]}),m.jsxs("div",{className:"modal-body",children:[m.jsxs("section",{className:"ss-hero",children:[m.jsxs("div",{className:"ss-hero-left",children:[m.jsx("div",{className:"ss-cost-label",children:"total spend"}),m.jsx("div",{className:"ss-cost",children:ze(s.cost.total)}),s.modelChips.length>0&&m.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>m.jsx("span",{className:"model-chip",title:o,children:wa(o)},o))})]}),m.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&m.jsxs(m.Fragment,{children:[m.jsx(UO,{cost:s.cost}),m.jsxs("div",{className:"ss-cost-legend",children:[m.jsxs("span",{className:"ssl ssl-in",children:["input ",m.jsx("b",{children:ze(s.cost.input)})]}),m.jsxs("span",{className:"ssl ssl-out",children:["output ",m.jsx("b",{children:ze(s.cost.output)})]}),m.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",m.jsx("b",{children:ze(s.cost.cacheRead)})]}),m.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",m.jsx("b",{children:ze(s.cost.cacheWrite)})]})]})]})})]}),m.jsxs("section",{className:"ss-stats",children:[m.jsx(Hs,{label:"agents",value:s.agentCount}),m.jsx(Hs,{label:"subagents",value:s.subagentCount}),m.jsx(Hs,{label:"tool calls",value:s.toolCount}),m.jsx(Hs,{label:"prompts",value:s.promptCount}),m.jsx(Hs,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&m.jsx(Hs,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&m.jsxs("section",{className:"modal-section",children:[m.jsx("h4",{children:"Most-used tools"}),m.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,l])=>m.jsxs("div",{className:"ss-tt",children:[m.jsx("span",{className:"ss-tt-name",children:o}),m.jsx("span",{className:"ss-tt-bar",children:m.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${l/s.topTools[0][1]*100}%`}})}),m.jsx("span",{className:"ss-tt-count",children:l})]},o))})]}),s.firstPrompt&&m.jsxs("section",{className:"modal-section",children:[m.jsx("h4",{children:"Opening prompt"}),m.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Hs({label:e,value:n,tone:r}){return m.jsxs("div",{className:`ss-stat${r?` tone-${r}`:""}`,children:[m.jsx("div",{className:"ss-stat-value",children:n}),m.jsx("div",{className:"ss-stat-label",children:e})]})}function UO({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return m.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${ze(s)} (${u.toFixed(0)}%)`},o)};return m.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function HO(e,n){const r=e.agents.get(n);if(!r)return null;const s=[];for(const E of e.agents.values())E.sessionId===n&&s.push(E);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},l=new Set,u=new Map;let c=0,p=0,h=0,f=0,g=0,y,x=1/0,N=0;for(const E of s){const C=sn(E.usage,E.model);o.input+=C.input,o.output+=C.output,o.cacheRead+=C.cacheRead,o.cacheWrite+=C.cacheWrite,o.total+=C.total,E.model&&l.add(E.model),E.kind==="subagent"&&g++,p+=E.prompts.length,!y&&E.prompts.length>0&&(y=E.prompts[0].text),h+=E.usage.inputTokens+E.usage.outputTokens,c+=E.toolCount,x=Math.min(x,E.startedAt),N=Math.max(N,E.endedAt??Date.now());for(const I of E.tools)u.set(I.name,(u.get(I.name)??0)+1),I.ok===!1&&f++}const _=Math.max(0,N-x),b=Math.floor(_/1e3),S=b<60?`${b}s`:b<3600?`${Math.floor(b/60)}m ${String(b%60).padStart(2,"0")}s`:`${Math.floor(b/3600)}h ${Math.floor(b%3600/60)}m`,k=Array.from(u.entries()).sort((E,C)=>C[1]-E[1]).slice(0,5);return{sessionId:n,label:r.label||r.cwdBasename||"session",cwd:r.cwd,durationLabel:S,cost:o,modelChips:Array.from(l),agentCount:s.length,subagentCount:g,toolCount:c,promptCount:p,tokensSum:h,errCount:f,topTools:k,firstPrompt:y}}function WO(e,n){const r=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.toolCount,l=sn(s.usage,s.model).total,u=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.toolCount,l+=sn(c.usage,c.model).total;const p=c.endedAt??c.startedAt;p>u&&(u=p)}r.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:l,startedAt:s.startedAt,lastActivity:u})}return r.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),r}function VO(e,n,r){const s=(n??r)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60);return l<60?`${l}m`:`${Math.floor(l/60)}h ${l%60}m`}function GO({state:e,now:n,selectedIds:r,onSelect:s,onClose:o}){const l=A.useMemo(()=>WO(e),[e,e.lastSeq,n]),u=l.filter(c=>c.state==="active").length;return m.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[m.jsxs("div",{className:"sl-header",children:[m.jsxs("h3",{children:["Sessions ",m.jsx("span",{className:"sl-count",children:l.length})]}),u>0&&m.jsxs("span",{className:"sl-live-count",children:[u," live"]}),m.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),m.jsxs("div",{className:"sl-rows",children:[l.length===0&&m.jsx("div",{className:"sl-empty",children:"No sessions yet."}),l.map(c=>{const p=r.has(c.sessionId);return m.jsxs("button",{type:"button",className:`sl-row state-${c.state}${p?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[m.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),m.jsxs("div",{className:"sl-row-body",children:[m.jsxs("div",{className:"sl-row-head",children:[m.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&m.jsx("span",{className:"model-chip",title:c.modelId,children:wa(c.modelId)})]}),m.jsxs("div",{className:"sl-row-meta",children:[m.jsxs("span",{title:"tool calls",children:[m.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&m.jsx("span",{className:"sl-cost",title:"total spend",children:m.jsx("b",{children:ze(c.cost)})}),m.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:VO(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function wx(e,n){if(!e)return null;const r=n-Math.floor(e/1e3);return r<10?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:`${Math.floor(r/3600)}h ago`}function YO(e){return e==="claude-swap"?"Read from claude-swap's last collection — costs no request against your usage-endpoint budget":e==="api"?"Fetched from Anthropic's usage endpoint, at most once every 5 minutes":e==="cli"?"Parsed from `claude /usage`, at most once every 5 minutes":"Last update"}function Rr(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function KO({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return m.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${ze(s)} (${u.toFixed(0)}%)`},o)};return m.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function XO(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/3600),o=Math.floor(r%3600/60);if(s>23){const l=Math.floor(r/86400),u=Math.floor(r%86400/3600);return`${l}d ${u}h`}return s>0?`${s}h ${o}m`:`${o}m`}function QO(e,n,r,s){const o=Math.max(0,n-s),l=Math.max(0,r-o);if(l<120)return null;const u=Math.min(100,l/r*100),c=e-u;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:u,isDeficit:!1};if(c>0){const p=100-e,h=l>0?e/l:0,f=h>0?p/h:1/0,g={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:u,isDeficit:!0};if(f<o&&f<86400){const y=Math.floor(f/3600),x=Math.floor(f%3600/60);g.runsOutIn=y>0?`${y}h ${x}m`:`${x}m`}return g}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:u,isDeficit:!1}}function Yi({pct:e,label:n,reset:r,resetAt:s,windowSec:o,limitReached:l,nowSec:u}){const c=Math.min(100,Math.max(0,e)),h=l||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",f=c===0?"< 1%":`${c}%`,g=c===0?2:c,y=s?XO(s,u):null,x=s&&o?QO(c,s,o,u):null;return m.jsxs("div",{className:"qb-row",children:[m.jsxs("div",{className:"qb-meta",children:[m.jsxs("span",{className:"qb-label",children:[n,l&&m.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),m.jsx("span",{className:"qb-pct",style:{color:h},children:f})]}),m.jsxs("div",{className:"qb-track",children:[m.jsx("div",{className:"qb-fill",style:{width:`${g}%`,background:h,opacity:c===0?.4:1}}),x&&m.jsx("div",{className:"qb-pace-marker",style:{left:`${x.expectedPct}%`,background:x.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(x.expectedPct)}% by now`})]}),m.jsxs("div",{className:"qb-reset-row",children:[y?m.jsxs("span",{className:"qb-reset",children:["resets in ",y]}):r?m.jsxs("span",{className:"qb-reset",children:["resets ",r]}):null,x&&m.jsx("span",{className:"qb-pace",style:{color:x.color},children:x.runsOutIn?`runs out in ${x.runsOutIn}`:x.label})]})]})}const ZO=6e4;function JO(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/quota?refresh=1":"/api/quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),ZO),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:r,refresh:()=>l(!0)}}function e3(e){switch(e){case"no_token":return"Run codex login to authenticate.";case"api_key_mode":return"API-key login — ChatGPT quota is only available for codex login.";case"refresh_rejected":return"Codex session expired — run codex login.";case"refresh_failed":return"Couldn't refresh the Codex token — click ↻ to retry.";default:return"ChatGPT API unreachable — click ↻ to retry."}}const DN=6e4;function t3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),DN),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:r,refresh:()=>l(!0)}}function n3(){const[e,n]=A.useState(null),r=A.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return A.useEffect(()=>(s(),r.current=window.setInterval(s,DN),()=>{r.current!=null&&window.clearInterval(r.current)}),[]),{data:e}}function r3({state:e,now:n,onClose:r}){var O,W;const{quota:s,loading:o,refresh:l}=JO(),{data:u,loading:c,refresh:p}=t3(),{data:h}=n3(),[f,g]=A.useState(()=>Math.floor(Date.now()/1e3));A.useEffect(()=>{const L=window.setInterval(()=>g(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(L)},[]);const{byModel:y,totalCost:x,totalTokens:N,burnRate:_}=A.useMemo(()=>{const L=new Map,P={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let q=0,U=0,B=0,R=0;for(const D of e.agents.values()){const X=D.model??"__unknown__",j=sn(D.usage,D.model),$=L.get(X);$?($.inputTokens+=D.usage.inputTokens,$.outputTokens+=D.usage.outputTokens,$.cacheReadTokens+=D.usage.cacheReadTokens,$.cacheCreateTokens+=D.usage.cacheCreateTokens,$.cost.total+=j.total,$.cost.input+=j.input,$.cost.output+=j.output,$.cost.cacheRead+=j.cacheRead,$.cost.cacheWrite+=j.cacheWrite,$.agentCount++):L.set(X,{model:X,inputTokens:D.usage.inputTokens,outputTokens:D.usage.outputTokens,cacheReadTokens:D.usage.cacheReadTokens,cacheCreateTokens:D.usage.cacheCreateTokens,cost:{...j},agentCount:1}),P.total+=j.total,P.input+=j.input,P.output+=j.output,P.cacheRead+=j.cacheRead,P.cacheWrite+=j.cacheWrite,q+=D.usage.inputTokens,U+=D.usage.outputTokens,B+=D.usage.cacheReadTokens,R+=D.usage.cacheCreateTokens}const Q=Array.from(L.values()).sort((D,X)=>X.cost.total-D.cost.total);let H=0,te=0;for(const D of e.agents.values()){if(D.state!=="active")continue;const X=sn(D.usage,D.model);H+=X.total,te=Math.max(te,((D.endedAt??n)-D.startedAt)/1e3)}const Z=te>0?iu(H,te):null;return{byModel:Q,totalCost:P,totalTokens:{in:q,out:U,cacheR:B,cacheC:R},burnRate:Z}},[e,e.lastSeq,n]),b=A.useMemo(()=>{const L=[];for(const P of e.agents.values()){if(P.kind!=="root")continue;let q=sn(P.usage,P.model).total,U=P.usage.inputTokens,B=P.usage.outputTokens;for(const R of e.agents.values())R.sessionId!==P.sessionId||R.kind==="root"||(q+=sn(R.usage,R.model).total,U+=R.usage.inputTokens,B+=R.usage.outputTokens);L.push({sessionId:P.sessionId,label:P.label||P.cwdBasename||"session",state:P.state,cost:q,inputTokens:U,outputTokens:B})}return L.sort((P,q)=>q.cost-P.cost).slice(0,12)},[e,e.lastSeq]),S=x.total>0,k=N.in+N.out,E=o||c,C=wx(s==null?void 0:s.fetchedAt,f),I=wx(u==null?void 0:u.fetchedAt,f),M=()=>{l(),p()};return m.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[m.jsxs("div",{className:"up-header",children:[m.jsx("h3",{children:"Usage"}),_&&m.jsx("span",{className:"up-rate",children:_}),m.jsxs("div",{className:"up-header-right",children:[m.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:M,disabled:E,title:"Refresh Claude + Codex quota",children:E?"…":"↻"}),m.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:r,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),m.jsxs("section",{className:"up-section up-quota-section",children:[m.jsxs("h4",{className:"up-section-title",children:["Claude quota",C&&!o&&m.jsx("span",{className:"up-section-age",title:YO(s==null?void 0:s.source),children:C})]}),s!=null&&s.ok?m.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&m.jsx(Yi,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:f}),s.week7dPct!=null&&m.jsx(Yi,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:f}),s.weekSonnetPct!=null&&m.jsx(Yi,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:f}),s.weekOpusPct!=null&&m.jsx(Yi,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:f})]}):(s==null?void 0:s.ok)===!1?m.jsxs("div",{className:"up-quota-na",children:[m.jsx("span",{children:"Quota unavailable."}),m.jsxs("span",{className:"up-quota-hint",children:["Run ",m.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):m.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),m.jsxs("section",{className:"up-section up-quota-section",children:[m.jsxs("h4",{className:"up-section-title",children:["Codex quota",(u==null?void 0:u.ok)&&u.planLabel&&m.jsx("span",{className:"up-plan-badge",children:u.planLabel}),I&&!c&&m.jsx("span",{className:"up-section-age",title:"Fetched from the Codex usage endpoint",children:I})]}),u!=null&&u.ok?m.jsxs("div",{className:"up-quota-bars",children:[(O=u.windows)==null?void 0:O.map(L=>m.jsx(Yi,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,limitReached:u.limitReached&&L.pct>=100,nowSec:f},L.id)),(W=u.extraWindows)==null?void 0:W.map(L=>m.jsx(Yi,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,nowSec:f},L.id)),u.creditLimit&&m.jsx(Yi,{label:`spend cap · $${Math.round(u.creditLimit.used)} of $${Math.round(u.creditLimit.limit)}`,pct:u.creditLimit.usedPct,reset:u.creditLimit.reset??void 0,resetAt:u.creditLimit.resetAt??void 0,limitReached:u.spendControlReached,nowSec:f}),(h==null?void 0:h.ok)&&h.window7d&&h.window7d.sessionCount>0&&m.jsxs("div",{className:"up-quota-sub",children:[Rr(h.window7d.totalTokens)," tokens · ",h.window7d.sessionCount," session",h.window7d.sessionCount!==1?"s":""," (7d)"]}),u.creditsBalance&&!u.creditsUnlimited&&m.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",u.creditsBalance,u.overageReached&&" · overage limit reached"]}),u.creditsUnlimited&&m.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"}),u.resetCredits&&u.resetCredits.availableCount>0&&m.jsxs("div",{className:"up-quota-sub up-reset-credits",title:"Redeem in the Codex CLI or ChatGPT — agents-deck only reports them",children:[u.resetCredits.availableCount," rate-limit reset",u.resetCredits.availableCount!==1?"s":""," available",u.resetCredits.nextExpiryAt&&` · expires ${new Date(u.resetCredits.nextExpiryAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`]}),u.promo&&m.jsx("div",{className:"up-quota-sub",children:u.promo}),u.partial&&m.jsx("div",{className:"up-quota-sub up-quota-hint",children:"Partial data — OpenAI returned limits this build doesn't recognise."})]}):(u==null?void 0:u.ok)===!1?m.jsxs("div",{className:"up-quota-na",children:[m.jsx("span",{children:"Quota unavailable."}),m.jsx("span",{className:"up-quota-hint",children:e3(u.reason)})]}):m.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),S?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"up-total",children:[m.jsx("span",{className:"up-total-value",children:ze(x.total)}),m.jsx("span",{className:"up-total-label",children:"total spend"})]}),m.jsx(KO,{cost:x}),k>0&&m.jsxs("div",{className:"up-tokens-row",children:[m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"in"}),Rr(N.in)]}),m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"out"}),Rr(N.out)]}),N.cacheR>0&&m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"cache r"}),Rr(N.cacheR)]}),N.cacheC>0&&m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"cache c"}),Rr(N.cacheC)]})]}),y.filter(L=>L.cost.total>0).length>0&&m.jsxs("section",{className:"up-section",children:[m.jsx("h4",{className:"up-section-title",children:"By model"}),m.jsxs("table",{className:"up-table",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Model"}),m.jsx("th",{children:"Tokens"}),m.jsx("th",{children:"Cost"})]})}),m.jsx("tbody",{children:y.filter(L=>L.cost.total>0).map(L=>m.jsxs("tr",{children:[m.jsx("td",{className:"up-model-name",title:L.model,children:wa(L.model)}),m.jsx("td",{className:"up-num",children:Rr(L.inputTokens+L.outputTokens)}),m.jsx("td",{className:"up-num up-cost-val",children:ze(L.cost.total)})]},L.model))})]})]}),b.filter(L=>L.cost>0).length>0&&m.jsxs("section",{className:"up-section",children:[m.jsx("h4",{className:"up-section-title",children:"By session"}),m.jsx("div",{className:"up-sessions",children:b.filter(L=>L.cost>0).map(L=>m.jsxs("div",{className:"up-session-row",children:[m.jsx("span",{className:`sl-dot state-${L.state}`,"aria-hidden":!0}),m.jsx("span",{className:"up-session-label",children:L.label}),m.jsx("span",{className:"up-session-tokens",children:Rr(L.inputTokens+L.outputTokens)}),m.jsx("span",{className:"up-session-cost",children:ze(L.cost)})]},L.sessionId))})]})]}):k>0?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"up-tokens-row",children:[m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"in"}),Rr(N.in)]}),m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"out"}),Rr(N.out)]})]}),m.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):m.jsxs("div",{className:"up-empty",children:["No usage data yet.",m.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}const xx=18,i3=1100,Ws=(e,n)=>{const r=Math.sin(e*12.9898+n*78.233)*43758.5453;return r-Math.floor(r)},s3=Array.from({length:xx},(e,n)=>{const r=-72+144*n/(xx-1)+(Ws(n,1)-.5)*9,s=(r-90)*(Math.PI/180),o=(54+32*Math.cos(r*Math.PI/180))*(.74+Ws(n,2)*.52);return{dx:Math.cos(s)*o,dy:Math.sin(s)*o,rot:(n%2?1:-1)*(100+Ws(n,3)*260),delay:Math.round(Ws(n,4)*90),dur:760+Math.round(Ws(n,5)*260),scale:.8+Ws(n,6)*.45,hue:n%4,round:n%3===0}});function _x({anchor:e,lifetimeMs:n=i3}){var l;const[r,s]=A.useState(null),o=typeof window<"u"&&((l=window.matchMedia)==null?void 0:l.call(window,"(prefers-reduced-motion: reduce)").matches);return A.useEffect(()=>{if(o)return;const u=e.current;if(!u)return;const c=u.getBoundingClientRect();s({x:c.left+c.width/2,y:c.top+c.height/2});const p=window.setTimeout(()=>s(null),n);return()=>window.clearTimeout(p)},[e,n,o]),o||!r?null:hI.createPortal(m.jsx("div",{className:"confetti",style:{left:`${r.x}px`,top:`${r.y}px`},"aria-hidden":!0,children:s3.map((u,c)=>m.jsx("span",{className:`confetti-bit${u.round?" round":""}`,"data-hue":u.hue,style:{"--dx":`${u.dx.toFixed(1)}px`,"--dy":`${u.dy.toFixed(1)}px`,"--rot":`${u.rot}deg`,"--s":u.scale.toFixed(2),animationDelay:`${u.delay}ms`,animationDuration:`${u.dur}ms, ${u.dur}ms`}},c))}),document.body)}const FN=new Set(["awaiting_url","awaiting_code","registering"]);function o3(e){return e!=null&&FN.has(e)}function zN(e){return e!=null&&e!=="done"&&!FN.has(e)}const a3="the sign-in ended before it finished — the deck restarted, or it was cancelled in another tab",l3="the sign-in did not complete";function u3({state:e,serverError:n,localError:r}){const s=e==="idle";return{title:s?"Sign-in ended":"Sign-in failed",message:r||n||(s?a3:l3)}}const c3="done";function d3(){let e=!1;return{shouldAnnounce(n){return n!==c3?(e=!1,!1):e?!1:(e=!0,!0)}}}const bx={already_running:"a sign-in is already in progress",no_url:"the claude CLI did not offer a sign-in link — is it installed?",not_waiting:"that sign-in is no longer waiting for a code",not_prompted:"the CLI has not asked for a code yet",code_rejected:"that code was not accepted — copy it again from the browser",no_verdict:"the claude CLI has not answered — try the code again",empty_code:"paste the code from the browser first",login_failed:"the code was not accepted",no_identity:"signed in, but the CLI still reports nobody logged in",add_failed:"signed in, but claude-swap could not record the account",not_a_share:"that does not look like a shared account — it should start with ccdeck1:",corrupt:"that share is incomplete — copy the whole thing",wrong_version:"that share was made by a newer agents-deck",expired:"that share has expired — make a new one",import_failed:"claude-swap refused the import"},Sx={no_cswap:"claude-swap could not be run — it is not on this deck's PATH. Set AGENTS_DECK_CSWAP to its full path",timeout:"claude-swap took too long and was stopped — try again",switch_failed:"claude-swap refused the switch",bad_account:"that is not an account claude-swap has",unknown_setting:"claude-swap has no such setting",out_of_range:"that value is outside what the setting allows",bad_value:"claude-swap does not accept that value",set_failed:"claude-swap refused the change",command_failed:"claude-swap refused the command"},f3="claude-swap could not read the login keychain — start agents-deck from a Terminal window rather than a background service";function kx(e,n){return(e==null?void 0:e.reason)!=="no_cswap"&&/keychain/i.test(rv(e))?f3:e!=null&&e.reason&&Sx[e.reason]?Sx[e.reason]:(e==null?void 0:e.reason)||n}function rv(e){return((e==null?void 0:e.output)||(e==null?void 0:e.detail)||"").trim()}function Gl(e,n){return e!=null&&e.detail?e.detail:e!=null&&e.error&&zN(e.state)?e.error:e!=null&&e.reason&&bx[e.reason]?bx[e.reason]:e!=null&&e.error?e.error:(e==null?void 0:e.reason)||n}const h3=1500;async function $l(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const iv=ae.forwardRef((e,n)=>m.jsxs("svg",{className:"aa-mark",viewBox:"0 0 44 44","aria-hidden":!0,ref:n,children:[m.jsx("circle",{className:"aa-mark-ring",cx:"22",cy:"22",r:"20"}),m.jsx("path",{className:"aa-mark-tick",d:"M13.5 22.5 L19.5 28.5 L31 17"})]}));iv.displayName="SuccessMark";function p3({onClose:e,onChanged:n}){const[r,s]=A.useState("login"),[o,l]=A.useState(null),[u,c]=A.useState(""),[p,h]=A.useState(""),[f,g]=A.useState(!1),[y,x]=A.useState(null),[N,_]=A.useState(null),b=A.useRef(!1),S=A.useRef(null),k=A.useRef(null),E=A.useRef(null),C=A.useCallback(()=>{b.current&&$l({action:"login-cancel"}).catch(()=>{}),e()},[e]);A.useEffect(()=>{const B=R=>{R.key==="Escape"&&C()};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[C]);const I=A.useCallback(async()=>{g(!0),x(null),b.current=!0;const B=await $l({action:"login"}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"could not start the sign-in"));return}l(B)},[]);A.useEffect(()=>{if(!o3(o==null?void 0:o.state))return;const B=window.setInterval(async()=>{try{const R=await fetch("/api/claude-accounts/login");R.ok&&l(await R.json())}catch{}},h3);return()=>window.clearInterval(B)},[o]);const M=A.useRef(n);M.current=n;const O=A.useRef(d3());A.useEffect(()=>{var B;(o==null?void 0:o.state)==="awaiting_code"&&((B=S.current)==null||B.focus()),O.current.shouldAnnounce(o==null?void 0:o.state)&&M.current()},[o==null?void 0:o.state]),A.useEffect(()=>{var B;r==="paste"&&((B=k.current)==null||B.focus())},[r]);const W=A.useCallback(async()=>{var R;g(!0),x(null);const B=await $l({action:"login-code",code:u}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"the code was not accepted")),B!=null&&B.state&&l(B),(R=S.current)==null||R.select();return}c(""),l(B)},[u,o]),L=A.useCallback(async()=>{g(!0),x(null);const B=await $l({action:"import",blob:p}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"the import failed"));return}h(""),_({added:B.added===!0,num:B.num??null,email:B.email??null}),n()},[p,n]),P=(o==null?void 0:o.state)==="done"?o.account:null,q=zN(o==null?void 0:o.state)||!!(y&&b.current&&!f),U=u3({state:o==null?void 0:o.state,serverError:o==null?void 0:o.error,localError:y});return m.jsx("div",{className:"modal-backdrop",onClick:C,role:"presentation",children:m.jsxs("div",{className:"modal aa-modal",onClick:B=>B.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Add a Claude account",children:[m.jsxs("header",{className:"modal-head",children:[m.jsx("div",{className:"modal-title",children:m.jsxs("span",{className:"aa-tabs",role:"tablist",children:[m.jsx("button",{type:"button",role:"tab","aria-selected":r==="login",className:`aa-tab${r==="login"?" on":""}`,onClick:()=>s("login"),children:"Sign in"}),m.jsx("button",{type:"button",role:"tab","aria-selected":r==="paste",className:`aa-tab${r==="paste"?" on":""}`,onClick:()=>s("paste"),children:"Paste a share"})]})}),m.jsx("div",{className:"modal-actions",children:m.jsx("button",{type:"button",className:"btn icon-btn",onClick:C,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),m.jsx("section",{className:"modal-body aa-body",children:r==="login"?P?m.jsxs("div",{className:"aa-done",children:[m.jsx(iv,{ref:E}),m.jsx(_x,{anchor:E}),m.jsx("h4",{children:P.added?`Account ${P.num} added`:"Credentials refreshed"}),m.jsxs("p",{className:"aa-note",children:[m.jsx("strong",{children:P.email}),P.added?" is in the rotation. The account you were using is still active.":" was already managed, so its stored credentials were replaced."]}),m.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"})]}):(o==null?void 0:o.state)==="awaiting_code"||(o==null?void 0:o.state)==="registering"?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"1 · Approve in the browser"}),m.jsx("p",{className:"aa-note",children:"A tab should have opened. If not, use this link:"}),m.jsx("a",{className:"aa-link",href:o.url??"#",target:"_blank",rel:"noreferrer noopener",children:o.url})]}),m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"2 · Paste the code it gives you"}),m.jsxs("div",{className:"aa-field",children:[m.jsx("input",{ref:S,type:"text",value:u,onChange:B=>c(B.target.value),onKeyDown:B=>{B.key==="Enter"&&u.trim()&&!f&&W()},placeholder:"paste the code here",spellCheck:!1,autoComplete:"off","aria-label":"Sign-in code",disabled:o.state==="registering"}),m.jsx("button",{type:"button",className:"btn primary",disabled:f||!u.trim()||o.state==="registering",onClick:W,children:o.state==="registering"?"registering…":"Continue"})]}),(y||o.error)&&m.jsx("p",{className:"aa-err",children:y??o.error}),m.jsx("p",{className:"aa-note",children:"The code goes straight to the claude CLI on this machine. It is never stored or sent anywhere else."})]})]}):q?m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:U.title}),m.jsx("p",{className:"aa-err",children:U.message}),m.jsx("button",{type:"button",className:"btn",onClick:()=>{b.current=!1,l(null),x(null),I()},children:"Try again"})]}):f||b.current?m.jsx("div",{className:"aa-step",children:m.jsx("p",{className:"aa-note",children:"Asking the claude CLI for a sign-in link…"})}):m.jsxs("div",{className:"aa-step aa-primer",children:[m.jsx("h4",{children:"Sign in to Anthropic"}),m.jsx("p",{className:"aa-note",children:"Opens a browser tab where you approve the sign-in, then asks for the code it shows you. claude-swap records the account when it completes, and the account you are using now stays active."}),m.jsx("div",{className:"aa-actions",children:m.jsx("button",{type:"button",className:"btn primary",onClick:I,disabled:f,children:"Open the sign-in page"})})]}):N?m.jsxs("div",{className:"aa-done",children:[m.jsx(iv,{ref:E}),N.added&&m.jsx(_x,{anchor:E}),m.jsx("h4",{children:N.added?`Account ${N.num} imported`:"Already here"}),m.jsx("p",{className:"aa-note",children:N.added?m.jsxs(m.Fragment,{children:[N.email?m.jsx("strong",{children:N.email}):"That account"," is in the rotation now. Nothing changed on the deck you copied it from."]}):"This deck already holds that account, so nothing changed."}),m.jsxs("div",{className:"aa-actions",children:[m.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"}),m.jsx("button",{type:"button",className:"btn",onClick:()=>_(null),children:"Import another"})]})]}):m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"Paste an account shared from another deck"}),m.jsxs("div",{className:"aa-field",children:[m.jsx("input",{ref:k,type:"text",value:p,onChange:B=>h(B.target.value),onKeyDown:B=>{B.key==="Enter"&&p.trim()&&!f&&L()},placeholder:"ccdeck1:…",spellCheck:!1,autoComplete:"off","aria-label":"Shared account"}),m.jsx("button",{type:"button",className:"btn primary",disabled:f||!p.trim(),onClick:L,children:f?"importing…":"Import"})]}),y&&m.jsx("p",{className:"aa-err",children:y}),m.jsxs("p",{className:"aa-note",children:["Use ",m.jsx("strong",{children:"share"})," on an account in the other deck. A share carries a live login and expires ten minutes after it is made."]})]})})]})})}const m3=15e3,g3=[70,80,85,90,95];function v3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/86400),o=Math.floor(r%86400/3600),l=Math.floor(r%3600/60);return s>0?`${s}d ${o}h`:o>0?`${o}h ${l}m`:`${l}m`}function Ex(e,n){const r=n-Math.floor(e/1e3);return r<60?"just now":r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}function y3(e,n){if(!e)return"";const r=Math.floor(e/1e3)-n;return r<=0?" · due":r<60?` · next in ${r}s`:` · next in ${Math.round(r/60)}m`}function w3(e){switch(e){case"invalid_grant":case"no_refresh_token":return{text:"login expired",hint:"claude-swap's stored login for this account was rejected and cannot be refreshed. Signing in again replaces it — the account keeps its slot, its alias and its history.",fixable:!0};case"http-401":return{text:"re-login needed",hint:"Anthropic refused this account's token.",fixable:!0};case"http-429":return{text:"rate limited",hint:"Anthropic is throttling requests for this account. It clears on its own.",fixable:!1};case"transient":return{text:"temporary error",hint:"A network or server hiccup while reading usage. The next collection retries.",fixable:!1};case"timeout":return{text:"timed out",hint:"Reading this account's usage took too long. The next collection retries.",fixable:!1};case"network":return{text:"unreachable",hint:"Could not reach Anthropic to read this account's usage.",fixable:!1};default:return{text:e,hint:`claude-swap reported "${e}" for this account.`,fixable:!1}}}function x3({lane:e,nowSec:n}){const r=Math.min(100,Math.max(0,e.pct)),s=r>=90?"var(--err)":r>=70?"var(--warn)":"var(--accent)",o=e.resetAt?v3(e.resetAt,n):null;return m.jsxs("div",{className:"ap-lane",children:[m.jsx("span",{className:"ap-lane-label",children:e.label}),m.jsx("div",{className:"ap-lane-track",children:m.jsx("div",{className:"ap-lane-fill",style:{width:`${r===0?1.5:r}%`,background:s,opacity:r===0?.4:1}})}),m.jsxs("span",{className:"ap-lane-pct",style:{color:s},children:[r,"%"]}),m.jsx("span",{className:"ap-lane-reset",children:o?`resets ${o}`:""})]})}function _3(e){const n=e.map(s=>s.num),r=n.length?Math.max(...n):0;return[...new Set([...n,r+1])].sort((s,o)=>s-o)}async function b3(e){var r;let n=!1;try{n=await Promise.race([((r=navigator.clipboard)==null?void 0:r.writeText(e).then(()=>!0))??Promise.resolve(!1),new Promise(s=>window.setTimeout(()=>s(!1),500))])}catch{n=!1}if(n)return!0;try{const s=document.createElement("textarea");s.value=e,s.setAttribute("readonly",""),s.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(s),s.select(),n=document.execCommand("copy"),s.remove()}catch{n=!1}return n}function S3(e,n){const r=Math.round(e/1e3)-n;return r<=0?{text:"expired",tone:"gone"}:r<60?{text:`expires in ${r}s`,tone:"soon"}:{text:`expires in ${Math.round(r/60)}m`,tone:"ok"}}function k3({onClose:e}){var Z,D,X;const[n,r]=A.useState(null),[s,o]=A.useState(null),[l,u]=A.useState(null),[c,p]=A.useState(null),[h,f]=A.useState(null),[g,y]=A.useState(()=>Math.floor(Date.now()/1e3)),x=A.useRef(null),[N,_]=A.useState(null),[b,S]=A.useState(!1),[k,E]=A.useState(""),[C,I]=A.useState(null),[M,O]=A.useState(null),[W,L]=A.useState(!1),P=A.useCallback(async(j=!1)=>{try{const[$,V]=await Promise.all([fetch(`/api/claude-accounts${j?"?refresh=1":""}`),fetch("/api/cswap-auto")]);$.ok&&r(await $.json()),V.ok&&o(await V.json())}catch{}},[]),q=A.useCallback(async(j,$)=>{u($),f(null);try{const F=await(await fetch("/api/cswap-auto",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)})).json().catch(()=>null);return F!=null&&F.ok||f({text:kx(F,"command failed"),raw:rv(F)}),F}catch{return f({text:"server unreachable"}),null}finally{u(null)}},[]),U=A.useCallback(async(j,$)=>{u($),f(null);try{const F=await(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)})).json().catch(()=>null);return F!=null&&F.ok||f({text:Gl(F,"command failed")}),F}catch{return f({text:"server unreachable"}),null}finally{u(null)}},[]);A.useEffect(()=>(P(!0),x.current=window.setInterval(()=>P(!1),m3),()=>{x.current!=null&&window.clearInterval(x.current)}),[P]),A.useEffect(()=>{const j=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(j)},[]);const B=((Z=s==null?void 0:s.settings["autoswitch.threshold"])==null?void 0:Z.value)??"90",R=(D=n==null?void 0:n.accounts)==null?void 0:D.find(j=>j.active),Q=R!=null&&R.lanes.length?Math.max(...R.lanes.map(j=>j.pct)):null,H=Q!=null&&Q>=Number(B)-15,te=async j=>{p(j),f(null);try{const V=await(await fetch("/api/claude-accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:j})})).json().catch(()=>null);V!=null&&V.ok||f({text:kx(V,"the switch failed"),raw:rv(V)}),await P(!0)}catch{f({text:"server unreachable"})}finally{p(null)}};return m.jsxs("div",{className:"accounts-panel","aria-label":"Claude accounts",children:[m.jsxs("div",{className:"ap-header",children:[m.jsx("h3",{children:"Accounts"}),m.jsxs("div",{className:"ap-header-right",children:[m.jsx("button",{type:"button",className:"btn ap-add",onClick:()=>S(!0),title:"Sign in to another Claude account, or paste one shared from another deck",children:"+"}),m.jsx("button",{type:"button",className:"btn ap-refresh",onClick:()=>P(!0),title:"Reload from claude-swap",children:"↻"}),m.jsx("button",{type:"button",className:"btn icon-btn",onClick:e,"aria-label":"Close accounts panel",title:"Close (A)",children:"×"})]})]}),n==null?m.jsx("div",{className:"ap-empty",children:"Checking…"}):n.ok?m.jsxs(m.Fragment,{children:[(X=n.accounts)==null?void 0:X.map(j=>m.jsxs("div",{className:`ap-account${j.active?" active":""}${j.disabled?" disabled":""}`,children:[m.jsxs("div",{className:"ap-account-head",children:[m.jsx("span",{className:"ap-num",children:j.num}),j.alias&&m.jsx("span",{className:"ap-alias",children:j.alias}),m.jsx("span",{className:"ap-email",title:j.org??void 0,children:j.email}),m.jsx("button",{type:"button",className:`ap-more${N===j.num?" on":""}`,"aria-label":`Manage account ${j.num}`,"aria-expanded":N===j.num,title:"Share, rename, move, remove",onClick:()=>{_(N===j.num?null:j.num),E(j.alias??""),I(null),O(null),L(!1)},children:"⋯"}),j.active?m.jsx("span",{className:"ap-badge-active",children:"● active"}):m.jsx("button",{type:"button",className:"btn ap-switch",disabled:c!=null||j.disabled,onClick:()=>te(j.num),title:j.disabled?"Held out of rotation":`Switch to ${j.alias??j.email}`,children:c===j.num?"…":"switch"})]}),j.lanes.length>0?j.lanes.map($=>m.jsx(x3,{lane:$,nowSec:g},$.id)):m.jsx("div",{className:"ap-hint",children:"No usage recorded yet."}),m.jsxs("div",{className:"ap-meta",children:[j.error&&(()=>{const $=w3(j.error);return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"ap-err",title:$.hint,children:$.text}),$.fixable&&m.jsx("button",{type:"button",className:"ap-fix",onClick:()=>S(!0),title:"Open the sign-in dialog. Signing in as this account replaces its stored login in place.",children:"sign in again"})]})})(),((s==null?void 0:s.enabled)||(s==null?void 0:s.external))&&!j.active&&m.jsx("button",{type:"button",className:"ap-rotate",disabled:l!=null,onClick:()=>q({action:"account",account:j.num,enabled:j.disabled},`rot-${j.num}`).then(()=>P(!0)),title:j.disabled?"Return this account to auto-rotation":"Hold this account out of auto-rotation",children:j.disabled?"held out":"in rotation"}),j.fetchedAt?m.jsxs("span",{className:`ap-age${j.stale?" ap-stale":""}`,title:"When claude-swap last read this account's usage, and when it plans to read it again. It sets that interval itself — 3 minutes at the fastest, wider while an account is recovering from a rate limit — and every surface, including `cswap watch`, follows the same plan.",children:["collected ",Ex(j.fetchedAt,g),y3(j.nextAt,g)]}):m.jsx("span",{className:"ap-age ap-stale",title:"claude-swap has not read this account yet",children:"never collected"})]}),N===j.num&&m.jsxs("div",{className:"ap-manage",children:[m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("span",{className:"ap-manage-label",children:"name"}),m.jsx("input",{className:"ap-manage-input",type:"text",value:k,onChange:$=>E($.target.value),onKeyDown:$=>{$.key==="Enter"&&U({action:"alias",account:j.num,alias:k},`alias-${j.num}`).then(()=>P(!0))},placeholder:"no alias",spellCheck:!1,"aria-label":`Alias for account ${j.num}`}),m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null||k.trim()===(j.alias??""),onClick:()=>U({action:"alias",account:j.num,alias:k},`alias-${j.num}`).then(()=>P(!0)),title:"A short name to show instead of the email",children:"save"})]}),m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("span",{className:"ap-manage-label",children:"slot"}),m.jsx("span",{className:"ap-field",children:m.jsx("select",{"aria-label":`Slot for account ${j.num}`,value:String(j.num),disabled:l!=null,onChange:$=>U({action:"move",account:j.num,slot:Number($.target.value)},`move-${j.num}`).then(()=>P(!0)),children:_3(n.accounts??[]).map($=>m.jsx("option",{value:$,children:$},$))})}),m.jsx("span",{className:"ap-manage-hint",children:"rotation order"})]}),m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,title:"Copy this account to another agents-deck. The share carries a live login and expires in 10 minutes.",onClick:async()=>{L(!1);const $=await U({action:"share",account:j.num},`share-${j.num}`);$!=null&&$.ok&&O({num:j.num,blob:$.blob,expiresAt:$.expiresAt})},children:"share…"}),m.jsx("button",{type:"button",className:`ap-manage-btn danger${C===j.num?" armed":""}`,disabled:l!=null,title:C===j.num?"This deletes the stored credentials for this account":"Remove this account from claude-swap",onClick:()=>{if(C!==j.num){I(j.num),window.setTimeout(()=>I($=>$===j.num?null:$),4e3);return}I(null),U({action:"remove",account:j.num},`rm-${j.num}`).then(()=>{_(null),P(!0)})},children:C===j.num?"confirm remove":"remove"})]}),(M==null?void 0:M.num)===j.num&&(()=>{const $=S3(M.expiresAt,g),V=$.tone==="gone";return m.jsxs("div",{className:`ap-share${V?" expired":""}`,children:[m.jsx("code",{className:"ap-share-blob",children:M.blob}),m.jsxs("div",{className:"ap-share-foot",children:[m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,onClick:async()=>{if(V){L(!1);const F=await U({action:"share",account:j.num},`share-${j.num}`);F!=null&&F.ok&&O({num:j.num,blob:F.blob,expiresAt:F.expiresAt});return}await b3(M.blob)&&(L(!0),window.setTimeout(()=>L(!1),1800))},children:V?"make a new share":W?"copied":"copy"}),m.jsxs("span",{className:"ap-manage-hint",children:["carries a live login · ",m.jsx("span",{className:`ap-share-expiry ${$.tone}`,children:$.text})]})]})]})})()]})]},j.num)),(s==null?void 0:s.ok)&&m.jsxs("div",{className:"ap-auto",children:[m.jsxs("div",{className:"ap-auto-head",children:[m.jsx("span",{className:"ap-auto-title",children:"Auto-switch"}),m.jsxs("span",{className:"ap-auto-ctl",children:[Q!=null&&m.jsxs("span",{className:`ap-auto-now${H?" near":""}`,children:[Math.round(Q),"%"]}),m.jsx("span",{className:"ap-field",title:"Switch once the active account passes this much of its limit",children:m.jsx("select",{"aria-label":"Switch threshold",value:B,disabled:l!=null,onChange:j=>q({action:"setting",key:"autoswitch.threshold",value:j.target.value},"threshold").then(()=>P(!0)),children:g3.map(j=>m.jsxs("option",{value:j,children:[j,"%"]},j))})}),m.jsxs("button",{type:"button",className:`ap-auto-state toggle${s.enabled?" live":""}`,role:"switch","aria-checked":s.enabled,disabled:l!=null,onClick:()=>q({action:"enable",enabled:!s.enabled},"enable").then(()=>P(!0)),title:s.enabled?"Stop switching accounts automatically":"Switch accounts automatically when the active one nears its limit",children:[m.jsx("i",{className:s.enabled?"ap-pulse":"ap-dot","aria-hidden":!0}),s.enabled?"on":"off"]})]})]}),s.external&&m.jsxs("p",{className:"ap-auto-note",children:[m.jsx("i",{className:"ap-pulse","aria-hidden":!0})," A ",m.jsx("code",{children:"cswap auto"})," loop in your terminal is doing the switching. The deck stands down while it runs",s.enabled?" — this toggle takes over when you stop it.":"."]}),s.lastTick&&m.jsx("div",{className:"ap-auto-foot",children:m.jsxs("span",{className:"ap-auto-result",children:["checked ",Ex(s.lastTick.at,g)]})})]}),h&&m.jsxs("div",{className:"ap-failure",role:"alert",children:[m.jsx("span",{className:"ap-failure-text",title:h.raw||void 0,children:h.text}),m.jsx("button",{type:"button",className:"ap-failure-x",onClick:()=>f(null),"aria-label":"Dismiss this message",title:"Dismiss",children:"×"})]}),m.jsx("p",{className:"ap-footnote",title:"Anthropic's usage endpoint allows roughly 28–30 requests per hour per account, shared by every tool on this machine — polling it from here would rate-limit your account. So the deck never fetches: it asks claude-swap to collect while this panel is open, at most once every three minutes, and claude-swap decides whether that touches the network at all.",children:"Collected by claude-swap while this panel is open."})]}):m.jsx("div",{className:"ap-empty",children:n.reason==="no_cswap"?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"claude-swap isn't installed."}),m.jsx("span",{className:"ap-hint",children:"This panel reads the account store claude-swap keeps — without it there is nothing to show. It is a separate tool, published on PyPI, so it does not come with this package."}),n.hint&&m.jsx("code",{className:"ap-cmd",children:n.hint}),m.jsxs("span",{className:"ap-hint",children:["Then add an account with the ",m.jsx("strong",{children:"+"})," button above."]})]}):n.reason==="no_accounts"?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"No accounts added yet."}),m.jsxs("span",{className:"ap-hint",children:["claude-swap is installed but has nothing in its store. Use the ",m.jsx("strong",{children:"+"})," above to sign one in, or to paste one shared from another deck."]})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"Couldn't read the account store."}),m.jsxs("span",{className:"ap-hint",children:["claude-swap is installed, but its store could not be read",n.reason?` (${n.reason})`:"","."]})]})}),b&&m.jsx(p3,{onClose:()=>S(!1),onChanged:()=>P(!0)})]})}const E3=3e4;function N3({bundle:e,running:n,lastTried:r}){return!n||e===n?!1:r!==n}function C3({bundle:e,running:n,pending:r,lastTried:s}){return n?N3({bundle:e,running:n,lastTried:s})?"reload":r==null||r&&r!==n?"wait":"confirm":"wait"}function T3(e){return!e||e.state!=="failed"?null:`${typeof e.at=="number"?e.at:0}:${e.error??""}`}function j3({asked:e,reported:n}){return n?n!==e:!1}function R3(e){const n=e.thresholdMs??E3;return!e.enabled||e.kind!=="restart"||!e.canRestart?{idleSince:null,restart:!1}:e.busy?{idleSince:null,restart:!1}:e.idleSince==null?{idleSince:e.now,restart:!1}:e.now<e.idleSince?{idleSince:e.now,restart:!1}:{idleSince:e.idleSince,restart:e.now-e.idleSince>=n}}function A3(e){return e.ctrlKey||e.metaKey||e.altKey}const I3=new Set(["button","checkbox","color","file","image","radio","range","reset","submit"]),M3=new Set(["INPUT","TEXTAREA","SELECT","OPTION","BUTTON","SUMMARY","A"]),P3=new Set(["button","checkbox","combobox","link","listbox","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","option","radio","searchbox","slider","spinbutton","switch","tab","textbox","treeitem"]);function BN(e){return typeof e.tagName=="string"?e.tagName.toUpperCase():""}function UN(e){if(!e)return!1;if(e.isContentEditable)return!0;const n=BN(e);return n==="TEXTAREA"?!0:n!=="INPUT"?!1:!I3.has(String(e.type??"text").toLowerCase())}function O3(e){if(!e)return!1;if(UN(e)||M3.has(BN(e)))return!0;const n=typeof e.role=="string"?e.role.trim().toLowerCase():"";return n!==""&&n.split(/\s+/).some(r=>P3.has(r))}function L3({agentCount:e,onConfirm:n,onCancel:r}){const s=A.useRef(null);A.useEffect(()=>{var l;(l=s.current)==null||l.focus()},[]),A.useEffect(()=>{const l=u=>{u.key==="Escape"&&r()};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[r]);const o=e===0?"This deletes the server's event log":`This removes ${e===1?"the one agent":`all ${e} agents`} on the canvas and deletes the server's event log`;return m.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:m.jsxs("div",{className:"modal clear-confirm",onClick:l=>l.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"clear-confirm-title",children:[m.jsxs("header",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:"status-dot err","aria-hidden":!0}),m.jsx("span",{id:"clear-confirm-title",className:"modal-tool-name",children:"Clear the deck?"})]}),m.jsx("div",{className:"modal-actions",children:m.jsx("button",{type:"button",className:"btn icon-btn",onClick:r,"aria-label":"Cancel (Esc)",title:"Cancel (Esc)",children:"×"})})]}),m.jsxs("section",{className:"modal-body",children:[m.jsxs("p",{className:"modal-note",children:[o," — the file a restarted deck replays to rebuild what you see. Layout, pins and selection go with it. This cannot be undone."]}),m.jsxs("div",{className:"cc-actions",children:[m.jsx("button",{type:"button",ref:s,className:"btn",onClick:r,children:"Cancel"}),m.jsx("button",{type:"button",className:"btn danger",onClick:n,children:"Clear everything"})]})]})]})})}function q3(e,n){return e==="confirmation"?n.confirmOpen?"clear":"ignore":n.modalOpen||n.confirmOpen?"ignore":"confirm"}function yd(e,n){if(n.size!==0)for(const r of Array.from(e.keys()))n.has(r)||e.delete(r)}function $3(e){const n=new Set;for(const r of e)n.add(r.id),n.add(`group:${r.sessionId}`);return n}const D3=40,F3=120;function z3(e,n){let r=null,s=0,o=Number.NEGATIVE_INFINITY;const l=()=>{r=null,o=n.now(),e()},u=()=>{r!=null&&(n.clearTimeout(r),r=null)},c=(p,h,f)=>{if(r!=null){if(s<=p)return;u()}const g=Math.min(f,Math.max(0,p-h));s=p,r=n.setTimeout(l,g)};return{live(p=D3){const h=n.now(),f=Math.max(o+p,h);if(f<=h){u(),l();return}c(f,h,p)},replay(p=F3){u(),s=n.now()+p,r=n.setTimeout(l,p)},flush(){u(),l()},cancel(){u()}}}function B3(){let e=!1,n=[];return{get paused(){return e},get size(){return n.length},accept(r){return e?(n.push(r),!1):!0},setPaused(r){if(e=r,r||n.length===0)return[];const s=n;return n=[],s}}}const U3="1",Nx="agent-dag.schema",H3=["agent-dag.layout","agent-dag.viewport"];function HN(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function W3(e,n=U3){let r=null;try{r=e.getItem(Nx)}catch{return[]}if(r===n)return[];const s=[];if(r!==null)for(const o of H3)try{e.getItem(o)!==null&&(e.removeItem(o),s.push(o))}catch{}try{e.setItem(Nx,n)}catch{}return s}function V3(){let e=0;return{begin(){const n=++e;return()=>n===e},cancel(){e++}}}function G3(e,n=new Date){return new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()-(e-1))).toISOString().slice(0,10).replace(/-/g,"")}function Ki(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function Cx(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function Dl(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}const Y3=[7,14,30,90];function K3(e){const[n,r]=A.useState(null),[s,o]=A.useState(!1),l=A.useRef(V3()).current,u=(c=!1)=>{const p=l.begin();o(!0);const f=`/api/ccusage?since=${G3(e)}${c?"&refresh=1":""}`;fetch(f).then(g=>g.json()).then(g=>{p()&&r(g)}).catch(()=>{p()&&r({ok:!1,error:"request failed"})}).finally(()=>{p()&&o(!1)})};return A.useEffect(()=>(u(!1),()=>l.cancel()),[e]),{data:n,loading:s,reload:()=>u(!0)}}function X3({onClose:e}){var S,k;const[n,r]=A.useState(30),[s,o]=A.useState(null),{data:l,loading:u,reload:c}=K3(n);A.useEffect(()=>{const E=C=>{C.key==="Escape"&&e()};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[e]);const p=l!=null&&l.ok?l.days??[]:[],h=A.useMemo(()=>p.reduce((E,C)=>Math.max(E,C.totalCost),0),[p]),{totalCost:f,totalTok:g,inOut:y,cacheRead:x,modelCosts:N}=A.useMemo(()=>{let E=0,C=0,I=0,M=0;const O=new Map;for(const W of p){E+=W.totalCost,C+=W.totalTokens,I+=W.inputTokens+W.outputTokens,M+=W.cacheReadTokens;for(const L of W.modelBreakdowns)O.set(L.modelName,(O.get(L.modelName)??0)+L.cost)}return{totalCost:E,totalTok:C,inOut:I,cacheRead:M,modelCosts:O}},[p]),_=A.useMemo(()=>Array.from(N.entries()).sort((E,C)=>C[1]-E[1]),[N]),b=s?p.find(E=>E.period===s)??null:null;return m.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:m.jsxs("div",{className:"uh-modal",onClick:E=>E.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[m.jsxs("header",{className:"uh-head",children:[m.jsxs("div",{className:"uh-titlewrap",children:[m.jsx("div",{className:"uh-title",children:"Usage history"}),m.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),m.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:Y3.map(E=>m.jsxs("button",{role:"tab","aria-selected":n===E,className:`uh-range-btn${n===E?" on":""}`,onClick:()=>{r(E),o(null)},children:[E,"d"]},E))}),m.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),m.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),u&&p.length===0?m.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):l&&!l.ok?m.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",l.error]}):p.length===0?m.jsx("div",{className:"uh-status",children:"no usage in this range"}):m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"uh-totals",children:[m.jsx(Fl,{label:"total cost",val:ze(f),accent:!0}),m.jsx(Fl,{label:"tokens",val:Ki(g)}),m.jsx(Fl,{label:"input+output",val:Ki(y)}),m.jsx(Fl,{label:"cache reads",val:Ki(x)})]}),m.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:p.map(E=>{const C=h>0?E.totalCost/h*100:0,I=E.period===s;return m.jsxs("button",{className:`uh-bar-col${I?" sel":""}`,onClick:()=>o(I?null:E.period),title:`${E.period} · ${ze(E.totalCost)}`,style:{flexBasis:`${100/p.length}%`},children:[m.jsx("div",{className:"uh-bar",style:{height:`${Math.max(C,E.totalCost>0?2:0)}%`},children:E.modelBreakdowns.slice().sort((M,O)=>O.cost-M.cost).map(M=>{const O=E.totalCost>0?M.cost/E.totalCost*100:0;return m.jsx("div",{className:"uh-bar-seg",style:{height:`${O}%`,background:Dl(M.modelName)}},M.modelName)})}),m.jsx("span",{className:"uh-bar-label",children:E.period.slice(5)})]},E.period)})}),m.jsx("div",{className:"uh-legend",children:_.map(([E,C])=>m.jsxs("span",{className:"uh-legend-item",children:[m.jsx("span",{className:"uh-legend-dot",style:{background:Dl(E)}}),Cx(E)," ",m.jsx("span",{className:"uh-legend-cost",children:ze(C)})]},E))}),b&&m.jsxs("div",{className:"uh-detail",children:[m.jsxs("div",{className:"uh-detail-head",children:[m.jsx("span",{className:"uh-detail-date",children:b.period}),m.jsx("span",{className:"uh-detail-cost",children:ze(b.totalCost)}),(k=(S=b.metadata)==null?void 0:S.agents)!=null&&k.length?m.jsx("span",{className:"uh-detail-agents",children:b.metadata.agents.join(" · ")}):null]}),m.jsxs("div",{className:"uh-detail-mini",children:[m.jsx(zl,{label:"input",val:Ki(b.inputTokens)}),m.jsx(zl,{label:"output",val:Ki(b.outputTokens)}),m.jsx(zl,{label:"cache write",val:Ki(b.cacheCreationTokens)}),m.jsx(zl,{label:"cache read",val:Ki(b.cacheReadTokens)})]}),m.jsx("div",{className:"uh-detail-models",children:b.modelBreakdowns.slice().sort((E,C)=>C.cost-E.cost).map(E=>{const C=b.totalCost>0?E.cost/b.totalCost*100:0;return m.jsxs("div",{className:"uh-model-row",children:[m.jsxs("span",{className:"uh-model-name",children:[m.jsx("span",{className:"uh-legend-dot",style:{background:Dl(E.modelName)}}),Cx(E.modelName)]}),m.jsx("span",{className:"uh-model-bar",children:m.jsx("span",{className:"uh-model-bar-fill",style:{width:`${C}%`,background:Dl(E.modelName)}})}),m.jsx("span",{className:"uh-model-cost",children:ze(E.cost)})]},E.modelName)})})]})]})]})})}function Fl({label:e,val:n,accent:r}){return m.jsxs("div",{className:"uh-stat",children:[m.jsx("span",{className:`uh-stat-val${r?" accent":""}`,children:n}),m.jsx("span",{className:"uh-stat-label",children:e})]})}function zl({label:e,val:n}){return m.jsxs("div",{className:"uh-ministat",children:[m.jsx("span",{className:"uh-ministat-val",children:n}),m.jsx("span",{className:"uh-ministat-label",children:e})]})}function jv(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var wd,Tx;function Q3(){if(Tx)return wd;Tx=1;function e(){this.__data__=[],this.size=0}return wd=e,wd}var xd,jx;function io(){if(jx)return xd;jx=1;function e(n,r){return n===r||n!==n&&r!==r}return xd=e,xd}var _d,Rx;function pu(){if(Rx)return _d;Rx=1;var e=io();function n(r,s){for(var o=r.length;o--;)if(e(r[o][0],s))return o;return-1}return _d=n,_d}var bd,Ax;function Z3(){if(Ax)return bd;Ax=1;var e=pu(),n=Array.prototype,r=n.splice;function s(o){var l=this.__data__,u=e(l,o);if(u<0)return!1;var c=l.length-1;return u==c?l.pop():r.call(l,u,1),--this.size,!0}return bd=s,bd}var Sd,Ix;function J3(){if(Ix)return Sd;Ix=1;var e=pu();function n(r){var s=this.__data__,o=e(s,r);return o<0?void 0:s[o][1]}return Sd=n,Sd}var kd,Mx;function eL(){if(Mx)return kd;Mx=1;var e=pu();function n(r){return e(this.__data__,r)>-1}return kd=n,kd}var Ed,Px;function tL(){if(Px)return Ed;Px=1;var e=pu();function n(r,s){var o=this.__data__,l=e(o,r);return l<0?(++this.size,o.push([r,s])):o[l][1]=s,this}return Ed=n,Ed}var Nd,Ox;function mu(){if(Ox)return Nd;Ox=1;var e=Q3(),n=Z3(),r=J3(),s=eL(),o=tL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Nd=l,Nd}var Cd,Lx;function nL(){if(Lx)return Cd;Lx=1;var e=mu();function n(){this.__data__=new e,this.size=0}return Cd=n,Cd}var Td,qx;function rL(){if(qx)return Td;qx=1;function e(n){var r=this.__data__,s=r.delete(n);return this.size=r.size,s}return Td=e,Td}var jd,$x;function iL(){if($x)return jd;$x=1;function e(n){return this.__data__.get(n)}return jd=e,jd}var Rd,Dx;function sL(){if(Dx)return Rd;Dx=1;function e(n){return this.__data__.has(n)}return Rd=e,Rd}var Ad,Fx;function WN(){if(Fx)return Ad;Fx=1;var e=typeof El=="object"&&El&&El.Object===Object&&El;return Ad=e,Ad}var Id,zx;function Qn(){if(zx)return Id;zx=1;var e=WN(),n=typeof self=="object"&&self&&self.Object===Object&&self,r=e||n||Function("return this")();return Id=r,Id}var Md,Bx;function so(){if(Bx)return Md;Bx=1;var e=Qn(),n=e.Symbol;return Md=n,Md}var Pd,Ux;function oL(){if(Ux)return Pd;Ux=1;var e=so(),n=Object.prototype,r=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function l(u){var c=r.call(u,o),p=u[o];try{u[o]=void 0;var h=!0}catch{}var f=s.call(u);return h&&(c?u[o]=p:delete u[o]),f}return Pd=l,Pd}var Od,Hx;function aL(){if(Hx)return Od;Hx=1;var e=Object.prototype,n=e.toString;function r(s){return n.call(s)}return Od=r,Od}var Ld,Wx;function rs(){if(Wx)return Ld;Wx=1;var e=so(),n=oL(),r=aL(),s="[object Null]",o="[object Undefined]",l=e?e.toStringTag:void 0;function u(c){return c==null?c===void 0?o:s:l&&l in Object(c)?n(c):r(c)}return Ld=u,Ld}var qd,Vx;function Nn(){if(Vx)return qd;Vx=1;function e(n){var r=typeof n;return n!=null&&(r=="object"||r=="function")}return qd=e,qd}var $d,Gx;function xa(){if(Gx)return $d;Gx=1;var e=rs(),n=Nn(),r="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",l="[object Proxy]";function u(c){if(!n(c))return!1;var p=e(c);return p==s||p==o||p==r||p==l}return $d=u,$d}var Dd,Yx;function lL(){if(Yx)return Dd;Yx=1;var e=Qn(),n=e["__core-js_shared__"];return Dd=n,Dd}var Fd,Kx;function uL(){if(Kx)return Fd;Kx=1;var e=lL(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function r(s){return!!n&&n in s}return Fd=r,Fd}var zd,Xx;function VN(){if(Xx)return zd;Xx=1;var e=Function.prototype,n=e.toString;function r(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return zd=r,zd}var Bd,Qx;function cL(){if(Qx)return Bd;Qx=1;var e=xa(),n=uL(),r=Nn(),s=VN(),o=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,p=u.toString,h=c.hasOwnProperty,f=RegExp("^"+p.call(h).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(y){if(!r(y)||n(y))return!1;var x=e(y)?f:l;return x.test(s(y))}return Bd=g,Bd}var Ud,Zx;function dL(){if(Zx)return Ud;Zx=1;function e(n,r){return n==null?void 0:n[r]}return Ud=e,Ud}var Hd,Jx;function is(){if(Jx)return Hd;Jx=1;var e=cL(),n=dL();function r(s,o){var l=n(s,o);return e(l)?l:void 0}return Hd=r,Hd}var Wd,e_;function Rv(){if(e_)return Wd;e_=1;var e=is(),n=Qn(),r=e(n,"Map");return Wd=r,Wd}var Vd,t_;function gu(){if(t_)return Vd;t_=1;var e=is(),n=e(Object,"create");return Vd=n,Vd}var Gd,n_;function fL(){if(n_)return Gd;n_=1;var e=gu();function n(){this.__data__=e?e(null):{},this.size=0}return Gd=n,Gd}var Yd,r_;function hL(){if(r_)return Yd;r_=1;function e(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return Yd=e,Yd}var Kd,i_;function pL(){if(i_)return Kd;i_=1;var e=gu(),n="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;function o(l){var u=this.__data__;if(e){var c=u[l];return c===n?void 0:c}return s.call(u,l)?u[l]:void 0}return Kd=o,Kd}var Xd,s_;function mL(){if(s_)return Xd;s_=1;var e=gu(),n=Object.prototype,r=n.hasOwnProperty;function s(o){var l=this.__data__;return e?l[o]!==void 0:r.call(l,o)}return Xd=s,Xd}var Qd,o_;function gL(){if(o_)return Qd;o_=1;var e=gu(),n="__lodash_hash_undefined__";function r(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&o===void 0?n:o,this}return Qd=r,Qd}var Zd,a_;function vL(){if(a_)return Zd;a_=1;var e=fL(),n=hL(),r=pL(),s=mL(),o=gL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Zd=l,Zd}var Jd,l_;function yL(){if(l_)return Jd;l_=1;var e=vL(),n=mu(),r=Rv();function s(){this.size=0,this.__data__={hash:new e,map:new(r||n),string:new e}}return Jd=s,Jd}var ef,u_;function wL(){if(u_)return ef;u_=1;function e(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return ef=e,ef}var tf,c_;function vu(){if(c_)return tf;c_=1;var e=wL();function n(r,s){var o=r.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return tf=n,tf}var nf,d_;function xL(){if(d_)return nf;d_=1;var e=vu();function n(r){var s=e(this,r).delete(r);return this.size-=s?1:0,s}return nf=n,nf}var rf,f_;function _L(){if(f_)return rf;f_=1;var e=vu();function n(r){return e(this,r).get(r)}return rf=n,rf}var sf,h_;function bL(){if(h_)return sf;h_=1;var e=vu();function n(r){return e(this,r).has(r)}return sf=n,sf}var of,p_;function SL(){if(p_)return of;p_=1;var e=vu();function n(r,s){var o=e(this,r),l=o.size;return o.set(r,s),this.size+=o.size==l?0:1,this}return of=n,of}var af,m_;function Av(){if(m_)return af;m_=1;var e=yL(),n=xL(),r=_L(),s=bL(),o=SL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,af=l,af}var lf,g_;function kL(){if(g_)return lf;g_=1;var e=mu(),n=Rv(),r=Av(),s=200;function o(l,u){var c=this.__data__;if(c instanceof e){var p=c.__data__;if(!n||p.length<s-1)return p.push([l,u]),this.size=++c.size,this;c=this.__data__=new r(p)}return c.set(l,u),this.size=c.size,this}return lf=o,lf}var uf,v_;function yu(){if(v_)return uf;v_=1;var e=mu(),n=nL(),r=rL(),s=iL(),o=sL(),l=kL();function u(c){var p=this.__data__=new e(c);this.size=p.size}return u.prototype.clear=n,u.prototype.delete=r,u.prototype.get=s,u.prototype.has=o,u.prototype.set=l,uf=u,uf}var cf,y_;function Iv(){if(y_)return cf;y_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o&&r(n[s],s,n)!==!1;);return n}return cf=e,cf}var df,w_;function GN(){if(w_)return df;w_=1;var e=is(),n=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return df=n,df}var ff,x_;function wu(){if(x_)return ff;x_=1;var e=GN();function n(r,s,o){s=="__proto__"&&e?e(r,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):r[s]=o}return ff=n,ff}var hf,__;function xu(){if(__)return hf;__=1;var e=wu(),n=io(),r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c){var p=l[u];(!(s.call(l,u)&&n(p,c))||c===void 0&&!(u in l))&&e(l,u,c)}return hf=o,hf}var pf,b_;function _a(){if(b_)return pf;b_=1;var e=xu(),n=wu();function r(s,o,l,u){var c=!l;l||(l={});for(var p=-1,h=o.length;++p<h;){var f=o[p],g=u?u(l[f],s[f],f,l,s):void 0;g===void 0&&(g=s[f]),c?n(l,f,g):e(l,f,g)}return l}return pf=r,pf}var mf,S_;function EL(){if(S_)return mf;S_=1;function e(n,r){for(var s=-1,o=Array(n);++s<n;)o[s]=r(s);return o}return mf=e,mf}var gf,k_;function fr(){if(k_)return gf;k_=1;function e(n){return n!=null&&typeof n=="object"}return gf=e,gf}var vf,E_;function NL(){if(E_)return vf;E_=1;var e=rs(),n=fr(),r="[object Arguments]";function s(o){return n(o)&&e(o)==r}return vf=s,vf}var yf,N_;function ba(){if(N_)return yf;N_=1;var e=NL(),n=fr(),r=Object.prototype,s=r.hasOwnProperty,o=r.propertyIsEnumerable,l=e((function(){return arguments})())?e:function(u){return n(u)&&s.call(u,"callee")&&!o.call(u,"callee")};return yf=l,yf}var wf,C_;function _t(){if(C_)return wf;C_=1;var e=Array.isArray;return wf=e,wf}var ea={exports:{}},xf,T_;function CL(){if(T_)return xf;T_=1;function e(){return!1}return xf=e,xf}ea.exports;var j_;function oo(){return j_||(j_=1,(function(e,n){var r=Qn(),s=CL(),o=n&&!n.nodeType&&n,l=o&&!0&&e&&!e.nodeType&&e,u=l&&l.exports===o,c=u?r.Buffer:void 0,p=c?c.isBuffer:void 0,h=p||s;e.exports=h})(ea,ea.exports)),ea.exports}var _f,R_;function _u(){if(R_)return _f;R_=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(s,o){var l=typeof s;return o=o??e,!!o&&(l=="number"||l!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return _f=r,_f}var bf,A_;function Mv(){if(A_)return bf;A_=1;var e=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return bf=n,bf}var Sf,I_;function TL(){if(I_)return Sf;I_=1;var e=rs(),n=Mv(),r=fr(),s="[object Arguments]",o="[object Array]",l="[object Boolean]",u="[object Date]",c="[object Error]",p="[object Function]",h="[object Map]",f="[object Number]",g="[object Object]",y="[object RegExp]",x="[object Set]",N="[object String]",_="[object WeakMap]",b="[object ArrayBuffer]",S="[object DataView]",k="[object Float32Array]",E="[object Float64Array]",C="[object Int8Array]",I="[object Int16Array]",M="[object Int32Array]",O="[object Uint8Array]",W="[object Uint8ClampedArray]",L="[object Uint16Array]",P="[object Uint32Array]",q={};q[k]=q[E]=q[C]=q[I]=q[M]=q[O]=q[W]=q[L]=q[P]=!0,q[s]=q[o]=q[b]=q[l]=q[S]=q[u]=q[c]=q[p]=q[h]=q[f]=q[g]=q[y]=q[x]=q[N]=q[_]=!1;function U(B){return r(B)&&n(B.length)&&!!q[e(B)]}return Sf=U,Sf}var kf,M_;function bu(){if(M_)return kf;M_=1;function e(n){return function(r){return n(r)}}return kf=e,kf}var ta={exports:{}};ta.exports;var P_;function Pv(){return P_||(P_=1,(function(e,n){var r=WN(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l&&r.process,c=(function(){try{var p=o&&o.require&&o.require("util").types;return p||u&&u.binding&&u.binding("util")}catch{}})();e.exports=c})(ta,ta.exports)),ta.exports}var Ef,O_;function Sa(){if(O_)return Ef;O_=1;var e=TL(),n=bu(),r=Pv(),s=r&&r.isTypedArray,o=s?n(s):e;return Ef=o,Ef}var Nf,L_;function YN(){if(L_)return Nf;L_=1;var e=EL(),n=ba(),r=_t(),s=oo(),o=_u(),l=Sa(),u=Object.prototype,c=u.hasOwnProperty;function p(h,f){var g=r(h),y=!g&&n(h),x=!g&&!y&&s(h),N=!g&&!y&&!x&&l(h),_=g||y||x||N,b=_?e(h.length,String):[],S=b.length;for(var k in h)(f||c.call(h,k))&&!(_&&(k=="length"||x&&(k=="offset"||k=="parent")||N&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||o(k,S)))&&b.push(k);return b}return Nf=p,Nf}var Cf,q_;function Su(){if(q_)return Cf;q_=1;var e=Object.prototype;function n(r){var s=r&&r.constructor,o=typeof s=="function"&&s.prototype||e;return r===o}return Cf=n,Cf}var Tf,$_;function KN(){if($_)return Tf;$_=1;function e(n,r){return function(s){return n(r(s))}}return Tf=e,Tf}var jf,D_;function jL(){if(D_)return jf;D_=1;var e=KN(),n=e(Object.keys,Object);return jf=n,jf}var Rf,F_;function Ov(){if(F_)return Rf;F_=1;var e=Su(),n=jL(),r=Object.prototype,s=r.hasOwnProperty;function o(l){if(!e(l))return n(l);var u=[];for(var c in Object(l))s.call(l,c)&&c!="constructor"&&u.push(c);return u}return Rf=o,Rf}var Af,z_;function Or(){if(z_)return Af;z_=1;var e=xa(),n=Mv();function r(s){return s!=null&&n(s.length)&&!e(s)}return Af=r,Af}var If,B_;function gi(){if(B_)return If;B_=1;var e=YN(),n=Ov(),r=Or();function s(o){return r(o)?e(o):n(o)}return If=s,If}var Mf,U_;function RL(){if(U_)return Mf;U_=1;var e=_a(),n=gi();function r(s,o){return s&&e(o,n(o),s)}return Mf=r,Mf}var Pf,H_;function AL(){if(H_)return Pf;H_=1;function e(n){var r=[];if(n!=null)for(var s in Object(n))r.push(s);return r}return Pf=e,Pf}var Of,W_;function IL(){if(W_)return Of;W_=1;var e=Nn(),n=Su(),r=AL(),s=Object.prototype,o=s.hasOwnProperty;function l(u){if(!e(u))return r(u);var c=n(u),p=[];for(var h in u)h=="constructor"&&(c||!o.call(u,h))||p.push(h);return p}return Of=l,Of}var Lf,V_;function ss(){if(V_)return Lf;V_=1;var e=YN(),n=IL(),r=Or();function s(o){return r(o)?e(o,!0):n(o)}return Lf=s,Lf}var qf,G_;function ML(){if(G_)return qf;G_=1;var e=_a(),n=ss();function r(s,o){return s&&e(o,n(o),s)}return qf=r,qf}var na={exports:{}};na.exports;var Y_;function XN(){return Y_||(Y_=1,(function(e,n){var r=Qn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l?r.Buffer:void 0,c=u?u.allocUnsafe:void 0;function p(h,f){if(f)return h.slice();var g=h.length,y=c?c(g):new h.constructor(g);return h.copy(y),y}e.exports=p})(na,na.exports)),na.exports}var $f,K_;function QN(){if(K_)return $f;K_=1;function e(n,r){var s=-1,o=n.length;for(r||(r=Array(o));++s<o;)r[s]=n[s];return r}return $f=e,$f}var Df,X_;function ZN(){if(X_)return Df;X_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=0,u=[];++s<o;){var c=n[s];r(c,s,n)&&(u[l++]=c)}return u}return Df=e,Df}var Ff,Q_;function JN(){if(Q_)return Ff;Q_=1;function e(){return[]}return Ff=e,Ff}var zf,Z_;function Lv(){if(Z_)return zf;Z_=1;var e=ZN(),n=JN(),r=Object.prototype,s=r.propertyIsEnumerable,o=Object.getOwnPropertySymbols,l=o?function(u){return u==null?[]:(u=Object(u),e(o(u),function(c){return s.call(u,c)}))}:n;return zf=l,zf}var Bf,J_;function PL(){if(J_)return Bf;J_=1;var e=_a(),n=Lv();function r(s,o){return e(s,n(s),o)}return Bf=r,Bf}var Uf,e1;function qv(){if(e1)return Uf;e1=1;function e(n,r){for(var s=-1,o=r.length,l=n.length;++s<o;)n[l+s]=r[s];return n}return Uf=e,Uf}var Hf,t1;function ku(){if(t1)return Hf;t1=1;var e=KN(),n=e(Object.getPrototypeOf,Object);return Hf=n,Hf}var Wf,n1;function eC(){if(n1)return Wf;n1=1;var e=qv(),n=ku(),r=Lv(),s=JN(),o=Object.getOwnPropertySymbols,l=o?function(u){for(var c=[];u;)e(c,r(u)),u=n(u);return c}:s;return Wf=l,Wf}var Vf,r1;function OL(){if(r1)return Vf;r1=1;var e=_a(),n=eC();function r(s,o){return e(s,n(s),o)}return Vf=r,Vf}var Gf,i1;function tC(){if(i1)return Gf;i1=1;var e=qv(),n=_t();function r(s,o,l){var u=o(s);return n(s)?u:e(u,l(s))}return Gf=r,Gf}var Yf,s1;function nC(){if(s1)return Yf;s1=1;var e=tC(),n=Lv(),r=gi();function s(o){return e(o,r,n)}return Yf=s,Yf}var Kf,o1;function LL(){if(o1)return Kf;o1=1;var e=tC(),n=eC(),r=ss();function s(o){return e(o,r,n)}return Kf=s,Kf}var Xf,a1;function qL(){if(a1)return Xf;a1=1;var e=is(),n=Qn(),r=e(n,"DataView");return Xf=r,Xf}var Qf,l1;function $L(){if(l1)return Qf;l1=1;var e=is(),n=Qn(),r=e(n,"Promise");return Qf=r,Qf}var Zf,u1;function rC(){if(u1)return Zf;u1=1;var e=is(),n=Qn(),r=e(n,"Set");return Zf=r,Zf}var Jf,c1;function DL(){if(c1)return Jf;c1=1;var e=is(),n=Qn(),r=e(n,"WeakMap");return Jf=r,Jf}var eh,d1;function ao(){if(d1)return eh;d1=1;var e=qL(),n=Rv(),r=$L(),s=rC(),o=DL(),l=rs(),u=VN(),c="[object Map]",p="[object Object]",h="[object Promise]",f="[object Set]",g="[object WeakMap]",y="[object DataView]",x=u(e),N=u(n),_=u(r),b=u(s),S=u(o),k=l;return(e&&k(new e(new ArrayBuffer(1)))!=y||n&&k(new n)!=c||r&&k(r.resolve())!=h||s&&k(new s)!=f||o&&k(new o)!=g)&&(k=function(E){var C=l(E),I=C==p?E.constructor:void 0,M=I?u(I):"";if(M)switch(M){case x:return y;case N:return c;case _:return h;case b:return f;case S:return g}return C}),eh=k,eh}var th,f1;function FL(){if(f1)return th;f1=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(l.index=s.index,l.input=s.input),l}return th=r,th}var nh,h1;function iC(){if(h1)return nh;h1=1;var e=Qn(),n=e.Uint8Array;return nh=n,nh}var rh,p1;function $v(){if(p1)return rh;p1=1;var e=iC();function n(r){var s=new r.constructor(r.byteLength);return new e(s).set(new e(r)),s}return rh=n,rh}var ih,m1;function zL(){if(m1)return ih;m1=1;var e=$v();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.byteLength)}return ih=n,ih}var sh,g1;function BL(){if(g1)return sh;g1=1;var e=/\w*$/;function n(r){var s=new r.constructor(r.source,e.exec(r));return s.lastIndex=r.lastIndex,s}return sh=n,sh}var oh,v1;function UL(){if(v1)return oh;v1=1;var e=so(),n=e?e.prototype:void 0,r=n?n.valueOf:void 0;function s(o){return r?Object(r.call(o)):{}}return oh=s,oh}var ah,y1;function sC(){if(y1)return ah;y1=1;var e=$v();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.length)}return ah=n,ah}var lh,w1;function HL(){if(w1)return lh;w1=1;var e=$v(),n=zL(),r=BL(),s=UL(),o=sC(),l="[object Boolean]",u="[object Date]",c="[object Map]",p="[object Number]",h="[object RegExp]",f="[object Set]",g="[object String]",y="[object Symbol]",x="[object ArrayBuffer]",N="[object DataView]",_="[object Float32Array]",b="[object Float64Array]",S="[object Int8Array]",k="[object Int16Array]",E="[object Int32Array]",C="[object Uint8Array]",I="[object Uint8ClampedArray]",M="[object Uint16Array]",O="[object Uint32Array]";function W(L,P,q){var U=L.constructor;switch(P){case x:return e(L);case l:case u:return new U(+L);case N:return n(L,q);case _:case b:case S:case k:case E:case C:case I:case M:case O:return o(L,q);case c:return new U;case p:case g:return new U(L);case h:return r(L);case f:return new U;case y:return s(L)}}return lh=W,lh}var uh,x1;function oC(){if(x1)return uh;x1=1;var e=Nn(),n=Object.create,r=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var l=new s;return s.prototype=void 0,l}})();return uh=r,uh}var ch,_1;function aC(){if(_1)return ch;_1=1;var e=oC(),n=ku(),r=Su();function s(o){return typeof o.constructor=="function"&&!r(o)?e(n(o)):{}}return ch=s,ch}var dh,b1;function WL(){if(b1)return dh;b1=1;var e=ao(),n=fr(),r="[object Map]";function s(o){return n(o)&&e(o)==r}return dh=s,dh}var fh,S1;function VL(){if(S1)return fh;S1=1;var e=WL(),n=bu(),r=Pv(),s=r&&r.isMap,o=s?n(s):e;return fh=o,fh}var hh,k1;function GL(){if(k1)return hh;k1=1;var e=ao(),n=fr(),r="[object Set]";function s(o){return n(o)&&e(o)==r}return hh=s,hh}var ph,E1;function YL(){if(E1)return ph;E1=1;var e=GL(),n=bu(),r=Pv(),s=r&&r.isSet,o=s?n(s):e;return ph=o,ph}var mh,N1;function lC(){if(N1)return mh;N1=1;var e=yu(),n=Iv(),r=xu(),s=RL(),o=ML(),l=XN(),u=QN(),c=PL(),p=OL(),h=nC(),f=LL(),g=ao(),y=FL(),x=HL(),N=aC(),_=_t(),b=oo(),S=VL(),k=Nn(),E=YL(),C=gi(),I=ss(),M=1,O=2,W=4,L="[object Arguments]",P="[object Array]",q="[object Boolean]",U="[object Date]",B="[object Error]",R="[object Function]",Q="[object GeneratorFunction]",H="[object Map]",te="[object Number]",Z="[object Object]",D="[object RegExp]",X="[object Set]",j="[object String]",$="[object Symbol]",V="[object WeakMap]",F="[object ArrayBuffer]",J="[object DataView]",ne="[object Float32Array]",le="[object Float64Array]",de="[object Int8Array]",me="[object Int16Array]",ve="[object Int32Array]",Pe="[object Uint8Array]",Me="[object Uint8ClampedArray]",Oe="[object Uint16Array]",ye="[object Uint32Array]",Se={};Se[L]=Se[P]=Se[F]=Se[J]=Se[q]=Se[U]=Se[ne]=Se[le]=Se[de]=Se[me]=Se[ve]=Se[H]=Se[te]=Se[Z]=Se[D]=Se[X]=Se[j]=Se[$]=Se[Pe]=Se[Me]=Se[Oe]=Se[ye]=!0,Se[B]=Se[R]=Se[V]=!1;function Ke(xe,ge,Fe,pt,mt,Ze){var De,Qe=ge&M,at=ge&O,It=ge&W;if(Fe&&(De=mt?Fe(xe,pt,mt,Ze):Fe(xe)),De!==void 0)return De;if(!k(xe))return xe;var it=_(xe);if(it){if(De=y(xe),!Qe)return u(xe,De)}else{var gt=g(xe),Kt=gt==R||gt==Q;if(b(xe))return l(xe,Qe);if(gt==Z||gt==L||Kt&&!mt){if(De=at||Kt?{}:N(xe),!Qe)return at?p(xe,o(De,xe)):c(xe,s(De,xe))}else{if(!Se[gt])return mt?xe:{};De=x(xe,gt,Qe)}}Ze||(Ze=new e);var Mt=Ze.get(xe);if(Mt)return Mt;Ze.set(xe,De),E(xe)?xe.forEach(function(dt){De.add(Ke(dt,ge,Fe,dt,xe,Ze))}):S(xe)&&xe.forEach(function(dt,lt){De.set(lt,Ke(dt,ge,Fe,lt,xe,Ze))});var Ye=It?at?f:h:at?I:C,Nt=it?void 0:Ye(xe);return n(Nt||xe,function(dt,lt){Nt&&(lt=dt,dt=xe[lt]),r(De,lt,Ke(dt,ge,Fe,lt,xe,Ze))}),De}return mh=Ke,mh}var gh,C1;function KL(){if(C1)return gh;C1=1;var e=lC(),n=4;function r(s){return e(s,n)}return gh=r,gh}var vh,T1;function Dv(){if(T1)return vh;T1=1;function e(n){return function(){return n}}return vh=e,vh}var yh,j1;function XL(){if(j1)return yh;j1=1;function e(n){return function(r,s,o){for(var l=-1,u=Object(r),c=o(r),p=c.length;p--;){var h=c[n?p:++l];if(s(u[h],h,u)===!1)break}return r}}return yh=e,yh}var wh,R1;function Fv(){if(R1)return wh;R1=1;var e=XL(),n=e();return wh=n,wh}var xh,A1;function zv(){if(A1)return xh;A1=1;var e=Fv(),n=gi();function r(s,o){return s&&e(s,o,n)}return xh=r,xh}var _h,I1;function QL(){if(I1)return _h;I1=1;var e=Or();function n(r,s){return function(o,l){if(o==null)return o;if(!e(o))return r(o,l);for(var u=o.length,c=s?u:-1,p=Object(o);(s?c--:++c<u)&&l(p[c],c,p)!==!1;);return o}}return _h=n,_h}var bh,M1;function Eu(){if(M1)return bh;M1=1;var e=zv(),n=QL(),r=n(e);return bh=r,bh}var Sh,P1;function os(){if(P1)return Sh;P1=1;function e(n){return n}return Sh=e,Sh}var kh,O1;function uC(){if(O1)return kh;O1=1;var e=os();function n(r){return typeof r=="function"?r:e}return kh=n,kh}var Eh,L1;function cC(){if(L1)return Eh;L1=1;var e=Iv(),n=Eu(),r=uC(),s=_t();function o(l,u){var c=s(l)?e:n;return c(l,r(u))}return Eh=o,Eh}var Nh,q1;function dC(){return q1||(q1=1,Nh=cC()),Nh}var Ch,$1;function ZL(){if($1)return Ch;$1=1;var e=Eu();function n(r,s){var o=[];return e(r,function(l,u,c){s(l,u,c)&&o.push(l)}),o}return Ch=n,Ch}var Th,D1;function JL(){if(D1)return Th;D1=1;var e="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,e),this}return Th=n,Th}var jh,F1;function eq(){if(F1)return jh;F1=1;function e(n){return this.__data__.has(n)}return jh=e,jh}var Rh,z1;function fC(){if(z1)return Rh;z1=1;var e=Av(),n=JL(),r=eq();function s(o){var l=-1,u=o==null?0:o.length;for(this.__data__=new e;++l<u;)this.add(o[l])}return s.prototype.add=s.prototype.push=n,s.prototype.has=r,Rh=s,Rh}var Ah,B1;function tq(){if(B1)return Ah;B1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o;)if(r(n[s],s,n))return!0;return!1}return Ah=e,Ah}var Ih,U1;function hC(){if(U1)return Ih;U1=1;function e(n,r){return n.has(r)}return Ih=e,Ih}var Mh,H1;function pC(){if(H1)return Mh;H1=1;var e=fC(),n=tq(),r=hC(),s=1,o=2;function l(u,c,p,h,f,g){var y=p&s,x=u.length,N=c.length;if(x!=N&&!(y&&N>x))return!1;var _=g.get(u),b=g.get(c);if(_&&b)return _==c&&b==u;var S=-1,k=!0,E=p&o?new e:void 0;for(g.set(u,c),g.set(c,u);++S<x;){var C=u[S],I=c[S];if(h)var M=y?h(I,C,S,c,u,g):h(C,I,S,u,c,g);if(M!==void 0){if(M)continue;k=!1;break}if(E){if(!n(c,function(O,W){if(!r(E,W)&&(C===O||f(C,O,p,h,g)))return E.push(W)})){k=!1;break}}else if(!(C===I||f(C,I,p,h,g))){k=!1;break}}return g.delete(u),g.delete(c),k}return Mh=l,Mh}var Ph,W1;function nq(){if(W1)return Ph;W1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o,l){s[++r]=[l,o]}),s}return Ph=e,Ph}var Oh,V1;function Bv(){if(V1)return Oh;V1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o){s[++r]=o}),s}return Oh=e,Oh}var Lh,G1;function rq(){if(G1)return Lh;G1=1;var e=so(),n=iC(),r=io(),s=pC(),o=nq(),l=Bv(),u=1,c=2,p="[object Boolean]",h="[object Date]",f="[object Error]",g="[object Map]",y="[object Number]",x="[object RegExp]",N="[object Set]",_="[object String]",b="[object Symbol]",S="[object ArrayBuffer]",k="[object DataView]",E=e?e.prototype:void 0,C=E?E.valueOf:void 0;function I(M,O,W,L,P,q,U){switch(W){case k:if(M.byteLength!=O.byteLength||M.byteOffset!=O.byteOffset)return!1;M=M.buffer,O=O.buffer;case S:return!(M.byteLength!=O.byteLength||!q(new n(M),new n(O)));case p:case h:case y:return r(+M,+O);case f:return M.name==O.name&&M.message==O.message;case x:case _:return M==O+"";case g:var B=o;case N:var R=L&u;if(B||(B=l),M.size!=O.size&&!R)return!1;var Q=U.get(M);if(Q)return Q==O;L|=c,U.set(M,O);var H=s(B(M),B(O),L,P,q,U);return U.delete(M),H;case b:if(C)return C.call(M)==C.call(O)}return!1}return Lh=I,Lh}var qh,Y1;function iq(){if(Y1)return qh;Y1=1;var e=nC(),n=1,r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c,p,h,f){var g=c&n,y=e(l),x=y.length,N=e(u),_=N.length;if(x!=_&&!g)return!1;for(var b=x;b--;){var S=y[b];if(!(g?S in u:s.call(u,S)))return!1}var k=f.get(l),E=f.get(u);if(k&&E)return k==u&&E==l;var C=!0;f.set(l,u),f.set(u,l);for(var I=g;++b<x;){S=y[b];var M=l[S],O=u[S];if(p)var W=g?p(O,M,S,u,l,f):p(M,O,S,l,u,f);if(!(W===void 0?M===O||h(M,O,c,p,f):W)){C=!1;break}I||(I=S=="constructor")}if(C&&!I){var L=l.constructor,P=u.constructor;L!=P&&"constructor"in l&&"constructor"in u&&!(typeof L=="function"&&L instanceof L&&typeof P=="function"&&P instanceof P)&&(C=!1)}return f.delete(l),f.delete(u),C}return qh=o,qh}var $h,K1;function sq(){if(K1)return $h;K1=1;var e=yu(),n=pC(),r=rq(),s=iq(),o=ao(),l=_t(),u=oo(),c=Sa(),p=1,h="[object Arguments]",f="[object Array]",g="[object Object]",y=Object.prototype,x=y.hasOwnProperty;function N(_,b,S,k,E,C){var I=l(_),M=l(b),O=I?f:o(_),W=M?f:o(b);O=O==h?g:O,W=W==h?g:W;var L=O==g,P=W==g,q=O==W;if(q&&u(_)){if(!u(b))return!1;I=!0,L=!1}if(q&&!L)return C||(C=new e),I||c(_)?n(_,b,S,k,E,C):r(_,b,O,S,k,E,C);if(!(S&p)){var U=L&&x.call(_,"__wrapped__"),B=P&&x.call(b,"__wrapped__");if(U||B){var R=U?_.value():_,Q=B?b.value():b;return C||(C=new e),E(R,Q,S,k,C)}}return q?(C||(C=new e),s(_,b,S,k,E,C)):!1}return $h=N,$h}var Dh,X1;function mC(){if(X1)return Dh;X1=1;var e=sq(),n=fr();function r(s,o,l,u,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,l,u,r,c)}return Dh=r,Dh}var Fh,Q1;function oq(){if(Q1)return Fh;Q1=1;var e=yu(),n=mC(),r=1,s=2;function o(l,u,c,p){var h=c.length,f=h,g=!p;if(l==null)return!f;for(l=Object(l);h--;){var y=c[h];if(g&&y[2]?y[1]!==l[y[0]]:!(y[0]in l))return!1}for(;++h<f;){y=c[h];var x=y[0],N=l[x],_=y[1];if(g&&y[2]){if(N===void 0&&!(x in l))return!1}else{var b=new e;if(p)var S=p(N,_,x,l,u,b);if(!(S===void 0?n(_,N,r|s,p,b):S))return!1}}return!0}return Fh=o,Fh}var zh,Z1;function gC(){if(Z1)return zh;Z1=1;var e=Nn();function n(r){return r===r&&!e(r)}return zh=n,zh}var Bh,J1;function aq(){if(J1)return Bh;J1=1;var e=gC(),n=gi();function r(s){for(var o=n(s),l=o.length;l--;){var u=o[l],c=s[u];o[l]=[u,c,e(c)]}return o}return Bh=r,Bh}var Uh,eb;function vC(){if(eb)return Uh;eb=1;function e(n,r){return function(s){return s==null?!1:s[n]===r&&(r!==void 0||n in Object(s))}}return Uh=e,Uh}var Hh,tb;function lq(){if(tb)return Hh;tb=1;var e=oq(),n=aq(),r=vC();function s(o){var l=n(o);return l.length==1&&l[0][2]?r(l[0][0],l[0][1]):function(u){return u===o||e(u,o,l)}}return Hh=s,Hh}var Wh,nb;function lo(){if(nb)return Wh;nb=1;var e=rs(),n=fr(),r="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==r}return Wh=s,Wh}var Vh,rb;function Uv(){if(rb)return Vh;rb=1;var e=_t(),n=lo(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(l,u){if(e(l))return!1;var c=typeof l;return c=="number"||c=="symbol"||c=="boolean"||l==null||n(l)?!0:s.test(l)||!r.test(l)||u!=null&&l in Object(u)}return Vh=o,Vh}var Gh,ib;function uq(){if(ib)return Gh;ib=1;var e=Av(),n="Expected a function";function r(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var l=function(){var u=arguments,c=o?o.apply(this,u):u[0],p=l.cache;if(p.has(c))return p.get(c);var h=s.apply(this,u);return l.cache=p.set(c,h)||p,h};return l.cache=new(r.Cache||e),l}return r.Cache=e,Gh=r,Gh}var Yh,sb;function cq(){if(sb)return Yh;sb=1;var e=uq(),n=500;function r(s){var o=e(s,function(u){return l.size===n&&l.clear(),u}),l=o.cache;return o}return Yh=r,Yh}var Kh,ob;function dq(){if(ob)return Kh;ob=1;var e=cq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e(function(o){var l=[];return o.charCodeAt(0)===46&&l.push(""),o.replace(n,function(u,c,p,h){l.push(p?h.replace(r,"$1"):c||u)}),l});return Kh=s,Kh}var Xh,ab;function Nu(){if(ab)return Xh;ab=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=Array(o);++s<o;)l[s]=r(n[s],s,n);return l}return Xh=e,Xh}var Qh,lb;function fq(){if(lb)return Qh;lb=1;var e=so(),n=Nu(),r=_t(),s=lo(),o=e?e.prototype:void 0,l=o?o.toString:void 0;function u(c){if(typeof c=="string")return c;if(r(c))return n(c,u)+"";if(s(c))return l?l.call(c):"";var p=c+"";return p=="0"&&1/c==-1/0?"-0":p}return Qh=u,Qh}var Zh,ub;function yC(){if(ub)return Zh;ub=1;var e=fq();function n(r){return r==null?"":e(r)}return Zh=n,Zh}var Jh,cb;function Cu(){if(cb)return Jh;cb=1;var e=_t(),n=Uv(),r=dq(),s=yC();function o(l,u){return e(l)?l:n(l,u)?[l]:r(s(l))}return Jh=o,Jh}var ep,db;function ka(){if(db)return ep;db=1;var e=lo();function n(r){if(typeof r=="string"||e(r))return r;var s=r+"";return s=="0"&&1/r==-1/0?"-0":s}return ep=n,ep}var tp,fb;function Tu(){if(fb)return tp;fb=1;var e=Cu(),n=ka();function r(s,o){o=e(o,s);for(var l=0,u=o.length;s!=null&&l<u;)s=s[n(o[l++])];return l&&l==u?s:void 0}return tp=r,tp}var np,hb;function hq(){if(hb)return np;hb=1;var e=Tu();function n(r,s,o){var l=r==null?void 0:e(r,s);return l===void 0?o:l}return np=n,np}var rp,pb;function pq(){if(pb)return rp;pb=1;function e(n,r){return n!=null&&r in Object(n)}return rp=e,rp}var ip,mb;function wC(){if(mb)return ip;mb=1;var e=Cu(),n=ba(),r=_t(),s=_u(),o=Mv(),l=ka();function u(c,p,h){p=e(p,c);for(var f=-1,g=p.length,y=!1;++f<g;){var x=l(p[f]);if(!(y=c!=null&&h(c,x)))break;c=c[x]}return y||++f!=g?y:(g=c==null?0:c.length,!!g&&o(g)&&s(x,g)&&(r(c)||n(c)))}return ip=u,ip}var sp,gb;function xC(){if(gb)return sp;gb=1;var e=pq(),n=wC();function r(s,o){return s!=null&&n(s,o,e)}return sp=r,sp}var op,vb;function mq(){if(vb)return op;vb=1;var e=mC(),n=hq(),r=xC(),s=Uv(),o=gC(),l=vC(),u=ka(),c=1,p=2;function h(f,g){return s(f)&&o(g)?l(u(f),g):function(y){var x=n(y,f);return x===void 0&&x===g?r(y,f):e(g,x,c|p)}}return op=h,op}var ap,yb;function _C(){if(yb)return ap;yb=1;function e(n){return function(r){return r==null?void 0:r[n]}}return ap=e,ap}var lp,wb;function gq(){if(wb)return lp;wb=1;var e=Tu();function n(r){return function(s){return e(s,r)}}return lp=n,lp}var up,xb;function vq(){if(xb)return up;xb=1;var e=_C(),n=gq(),r=Uv(),s=ka();function o(l){return r(l)?e(s(l)):n(l)}return up=o,up}var cp,_b;function Lr(){if(_b)return cp;_b=1;var e=lq(),n=mq(),r=os(),s=_t(),o=vq();function l(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?s(u)?n(u[0],u[1]):e(u):o(u)}return cp=l,cp}var dp,bb;function bC(){if(bb)return dp;bb=1;var e=ZN(),n=ZL(),r=Lr(),s=_t();function o(l,u){var c=s(l)?e:n;return c(l,r(u,3))}return dp=o,dp}var fp,Sb;function yq(){if(Sb)return fp;Sb=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s,o){return s!=null&&n.call(s,o)}return fp=r,fp}var hp,kb;function SC(){if(kb)return hp;kb=1;var e=yq(),n=wC();function r(s,o){return s!=null&&n(s,o,e)}return hp=r,hp}var pp,Eb;function wq(){if(Eb)return pp;Eb=1;var e=Ov(),n=ao(),r=ba(),s=_t(),o=Or(),l=oo(),u=Su(),c=Sa(),p="[object Map]",h="[object Set]",f=Object.prototype,g=f.hasOwnProperty;function y(x){if(x==null)return!0;if(o(x)&&(s(x)||typeof x=="string"||typeof x.splice=="function"||l(x)||c(x)||r(x)))return!x.length;var N=n(x);if(N==p||N==h)return!x.size;if(u(x))return!e(x).length;for(var _ in x)if(g.call(x,_))return!1;return!0}return pp=y,pp}var mp,Nb;function kC(){if(Nb)return mp;Nb=1;function e(n){return n===void 0}return mp=e,mp}var gp,Cb;function EC(){if(Cb)return gp;Cb=1;var e=Eu(),n=Or();function r(s,o){var l=-1,u=n(s)?Array(s.length):[];return e(s,function(c,p,h){u[++l]=o(c,p,h)}),u}return gp=r,gp}var vp,Tb;function NC(){if(Tb)return vp;Tb=1;var e=Nu(),n=Lr(),r=EC(),s=_t();function o(l,u){var c=s(l)?e:r;return c(l,n(u,3))}return vp=o,vp}var yp,jb;function xq(){if(jb)return yp;jb=1;function e(n,r,s,o){var l=-1,u=n==null?0:n.length;for(o&&u&&(s=n[++l]);++l<u;)s=r(s,n[l],l,n);return s}return yp=e,yp}var wp,Rb;function _q(){if(Rb)return wp;Rb=1;function e(n,r,s,o,l){return l(n,function(u,c,p){s=o?(o=!1,u):r(s,u,c,p)}),s}return wp=e,wp}var xp,Ab;function CC(){if(Ab)return xp;Ab=1;var e=xq(),n=Eu(),r=Lr(),s=_q(),o=_t();function l(u,c,p){var h=o(u)?e:s,f=arguments.length<3;return h(u,r(c,4),p,f,n)}return xp=l,xp}var _p,Ib;function bq(){if(Ib)return _p;Ib=1;var e=rs(),n=_t(),r=fr(),s="[object String]";function o(l){return typeof l=="string"||!n(l)&&r(l)&&e(l)==s}return _p=o,_p}var bp,Mb;function Sq(){if(Mb)return bp;Mb=1;var e=_C(),n=e("length");return bp=n,bp}var Sp,Pb;function kq(){if(Pb)return Sp;Pb=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+o+l+"]");function p(h){return c.test(h)}return Sp=p,Sp}var kp,Ob;function Eq(){if(Ob)return kp;Ob=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="["+e+"]",c="["+o+"]",p="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+p+")",f="[^"+e+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",N=h+"?",_="["+l+"]?",b="(?:"+x+"(?:"+[f,g,y].join("|")+")"+_+N+")*",S=_+N+b,k="(?:"+[f+c+"?",c,g,y,u].join("|")+")",E=RegExp(p+"(?="+p+")|"+k+S,"g");function C(I){for(var M=E.lastIndex=0;E.test(I);)++M;return M}return kp=C,kp}var Ep,Lb;function Nq(){if(Lb)return Ep;Lb=1;var e=Sq(),n=kq(),r=Eq();function s(o){return n(o)?r(o):e(o)}return Ep=s,Ep}var Np,qb;function Cq(){if(qb)return Np;qb=1;var e=Ov(),n=ao(),r=Or(),s=bq(),o=Nq(),l="[object Map]",u="[object Set]";function c(p){if(p==null)return 0;if(r(p))return s(p)?o(p):p.length;var h=n(p);return h==l||h==u?p.size:e(p).length}return Np=c,Np}var Cp,$b;function Tq(){if($b)return Cp;$b=1;var e=Iv(),n=oC(),r=zv(),s=Lr(),o=ku(),l=_t(),u=oo(),c=xa(),p=Nn(),h=Sa();function f(g,y,x){var N=l(g),_=N||u(g)||h(g);if(y=s(y,4),x==null){var b=g&&g.constructor;_?x=N?new b:[]:p(g)?x=c(b)?n(o(g)):{}:x={}}return(_?e:r)(g,function(S,k,E){return y(x,S,k,E)}),x}return Cp=f,Cp}var Tp,Db;function jq(){if(Db)return Tp;Db=1;var e=so(),n=ba(),r=_t(),s=e?e.isConcatSpreadable:void 0;function o(l){return r(l)||n(l)||!!(s&&l&&l[s])}return Tp=o,Tp}var jp,Fb;function Hv(){if(Fb)return jp;Fb=1;var e=qv(),n=jq();function r(s,o,l,u,c){var p=-1,h=s.length;for(l||(l=n),c||(c=[]);++p<h;){var f=s[p];o>0&&l(f)?o>1?r(f,o-1,l,u,c):e(c,f):u||(c[c.length]=f)}return c}return jp=r,jp}var Rp,zb;function Rq(){if(zb)return Rp;zb=1;function e(n,r,s){switch(s.length){case 0:return n.call(r);case 1:return n.call(r,s[0]);case 2:return n.call(r,s[0],s[1]);case 3:return n.call(r,s[0],s[1],s[2])}return n.apply(r,s)}return Rp=e,Rp}var Ap,Bb;function TC(){if(Bb)return Ap;Bb=1;var e=Rq(),n=Math.max;function r(s,o,l){return o=n(o===void 0?s.length-1:o,0),function(){for(var u=arguments,c=-1,p=n(u.length-o,0),h=Array(p);++c<p;)h[c]=u[o+c];c=-1;for(var f=Array(o+1);++c<o;)f[c]=u[c];return f[o]=l(h),e(s,this,f)}}return Ap=r,Ap}var Ip,Ub;function Aq(){if(Ub)return Ip;Ub=1;var e=Dv(),n=GN(),r=os(),s=n?function(o,l){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(l),writable:!0})}:r;return Ip=s,Ip}var Mp,Hb;function Iq(){if(Hb)return Mp;Hb=1;var e=800,n=16,r=Date.now;function s(o){var l=0,u=0;return function(){var c=r(),p=n-(c-u);if(u=c,p>0){if(++l>=e)return arguments[0]}else l=0;return o.apply(void 0,arguments)}}return Mp=s,Mp}var Pp,Wb;function jC(){if(Wb)return Pp;Wb=1;var e=Aq(),n=Iq(),r=n(e);return Pp=r,Pp}var Op,Vb;function ju(){if(Vb)return Op;Vb=1;var e=os(),n=TC(),r=jC();function s(o,l){return r(n(o,l,e),o+"")}return Op=s,Op}var Lp,Gb;function RC(){if(Gb)return Lp;Gb=1;function e(n,r,s,o){for(var l=n.length,u=s+(o?1:-1);o?u--:++u<l;)if(r(n[u],u,n))return u;return-1}return Lp=e,Lp}var qp,Yb;function Mq(){if(Yb)return qp;Yb=1;function e(n){return n!==n}return qp=e,qp}var $p,Kb;function Pq(){if(Kb)return $p;Kb=1;function e(n,r,s){for(var o=s-1,l=n.length;++o<l;)if(n[o]===r)return o;return-1}return $p=e,$p}var Dp,Xb;function Oq(){if(Xb)return Dp;Xb=1;var e=RC(),n=Mq(),r=Pq();function s(o,l,u){return l===l?r(o,l,u):e(o,n,u)}return Dp=s,Dp}var Fp,Qb;function Lq(){if(Qb)return Fp;Qb=1;var e=Oq();function n(r,s){var o=r==null?0:r.length;return!!o&&e(r,s,0)>-1}return Fp=n,Fp}var zp,Zb;function qq(){if(Zb)return zp;Zb=1;function e(n,r,s){for(var o=-1,l=n==null?0:n.length;++o<l;)if(s(r,n[o]))return!0;return!1}return zp=e,zp}var Bp,Jb;function $q(){if(Jb)return Bp;Jb=1;function e(){}return Bp=e,Bp}var Up,eS;function Dq(){if(eS)return Up;eS=1;var e=rC(),n=$q(),r=Bv(),s=1/0,o=e&&1/r(new e([,-0]))[1]==s?function(l){return new e(l)}:n;return Up=o,Up}var Hp,tS;function Fq(){if(tS)return Hp;tS=1;var e=fC(),n=Lq(),r=qq(),s=hC(),o=Dq(),l=Bv(),u=200;function c(p,h,f){var g=-1,y=n,x=p.length,N=!0,_=[],b=_;if(f)N=!1,y=r;else if(x>=u){var S=h?null:o(p);if(S)return l(S);N=!1,y=s,b=new e}else b=h?[]:_;e:for(;++g<x;){var k=p[g],E=h?h(k):k;if(k=f||k!==0?k:0,N&&E===E){for(var C=b.length;C--;)if(b[C]===E)continue e;h&&b.push(E),_.push(k)}else y(b,E,f)||(b!==_&&b.push(E),_.push(k))}return _}return Hp=c,Hp}var Wp,nS;function AC(){if(nS)return Wp;nS=1;var e=Or(),n=fr();function r(s){return n(s)&&e(s)}return Wp=r,Wp}var Vp,rS;function zq(){if(rS)return Vp;rS=1;var e=Hv(),n=ju(),r=Fq(),s=AC(),o=n(function(l){return r(e(l,1,s,!0))});return Vp=o,Vp}var Gp,iS;function Bq(){if(iS)return Gp;iS=1;var e=Nu();function n(r,s){return e(s,function(o){return r[o]})}return Gp=n,Gp}var Yp,sS;function IC(){if(sS)return Yp;sS=1;var e=Bq(),n=gi();function r(s){return s==null?[]:e(s,n(s))}return Yp=r,Yp}var Kp,oS;function Cn(){if(oS)return Kp;oS=1;var e;if(typeof jv=="function")try{e={clone:KL(),constant:Dv(),each:dC(),filter:bC(),has:SC(),isArray:_t(),isEmpty:wq(),isFunction:xa(),isUndefined:kC(),keys:gi(),map:NC(),reduce:CC(),size:Cq(),transform:Tq(),union:zq(),values:IC()}}catch{}return e||(e=window._),Kp=e,Kp}var Xp,aS;function Wv(){if(aS)return Xp;aS=1;var e=Cn();Xp=o;var n="\0",r="\0",s="";function o(f){this._isDirected=e.has(f,"directed")?f.directed:!0,this._isMultigraph=e.has(f,"multigraph")?f.multigraph:!1,this._isCompound=e.has(f,"compound")?f.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(f){return this._label=f,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultNodeLabelFn=f,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var f=this;return e.filter(this.nodes(),function(g){return e.isEmpty(f._in[g])})},o.prototype.sinks=function(){var f=this;return e.filter(this.nodes(),function(g){return e.isEmpty(f._out[g])})},o.prototype.setNodes=function(f,g){var y=arguments,x=this;return e.each(f,function(N){y.length>1?x.setNode(N,g):x.setNode(N)}),this},o.prototype.setNode=function(f,g){return e.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=g),this):(this._nodes[f]=arguments.length>1?g:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=r,this._children[f]={},this._children[r][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},o.prototype.node=function(f){return this._nodes[f]},o.prototype.hasNode=function(f){return e.has(this._nodes,f)},o.prototype.removeNode=function(f){var g=this;if(e.has(this._nodes,f)){var y=function(x){g.removeEdge(g._edgeObjs[x])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(x){g.setParent(x)}),delete this._children[f]),e.each(e.keys(this._in[f]),y),delete this._in[f],delete this._preds[f],e.each(e.keys(this._out[f]),y),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},o.prototype.setParent=function(f,g){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(g))g=r;else{g+="";for(var y=g;!e.isUndefined(y);y=this.parent(y))if(y===f)throw new Error("Setting "+g+" as parent of "+f+" would create a cycle");this.setNode(g)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=g,this._children[g][f]=!0,this},o.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},o.prototype.parent=function(f){if(this._isCompound){var g=this._parent[f];if(g!==r)return g}},o.prototype.children=function(f){if(e.isUndefined(f)&&(f=r),this._isCompound){var g=this._children[f];if(g)return e.keys(g)}else{if(f===r)return this.nodes();if(this.hasNode(f))return[]}},o.prototype.predecessors=function(f){var g=this._preds[f];if(g)return e.keys(g)},o.prototype.successors=function(f){var g=this._sucs[f];if(g)return e.keys(g)},o.prototype.neighbors=function(f){var g=this.predecessors(f);if(g)return e.union(g,this.successors(f))},o.prototype.isLeaf=function(f){var g;return this.isDirected()?g=this.successors(f):g=this.neighbors(f),g.length===0},o.prototype.filterNodes=function(f){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var y=this;e.each(this._nodes,function(_,b){f(b)&&g.setNode(b,_)}),e.each(this._edgeObjs,function(_){g.hasNode(_.v)&&g.hasNode(_.w)&&g.setEdge(_,y.edge(_))});var x={};function N(_){var b=y.parent(_);return b===void 0||g.hasNode(b)?(x[_]=b,b):b in x?x[b]:N(b)}return this._isCompound&&e.each(g.nodes(),function(_){g.setParent(_,N(_))}),g},o.prototype.setDefaultEdgeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultEdgeLabelFn=f,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(f,g){var y=this,x=arguments;return e.reduce(f,function(N,_){return x.length>1?y.setEdge(N,_,g):y.setEdge(N,_),_}),this},o.prototype.setEdge=function(){var f,g,y,x,N=!1,_=arguments[0];typeof _=="object"&&_!==null&&"v"in _?(f=_.v,g=_.w,y=_.name,arguments.length===2&&(x=arguments[1],N=!0)):(f=_,g=arguments[1],y=arguments[3],arguments.length>2&&(x=arguments[2],N=!0)),f=""+f,g=""+g,e.isUndefined(y)||(y=""+y);var b=c(this._isDirected,f,g,y);if(e.has(this._edgeLabels,b))return N&&(this._edgeLabels[b]=x),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(g),this._edgeLabels[b]=N?x:this._defaultEdgeLabelFn(f,g,y);var S=p(this._isDirected,f,g,y);return f=S.v,g=S.w,Object.freeze(S),this._edgeObjs[b]=S,l(this._preds[g],f),l(this._sucs[f],g),this._in[g][b]=S,this._out[f][b]=S,this._edgeCount++,this},o.prototype.edge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return this._edgeLabels[x]},o.prototype.hasEdge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return e.has(this._edgeLabels,x)},o.prototype.removeEdge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y),N=this._edgeObjs[x];return N&&(f=N.v,g=N.w,delete this._edgeLabels[x],delete this._edgeObjs[x],u(this._preds[g],f),u(this._sucs[f],g),delete this._in[g][x],delete this._out[f][x],this._edgeCount--),this},o.prototype.inEdges=function(f,g){var y=this._in[f];if(y){var x=e.values(y);return g?e.filter(x,function(N){return N.v===g}):x}},o.prototype.outEdges=function(f,g){var y=this._out[f];if(y){var x=e.values(y);return g?e.filter(x,function(N){return N.w===g}):x}},o.prototype.nodeEdges=function(f,g){var y=this.inEdges(f,g);if(y)return y.concat(this.outEdges(f,g))};function l(f,g){f[g]?f[g]++:f[g]=1}function u(f,g){--f[g]||delete f[g]}function c(f,g,y,x){var N=""+g,_=""+y;if(!f&&N>_){var b=N;N=_,_=b}return N+s+_+s+(e.isUndefined(x)?n:x)}function p(f,g,y,x){var N=""+g,_=""+y;if(!f&&N>_){var b=N;N=_,_=b}var S={v:N,w:_};return x&&(S.name=x),S}function h(f,g){return c(f,g.v,g.w,g.name)}return Xp}var Qp,lS;function Uq(){return lS||(lS=1,Qp="2.1.8"),Qp}var Zp,uS;function Hq(){return uS||(uS=1,Zp={Graph:Wv(),version:Uq()}),Zp}var Jp,cS;function Wq(){if(cS)return Jp;cS=1;var e=Cn(),n=Wv();Jp={write:r,read:l};function r(u){var c={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:s(u),edges:o(u)};return e.isUndefined(u.graph())||(c.value=e.clone(u.graph())),c}function s(u){return e.map(u.nodes(),function(c){var p=u.node(c),h=u.parent(c),f={v:c};return e.isUndefined(p)||(f.value=p),e.isUndefined(h)||(f.parent=h),f})}function o(u){return e.map(u.edges(),function(c){var p=u.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(p)||(h.value=p),h})}function l(u){var c=new n(u.options).setGraph(u.value);return e.each(u.nodes,function(p){c.setNode(p.v,p.value),p.parent&&c.setParent(p.v,p.parent)}),e.each(u.edges,function(p){c.setEdge({v:p.v,w:p.w,name:p.name},p.value)}),c}return Jp}var em,dS;function Vq(){if(dS)return em;dS=1;var e=Cn();em=n;function n(r){var s={},o=[],l;function u(c){e.has(s,c)||(s[c]=!0,l.push(c),e.each(r.successors(c),u),e.each(r.predecessors(c),u))}return e.each(r.nodes(),function(c){l=[],u(c),l.length&&o.push(l)}),o}return em}var tm,fS;function MC(){if(fS)return tm;fS=1;var e=Cn();tm=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(r){return r.key})},n.prototype.has=function(r){return e.has(this._keyIndices,r)},n.prototype.priority=function(r){var s=this._keyIndices[r];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(r,s){var o=this._keyIndices;if(r=String(r),!e.has(o,r)){var l=this._arr,u=l.length;return o[r]=u,l.push({key:r,priority:s}),this._decrease(u),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},n.prototype.decrease=function(r,s){var o=this._keyIndices[r];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(r){var s=this._arr,o=2*r,l=o+1,u=r;o<s.length&&(u=s[o].priority<s[u].priority?o:u,l<s.length&&(u=s[l].priority<s[u].priority?l:u),u!==r&&(this._swap(r,u),this._heapify(u)))},n.prototype._decrease=function(r){for(var s=this._arr,o=s[r].priority,l;r!==0&&(l=r>>1,!(s[l].priority<o));)this._swap(r,l),r=l},n.prototype._swap=function(r,s){var o=this._arr,l=this._keyIndices,u=o[r],c=o[s];o[r]=c,o[s]=u,l[c.key]=r,l[u.key]=s},tm}var nm,hS;function PC(){if(hS)return nm;hS=1;var e=Cn(),n=MC();nm=s;var r=e.constant(1);function s(l,u,c,p){return o(l,String(u),c||r,p||function(h){return l.outEdges(h)})}function o(l,u,c,p){var h={},f=new n,g,y,x=function(N){var _=N.v!==g?N.v:N.w,b=h[_],S=c(N),k=y.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+N+" Weight: "+S);k<b.distance&&(b.distance=k,b.predecessor=g,f.decrease(_,k))};for(l.nodes().forEach(function(N){var _=N===u?0:Number.POSITIVE_INFINITY;h[N]={distance:_},f.add(N,_)});f.size()>0&&(g=f.removeMin(),y=h[g],y.distance!==Number.POSITIVE_INFINITY);)p(g).forEach(x);return h}return nm}var rm,pS;function Gq(){if(pS)return rm;pS=1;var e=PC(),n=Cn();rm=r;function r(s,o,l){return n.transform(s.nodes(),function(u,c){u[c]=e(s,c,o,l)},{})}return rm}var im,mS;function OC(){if(mS)return im;mS=1;var e=Cn();im=n;function n(r){var s=0,o=[],l={},u=[];function c(p){var h=l[p]={onStack:!0,lowlink:s,index:s++};if(o.push(p),r.successors(p).forEach(function(y){e.has(l,y)?l[y].onStack&&(h.lowlink=Math.min(h.lowlink,l[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,l[y].lowlink))}),h.lowlink===h.index){var f=[],g;do g=o.pop(),l[g].onStack=!1,f.push(g);while(p!==g);u.push(f)}}return r.nodes().forEach(function(p){e.has(l,p)||c(p)}),u}return im}var sm,gS;function Yq(){if(gS)return sm;gS=1;var e=Cn(),n=OC();sm=r;function r(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return sm}var om,vS;function Kq(){if(vS)return om;vS=1;var e=Cn();om=r;var n=e.constant(1);function r(o,l,u){return s(o,l||n,u||function(c){return o.outEdges(c)})}function s(o,l,u){var c={},p=o.nodes();return p.forEach(function(h){c[h]={},c[h][h]={distance:0},p.forEach(function(f){h!==f&&(c[h][f]={distance:Number.POSITIVE_INFINITY})}),u(h).forEach(function(f){var g=f.v===h?f.w:f.v,y=l(f);c[h][g]={distance:y,predecessor:h}})}),p.forEach(function(h){var f=c[h];p.forEach(function(g){var y=c[g];p.forEach(function(x){var N=y[h],_=f[x],b=y[x],S=N.distance+_.distance;S<b.distance&&(b.distance=S,b.predecessor=_.predecessor)})})}),c}return om}var am,yS;function LC(){if(yS)return am;yS=1;var e=Cn();am=n,n.CycleException=r;function n(s){var o={},l={},u=[];function c(p){if(e.has(l,p))throw new r;e.has(o,p)||(l[p]=!0,o[p]=!0,e.each(s.predecessors(p),c),delete l[p],u.push(p))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,am}var lm,wS;function Xq(){if(wS)return lm;wS=1;var e=LC();lm=n;function n(r){try{e(r)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return lm}var um,xS;function qC(){if(xS)return um;xS=1;var e=Cn();um=n;function n(s,o,l){e.isArray(o)||(o=[o]);var u=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],p={};return e.each(o,function(h){if(!s.hasNode(h))throw new Error("Graph does not have node: "+h);r(s,h,l==="post",p,u,c)}),c}function r(s,o,l,u,c,p){e.has(u,o)||(u[o]=!0,l||p.push(o),e.each(c(o),function(h){r(s,h,l,u,c,p)}),l&&p.push(o))}return um}var cm,_S;function Qq(){if(_S)return cm;_S=1;var e=qC();cm=n;function n(r,s){return e(r,s,"post")}return cm}var dm,bS;function Zq(){if(bS)return dm;bS=1;var e=qC();dm=n;function n(r,s){return e(r,s,"pre")}return dm}var fm,SS;function Jq(){if(SS)return fm;SS=1;var e=Cn(),n=Wv(),r=MC();fm=s;function s(o,l){var u=new n,c={},p=new r,h;function f(y){var x=y.v===h?y.w:y.v,N=p.priority(x);if(N!==void 0){var _=l(y);_<N&&(c[x]=h,p.decrease(x,_))}}if(o.nodeCount()===0)return u;e.each(o.nodes(),function(y){p.add(y,Number.POSITIVE_INFINITY),u.setNode(y)}),p.decrease(o.nodes()[0],0);for(var g=!1;p.size()>0;){if(h=p.removeMin(),e.has(c,h))u.setEdge(h,c[h]);else{if(g)throw new Error("Input graph is not connected: "+o);g=!0}o.nodeEdges(h).forEach(f)}return u}return fm}var hm,kS;function e$(){return kS||(kS=1,hm={components:Vq(),dijkstra:PC(),dijkstraAll:Gq(),findCycles:Yq(),floydWarshall:Kq(),isAcyclic:Xq(),postorder:Qq(),preorder:Zq(),prim:Jq(),tarjan:OC(),topsort:LC()}),hm}var pm,ES;function t$(){if(ES)return pm;ES=1;var e=Hq();return pm={Graph:e.Graph,json:Wq(),alg:e$(),version:e.version},pm}var mm,NS;function Kn(){if(NS)return mm;NS=1;var e;if(typeof jv=="function")try{e=t$()}catch{}return e||(e=window.graphlib),mm=e,mm}var gm,CS;function n$(){if(CS)return gm;CS=1;var e=lC(),n=1,r=4;function s(o){return e(o,n|r)}return gm=s,gm}var vm,TS;function Ru(){if(TS)return vm;TS=1;var e=io(),n=Or(),r=_u(),s=Nn();function o(l,u,c){if(!s(c))return!1;var p=typeof u;return(p=="number"?n(c)&&r(u,c.length):p=="string"&&u in c)?e(c[u],l):!1}return vm=o,vm}var ym,jS;function r$(){if(jS)return ym;jS=1;var e=ju(),n=io(),r=Ru(),s=ss(),o=Object.prototype,l=o.hasOwnProperty,u=e(function(c,p){c=Object(c);var h=-1,f=p.length,g=f>2?p[2]:void 0;for(g&&r(p[0],p[1],g)&&(f=1);++h<f;)for(var y=p[h],x=s(y),N=-1,_=x.length;++N<_;){var b=x[N],S=c[b];(S===void 0||n(S,o[b])&&!l.call(c,b))&&(c[b]=y[b])}return c});return ym=u,ym}var wm,RS;function i$(){if(RS)return wm;RS=1;var e=Lr(),n=Or(),r=gi();function s(o){return function(l,u,c){var p=Object(l);if(!n(l)){var h=e(u,3);l=r(l),u=function(g){return h(p[g],g,p)}}var f=o(l,u,c);return f>-1?p[h?l[f]:f]:void 0}}return wm=s,wm}var xm,AS;function s$(){if(AS)return xm;AS=1;var e=/\s/;function n(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return xm=n,xm}var _m,IS;function o$(){if(IS)return _m;IS=1;var e=s$(),n=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return _m=r,_m}var bm,MS;function a$(){if(MS)return bm;MS=1;var e=o$(),n=Nn(),r=lo(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function p(h){if(typeof h=="number")return h;if(r(h))return s;if(n(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=n(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=e(h);var g=l.test(h);return g||u.test(h)?c(h.slice(2),g?2:8):o.test(h)?s:+h}return bm=p,bm}var Sm,PS;function $C(){if(PS)return Sm;PS=1;var e=a$(),n=1/0,r=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var l=o<0?-1:1;return l*r}return o===o?o:0}return Sm=s,Sm}var km,OS;function l$(){if(OS)return km;OS=1;var e=$C();function n(r){var s=e(r),o=s%1;return s===s?o?s-o:s:0}return km=n,km}var Em,LS;function u$(){if(LS)return Em;LS=1;var e=RC(),n=Lr(),r=l$(),s=Math.max;function o(l,u,c){var p=l==null?0:l.length;if(!p)return-1;var h=c==null?0:r(c);return h<0&&(h=s(p+h,0)),e(l,n(u,3),h)}return Em=o,Em}var Nm,qS;function c$(){if(qS)return Nm;qS=1;var e=i$(),n=u$(),r=e(n);return Nm=r,Nm}var Cm,$S;function DC(){if($S)return Cm;$S=1;var e=Hv();function n(r){var s=r==null?0:r.length;return s?e(r,1):[]}return Cm=n,Cm}var Tm,DS;function d$(){if(DS)return Tm;DS=1;var e=Fv(),n=uC(),r=ss();function s(o,l){return o==null?o:e(o,n(l),r)}return Tm=s,Tm}var jm,FS;function f$(){if(FS)return jm;FS=1;function e(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}return jm=e,jm}var Rm,zS;function h$(){if(zS)return Rm;zS=1;var e=wu(),n=zv(),r=Lr();function s(o,l){var u={};return l=r(l,3),n(o,function(c,p,h){e(u,p,l(c,p,h))}),u}return Rm=s,Rm}var Am,BS;function Vv(){if(BS)return Am;BS=1;var e=lo();function n(r,s,o){for(var l=-1,u=r.length;++l<u;){var c=r[l],p=s(c);if(p!=null&&(h===void 0?p===p&&!e(p):o(p,h)))var h=p,f=c}return f}return Am=n,Am}var Im,US;function p$(){if(US)return Im;US=1;function e(n,r){return n>r}return Im=e,Im}var Mm,HS;function m$(){if(HS)return Mm;HS=1;var e=Vv(),n=p$(),r=os();function s(o){return o&&o.length?e(o,r,n):void 0}return Mm=s,Mm}var Pm,WS;function FC(){if(WS)return Pm;WS=1;var e=wu(),n=io();function r(s,o,l){(l!==void 0&&!n(s[o],l)||l===void 0&&!(o in s))&&e(s,o,l)}return Pm=r,Pm}var Om,VS;function g$(){if(VS)return Om;VS=1;var e=rs(),n=ku(),r=fr(),s="[object Object]",o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,p=u.call(Object);function h(f){if(!r(f)||e(f)!=s)return!1;var g=n(f);if(g===null)return!0;var y=c.call(g,"constructor")&&g.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==p}return Om=h,Om}var Lm,GS;function zC(){if(GS)return Lm;GS=1;function e(n,r){if(!(r==="constructor"&&typeof n[r]=="function")&&r!="__proto__")return n[r]}return Lm=e,Lm}var qm,YS;function v$(){if(YS)return qm;YS=1;var e=_a(),n=ss();function r(s){return e(s,n(s))}return qm=r,qm}var $m,KS;function y$(){if(KS)return $m;KS=1;var e=FC(),n=XN(),r=sC(),s=QN(),o=aC(),l=ba(),u=_t(),c=AC(),p=oo(),h=xa(),f=Nn(),g=g$(),y=Sa(),x=zC(),N=v$();function _(b,S,k,E,C,I,M){var O=x(b,k),W=x(S,k),L=M.get(W);if(L){e(b,k,L);return}var P=I?I(O,W,k+"",b,S,M):void 0,q=P===void 0;if(q){var U=u(W),B=!U&&p(W),R=!U&&!B&&y(W);P=W,U||B||R?u(O)?P=O:c(O)?P=s(O):B?(q=!1,P=n(W,!0)):R?(q=!1,P=r(W,!0)):P=[]:g(W)||l(W)?(P=O,l(O)?P=N(O):(!f(O)||h(O))&&(P=o(W))):q=!1}q&&(M.set(W,P),C(P,W,E,I,M),M.delete(W)),e(b,k,P)}return $m=_,$m}var Dm,XS;function w$(){if(XS)return Dm;XS=1;var e=yu(),n=FC(),r=Fv(),s=y$(),o=Nn(),l=ss(),u=zC();function c(p,h,f,g,y){p!==h&&r(h,function(x,N){if(y||(y=new e),o(x))s(p,h,N,f,c,g,y);else{var _=g?g(u(p,N),x,N+"",p,h,y):void 0;_===void 0&&(_=x),n(p,N,_)}},l)}return Dm=c,Dm}var Fm,QS;function x$(){if(QS)return Fm;QS=1;var e=ju(),n=Ru();function r(s){return e(function(o,l){var u=-1,c=l.length,p=c>1?l[c-1]:void 0,h=c>2?l[2]:void 0;for(p=s.length>3&&typeof p=="function"?(c--,p):void 0,h&&n(l[0],l[1],h)&&(p=c<3?void 0:p,c=1),o=Object(o);++u<c;){var f=l[u];f&&s(o,f,u,p)}return o})}return Fm=r,Fm}var zm,ZS;function _$(){if(ZS)return zm;ZS=1;var e=w$(),n=x$(),r=n(function(s,o,l){e(s,o,l)});return zm=r,zm}var Bm,JS;function BC(){if(JS)return Bm;JS=1;function e(n,r){return n<r}return Bm=e,Bm}var Um,ek;function b$(){if(ek)return Um;ek=1;var e=Vv(),n=BC(),r=os();function s(o){return o&&o.length?e(o,r,n):void 0}return Um=s,Um}var Hm,tk;function S$(){if(tk)return Hm;tk=1;var e=Vv(),n=Lr(),r=BC();function s(o,l){return o&&o.length?e(o,n(l,2),r):void 0}return Hm=s,Hm}var Wm,nk;function k$(){if(nk)return Wm;nk=1;var e=Qn(),n=function(){return e.Date.now()};return Wm=n,Wm}var Vm,rk;function E$(){if(rk)return Vm;rk=1;var e=xu(),n=Cu(),r=_u(),s=Nn(),o=ka();function l(u,c,p,h){if(!s(u))return u;c=n(c,u);for(var f=-1,g=c.length,y=g-1,x=u;x!=null&&++f<g;){var N=o(c[f]),_=p;if(N==="__proto__"||N==="constructor"||N==="prototype")return u;if(f!=y){var b=x[N];_=h?h(b,N,x):void 0,_===void 0&&(_=s(b)?b:r(c[f+1])?[]:{})}e(x,N,_),x=x[N]}return u}return Vm=l,Vm}var Gm,ik;function N$(){if(ik)return Gm;ik=1;var e=Tu(),n=E$(),r=Cu();function s(o,l,u){for(var c=-1,p=l.length,h={};++c<p;){var f=l[c],g=e(o,f);u(g,f)&&n(h,r(f,o),g)}return h}return Gm=s,Gm}var Ym,sk;function C$(){if(sk)return Ym;sk=1;var e=N$(),n=xC();function r(s,o){return e(s,o,function(l,u){return n(s,u)})}return Ym=r,Ym}var Km,ok;function T$(){if(ok)return Km;ok=1;var e=DC(),n=TC(),r=jC();function s(o){return r(n(o,void 0,e),o+"")}return Km=s,Km}var Xm,ak;function j$(){if(ak)return Xm;ak=1;var e=C$(),n=T$(),r=n(function(s,o){return s==null?{}:e(s,o)});return Xm=r,Xm}var Qm,lk;function R$(){if(lk)return Qm;lk=1;var e=Math.ceil,n=Math.max;function r(s,o,l,u){for(var c=-1,p=n(e((o-s)/(l||1)),0),h=Array(p);p--;)h[u?p:++c]=s,s+=l;return h}return Qm=r,Qm}var Zm,uk;function A$(){if(uk)return Zm;uk=1;var e=R$(),n=Ru(),r=$C();function s(o){return function(l,u,c){return c&&typeof c!="number"&&n(l,u,c)&&(u=c=void 0),l=r(l),u===void 0?(u=l,l=0):u=r(u),c=c===void 0?l<u?1:-1:r(c),e(l,u,c,o)}}return Zm=s,Zm}var Jm,ck;function I$(){if(ck)return Jm;ck=1;var e=A$(),n=e();return Jm=n,Jm}var eg,dk;function M$(){if(dk)return eg;dk=1;function e(n,r){var s=n.length;for(n.sort(r);s--;)n[s]=n[s].value;return n}return eg=e,eg}var tg,fk;function P$(){if(fk)return tg;fk=1;var e=lo();function n(r,s){if(r!==s){var o=r!==void 0,l=r===null,u=r===r,c=e(r),p=s!==void 0,h=s===null,f=s===s,g=e(s);if(!h&&!g&&!c&&r>s||c&&p&&f&&!h&&!g||l&&p&&f||!o&&f||!u)return 1;if(!l&&!c&&!g&&r<s||g&&o&&u&&!l&&!c||h&&o&&u||!p&&u||!f)return-1}return 0}return tg=n,tg}var ng,hk;function O$(){if(hk)return ng;hk=1;var e=P$();function n(r,s,o){for(var l=-1,u=r.criteria,c=s.criteria,p=u.length,h=o.length;++l<p;){var f=e(u[l],c[l]);if(f){if(l>=h)return f;var g=o[l];return f*(g=="desc"?-1:1)}}return r.index-s.index}return ng=n,ng}var rg,pk;function L$(){if(pk)return rg;pk=1;var e=Nu(),n=Tu(),r=Lr(),s=EC(),o=M$(),l=bu(),u=O$(),c=os(),p=_t();function h(f,g,y){g.length?g=e(g,function(_){return p(_)?function(b){return n(b,_.length===1?_[0]:_)}:_}):g=[c];var x=-1;g=e(g,l(r));var N=s(f,function(_,b,S){var k=e(g,function(E){return E(_)});return{criteria:k,index:++x,value:_}});return o(N,function(_,b){return u(_,b,y)})}return rg=h,rg}var ig,mk;function q$(){if(mk)return ig;mk=1;var e=Hv(),n=L$(),r=ju(),s=Ru(),o=r(function(l,u){if(l==null)return[];var c=u.length;return c>1&&s(l,u[0],u[1])?u=[]:c>2&&s(u[0],u[1],u[2])&&(u=[u[0]]),n(l,e(u,1),[])});return ig=o,ig}var sg,gk;function $$(){if(gk)return sg;gk=1;var e=yC(),n=0;function r(s){var o=++n;return e(s)+o}return sg=r,sg}var og,vk;function D$(){if(vk)return og;vk=1;function e(n,r,s){for(var o=-1,l=n.length,u=r.length,c={};++o<l;){var p=o<u?r[o]:void 0;s(c,n[o],p)}return c}return og=e,og}var ag,yk;function F$(){if(yk)return ag;yk=1;var e=xu(),n=D$();function r(s,o){return n(s||[],o||[],e)}return ag=r,ag}var lg,wk;function ot(){if(wk)return lg;wk=1;var e;if(typeof jv=="function")try{e={cloneDeep:n$(),constant:Dv(),defaults:r$(),each:dC(),filter:bC(),find:c$(),flatten:DC(),forEach:cC(),forIn:d$(),has:SC(),isUndefined:kC(),last:f$(),map:NC(),mapValues:h$(),max:m$(),merge:_$(),min:b$(),minBy:S$(),now:k$(),pick:j$(),range:I$(),reduce:CC(),sortBy:q$(),uniqueId:$$(),values:IC(),zipObject:F$()}}catch{}return e||(e=window._),lg=e,lg}var ug,xk;function z$(){if(xk)return ug;xk=1,ug=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,l=o._prev;l!==o;)s.push(JSON.stringify(l,r)),l=l._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function r(s,o){if(s!=="_next"&&s!=="_prev")return o}return ug}var cg,_k;function B$(){if(_k)return cg;_k=1;var e=ot(),n=Kn().Graph,r=z$();cg=o;var s=e.constant(1);function o(h,f){if(h.nodeCount()<=1)return[];var g=c(h,f||s),y=l(g.graph,g.buckets,g.zeroIdx);return e.flatten(e.map(y,function(x){return h.outEdges(x.v,x.w)}),!0)}function l(h,f,g){for(var y=[],x=f[f.length-1],N=f[0],_;h.nodeCount();){for(;_=N.dequeue();)u(h,f,g,_);for(;_=x.dequeue();)u(h,f,g,_);if(h.nodeCount()){for(var b=f.length-2;b>0;--b)if(_=f[b].dequeue(),_){y=y.concat(u(h,f,g,_,!0));break}}}return y}function u(h,f,g,y,x){var N=x?[]:void 0;return e.forEach(h.inEdges(y.v),function(_){var b=h.edge(_),S=h.node(_.v);x&&N.push({v:_.v,w:_.w}),S.out-=b,p(f,g,S)}),e.forEach(h.outEdges(y.v),function(_){var b=h.edge(_),S=_.w,k=h.node(S);k.in-=b,p(f,g,k)}),h.removeNode(y.v),N}function c(h,f){var g=new n,y=0,x=0;e.forEach(h.nodes(),function(b){g.setNode(b,{v:b,in:0,out:0})}),e.forEach(h.edges(),function(b){var S=g.edge(b.v,b.w)||0,k=f(b),E=S+k;g.setEdge(b.v,b.w,E),x=Math.max(x,g.node(b.v).out+=k),y=Math.max(y,g.node(b.w).in+=k)});var N=e.range(x+y+3).map(function(){return new r}),_=y+1;return e.forEach(g.nodes(),function(b){p(N,_,g.node(b))}),{graph:g,buckets:N,zeroIdx:_}}function p(h,f,g){g.out?g.in?h[g.out-g.in+f].enqueue(g):h[h.length-1].enqueue(g):h[0].enqueue(g)}return cg}var dg,bk;function U$(){if(bk)return dg;bk=1;var e=ot(),n=B$();dg={run:r,undo:o};function r(l){var u=l.graph().acyclicer==="greedy"?n(l,c(l)):s(l);e.forEach(u,function(p){var h=l.edge(p);l.removeEdge(p),h.forwardName=p.name,h.reversed=!0,l.setEdge(p.w,p.v,h,e.uniqueId("rev"))});function c(p){return function(h){return p.edge(h).weight}}}function s(l){var u=[],c={},p={};function h(f){e.has(p,f)||(p[f]=!0,c[f]=!0,e.forEach(l.outEdges(f),function(g){e.has(c,g.w)?u.push(g):h(g.w)}),delete c[f])}return e.forEach(l.nodes(),h),u}function o(l){e.forEach(l.edges(),function(u){var c=l.edge(u);if(c.reversed){l.removeEdge(u);var p=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(u.w,u.v,c,p)}})}return dg}var fg,Sk;function on(){if(Sk)return fg;Sk=1;var e=ot(),n=Kn().Graph;fg={addDummyNode:r,simplify:s,asNonCompoundGraph:o,successorWeights:l,predecessorWeights:u,intersectRect:c,buildLayerMatrix:p,normalizeRanks:h,removeEmptyRanks:f,addBorderNode:g,maxRank:y,partition:x,time:N,notime:_};function r(b,S,k,E){var C;do C=e.uniqueId(E);while(b.hasNode(C));return k.dummy=S,b.setNode(C,k),C}function s(b){var S=new n().setGraph(b.graph());return e.forEach(b.nodes(),function(k){S.setNode(k,b.node(k))}),e.forEach(b.edges(),function(k){var E=S.edge(k.v,k.w)||{weight:0,minlen:1},C=b.edge(k);S.setEdge(k.v,k.w,{weight:E.weight+C.weight,minlen:Math.max(E.minlen,C.minlen)})}),S}function o(b){var S=new n({multigraph:b.isMultigraph()}).setGraph(b.graph());return e.forEach(b.nodes(),function(k){b.children(k).length||S.setNode(k,b.node(k))}),e.forEach(b.edges(),function(k){S.setEdge(k,b.edge(k))}),S}function l(b){var S=e.map(b.nodes(),function(k){var E={};return e.forEach(b.outEdges(k),function(C){E[C.w]=(E[C.w]||0)+b.edge(C).weight}),E});return e.zipObject(b.nodes(),S)}function u(b){var S=e.map(b.nodes(),function(k){var E={};return e.forEach(b.inEdges(k),function(C){E[C.v]=(E[C.v]||0)+b.edge(C).weight}),E});return e.zipObject(b.nodes(),S)}function c(b,S){var k=b.x,E=b.y,C=S.x-k,I=S.y-E,M=b.width/2,O=b.height/2;if(!C&&!I)throw new Error("Not possible to find intersection inside of the rectangle");var W,L;return Math.abs(I)*M>Math.abs(C)*O?(I<0&&(O=-O),W=O*C/I,L=O):(C<0&&(M=-M),W=M,L=M*I/C),{x:k+W,y:E+L}}function p(b){var S=e.map(e.range(y(b)+1),function(){return[]});return e.forEach(b.nodes(),function(k){var E=b.node(k),C=E.rank;e.isUndefined(C)||(S[C][E.order]=k)}),S}function h(b){var S=e.min(e.map(b.nodes(),function(k){return b.node(k).rank}));e.forEach(b.nodes(),function(k){var E=b.node(k);e.has(E,"rank")&&(E.rank-=S)})}function f(b){var S=e.min(e.map(b.nodes(),function(I){return b.node(I).rank})),k=[];e.forEach(b.nodes(),function(I){var M=b.node(I).rank-S;k[M]||(k[M]=[]),k[M].push(I)});var E=0,C=b.graph().nodeRankFactor;e.forEach(k,function(I,M){e.isUndefined(I)&&M%C!==0?--E:E&&e.forEach(I,function(O){b.node(O).rank+=E})})}function g(b,S,k,E){var C={width:0,height:0};return arguments.length>=4&&(C.rank=k,C.order=E),r(b,"border",C,S)}function y(b){return e.max(e.map(b.nodes(),function(S){var k=b.node(S).rank;if(!e.isUndefined(k))return k}))}function x(b,S){var k={lhs:[],rhs:[]};return e.forEach(b,function(E){S(E)?k.lhs.push(E):k.rhs.push(E)}),k}function N(b,S){var k=e.now();try{return S()}finally{console.log(b+" time: "+(e.now()-k)+"ms")}}function _(b,S){return S()}return fg}var hg,kk;function H$(){if(kk)return hg;kk=1;var e=ot(),n=on();hg={run:r,undo:o};function r(l){l.graph().dummyChains=[],e.forEach(l.edges(),function(u){s(l,u)})}function s(l,u){var c=u.v,p=l.node(c).rank,h=u.w,f=l.node(h).rank,g=u.name,y=l.edge(u),x=y.labelRank;if(f!==p+1){l.removeEdge(u);var N,_,b;for(b=0,++p;p<f;++b,++p)y.points=[],_={width:0,height:0,edgeLabel:y,edgeObj:u,rank:p},N=n.addDummyNode(l,"edge",_,"_d"),p===x&&(_.width=y.width,_.height=y.height,_.dummy="edge-label",_.labelpos=y.labelpos),l.setEdge(c,N,{weight:y.weight},g),b===0&&l.graph().dummyChains.push(N),c=N;l.setEdge(c,h,{weight:y.weight},g)}}function o(l){e.forEach(l.graph().dummyChains,function(u){var c=l.node(u),p=c.edgeLabel,h;for(l.setEdge(c.edgeObj,p);c.dummy;)h=l.successors(u)[0],l.removeNode(u),p.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(p.x=c.x,p.y=c.y,p.width=c.width,p.height=c.height),u=h,c=l.node(u)})}return hg}var pg,Ek;function su(){if(Ek)return pg;Ek=1;var e=ot();pg={longestPath:n,slack:r};function n(s){var o={};function l(u){var c=s.node(u);if(e.has(o,u))return c.rank;o[u]=!0;var p=e.min(e.map(s.outEdges(u),function(h){return l(h.w)-s.edge(h).minlen}));return(p===Number.POSITIVE_INFINITY||p===void 0||p===null)&&(p=0),c.rank=p}e.forEach(s.sources(),l)}function r(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return pg}var mg,Nk;function UC(){if(Nk)return mg;Nk=1;var e=ot(),n=Kn().Graph,r=su().slack;mg=s;function s(c){var p=new n({directed:!1}),h=c.nodes()[0],f=c.nodeCount();p.setNode(h,{});for(var g,y;o(p,c)<f;)g=l(p,c),y=p.hasNode(g.v)?r(c,g):-r(c,g),u(p,c,y);return p}function o(c,p){function h(f){e.forEach(p.nodeEdges(f),function(g){var y=g.v,x=f===y?g.w:y;!c.hasNode(x)&&!r(p,g)&&(c.setNode(x,{}),c.setEdge(f,x,{}),h(x))})}return e.forEach(c.nodes(),h),c.nodeCount()}function l(c,p){return e.minBy(p.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return r(p,h)})}function u(c,p,h){e.forEach(c.nodes(),function(f){p.node(f).rank+=h})}return mg}var gg,Ck;function W$(){if(Ck)return gg;Ck=1;var e=ot(),n=UC(),r=su().slack,s=su().longestPath,o=Kn().alg.preorder,l=Kn().alg.postorder,u=on().simplify;gg=c,c.initLowLimValues=g,c.initCutValues=p,c.calcCutValue=f,c.leaveEdge=x,c.enterEdge=N,c.exchangeEdges=_;function c(E){E=u(E),s(E);var C=n(E);g(C),p(C,E);for(var I,M;I=x(C);)M=N(C,E,I),_(C,E,I,M)}function p(E,C){var I=l(E,E.nodes());I=I.slice(0,I.length-1),e.forEach(I,function(M){h(E,C,M)})}function h(E,C,I){var M=E.node(I),O=M.parent;E.edge(I,O).cutvalue=f(E,C,I)}function f(E,C,I){var M=E.node(I),O=M.parent,W=!0,L=C.edge(I,O),P=0;return L||(W=!1,L=C.edge(O,I)),P=L.weight,e.forEach(C.nodeEdges(I),function(q){var U=q.v===I,B=U?q.w:q.v;if(B!==O){var R=U===W,Q=C.edge(q).weight;if(P+=R?Q:-Q,S(E,I,B)){var H=E.edge(I,B).cutvalue;P+=R?-H:H}}}),P}function g(E,C){arguments.length<2&&(C=E.nodes()[0]),y(E,{},1,C)}function y(E,C,I,M,O){var W=I,L=E.node(M);return C[M]=!0,e.forEach(E.neighbors(M),function(P){e.has(C,P)||(I=y(E,C,I,P,M))}),L.low=W,L.lim=I++,O?L.parent=O:delete L.parent,I}function x(E){return e.find(E.edges(),function(C){return E.edge(C).cutvalue<0})}function N(E,C,I){var M=I.v,O=I.w;C.hasEdge(M,O)||(M=I.w,O=I.v);var W=E.node(M),L=E.node(O),P=W,q=!1;W.lim>L.lim&&(P=L,q=!0);var U=e.filter(C.edges(),function(B){return q===k(E,E.node(B.v),P)&&q!==k(E,E.node(B.w),P)});return e.minBy(U,function(B){return r(C,B)})}function _(E,C,I,M){var O=I.v,W=I.w;E.removeEdge(O,W),E.setEdge(M.v,M.w,{}),g(E),p(E,C),b(E,C)}function b(E,C){var I=e.find(E.nodes(),function(O){return!C.node(O).parent}),M=o(E,I);M=M.slice(1),e.forEach(M,function(O){var W=E.node(O).parent,L=C.edge(O,W),P=!1;L||(L=C.edge(W,O),P=!0),C.node(O).rank=C.node(W).rank+(P?L.minlen:-L.minlen)})}function S(E,C,I){return E.hasEdge(C,I)}function k(E,C,I){return I.low<=C.lim&&C.lim<=I.lim}return gg}var vg,Tk;function V$(){if(Tk)return vg;Tk=1;var e=su(),n=e.longestPath,r=UC(),s=W$();vg=o;function o(p){switch(p.graph().ranker){case"network-simplex":c(p);break;case"tight-tree":u(p);break;case"longest-path":l(p);break;default:c(p)}}var l=n;function u(p){n(p),r(p)}function c(p){s(p)}return vg}var yg,jk;function G$(){if(jk)return yg;jk=1;var e=ot();yg=n;function n(o){var l=s(o);e.forEach(o.graph().dummyChains,function(u){for(var c=o.node(u),p=c.edgeObj,h=r(o,l,p.v,p.w),f=h.path,g=h.lca,y=0,x=f[y],N=!0;u!==p.w;){if(c=o.node(u),N){for(;(x=f[y])!==g&&o.node(x).maxRank<c.rank;)y++;x===g&&(N=!1)}if(!N){for(;y<f.length-1&&o.node(x=f[y+1]).minRank<=c.rank;)y++;x=f[y]}o.setParent(u,x),u=o.successors(u)[0]}})}function r(o,l,u,c){var p=[],h=[],f=Math.min(l[u].low,l[c].low),g=Math.max(l[u].lim,l[c].lim),y,x;y=u;do y=o.parent(y),p.push(y);while(y&&(l[y].low>f||g>l[y].lim));for(x=y,y=c;(y=o.parent(y))!==x;)h.push(y);return{path:p.concat(h.reverse()),lca:x}}function s(o){var l={},u=0;function c(p){var h=u;e.forEach(o.children(p),c),l[p]={low:h,lim:u++}}return e.forEach(o.children(),c),l}return yg}var wg,Rk;function Y$(){if(Rk)return wg;Rk=1;var e=ot(),n=on();wg={run:r,cleanup:u};function r(c){var p=n.addDummyNode(c,"root",{},"_root"),h=o(c),f=e.max(e.values(h))-1,g=2*f+1;c.graph().nestingRoot=p,e.forEach(c.edges(),function(x){c.edge(x).minlen*=g});var y=l(c)+1;e.forEach(c.children(),function(x){s(c,p,g,y,f,h,x)}),c.graph().nodeRankFactor=g}function s(c,p,h,f,g,y,x){var N=c.children(x);if(!N.length){x!==p&&c.setEdge(p,x,{weight:0,minlen:h});return}var _=n.addBorderNode(c,"_bt"),b=n.addBorderNode(c,"_bb"),S=c.node(x);c.setParent(_,x),S.borderTop=_,c.setParent(b,x),S.borderBottom=b,e.forEach(N,function(k){s(c,p,h,f,g,y,k);var E=c.node(k),C=E.borderTop?E.borderTop:k,I=E.borderBottom?E.borderBottom:k,M=E.borderTop?f:2*f,O=C!==I?1:g-y[x]+1;c.setEdge(_,C,{weight:M,minlen:O,nestingEdge:!0}),c.setEdge(I,b,{weight:M,minlen:O,nestingEdge:!0})}),c.parent(x)||c.setEdge(p,_,{weight:0,minlen:g+y[x]})}function o(c){var p={};function h(f,g){var y=c.children(f);y&&y.length&&e.forEach(y,function(x){h(x,g+1)}),p[f]=g}return e.forEach(c.children(),function(f){h(f,1)}),p}function l(c){return e.reduce(c.edges(),function(p,h){return p+c.edge(h).weight},0)}function u(c){var p=c.graph();c.removeNode(p.nestingRoot),delete p.nestingRoot,e.forEach(c.edges(),function(h){var f=c.edge(h);f.nestingEdge&&c.removeEdge(h)})}return wg}var xg,Ak;function K$(){if(Ak)return xg;Ak=1;var e=ot(),n=on();xg=r;function r(o){function l(u){var c=o.children(u),p=o.node(u);if(c.length&&e.forEach(c,l),e.has(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var h=p.minRank,f=p.maxRank+1;h<f;++h)s(o,"borderLeft","_bl",u,p,h),s(o,"borderRight","_br",u,p,h)}}e.forEach(o.children(),l)}function s(o,l,u,c,p,h){var f={width:0,height:0,rank:h,borderType:l},g=p[l][h-1],y=n.addDummyNode(o,"border",f,u);p[l][h]=y,o.setParent(y,c),g&&o.setEdge(g,y,{weight:1})}return xg}var _g,Ik;function X$(){if(Ik)return _g;Ik=1;var e=ot();_g={adjust:n,undo:r};function n(h){var f=h.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&s(h)}function r(h){var f=h.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&l(h),(f==="lr"||f==="rl")&&(c(h),s(h))}function s(h){e.forEach(h.nodes(),function(f){o(h.node(f))}),e.forEach(h.edges(),function(f){o(h.edge(f))})}function o(h){var f=h.width;h.width=h.height,h.height=f}function l(h){e.forEach(h.nodes(),function(f){u(h.node(f))}),e.forEach(h.edges(),function(f){var g=h.edge(f);e.forEach(g.points,u),e.has(g,"y")&&u(g)})}function u(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(f){p(h.node(f))}),e.forEach(h.edges(),function(f){var g=h.edge(f);e.forEach(g.points,p),e.has(g,"x")&&p(g)})}function p(h){var f=h.x;h.x=h.y,h.y=f}return _g}var bg,Mk;function Q$(){if(Mk)return bg;Mk=1;var e=ot();bg=n;function n(r){var s={},o=e.filter(r.nodes(),function(h){return!r.children(h).length}),l=e.max(e.map(o,function(h){return r.node(h).rank})),u=e.map(e.range(l+1),function(){return[]});function c(h){if(!e.has(s,h)){s[h]=!0;var f=r.node(h);u[f.rank].push(h),e.forEach(r.successors(h),c)}}var p=e.sortBy(o,function(h){return r.node(h).rank});return e.forEach(p,c),u}return bg}var Sg,Pk;function Z$(){if(Pk)return Sg;Pk=1;var e=ot();Sg=n;function n(s,o){for(var l=0,u=1;u<o.length;++u)l+=r(s,o[u-1],o[u]);return l}function r(s,o,l){for(var u=e.zipObject(l,e.map(l,function(y,x){return x})),c=e.flatten(e.map(o,function(y){return e.sortBy(e.map(s.outEdges(y),function(x){return{pos:u[x.w],weight:s.edge(x).weight}}),"pos")}),!0),p=1;p<l.length;)p<<=1;var h=2*p-1;p-=1;var f=e.map(new Array(h),function(){return 0}),g=0;return e.forEach(c.forEach(function(y){var x=y.pos+p;f[x]+=y.weight;for(var N=0;x>0;)x%2&&(N+=f[x+1]),x=x-1>>1,f[x]+=y.weight;g+=y.weight*N})),g}return Sg}var kg,Ok;function J$(){if(Ok)return kg;Ok=1;var e=ot();kg=n;function n(r,s){return e.map(s,function(o){var l=r.inEdges(o);if(l.length){var u=e.reduce(l,function(c,p){var h=r.edge(p),f=r.node(p.v);return{sum:c.sum+h.weight*f.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:o,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:o}})}return kg}var Eg,Lk;function e4(){if(Lk)return Eg;Lk=1;var e=ot();Eg=n;function n(o,l){var u={};e.forEach(o,function(p,h){var f=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:h};e.isUndefined(p.barycenter)||(f.barycenter=p.barycenter,f.weight=p.weight)}),e.forEach(l.edges(),function(p){var h=u[p.v],f=u[p.w];!e.isUndefined(h)&&!e.isUndefined(f)&&(f.indegree++,h.out.push(u[p.w]))});var c=e.filter(u,function(p){return!p.indegree});return r(c)}function r(o){var l=[];function u(h){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(h.barycenter)||f.barycenter>=h.barycenter)&&s(h,f)}}function c(h){return function(f){f.in.push(h),--f.indegree===0&&o.push(f)}}for(;o.length;){var p=o.pop();l.push(p),e.forEach(p.in.reverse(),u(p)),e.forEach(p.out,c(p))}return e.map(e.filter(l,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function s(o,l){var u=0,c=0;o.weight&&(u+=o.barycenter*o.weight,c+=o.weight),l.weight&&(u+=l.barycenter*l.weight,c+=l.weight),o.vs=l.vs.concat(o.vs),o.barycenter=u/c,o.weight=c,o.i=Math.min(l.i,o.i),l.merged=!0}return Eg}var Ng,qk;function t4(){if(qk)return Ng;qk=1;var e=ot(),n=on();Ng=r;function r(l,u){var c=n.partition(l,function(_){return e.has(_,"barycenter")}),p=c.lhs,h=e.sortBy(c.rhs,function(_){return-_.i}),f=[],g=0,y=0,x=0;p.sort(o(!!u)),x=s(f,h,x),e.forEach(p,function(_){x+=_.vs.length,f.push(_.vs),g+=_.barycenter*_.weight,y+=_.weight,x=s(f,h,x)});var N={vs:e.flatten(f,!0)};return y&&(N.barycenter=g/y,N.weight=y),N}function s(l,u,c){for(var p;u.length&&(p=e.last(u)).i<=c;)u.pop(),l.push(p.vs),c++;return c}function o(l){return function(u,c){return u.barycenter<c.barycenter?-1:u.barycenter>c.barycenter?1:l?c.i-u.i:u.i-c.i}}return Ng}var Cg,$k;function n4(){if($k)return Cg;$k=1;var e=ot(),n=J$(),r=e4(),s=t4();Cg=o;function o(c,p,h,f){var g=c.children(p),y=c.node(p),x=y?y.borderLeft:void 0,N=y?y.borderRight:void 0,_={};x&&(g=e.filter(g,function(I){return I!==x&&I!==N}));var b=n(c,g);e.forEach(b,function(I){if(c.children(I.v).length){var M=o(c,I.v,h,f);_[I.v]=M,e.has(M,"barycenter")&&u(I,M)}});var S=r(b,h);l(S,_);var k=s(S,f);if(x&&(k.vs=e.flatten([x,k.vs,N],!0),c.predecessors(x).length)){var E=c.node(c.predecessors(x)[0]),C=c.node(c.predecessors(N)[0]);e.has(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+E.order+C.order)/(k.weight+2),k.weight+=2}return k}function l(c,p){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(f){return p[f]?p[f].vs:f}),!0)})}function u(c,p){e.isUndefined(c.barycenter)?(c.barycenter=p.barycenter,c.weight=p.weight):(c.barycenter=(c.barycenter*c.weight+p.barycenter*p.weight)/(c.weight+p.weight),c.weight+=p.weight)}return Cg}var Tg,Dk;function r4(){if(Dk)return Tg;Dk=1;var e=ot(),n=Kn().Graph;Tg=r;function r(o,l,u){var c=s(o),p=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return o.node(h)});return e.forEach(o.nodes(),function(h){var f=o.node(h),g=o.parent(h);(f.rank===l||f.minRank<=l&&l<=f.maxRank)&&(p.setNode(h),p.setParent(h,g||c),e.forEach(o[u](h),function(y){var x=y.v===h?y.w:y.v,N=p.edge(x,h),_=e.isUndefined(N)?0:N.weight;p.setEdge(x,h,{weight:o.edge(y).weight+_})}),e.has(f,"minRank")&&p.setNode(h,{borderLeft:f.borderLeft[l],borderRight:f.borderRight[l]}))}),p}function s(o){for(var l;o.hasNode(l=e.uniqueId("_root")););return l}return Tg}var jg,Fk;function i4(){if(Fk)return jg;Fk=1;var e=ot();jg=n;function n(r,s,o){var l={},u;e.forEach(o,function(c){for(var p=r.parent(c),h,f;p;){if(h=r.parent(p),h?(f=l[h],l[h]=p):(f=u,u=p),f&&f!==p){s.setEdge(f,p);return}p=h}})}return jg}var Rg,zk;function s4(){if(zk)return Rg;zk=1;var e=ot(),n=Q$(),r=Z$(),s=n4(),o=r4(),l=i4(),u=Kn().Graph,c=on();Rg=p;function p(y){var x=c.maxRank(y),N=h(y,e.range(1,x+1),"inEdges"),_=h(y,e.range(x-1,-1,-1),"outEdges"),b=n(y);g(y,b);for(var S=Number.POSITIVE_INFINITY,k,E=0,C=0;C<4;++E,++C){f(E%2?N:_,E%4>=2),b=c.buildLayerMatrix(y);var I=r(y,b);I<S&&(C=0,k=e.cloneDeep(b),S=I)}g(y,k)}function h(y,x,N){return e.map(x,function(_){return o(y,_,N)})}function f(y,x){var N=new u;e.forEach(y,function(_){var b=_.graph().root,S=s(_,b,N,x);e.forEach(S.vs,function(k,E){_.node(k).order=E}),l(_,N,S.vs)})}function g(y,x){e.forEach(x,function(N){e.forEach(N,function(_,b){y.node(_).order=b})})}return Rg}var Ag,Bk;function o4(){if(Bk)return Ag;Bk=1;var e=ot(),n=Kn().Graph,r=on();Ag={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:u,hasConflict:c,verticalAlignment:p,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:g,balance:x};function s(S,k){var E={};function C(I,M){var O=0,W=0,L=I.length,P=e.last(M);return e.forEach(M,function(q,U){var B=l(S,q),R=B?S.node(B).order:L;(B||q===P)&&(e.forEach(M.slice(W,U+1),function(Q){e.forEach(S.predecessors(Q),function(H){var te=S.node(H),Z=te.order;(Z<O||R<Z)&&!(te.dummy&&S.node(Q).dummy)&&u(E,H,Q)})}),W=U+1,O=R)}),M}return e.reduce(k,C),E}function o(S,k){var E={};function C(M,O,W,L,P){var q;e.forEach(e.range(O,W),function(U){q=M[U],S.node(q).dummy&&e.forEach(S.predecessors(q),function(B){var R=S.node(B);R.dummy&&(R.order<L||R.order>P)&&u(E,B,q)})})}function I(M,O){var W=-1,L,P=0;return e.forEach(O,function(q,U){if(S.node(q).dummy==="border"){var B=S.predecessors(q);B.length&&(L=S.node(B[0]).order,C(O,P,U,W,L),P=U,W=L)}C(O,P,O.length,L,M.length)}),O}return e.reduce(k,I),E}function l(S,k){if(S.node(k).dummy)return e.find(S.predecessors(k),function(E){return S.node(E).dummy})}function u(S,k,E){if(k>E){var C=k;k=E,E=C}var I=S[k];I||(S[k]=I={}),I[E]=!0}function c(S,k,E){if(k>E){var C=k;k=E,E=C}return e.has(S[k],E)}function p(S,k,E,C){var I={},M={},O={};return e.forEach(k,function(W){e.forEach(W,function(L,P){I[L]=L,M[L]=L,O[L]=P})}),e.forEach(k,function(W){var L=-1;e.forEach(W,function(P){var q=C(P);if(q.length){q=e.sortBy(q,function(H){return O[H]});for(var U=(q.length-1)/2,B=Math.floor(U),R=Math.ceil(U);B<=R;++B){var Q=q[B];M[P]===P&&L<O[Q]&&!c(E,P,Q)&&(M[Q]=P,M[P]=I[P]=I[Q],L=O[Q])}}})}),{root:I,align:M}}function h(S,k,E,C,I){var M={},O=f(S,k,E,I),W=I?"borderLeft":"borderRight";function L(U,B){for(var R=O.nodes(),Q=R.pop(),H={};Q;)H[Q]?U(Q):(H[Q]=!0,R.push(Q),R=R.concat(B(Q))),Q=R.pop()}function P(U){M[U]=O.inEdges(U).reduce(function(B,R){return Math.max(B,M[R.v]+O.edge(R))},0)}function q(U){var B=O.outEdges(U).reduce(function(Q,H){return Math.min(Q,M[H.w]-O.edge(H))},Number.POSITIVE_INFINITY),R=S.node(U);B!==Number.POSITIVE_INFINITY&&R.borderType!==W&&(M[U]=Math.max(M[U],B))}return L(P,O.predecessors.bind(O)),L(q,O.successors.bind(O)),e.forEach(C,function(U){M[U]=M[E[U]]}),M}function f(S,k,E,C){var I=new n,M=S.graph(),O=_(M.nodesep,M.edgesep,C);return e.forEach(k,function(W){var L;e.forEach(W,function(P){var q=E[P];if(I.setNode(q),L){var U=E[L],B=I.edge(U,q);I.setEdge(U,q,Math.max(O(S,P,L),B||0))}L=P})}),I}function g(S,k){return e.minBy(e.values(k),function(E){var C=Number.NEGATIVE_INFINITY,I=Number.POSITIVE_INFINITY;return e.forIn(E,function(M,O){var W=b(S,O)/2;C=Math.max(M+W,C),I=Math.min(M-W,I)}),C-I})}function y(S,k){var E=e.values(k),C=e.min(E),I=e.max(E);e.forEach(["u","d"],function(M){e.forEach(["l","r"],function(O){var W=M+O,L=S[W],P;if(L!==k){var q=e.values(L);P=O==="l"?C-e.min(q):I-e.max(q),P&&(S[W]=e.mapValues(L,function(U){return U+P}))}})})}function x(S,k){return e.mapValues(S.ul,function(E,C){if(k)return S[k.toLowerCase()][C];var I=e.sortBy(e.map(S,C));return(I[1]+I[2])/2})}function N(S){var k=r.buildLayerMatrix(S),E=e.merge(s(S,k),o(S,k)),C={},I;e.forEach(["u","d"],function(O){I=O==="u"?k:e.values(k).reverse(),e.forEach(["l","r"],function(W){W==="r"&&(I=e.map(I,function(U){return e.values(U).reverse()}));var L=(O==="u"?S.predecessors:S.successors).bind(S),P=p(S,I,E,L),q=h(S,I,P.root,P.align,W==="r");W==="r"&&(q=e.mapValues(q,function(U){return-U})),C[O+W]=q})});var M=g(S,C);return y(C,M),x(C,S.graph().align)}function _(S,k,E){return function(C,I,M){var O=C.node(I),W=C.node(M),L=0,P;if(L+=O.width/2,e.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":P=-O.width/2;break;case"r":P=O.width/2;break}if(P&&(L+=E?P:-P),P=0,L+=(O.dummy?k:S)/2,L+=(W.dummy?k:S)/2,L+=W.width/2,e.has(W,"labelpos"))switch(W.labelpos.toLowerCase()){case"l":P=W.width/2;break;case"r":P=-W.width/2;break}return P&&(L+=E?P:-P),P=0,L}}function b(S,k){return S.node(k).width}return Ag}var Ig,Uk;function a4(){if(Uk)return Ig;Uk=1;var e=ot(),n=on(),r=o4().positionX;Ig=s;function s(l){l=n.asNonCompoundGraph(l),o(l),e.forEach(r(l),function(u,c){l.node(c).x=u})}function o(l){var u=n.buildLayerMatrix(l),c=l.graph().ranksep,p=0;e.forEach(u,function(h){var f=e.max(e.map(h,function(g){return l.node(g).height}));e.forEach(h,function(g){l.node(g).y=p+f/2}),p+=f+c})}return Ig}var Mg,Hk;function l4(){if(Hk)return Mg;Hk=1;var e=ot(),n=U$(),r=H$(),s=V$(),o=on().normalizeRanks,l=G$(),u=on().removeEmptyRanks,c=Y$(),p=K$(),h=X$(),f=s4(),g=a4(),y=on(),x=Kn().Graph;Mg=N;function N(F,J){var ne=J&&J.debugTiming?y.time:y.notime;ne("layout",function(){var le=ne(" buildLayoutGraph",function(){return L(F)});ne(" runLayout",function(){_(le,ne)}),ne(" updateInputGraph",function(){b(F,le)})})}function _(F,J){J(" makeSpaceForEdgeLabels",function(){P(F)}),J(" removeSelfEdges",function(){D(F)}),J(" acyclic",function(){n.run(F)}),J(" nestingGraph.run",function(){c.run(F)}),J(" rank",function(){s(y.asNonCompoundGraph(F))}),J(" injectEdgeLabelProxies",function(){q(F)}),J(" removeEmptyRanks",function(){u(F)}),J(" nestingGraph.cleanup",function(){c.cleanup(F)}),J(" normalizeRanks",function(){o(F)}),J(" assignRankMinMax",function(){U(F)}),J(" removeEdgeLabelProxies",function(){B(F)}),J(" normalize.run",function(){r.run(F)}),J(" parentDummyChains",function(){l(F)}),J(" addBorderSegments",function(){p(F)}),J(" order",function(){f(F)}),J(" insertSelfEdges",function(){X(F)}),J(" adjustCoordinateSystem",function(){h.adjust(F)}),J(" position",function(){g(F)}),J(" positionSelfEdges",function(){j(F)}),J(" removeBorderNodes",function(){Z(F)}),J(" normalize.undo",function(){r.undo(F)}),J(" fixupEdgeLabelCoords",function(){H(F)}),J(" undoCoordinateSystem",function(){h.undo(F)}),J(" translateGraph",function(){R(F)}),J(" assignNodeIntersects",function(){Q(F)}),J(" reversePoints",function(){te(F)}),J(" acyclic.undo",function(){n.undo(F)})}function b(F,J){e.forEach(F.nodes(),function(ne){var le=F.node(ne),de=J.node(ne);le&&(le.x=de.x,le.y=de.y,J.children(ne).length&&(le.width=de.width,le.height=de.height))}),e.forEach(F.edges(),function(ne){var le=F.edge(ne),de=J.edge(ne);le.points=de.points,e.has(de,"x")&&(le.x=de.x,le.y=de.y)}),F.graph().width=J.graph().width,F.graph().height=J.graph().height}var S=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},E=["acyclicer","ranker","rankdir","align"],C=["width","height"],I={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},W=["labelpos"];function L(F){var J=new x({multigraph:!0,compound:!0}),ne=V(F.graph());return J.setGraph(e.merge({},k,$(ne,S),e.pick(ne,E))),e.forEach(F.nodes(),function(le){var de=V(F.node(le));J.setNode(le,e.defaults($(de,C),I)),J.setParent(le,F.parent(le))}),e.forEach(F.edges(),function(le){var de=V(F.edge(le));J.setEdge(le,e.merge({},O,$(de,M),e.pick(de,W)))}),J}function P(F){var J=F.graph();J.ranksep/=2,e.forEach(F.edges(),function(ne){var le=F.edge(ne);le.minlen*=2,le.labelpos.toLowerCase()!=="c"&&(J.rankdir==="TB"||J.rankdir==="BT"?le.width+=le.labeloffset:le.height+=le.labeloffset)})}function q(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);if(ne.width&&ne.height){var le=F.node(J.v),de=F.node(J.w),me={rank:(de.rank-le.rank)/2+le.rank,e:J};y.addDummyNode(F,"edge-proxy",me,"_ep")}})}function U(F){var J=0;e.forEach(F.nodes(),function(ne){var le=F.node(ne);le.borderTop&&(le.minRank=F.node(le.borderTop).rank,le.maxRank=F.node(le.borderBottom).rank,J=e.max(J,le.maxRank))}),F.graph().maxRank=J}function B(F){e.forEach(F.nodes(),function(J){var ne=F.node(J);ne.dummy==="edge-proxy"&&(F.edge(ne.e).labelRank=ne.rank,F.removeNode(J))})}function R(F){var J=Number.POSITIVE_INFINITY,ne=0,le=Number.POSITIVE_INFINITY,de=0,me=F.graph(),ve=me.marginx||0,Pe=me.marginy||0;function Me(Oe){var ye=Oe.x,Se=Oe.y,Ke=Oe.width,xe=Oe.height;J=Math.min(J,ye-Ke/2),ne=Math.max(ne,ye+Ke/2),le=Math.min(le,Se-xe/2),de=Math.max(de,Se+xe/2)}e.forEach(F.nodes(),function(Oe){Me(F.node(Oe))}),e.forEach(F.edges(),function(Oe){var ye=F.edge(Oe);e.has(ye,"x")&&Me(ye)}),J-=ve,le-=Pe,e.forEach(F.nodes(),function(Oe){var ye=F.node(Oe);ye.x-=J,ye.y-=le}),e.forEach(F.edges(),function(Oe){var ye=F.edge(Oe);e.forEach(ye.points,function(Se){Se.x-=J,Se.y-=le}),e.has(ye,"x")&&(ye.x-=J),e.has(ye,"y")&&(ye.y-=le)}),me.width=ne-J+ve,me.height=de-le+Pe}function Q(F){e.forEach(F.edges(),function(J){var ne=F.edge(J),le=F.node(J.v),de=F.node(J.w),me,ve;ne.points?(me=ne.points[0],ve=ne.points[ne.points.length-1]):(ne.points=[],me=de,ve=le),ne.points.unshift(y.intersectRect(le,me)),ne.points.push(y.intersectRect(de,ve))})}function H(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);if(e.has(ne,"x"))switch((ne.labelpos==="l"||ne.labelpos==="r")&&(ne.width-=ne.labeloffset),ne.labelpos){case"l":ne.x-=ne.width/2+ne.labeloffset;break;case"r":ne.x+=ne.width/2+ne.labeloffset;break}})}function te(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);ne.reversed&&ne.points.reverse()})}function Z(F){e.forEach(F.nodes(),function(J){if(F.children(J).length){var ne=F.node(J),le=F.node(ne.borderTop),de=F.node(ne.borderBottom),me=F.node(e.last(ne.borderLeft)),ve=F.node(e.last(ne.borderRight));ne.width=Math.abs(ve.x-me.x),ne.height=Math.abs(de.y-le.y),ne.x=me.x+ne.width/2,ne.y=le.y+ne.height/2}}),e.forEach(F.nodes(),function(J){F.node(J).dummy==="border"&&F.removeNode(J)})}function D(F){e.forEach(F.edges(),function(J){if(J.v===J.w){var ne=F.node(J.v);ne.selfEdges||(ne.selfEdges=[]),ne.selfEdges.push({e:J,label:F.edge(J)}),F.removeEdge(J)}})}function X(F){var J=y.buildLayerMatrix(F);e.forEach(J,function(ne){var le=0;e.forEach(ne,function(de,me){var ve=F.node(de);ve.order=me+le,e.forEach(ve.selfEdges,function(Pe){y.addDummyNode(F,"selfedge",{width:Pe.label.width,height:Pe.label.height,rank:ve.rank,order:me+ ++le,e:Pe.e,label:Pe.label},"_se")}),delete ve.selfEdges})})}function j(F){e.forEach(F.nodes(),function(J){var ne=F.node(J);if(ne.dummy==="selfedge"){var le=F.node(ne.e.v),de=le.x+le.width/2,me=le.y,ve=ne.x-de,Pe=le.height/2;F.setEdge(ne.e,ne.label),F.removeNode(J),ne.label.points=[{x:de+2*ve/3,y:me-Pe},{x:de+5*ve/6,y:me-Pe},{x:de+ve,y:me},{x:de+5*ve/6,y:me+Pe},{x:de+2*ve/3,y:me+Pe}],ne.label.x=ne.x,ne.label.y=ne.y}})}function $(F,J){return e.mapValues(e.pick(F,J),Number)}function V(F){var J={};return e.forEach(F,function(ne,le){J[le.toLowerCase()]=ne}),J}return Mg}var Pg,Wk;function u4(){if(Wk)return Pg;Wk=1;var e=ot(),n=on(),r=Kn().Graph;Pg={debugOrdering:s};function s(o){var l=n.buildLayerMatrix(o),u=new r({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){u.setNode(c,{label:c}),u.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){u.setEdge(c.v,c.w,{},c.name)}),e.forEach(l,function(c,p){var h="layer"+p;u.setNode(h,{rank:"same"}),e.reduce(c,function(f,g){return u.setEdge(f,g,{style:"invis"}),g})}),u}return Pg}var Og,Vk;function c4(){return Vk||(Vk=1,Og="0.8.5"),Og}var Lg,Gk;function d4(){return Gk||(Gk=1,Lg={graphlib:Kn(),layout:l4(),debug:u4(),util:{time:on().time,notime:on().notime},version:c4()}),Lg}var f4=d4();const Yk=lv(f4),ro=240,ou=130,Zs=74,Au=72,Kk=Zs+Au;function h4(e,n){var s;let r=ro;for(const o of e)r=Math.max(r,((s=n.get(o.id))==null?void 0:s.width)??ro);return r}const HC=420,p4=2;function fa(e){var r;return((r=e.data)==null?void 0:r.sessionId)??"_default"}function m4(e,n){return((n==null?void 0:n.get(e))??0)>0?HC:0}function g4(e,n){const r=(n==null?void 0:n.get(e))??0;return r>0?6+r*36:0}function ha(e,n,r){const s=n.get(e);return{w:((s==null?void 0:s.width)??ro)+m4(e,r),h:Math.max((s==null?void 0:s.height)??ou,g4(e,r))}}function v4(e){return[...e.keys()].sort().map(n=>`${n}:${e.get(n)}`).join("|")}function y4(e,n,r,s,o,l){const u=new Yk.graphlib.Graph;u.setDefaultEdgeLabel(()=>({})),u.setGraph({rankdir:r,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const c=e.filter(S=>!o.has(S)),p=new Set(c);for(const S of c){const{w:k,h:E}=ha(S,s,l);u.setNode(S,{width:k,height:E})}for(const S of n)p.has(S.source)&&p.has(S.target)&&u.setEdge(S.source,S.target);Yk.layout(u);const h=new Map;let f=1/0,g=1/0,y=-1/0,x=-1/0;for(const S of c){const k=u.node(S);if(!k)continue;const E=s.get(S),C=(E==null?void 0:E.width)??ro,I=(E==null?void 0:E.height)??ou,M=ha(S,s,l),O=k.x-M.w/2,W=k.y-M.h/2;h.set(S,{x:O,y:W}),O<f&&(f=O),W<g&&(g=W),O+C>y&&(y=O+C),W+I>x&&(x=W+I)}if(Number.isFinite(f)&&Number.isFinite(g))for(const[S,k]of h)h.set(S,{x:k.x-f,y:k.y-g});const N=Number.isFinite(y)?y-f:0,_=Number.isFinite(x)?x-g:0;let b=null;for(const S of e){const k=o.get(S);if(!k)continue;const E=s.get(S),C=(E==null?void 0:E.width)??ro,I=(E==null?void 0:E.height)??ou;b=b===null?{minX:k.x,minY:k.y,maxX:k.x+C,maxY:k.y+I}:{minX:Math.min(b.minX,k.x),minY:Math.min(b.minY,k.y),maxX:Math.max(b.maxX,k.x+C),maxY:Math.max(b.maxY,k.y+I)}}return{positions:h,width:N,height:_,pinnedBox:b}}function w4(e,n,r={}){const s=r.direction??"LR",o=r.pinned??new Map,l=r.measured??new Map,u=r.lanes,c=new Map;for(const S of e){const k=fa(S),E=c.get(k);E?E.push(S.id):c.set(k,[S.id])}const h=Array.from(c.keys()).sort().map(S=>({sid:S,...y4(c.get(S),n,s,l,o,u)})),f=h4(e,l),g=r.availableHeight&&r.availableHeight>0?r.availableHeight:Number.POSITIVE_INFINITY,y=S=>{const k=[[]];let E=0;for(const C of h)k.length<S&&E>0&&E+C.height>g&&(k.push([]),E=0),k[k.length-1].push(C),E+=C.height+Kk;return k},x=S=>S.reduce((k,E)=>Math.max(k,E.width),0)+HC;let N=y(r.availableWidth?p4:1);N.length>1&&N.reduce((k,E)=>k+x(E),0)+f*(N.length-1)>(r.availableWidth??0)&&(N=y(1));const _=new Map;let b=0;for(const S of N){const k=x(S);let E=0;for(const{positions:C,height:I,pinnedBox:M}of S){for(const[W,L]of C)_.set(W,{x:L.x+b,y:L.y+E});let O=E+I;M&&M.maxY>O&&M.minX<b+k&&b<M.maxX&&(O=M.maxY),E=O+Kk}b+=k+f}return e.map(S=>{const k=o.get(S.id);if(k)return{...S,position:k};const E=_.get(S.id);return E?{...S,position:E}:S})}function x4(e,n,r,s,o){const u=Zs+Au,c=60,p=x=>ha(x,s,o),h=new Map(e.map(x=>[x.id,fa(x)])),f=[],g=e.map(x=>({id:x.id,pos:r.get(x.id)??n.get(x.id)})).filter(x=>x.pos!=null).sort((x,N)=>x.pos.y-N.pos.y||x.pos.x-N.pos.x||x.id.localeCompare(N.id)),y=[];for(const{id:x,pos:N}of g){const{w:_,h:b}=p(x),S=h.get(x)??"_default";if(r.has(x)){f.push({x:N.x,y:N.y,w:_,h:b,sid:S});continue}let k=N.y;for(let E=0;E<f.length+1;E++){const C=f.find(I=>{const M=I.sid===S?24:c,O=I.sid===S?24:u;return N.x<I.x+I.w+M&&I.x<N.x+_+M&&k<I.y+I.h+O&&I.y<k+b+O});if(!C)break;k=C.y+C.h+(C.sid===S?24:u)}k!==N.y&&(n.set(x,{x:N.x,y:k}),y.push(x)),f.push({x:N.x,y:k,w:_,h:b,sid:S})}return y}function _4(e,n,r,s,o,l){const u=_=>ha(_,s,l),c=_=>r.get(_)??n.get(_),p=new Map;for(const _ of e){if(!c(_.id))continue;const b=fa(_),S=p.get(b);S?S.push(_):p.set(b,[_])}const h=new Set;for(const[_,b]of p)b.every(S=>o.has(S.id)&&!r.has(S.id))&&h.add(_);const f=new Map,g=[];for(const _ of e){const b=c(_.id);if(!b)continue;const{w:S,h:k}=u(_.id),E=fa(_);h.has(E)?(f.get(E)??f.set(E,[]).get(E)).push(_):g.push({x:b.x,y:b.y,w:S,h:k})}if(f.size===0)return[];const y=Zs+Au,x=(_,b,S,k)=>g.some(E=>_<E.x+E.w+Zs&&E.x<_+S+Zs&&b<E.y+E.h+y&&E.y<b+k+y),N=[];for(const _ of[...f.keys()].sort()){const b=f.get(_);let S=1/0,k=1/0,E=-1/0,C=-1/0;for(const q of b){const U=c(q.id),{w:B,h:R}=u(q.id);S=Math.min(S,U.x),k=Math.min(k,U.y),E=Math.max(E,U.x+B),C=Math.max(C,U.y+R)}const I=E-S,M=C-k,O=[...new Set(g.map(q=>Math.round(q.x)))].sort((q,U)=>q-U),W=O.length?O:[S],L=[0,...g.map(q=>q.y+q.h+y)].sort((q,U)=>q-U);let P=null;e:for(const q of W)for(const U of L){if(U>=k)break;if(!x(q,U,I,M)){P={x:q,y:U};break e}}if(P){const q=P.x-S,U=P.y-k;for(const B of b){const R=c(B.id);n.set(B.id,{x:R.x+q,y:R.y+U})}N.push(_)}for(const q of b){const U=c(q.id),{w:B,h:R}=u(q.id);g.push({x:U.x,y:U.y,w:B,h:R})}}return N}function b4(e,n,r,s,o,l=!1,u){const h=Zs+Au+1,f=8,g=1.75,y=200,x=.7,N=.01,_=P=>ha(P,s,u),b=P=>r.get(P)??n.get(P),S=new Map;for(const P of e){if(!b(P.id))continue;const q=fa(P),U=S.get(q);U?U.push(P):S.set(q,[P])}const k=[],E=new Set,C=new Set,I=o.size===0;for(const P of[...S.keys()].sort()){const q=S.get(P);let U=1/0,B=1/0,R=-1/0,Q=-1/0,H=!1;for(const X of q){const j=b(X.id),{w:$,h:V}=_(X.id);U=Math.min(U,j.x),B=Math.min(B,j.y),R=Math.max(R,j.x+$),Q=Math.max(Q,j.y+V),r.has(X.id)&&(H=!0)}const te=R-U,Z=Q-B;C.add(P);const D=o.get(P);D&&(te>D.w+f||Z>D.h+f)&&E.add(P),o.set(P,{w:te,h:Z}),k.push({sid:P,members:q.map(X=>X.id),x:U,y:B,w:te,h:Z,anchored:H,mass:1})}for(const P of[...o.keys()])C.has(P)||o.delete(P);if(l||I)return[];let M=!1;for(let P=0;P<k.length&&!M;P++)for(let q=P+1;q<k.length;q++){const U=k[P],B=k[q];if(!(U.anchored&&B.anchored)&&Math.abs(U.x+U.w/2-(B.x+B.w/2))<(U.w+B.w)/2+61&&Math.abs(U.y+U.h/2-(B.y+B.h/2))<(U.h+B.h)/2+h){M=!0;break}}if(E.size===0&&!M)return[];if(E.size>0)for(const P of k)E.has(P.sid)&&(P.mass=8);else for(const P of k)P.mass=Math.max(1,P.w*P.h/(ro*ou));const O=new Map(k.map(P=>[P.sid,P.x])),W=new Map(k.map(P=>[P.sid,P.y]));for(let P=0;P<y;P++){const q=new Map,U=new Map;let B=0;for(let R=0;R<k.length;R++)for(let Q=R+1;Q<k.length;Q++){const H=k[R],te=k[Q];if(H.anchored&&te.anchored)continue;const Z=H.x+H.w/2,D=H.y+H.h/2,X=te.x+te.w/2,j=te.y+te.h/2,$=(H.w+te.w)/2+61-Math.abs(Z-X),V=(H.h+te.h)/2+h-Math.abs(D-j);if($<=0||V<=0)continue;const F=(De,Qe)=>!De.anchored&&!(Qe<0&&De.x<=0),J=(De,Qe)=>!De.anchored&&!(Qe<0&&De.y<=0),ne=(De,Qe,at)=>{const It=De===Qe,it=It?H.sid<te.sid?-1:1:Math.sign(De-Qe);return at(H,it)||at(te,-it)?it:It&&(at(H,-it)||at(te,it))?-it:0},le=ne(Z,X,F),de=ne(D,j,J),me=le!==0,ve=de!==0;if(!me&&!ve)continue;const Pe=me&&(!ve||$*g<V),[Me,Oe,ye,Se]=Pe?[le,$,q,F]:[de,V,U,J],Ke=Se(H,Me),xe=Se(te,-Me),ge=H.mass,Fe=te.mass,pt=Ke?xe?Fe/(ge+Fe):1:0,mt=xe?Ke?ge/(ge+Fe):1:0,Ze=Oe*x;ye.set(H.sid,(ye.get(H.sid)??0)+Me*Ze*pt),ye.set(te.sid,(ye.get(te.sid)??0)-Me*Ze*mt),B+=Ze}for(const R of k)R.anchored||(R.x=Math.max(0,R.x+(q.get(R.sid)??0)),R.y=Math.max(0,R.y+(U.get(R.sid)??0)));if(B<N)break}const L=[];for(const P of k){const q=P.x-O.get(P.sid),U=P.y-W.get(P.sid);if(!(Math.abs(q)<1&&Math.abs(U)<1)){for(const B of P.members){if(r.has(B))continue;const R=n.get(B);R&&n.set(B,{x:R.x+q,y:R.y+U})}L.push(P.sid)}}return L}const S4=600;function sv(e,n){return!(e.exitAt!=null&&n-e.exitAt>S4||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function k4(e,n){const r=new Set;for(const s of e.agents.values())sv(s,n)&&r.add(s.id);return r}function E4(e,n,r=0){return e.right+r>n.left&&e.left-r<n.right&&e.bottom+r>n.top&&e.top-r<n.bottom}function N4(e,n,r=0){if(!e)return!1;for(const s of n)if(E4(e,s,r))return!0;return!1}const WC="sessionGroup";function C4(e,n){var s;if(e.type===WC)return"transparent";const r=(s=e.data)==null?void 0:s.state;return n(r==="err"?"--err":r==="active"?"--inflight":"--ok")}const T4="Update checks are off (AGENTS_DECK_NO_UPDATE_CHECK=1).";function j4(e){if(e.checkDisabled)return T4;if(e.checking)return"Asking npm for the newest release…";const n=e.latest?`npm has v${e.latest}`:e.latestPending?`npm's latest tag names v${e.latestPending}, which it cannot serve yet`:"npm not reached yet",r=e.checkedAgo?` · checked ${e.checkedAgo}`:"";return`${n}${r} · re-checked periodically · click to check npm now`}function R4(e){const n=`Version v${e.running}`;return e.checkDisabled?`${n}, update checks are off`:e.checking?`${n}, checking npm for a newer release`:`${n}, check npm for a newer release`}function Qo(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function A4(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const I4={agent:JP,sessionGroup:dO},M4=420,Bl=18,P4=9e4,O4=200,L4=5*6e4,q4=6,$4=2*6e4,Gv="agent-dag.layout",Yv="agent-dag.viewport",VC="agent-dag.summariesDismissed",GC="agent-dag.sessionListOpen",YC="agent-dag.detailOpen",KC="agent-dag.usagePanelOpen",Xk="agent-dag.accountsPanelOpen",Qk="agent-dag.versionNoticeDismissed",D4=15*6e4,Zk={git_checkout:"this deck runs from a git checkout — pull instead:",npx:"npx runs from a cache that cannot be upgraded in place — run:",not_writable:"the install directory is not writable by this user — run:",opted_out:"installs are off (AGENTS_DECK_NO_INSTALL=1) — run:"};function F4(e){const n=Math.max(0,Math.floor(e/1e3));return n<60?"just now":n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}const Jk="agent-dag.autoRestart",eE="agent-dag.bundleReloadedFor";function z4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(GC)==="1"}catch{return!1}}function B4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(GC,e?"1":"0")}catch{}}function U4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(YC)==="1"}catch{return!1}}function H4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(YC,e?"1":"0")}catch{}}function W4(){const e=HN(KC);return e===null?!0:e==="1"}function V4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(KC,e?"1":"0")}catch{}}function G4(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(VC);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}catch{return new Set}}function tE(e){if(!(typeof window>"u"))try{const n=Array.from(e),r=n.length>200?n.slice(-200):n;window.localStorage.setItem(VC,JSON.stringify(r))}catch{}}function Y4(){const e={positions:[],pins:[]};if(typeof window>"u")return e;try{const n=window.localStorage.getItem(Gv);if(!n)return e;const r=JSON.parse(n);if(!("v"in r)){const o=Object.entries(r).filter(([,l])=>l&&typeof l.x=="number"&&typeof l.y=="number");return{positions:o,pins:o.map(([l])=>l)}}return{positions:Object.entries(r.positions??{}).filter(([,o])=>o&&typeof o.x=="number"&&typeof o.y=="number"),pins:Array.isArray(r.pins)?r.pins:[]}}catch{return e}}function qg(e,n){if(!(typeof window>"u"))try{const r={};for(const[s,o]of e)r[s]=o;for(const[s,o]of n)r[s]=o;window.localStorage.setItem(Gv,JSON.stringify({v:2,positions:r,pins:Array.from(n.keys())}))}catch{}}function K4(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(Yv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function X4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Yv,JSON.stringify(e))}catch{}}function nE(){if(!(typeof window>"u")){try{window.localStorage.removeItem(Gv)}catch{}try{window.localStorage.removeItem(Yv)}catch{}}}function Q4(e,n){const r=e.agents.get(n);if(!r)return;const s=[];for(const f of e.agents.values())f.sessionId===n&&s.push(f);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:r.label,cwd:r.cwd,startedAt:r.startedAt,endedAt:r.endedAt,model:r.model,agents:s.map(f=>({id:f.id,kind:f.kind,label:f.label,parentId:f.parentId,state:f.state,startedAt:f.startedAt,endedAt:f.endedAt,model:f.model,cwd:f.cwd,usage:f.usage,prompts:f.prompts,tools:f.tools.map(g=>({id:g.id,name:g.name,inputPreview:g.inputPreview,startedAt:g.startedAt,endedAt:g.endedAt,ok:g.ok,errorPreview:g.errorPreview,usage:g.usage}))}))},l=JSON.stringify(o,null,2),u=new Blob([l],{type:"application/json"}),c=URL.createObjectURL(u),p=document.createElement("a"),h=(r.label||"session").replace(/[^a-z0-9._-]/gi,"_");p.href=c,p.download=`agents-deck-${h}-${n.slice(0,8)}.json`,document.body.appendChild(p),p.click(),document.body.removeChild(p),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const ov={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},av={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},Z4={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function XC(e){return e.startsWith("mcp__")?"mcp":Z4[e]??"other"}function QC(e,n){var s,o,l;if(!n)return!0;const r=n.toLowerCase();if(e.label.toLowerCase().includes(r)||(s=e.cwd)!=null&&s.toLowerCase().includes(r)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(r)||e.sessionId.toLowerCase().includes(r)||(l=e.firstPrompt)!=null&&l.toLowerCase().includes(r))return!0;for(const u of e.tools)if(u.name.toLowerCase().includes(r))return!0;return!1}function J4(e,n){if(!n)return null;const r=new Set([n]);let s=n;for(;s;){const l=e.agents.get(s);if(!(l!=null&&l.parentId)||r.has(l.parentId))break;r.add(l.parentId),s=l.parentId}let o=!0;for(;o;){o=!1;for(const l of e.agents.values())l.parentId&&r.has(l.parentId)&&!r.has(l.id)&&(r.add(l.id),o=!0)}return r}function e5(e,n,r,s,o,l,u,c,p,h,f,g,y,x,N,_,b,S){const k=[],E=[],C=new Set;if(l)for(const q of e.agents.values())QC(q,l)&&C.add(q.id);for(const q of e.agents.values()){if(!b.has(q.id))continue;const U=l?!C.has(q.id):!1,B=q.exitAt!=null,R=_!=null&&!_.has(q.id),Q=[U?"rf-dim":"",B?"rf-exiting":"",R?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,H=u.get(q.id);if(k.push({id:q.id,type:"agent",position:{x:0,y:0},data:{...q,now:n,dim:U,onOpenContext:S},className:Q,...H?{width:H.width,height:H.height}:null}),q.parentId&&b.has(q.parentId)){const te=Cv(q.sessionId),Z=q.state==="active"?`hsl(${te} 80% 72%)`:`hsl(${te} 50% 55%)`,D=l&&!C.has(q.id)&&!C.has(q.parentId),X=B,j=N.size>0&&(N.has(q.id)||N.has(q.parentId)),$=_!=null&&!_.has(q.id)&&!_.has(q.parentId),V=q.state==="active"?2:1.5,F=j?V+1.5:V,J=D||X?.2:$?.12:1,ne=[X?"rf-edge-exiting":"",j?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;E.push({id:`e:${q.parentId}->${q.id}`,source:q.parentId,target:q.id,animated:(q.state==="active"||j)&&!D&&!X,type:"smoothstep",style:{stroke:Z,strokeWidth:F,opacity:J,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:ne})}}const I=new Map;for(const q of e.agents.values())q.tools.length>0&&I.set(q.id,Math.min(4,q.tools.length));const M=`${y}#lanes:${v4(I)}`,O=k.filter(q=>!o.has(q.id)&&!g.has(q.id));if(O.length>0||M!==x.current){if(O.length>0){const q=w4(k,E,{direction:"LR",pinned:o,measured:u,availableWidth:r,availableHeight:s,lanes:I});for(const U of q)g.has(U.id)||g.set(U.id,U.position);_4(k,g,o,u,new Set(O.map(U=>U.id)),I)}x4(k,g,o,u,I),x.current=M}const W=b4(k,g,o,u,c,!h||f,I);W.length>0&&p(W),yd(g,e.agents),yd(o,e.agents),yd(u,$3(e.agents.values()));const L=[];let P=!1;for(const q of k){let U=o.get(q.id)??g.get(q.id);U||(U={x:0,y:0},g.set(q.id,U),P=!0),L.push({...q,position:U})}return P&&(x.current=""),{nodes:L,edges:E}}function t5(){return m.jsx(Ev,{children:m.jsx(n5,{})})}function n5(){var Ii,vo,Mi,Pi;const e=ya(),n=A.useRef(ev()),[,r]=A.useState(0),s=A.useCallback(()=>r(G=>G+1),[]),[o,l]=A.useState(()=>new Set),[u,c]=A.useState(null),[p,h]=A.useState(null),f=A.useCallback((G,K)=>{l(oe=>{if(!K)return new Set([G]);const ue=new Set(oe);return ue.has(G)?ue.delete(G):ue.add(G),ue}),c(oe=>K&&oe===G?oe:G)},[]),g=A.useCallback(()=>{l(new Set),c(null)},[]),[y,x]=A.useState(null),[N,_]=A.useState(null),b=A.useCallback(G=>_(G),[]),[S,k]=A.useState(!1),E=A.useRef(G4()),[C,I]=A.useState(z4);A.useEffect(()=>{B4(C)},[C]);const[M,O]=A.useState(U4);A.useEffect(()=>{H4(M)},[M]);const[W,L]=A.useState(W4);A.useEffect(()=>{V4(W)},[W]);const[P,q]=A.useState(()=>{try{const G=window.localStorage.getItem(Xk);return G===null?!0:G==="1"}catch{return!0}});A.useEffect(()=>{try{window.localStorage.setItem(Xk,P?"1":"0")}catch{}},[P]);const[U,B]=A.useState(null),[R,Q]=A.useState(!1),[H,te]=A.useState(0),[Z,D]=A.useState(0);A.useEffect(()=>{fetch("/api/sound-hook").then(G=>G.ok?G.json():null).then(G=>{G!=null&&G.ok&&(B(G.enabled===!0),te((G.foreign??[]).filter(K=>K.worksHere).length),D(typeof G.parked=="number"?G.parked:0))}).catch(()=>{})},[]);const X=A.useCallback(async()=>{Q(!0);try{const K=await(await fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:!U})})).json().catch(()=>null);K!=null&&K.ok&&B(K.enabled===!0),fetch("/api/sound-hook").then(oe=>oe.ok?oe.json():null).then(oe=>{oe!=null&&oe.ok&&(te((oe.foreign??[]).filter(ue=>ue.worksHere).length),D(typeof oe.parked=="number"?oe.parked:0))}).catch(()=>{})}catch{}finally{Q(!1)}},[U]),[j,$]=A.useState(!1),[V,F]=A.useState(null),[J,ne]=A.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(Qk)??""}catch{return""}}),[le,de]=A.useState(!1),me=A.useRef(0),[ve,Pe]=A.useState(!1),Me=A.useCallback((G=!1)=>{G&&(me.current=Date.now(),Pe(!0)),fetch(G?"/api/version?refresh=1":"/api/version").then(K=>K.ok?K.json():null).then(K=>{K&&F(K)}).catch(()=>{}).finally(()=>{G&&Pe(!1)})},[]),Oe=A.useCallback(()=>{Me(Date.now()-me.current>=D4)},[Me]);A.useEffect(()=>{Me();const G=window.setInterval(Oe,5*6e4),K=()=>{document.visibilityState==="visible"&&Oe()};return document.addEventListener("visibilitychange",K),()=>{window.clearInterval(G),document.removeEventListener("visibilitychange",K)}},[Me,Oe]),A.useEffect(()=>{j&&Me()},[j,Me]);const ye=(V==null?void 0:V.notice)??null,Se=ye?`${ye.kind}:${ye.to}`:"",Ke=ye!=null&&J!==Se,xe=A.useCallback(()=>{if(!ye)return;const G=J===Se?"":Se;ne(G);try{window.localStorage.setItem(Qk,G)}catch{}},[ye,Se,J]),ge=((Ii=V==null?void 0:V.upgrade)==null?void 0:Ii.state)??"idle",Fe=T3(V==null?void 0:V.upgrade),pt=A.useCallback(async()=>{try{await fetch("/api/upgrade",{method:"POST"})}catch{}Me()},[Me]);A.useEffect(()=>{if(ge!=="running")return;const G=window.setInterval(Me,3e3);return()=>window.clearInterval(G)},[ge,Me]);const mt=A.useCallback(async()=>{var oe;const G=V==null?void 0:V.command;if(!G)return;let K=!1;try{K=await Promise.race([((oe=navigator.clipboard)==null?void 0:oe.writeText(G).then(()=>!0))??Promise.resolve(!1),new Promise(ue=>window.setTimeout(()=>ue(!1),500))])}catch{K=!1}if(!K)try{const ue=document.createElement("textarea");ue.value=G,ue.setAttribute("readonly",""),ue.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(ue),ue.select(),K=document.execCommand("copy"),ue.remove()}catch{K=!1}K&&(de(!0),window.setTimeout(()=>de(!1),1600))},[V==null?void 0:V.command]),Ze=A.useCallback(()=>{I(G=>(G||q(!1),!G))},[]),De=A.useCallback(()=>{q(G=>(G||I(!1),!G))},[]),[Qe,at]=A.useState(!1),[It,it]=A.useState(0),gt=A.useRef(null),[Kt,Mt]=A.useState(!1),Ye=A.useRef(null),[Nt,dt]=A.useState(0),lt=A.useRef(B3()),[fn,Ut]=A.useState(!1),Ct=A.useCallback(()=>{const G=lt.current,K=G.setPaused(!G.paused);for(const oe of K)n.current=ux(n.current,oe);Ut(G.paused)},[]),[Je,hr]=A.useState(Date.now()),[Ht,hn]=A.useState(()=>{if(typeof window>"u")return!0;try{return window.localStorage.getItem(Jk)!=="0"}catch{return!0}}),Tn=A.useCallback(()=>{hn(G=>{const K=!G;try{window.localStorage.setItem(Jk,K?"1":"0")}catch{}return K})},[]),[Tt,pr]=A.useState(!1),[as,ls]=A.useState("restart"),[vi,qr]=A.useState(null),jn=A.useRef(!1),Zn=A.useRef(null),$r=A.useRef(0),pn=A.useCallback(async G=>{if(jn.current)return;const K=(G==null?void 0:G.upgrade)===!0;jn.current=!0,Zn.current=Fe;const oe=++$r.current;ls(K?"npx":"restart"),pr(!0);try{window.sessionStorage.setItem("agent-dag.restartPending",(ye==null?void 0:ye.to)??"")}catch{}try{await fetch("/api/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({upgrade:K})})}catch{}window.setTimeout(()=>{if($r.current===oe&&jn.current){jn.current=!1,pr(!1);try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}}},K?18e4:3e4)},[ye==null?void 0:ye.to,Fe]),us=A.useRef(null);A.useEffect(()=>{let G=!1;for(const oe of n.current.agents.values())if(oe.state==="active"){G=!0;break}const K=R3({enabled:Ht,kind:ye==null?void 0:ye.kind,canRestart:(V==null?void 0:V.canRestart)===!0,busy:G,idleSince:us.current,now:Je});us.current=K.idleSince,K.restart&&pn()},[Ht,ye==null?void 0:ye.kind,V==null?void 0:V.canRestart,Je,pn]),A.useEffect(()=>{const G=V==null?void 0:V.running;let K=null,oe=null;try{K=window.sessionStorage.getItem("agent-dag.restartPending"),oe=window.sessionStorage.getItem(eE)}catch{return}const ue=C3({bundle:"1.33.112",running:G,pending:K,lastTried:oe});if(ue==="reload"){try{window.sessionStorage.setItem(eE,G??"")}catch{return}window.location.reload();return}if(ue!=="confirm")return;try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}jn.current=!1,pr(!1),qr(G??null);const we=window.setTimeout(()=>qr(null),6e3);return()=>window.clearTimeout(we)},[V==null?void 0:V.running]),A.useEffect(()=>{if(Tt&&j3({asked:Zn.current,reported:Fe})){try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}jn.current=!1,pr(!1)}},[Tt,Fe]);const Rn=A.useRef(Y4()).current;A.useRef(!1);const yt=A.useRef(new Map(Rn.positions.filter(([G])=>Rn.pins.includes(G)))),An=A.useRef(null),Jn=A.useState(()=>K4())[0],[In,cs]=A.useState(""),[yi,Mn]=A.useState(()=>new Set),[er,wi]=A.useState(()=>HN("agent-dag.theme")??"dark"),[ds,fs]=A.useState(!1),xi=A.useRef(null);A.useEffect(()=>{document.documentElement.dataset.theme=er;try{window.localStorage.setItem("agent-dag.theme",er)}catch{}},[er]),A.useEffect(()=>{if(!Jn)return;const G=window.setTimeout(()=>{try{e.setViewport(Jn,{duration:0})}catch{}},60);return()=>window.clearTimeout(G)},[e,Jn]);const _i=A.useRef(!0);A.useEffect(()=>{const G=new EventSource("/events"),K=z3(s,{now:()=>Date.now(),setTimeout:(oe,ue)=>window.setTimeout(oe,ue),clearTimeout:oe=>window.clearTimeout(oe)});return G.addEventListener("open",()=>{$(!0),fs(!0)}),G.addEventListener("error",()=>$(!1)),G.addEventListener("replay-end",()=>{_i.current=!1,K.flush()}),G.addEventListener("hook",oe=>{try{const ue=JSON.parse(oe.data);if(!lt.current.accept(ue))return;n.current=ux(n.current,ue),ue.replay===!0||_i.current||Date.now()-ue.receivedAt>3e4?K.replay():K.live()}catch{}}),()=>{G.close(),K.cancel()}},[s]),A.useEffect(()=>{const G=setInterval(()=>{const K=Date.now();hr(K);let oe=qP(n.current,K,P4);OP(n.current,K,O4,L4)&&(oe=!0),LP(n.current,K,q4,$4)&&(oe=!0),oe&&s()},250);return()=>clearInterval(G)},[s]);const Dr=A.useRef(null),Pn=A.useRef(0),uo=420,Be=A.useCallback((G=500)=>{try{const Ee=document.querySelector(".canvas-wrap"),je=Array.from(document.querySelectorAll(".react-flow__node")).filter(wt=>wt.offsetWidth>0);if(!Ee||je.length===0)return;const Le=Ee.getBoundingClientRect(),Ue=e.getViewport();if(!Number.isFinite(Ue.zoom)||Ue.zoom<=0)return;const Ge=wt=>(wt-Le.left-Ue.x)/Ue.zoom,tt=wt=>(wt-Le.top-Ue.y)/Ue.zoom,gn=je.map(wt=>wt.getBoundingClientRect()),Oi=Math.min(...gn.map(wt=>Ge(wt.left))),yo=Math.max(...gn.map(wt=>Ge(wt.right))),xr=Math.min(...gn.map(wt=>tt(wt.top))),wo=Math.max(...gn.map(wt=>tt(wt.bottom))),Ia=yo-Oi,ws=wo-xr;if(!(Ia>0&&ws>0))return;const $n=Math.max(.2,Math.min(1,(Le.width-160)/(Ia+uo)*.86,(Le.height-160)/ws*.86));e.setViewport({x:80-Oi*$n,y:Math.max(80,(Le.height-ws*$n)/2)-xr*$n,zoom:$n},{duration:G}),Pn.current=Date.now(),window.setTimeout(()=>{try{const wt={x:80-Oi*$n,y:Math.max(80,(Le.height-ws*$n)/2)-xr*$n,zoom:$n},xo=e.getViewport();(Math.abs(xo.zoom-$n)>.01||Math.abs(xo.x-wt.x)>2)&&e.setViewport(wt,{duration:0})}catch{}},G+60)}catch{}},[e]),bi=A.useRef(""),mr=A.useRef(null),Si=A.useRef(0),On=A.useCallback(()=>{Si.current=Date.now()},[]),Fr="agent-dag.autoFitDisabled",mn=A.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Fr)==="1"}catch{return!1}})()),[gr,Wt]=A.useState(mn.current),zr=A.useCallback(()=>{if(!mn.current){mn.current=!0,Wt(!0);try{window.localStorage.setItem(Fr,"1")}catch{}}},[]),an=A.useCallback(()=>{mn.current=!1,Wt(!1);try{window.localStorage.removeItem(Fr)}catch{}Be(400)},[e,Be]);A.useEffect(()=>{const G=setInterval(()=>{if(mn.current||Date.now()-Si.current<800)return;const K=n.current,oe=Date.now(),ue=[];for(const Ge of K.agents.values())sv(Ge,oe)&&ue.push({id:Ge.id});if(ue.length===0)return;const we=e.getViewport(),Ee=window.innerWidth-360,je=window.innerHeight-52;let Le=!1,Ue=!1;for(const{id:Ge}of ue){const tt=Br.current.get(Ge),gn=yt.current.get(Ge)??Xt.current.get(Ge);if(!tt||!gn)continue;Ue=!0;const Oi=gn.x*we.zoom+we.x,yo=gn.y*we.zoom+we.y,xr=(gn.x+tt.width)*we.zoom+we.x,wo=(gn.y+tt.height)*we.zoom+we.y;if(xr>0&&Oi<Ee&&wo>0&&yo<je){Le=!0;break}}Ue&&!Le&&Be(600)},1500);return()=>clearInterval(G)},[e]);const co=A.useRef(!1),Br=A.useRef(new Map),Ea=A.useRef(0),hs=A.useCallback(G=>{const K=Br.current;let oe=!1;for(const ue of G.nodeInternals.values()){const we=ue.width,Ee=ue.height;if(we==null||Ee==null)continue;const je=K.get(ue.id);je?(Math.abs(je.height-Ee)>4||Math.abs(je.width-we)>4)&&(K.set(ue.id,{width:we,height:Ee}),oe=!0):(K.set(ue.id,{width:we,height:Ee}),oe=!0)}return oe&&(Ea.current+=1),Ea.current},[]),ki=Xe(hs),[Ur,ps]=A.useState(0);A.useEffect(()=>{let G=0;const K=()=>{const ue=Br.current;let we=!1;for(const Ee of document.querySelectorAll(".react-flow__node[data-id]")){const je=Ee.getAttribute("data-id");if(!je)continue;const Le=Ee.offsetWidth,Ue=Ee.offsetHeight;if(!Le||!Ue)continue;const Ge=ue.get(je);(!Ge||Math.abs(Ge.width-Le)>4||Math.abs(Ge.height-Ue)>4)&&(ue.set(je,{width:Le,height:Ue}),we=!0)}we&&ps(Ee=>Ee+1)};if(co.current)return;let oe=0;return document.visibilityState==="hidden"?oe=window.setTimeout(K,32):G=requestAnimationFrame(K),()=>{cancelAnimationFrame(G),window.clearTimeout(oe)}});const Xt=A.useRef(new Map(Rn.positions)),fo=A.useRef(""),tr=A.useMemo(()=>{const G=[];for(const K of n.current.agents.values())sv(K,Je)&&G.push(K.id+(K.parentId?`>${K.parentId}`:""));return G.sort(),`${G.join("|")}#sv${ki}.${Ur}`},[n.current,n.current.lastSeq,Je,ki,Ur]),Hr=A.useRef(null);A.useEffect(()=>(Hr.current!=null&&window.clearTimeout(Hr.current),Hr.current=window.setTimeout(()=>{qg(Xt.current,yt.current)},1500),()=>{Hr.current!=null&&window.clearTimeout(Hr.current)}),[tr]),A.useEffect(()=>{if(bi.current===tr)return;const G=bi.current;if(bi.current=tr,!G||mn.current)return;Date.now()-Pn.current>1200&&Be(400),Dr.current&&window.clearTimeout(Dr.current),Dr.current=window.setTimeout(()=>{mn.current||Be(500)},280)},[tr,e,Be]);const Ei=A.useMemo(()=>{if(o.size===0)return null;const G=new Set;for(const K of o){const oe=J4(n.current,K);if(oe)for(const ue of oe)G.add(ue)}return G.size>0?G:null},[n.current,n.current.lastSeq,o]),vr=A.useMemo(()=>k4(n.current,Je),[n.current,n.current.lastSeq,Je]),Na=A.useRef(null),[Wr,We]=A.useState({w:0,h:0});A.useEffect(()=>{const G=Na.current;if(!G||typeof ResizeObserver>"u")return;const K=new ResizeObserver(oe=>{var we;const ue=(we=oe[0])==null?void 0:we.contentRect;ue&&We(Ee=>Math.abs(Ee.w-ue.width)>40||Math.abs(Ee.h-ue.height)>40?{w:ue.width,h:ue.height}:Ee)});return K.observe(G),We({w:G.clientWidth,h:G.clientHeight}),()=>K.disconnect()},[]);const Ca=A.useRef(new Map),[ho,po]=A.useState(!1);A.useEffect(()=>{const G=window.setTimeout(()=>po(!0),2500);return()=>window.clearTimeout(G)},[]);const[Ta,ms]=A.useState(!1),Ln=A.useRef(null),[Ni,Ci]=A.useState(!1),nr=A.useCallback(()=>{Ln.current&&(window.clearTimeout(Ln.current),Ln.current=null),ms(!1)},[]),rr=A.useCallback(G=>{G.length!==0&&queueMicrotask(()=>{ms(!0),Ln.current&&window.clearTimeout(Ln.current),Ln.current=window.setTimeout(()=>ms(!1),M4+80)})},[]);A.useEffect(()=>()=>{Ln.current&&window.clearTimeout(Ln.current)},[]);const qn=Wr.w>0?Wr.w*.92:0,Vr=Wr.h>0?Wr.h:0,{nodes:Vt,edges:ir}=A.useMemo(()=>e5(n.current,Je,qn,Vr,yt.current,In,Br.current,Ca.current,rr,ho,Ni,Xt.current,tr,fo,o,Ei,vr,b),[n.current,n.current.lastSeq,Je,qn,Vr,ho,Ni,In,tr,o,Ei,vr,b,It]),ja=A.useMemo(()=>{const G=new Map;for(const oe of Vt){const ue=oe.data;if(!(ue!=null&&ue.sessionId)||ue.exitAt!=null)continue;const we=oe.width,Ee=oe.height;if(we==null||Ee==null)continue;const je=oe.position.x,Le=oe.position.y,Ue=je+we,Ge=Le+Ee,tt=G.get(ue.sessionId);tt?(tt.minX=Math.min(tt.minX,je),tt.minY=Math.min(tt.minY,Le),tt.maxX=Math.max(tt.maxX,Ue),tt.maxY=Math.max(tt.maxY,Ge)):G.set(ue.sessionId,{minX:je,minY:Le,maxX:Ue,maxY:Ge})}const K=[];for(const[oe,ue]of G){const we=ue.maxX-ue.minX+Bl*2,Ee=ue.maxY-ue.minY+Bl*2;K.push({id:`group:${oe}`,type:WC,position:{x:ue.minX-Bl,y:ue.minY-Bl},data:{sessionId:oe,w:we,h:Ee},width:we,height:Ee,style:{width:we,height:Ee},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return K},[Vt,Je]),Ra=A.useMemo(()=>{const G=[...ja,...Vt],K=Ye.current;return!K||K.size===0?G:G.map(oe=>{const ue=K.get(oe.id);return ue?{...oe,position:ue}:oe})},[ja,Vt,Nt]),Ti=A.useMemo(()=>{if(!In)return null;const G=new Set;for(const K of n.current.agents.values())QC(K,In)&&G.add(K.id);return G},[n.current,n.current.lastSeq,In]),gs=A.useMemo(()=>{const G=new Set;for(const K of n.current.agents.values())for(const oe of K.tools)G.add(XC(oe.name));return Object.keys(ov).filter(K=>G.has(K))},[n.current,n.current.lastSeq]);A.useEffect(()=>{if(gs.length<=1){Mt(!1);return}let G=0;const K=()=>{const oe=gt.current;if(oe&&!document.hidden){const ue=oe.getBoundingClientRect(),we=Array.from(document.querySelectorAll(".react-flow__node, .tool-burst")).map(je=>je.getBoundingClientRect()),Ee=N4(ue,we,8);Mt(je=>je===Ee?je:Ee)}G=window.setTimeout(K,300)};return K(),()=>window.clearTimeout(G)},[gs.length]);const Gr=A.useMemo(()=>{const G=new Map;for(const oe of n.current.agents.values())for(const ue of oe.tools){if(!ue.name.startsWith("mcp__"))continue;const we=ue.name.slice(5),Ee=we.indexOf("__"),je=Ee>0?we.slice(0,Ee):we;G.set(je,(G.get(je)??0)+1)}const K=[];for(const[oe,ue]of G){let we=5381;for(let Ee=0;Ee<oe.length;Ee++)we=(we<<5)+we^oe.charCodeAt(Ee);K.push({server:oe,count:ue,hue:Math.abs(we)%360})}return K.sort((oe,ue)=>ue.count-oe.count),K},[n.current,n.current.lastSeq]),vs=A.useCallback(G=>{Mn(K=>{const oe=new Set(K);return oe.has(G)?oe.delete(G):oe.add(G),oe})},[]),Pt=u?n.current.agents.get(u):null,mo=p?Array.from(n.current.agents.values()).flatMap(G=>G.tools).find(G=>G.id===p)??null:null,Yr=A.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=ev(),yt.current.clear(),Br.current.clear(),Xt.current.clear(),fo.current="",nE(),g(),s()},[s,g]),Kr=A.useRef(S);Kr.current=S;const yr=A.useRef(!1);yr.current=mo!=null||Qe||N!=null||y!=null;const wr=A.useCallback(G=>{const K=q3(G,{confirmOpen:Kr.current,modalOpen:yr.current});K==="confirm"?k(!0):K==="clear"&&(k(!1),Yr())},[Yr]),go=A.useCallback(()=>{yt.current.clear(),Xt.current.clear(),fo.current="",nE(),s(),window.setTimeout(()=>Be(500),80)},[s,e,Be]),Aa=A.useCallback(()=>Be(500),[Be]),ys=A.useRef(Vt);ys.current=Vt;const ji=A.useRef(u);ji.current=u;const Ri=A.useCallback(G=>{const K=ys.current;if(K.length===0)return;const oe=K.slice().sort((Le,Ue)=>Le.position.y-Ue.position.y||Le.position.x-Ue.position.x),ue=ji.current,we=ue?oe.findIndex(Le=>Le.id===ue):-1;let Ee;we===-1?Ee=G===1?0:oe.length-1:Ee=(we+G+oe.length)%oe.length;const je=oe[Ee];je&&(f(je.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[je]})}catch{}Pn.current=Date.now()},30))},[f,e]);A.useEffect(()=>{const G=K=>{var we,Ee;const oe=K.target,ue={tagName:oe==null?void 0:oe.tagName,isContentEditable:oe==null?void 0:oe.isContentEditable,role:(we=oe==null?void 0:oe.getAttribute)==null?void 0:we.call(oe,"role"),type:oe==null?void 0:oe.type};if(K.key==="Escape"){UN(ue)?oe==null||oe.blur():g();return}if(!O3(ue)&&!A3(K)){if(K.key==="/"){K.preventDefault(),(Ee=xi.current)==null||Ee.focus();return}K.key===" "&&(K.preventDefault(),Ct()),(K.key==="c"||K.key==="C")&&wr("shortcut"),(K.key==="r"||K.key==="R")&&go(),(K.key==="f"||K.key==="F")&&Aa(),(K.key==="l"||K.key==="L")&&Ze(),(K.key==="h"||K.key==="H")&&at(je=>!je),(K.key==="u"||K.key==="U")&&L(je=>!je),(K.key==="a"||K.key==="A")&&De(),(K.key==="j"||K.key==="J")&&Ri(1),(K.key==="k"||K.key==="K")&&Ri(-1),(K.key==="t"||K.key==="T")&&wi(je=>je==="dark"?"light":"dark")}};return window.addEventListener("keydown",G),()=>window.removeEventListener("keydown",G)},[wr,go,Aa,g,Ri,Ct]);const Ai=n.current.agents.size,sr=new Set(Array.from(n.current.agents.values()).map(G=>G.sessionId)).size,$t=A.useMemo(()=>{let G=0,K=0,oe=0,ue=0,we=0,Ee=0,je=0,Le=0,Ue=0;for(const Ge of n.current.agents.values()){G+=Ge.usage.inputTokens,K+=Ge.usage.outputTokens,oe+=Ge.usage.cacheReadTokens,ue+=Ge.usage.cacheCreateTokens;const tt=sn(Ge.usage,Ge.model);we+=tt.total,Ee+=tt.input,je+=tt.output,Le+=tt.cacheRead,Ue+=tt.cacheWrite}return{inT:G,outT:K,cacheR:oe,cacheC:ue,sum:G+K,cost:{total:we,input:Ee,output:je,cacheRead:Le,cacheWrite:Ue}}},[n.current,n.current.lastSeq]);return m.jsxs("div",{className:"app",children:[m.jsxs("header",{className:"topbar",children:[m.jsxs("div",{className:"brand",children:[m.jsx("span",{className:"logo"}),"agents-deck",ye?m.jsxs("button",{type:"button",className:"v stale",onClick:xe,title:ye.kind==="restart"?`Running v${ye.from}; v${ye.to} is installed on disk. Restart to pick it up.`:`Running v${ye.from}; v${ye.to} is on npm.`,children:["v",ye.from,m.jsx("span",{className:"v-dot","aria-hidden":!0})]}):(()=>{const G={running:(V==null?void 0:V.running)??"1.33.112",latest:V==null?void 0:V.latest,latestPending:V==null?void 0:V.latestPending,checkedAgo:V!=null&&V.checkedAt?F4(Je-V.checkedAt):null,checkDisabled:V==null?void 0:V.checkDisabled,checking:ve};return m.jsxs("button",{type:"button",className:ve?"v checking":"v",onClick:()=>Me(!0),"aria-busy":ve||void 0,"aria-label":R4(G),title:j4(G),children:["v",G.running]})})()]}),Pt&&(()=>{const G=sn(Pt.usage,Pt.model),K=Math.max(0,((Pt.endedAt??Je)-Pt.startedAt)/1e3),oe=Pt.state==="active"?iu(G.total,K):null,ue=o.size-1;return m.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Pt.label}`,onClick:()=>{try{const we=Vt.find(Ee=>Ee.id===Pt.id);we&&e.fitView({padding:.35,duration:500,nodes:[we]}),Pn.current=Date.now()}catch{}},children:[m.jsx("span",{className:`state-pill state-${Pt.state}`,children:Pt.state==="active"?"live":Pt.state}),m.jsx("span",{className:"selected-label",children:Pt.label}),G.total>0&&m.jsxs("span",{className:"selected-cost",children:[ze(G.total),oe?m.jsxs("span",{className:"selected-rate",children:[" · ",oe]}):null]}),ue>0&&m.jsxs("span",{className:"selected-extra",children:["+",ue]}),m.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:we=>{we.stopPropagation(),g()},children:"×"})]})})(),m.jsxs("div",{className:"actions",children:[m.jsxs("div",{className:"search",children:[m.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),m.jsx("input",{ref:xi,type:"text",placeholder:"Search agents, cwd, tools…",value:In,onChange:G=>cs(G.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),In?m.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>cs(""),children:"×"}):m.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),m.jsxs("span",{className:"status",role:"status",children:[m.jsx("span",{className:`pill ${j?"live":"dead"}`,title:j?"Receiving events":"SSE disconnected",children:j?"live":"offline"}),m.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[m.jsx("span",{className:"count",children:sr}),m.jsx("span",{className:"lbl",children:"sessions"})]}),m.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[m.jsx("span",{className:"count",children:Ai}),m.jsx("span",{className:"lbl",children:"agents"})]}),m.jsxs("span",{className:"stat",title:"Total hook events received",children:[m.jsx("span",{className:"count",children:n.current.totalEvents}),m.jsx("span",{className:"lbl",children:"events"})]}),$t.sum>0&&m.jsxs("span",{className:"stat",title:`in:${$t.inT.toLocaleString()} out:${$t.outT.toLocaleString()} cache-r:${$t.cacheR.toLocaleString()} cache-c:${$t.cacheC.toLocaleString()}`,children:[m.jsx("span",{className:"count",children:A4($t.sum)}),m.jsx("span",{className:"lbl",children:"tokens"})]}),Gr.length>0&&m.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
59
+ burn: ${y}`:"");return m.jsxs("span",{className:"cost-meta",title:x,children:[m.jsx("b",{children:ze(f.total)}),y&&m.jsx("span",{className:"cost-rate",children:y})]})})()]}),m.jsx(no,{type:"source",position:Te.Right,style:{background:"transparent",border:"none"}})]})}function eO({state:e}){const n=e==="active"?"live":e==="done"?"done":"err";return m.jsx("span",{className:`state-pill state-${e}`,children:n})}function tO(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function nO({tools:e,now:n}){const l=new Array(24).fill(0);let u=0;for(const y of e){const x=n-y.startedAt;if(x<0||x>=6e4)continue;const N=23-Math.floor(x/2500);N>=0&&N<24&&(l[N]+=1,u+=1)}const c=Math.max(1,...l),p=132,h=14,f=p/24,g=c/(2500/1e3);return m.jsxs("div",{className:"tool-spark-row",title:`${u} tool calls in last 60s · peak ${g.toFixed(1)}/s`,children:[m.jsx("svg",{className:"tool-spark",width:p,height:h,viewBox:`0 0 ${p} ${h}`,"aria-hidden":!0,children:l.map((y,x)=>{const N=y===0?1.5:Math.max(1.5,y/c*h),_=x===23&&y>0,S=`tool-spark-bar${y>0?" active":""}${_?" latest":""}`;return m.jsx("rect",{x:x*f+.4,y:h-N,width:Math.max(.5,f-1),height:N,rx:.8,className:S},x)})}),m.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function wa(e){const n=e.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(n){const o=n[1][0].toUpperCase()+n[1].slice(1).toLowerCase(),l=n[2].replace(/[-_]/g,".");return`${o} ${l}`}const r=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)[-_]codex\b/i);if(r)return`GPT-${r[1].replace(/[-_]/g,".")} Codex`;const s=e.match(/^gpt[-_](\d+(?:[-_.]\d+)*)/i);return s?`GPT-${s[1].replace(/[-_]/g,".")}`:e}function dx(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function rO(e){if(e.endedAt==null)return"in-flight…";const n=e.endedAt-e.startedAt;return n<1e3?`${n}ms`:`${(n/1e3).toFixed(2)}s`}function iO({tool:e,onClose:n}){A.useEffect(()=>{const s=o=>{o.key==="Escape"&&n()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[n]);const r=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return m.jsx("div",{className:"modal-backdrop",onClick:n,role:"dialog","aria-modal":"true",children:m.jsxs("div",{className:"modal",onClick:s=>s.stopPropagation(),children:[m.jsxs("header",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:`status-dot ${r}`}),m.jsx("span",{className:"modal-tool-name",children:e.name}),m.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),m.jsxs("div",{className:"modal-actions",children:[m.jsx("span",{className:"modal-dur",children:rO(e)}),m.jsx("button",{className:"btn icon-btn",onClick:n,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),m.jsxs("section",{className:"modal-body",children:[e.trimmed&&m.jsx("div",{className:"modal-section",children:m.jsx("p",{className:"modal-note",children:"Full payloads for this call were released to keep memory bounded — only the previews below are still held."})}),m.jsxs("div",{className:"modal-section",children:[m.jsx("h4",{children:"Input"}),m.jsx("pre",{children:dx(e.input??e.inputPreview)})]}),m.jsxs("div",{className:"modal-section",children:[m.jsxs("h4",{children:["Response ",r==="err"&&m.jsx("span",{className:"err-tag",children:"error"})]}),m.jsx("pre",{children:e.endedAt==null?"(waiting…)":dx(e.response??e.errorPreview)})]})]})]})})}const ql=18,fx=26,sO=12;function oO(e){return aO(e.nodeInternals.values())}function aO(e){const n=new Map;for(const o of e){if(o.type!=="agent")continue;const l=o.data;if(!(l!=null&&l.sessionId)||l.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,c=o.position.y,p=u+o.width,h=c+o.height,f=n.get(l.sessionId);f?(f.minX=Math.min(f.minX,u),f.minY=Math.min(f.minY,c),f.maxX=Math.max(f.maxX,p),f.maxY=Math.max(f.maxY,h),l.kind==="root"&&(f.label=hx(l)??f.label)):n.set(l.sessionId,{minX:u,minY:c,maxX:p,maxY:h,label:hx(l)??l.sessionId})}const r=new Map;for(const o of n.values())r.set(o.label,(r.get(o.label)??0)+1);const s=[];for(const[o,l]of n){const c=(r.get(l.label)??0)>1?`${l.label} · ${lO(o)}`:l.label;s.push({sessionId:o,label:c,x:l.minX-ql,y:l.minY-ql-fx,w:l.maxX-l.minX+ql*2,h:l.maxY-l.minY+ql*2+fx})}return s}function lO(e){const n=e.match(/[a-zA-Z0-9]{4}/);return n?n[0]:e.slice(0,4)}function hx(e){if(e.kind==="root")return e.label}function uO(){const{x:e,y:n,zoom:r}=bN(),s=ya(),o=Xe(oO,cO);if(o.length<=1)return null;const l=u=>{try{const c=s.getNodes().filter(p=>{const h=p.data;return(h==null?void 0:h.sessionId)===u});if(c.length===0)return;s.fitView({padding:.3,duration:500,nodes:c})}catch{}};return m.jsx("div",{className:"session-clusters",children:o.map(u=>{const c=Cv(u.sessionId),p={position:"absolute",left:u.x*r+e,top:u.y*r+n,width:u.w*r,height:u.h*r,borderColor:`hsl(${c} 65% 55% / 0.32)`,background:`hsl(${c} 70% 50% / 0.04)`},h={position:"absolute",left:u.x*r+e+16*r,top:(u.y-sO)*r+n,color:`hsl(${c} 70% 78%)`,borderColor:`hsl(${c} 65% 55% / 0.5)`,transform:`scale(${Math.min(1,r)})`,transformOrigin:"left top"};return m.jsxs(ae.Fragment,{children:[m.jsx("div",{className:"cluster-card",style:p,"aria-hidden":!0}),m.jsx("button",{type:"button",className:"cluster-label",style:h,title:`Fit view to ${u.label} · drag the wrapper to move the whole session`,onClick:()=>l(u.sessionId),children:u.label})]},u.sessionId)})})}function cO(e,n){if(e.length!==n.length)return!1;for(let r=0;r<e.length;r++){const s=e[r],o=n[r];if(s.sessionId!==o.sessionId||s.label!==o.label||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function dO({data:e}){return m.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const ON=600,fO=4,hO=36,nv=16,pO=60,mO=6,px=220,mx=96,gO=28,vO={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan",ScheduleWakeup:"other",CronCreate:"other",CronList:"other",CronDelete:"other",Monitor:"other",PushNotification:"other",RemoteTrigger:"other",ToolSearch:"other"};function yO(e){return e.startsWith("mcp__")?"mcp":vO[e]??"other"}const wO={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",shell:"⚡",exec_command:"⚡",shell_command:"⚡",write_stdin:"💻",wait:"⏳",apply_patch:"🩹",update_plan:"📋",LS:"📂",Task:"🤖",Agent:"🤖",TodoWrite:"📋",TaskCreate:"📋",TaskUpdate:"📝",TaskList:"🗂️",TaskGet:"🗂️",TaskOutput:"📤",TaskStop:"🛑",WebFetch:"🌐",WebSearch:"🔭",ToolSearch:"🧰",NotebookEdit:"📓",EnterPlanMode:"🧭",ExitPlanMode:"🏁",AskUserQuestion:"❓",ScheduleWakeup:"⏰",CronCreate:"⏰",CronList:"📅",CronDelete:"🗑️",Skill:"🎯",Workflow:"🎬",Monitor:"📡",PushNotification:"🔔",RemoteTrigger:"📡"};function gx(e){return e.startsWith("mcp__")?"🔌":wO[e]??"✨"}const xO={git:"🐙",gh:"🐙",glab:"🐙",npm:"📦",pnpm:"📦",yarn:"📦",bun:"📦",brew:"🍺",node:"🟢",deno:"🟢",python:"🐍",python3:"🐍",py:"🐍",pip:"🐍",pip3:"🐍",uv:"🐍",ruby:"💎",bundle:"💎",gem:"💎",cargo:"🦀",rustc:"🦀",rustup:"🦀",go:"🐹",docker:"🐳","docker-compose":"🐳",podman:"🐳",kubectl:"☸️",helm:"☸️",k9s:"☸️",grep:"🔎",rg:"🔎",ag:"🔎",ack:"🔎",find:"🔍",fd:"🔍",locate:"🔍",which:"🔍",ls:"📂",dir:"📂",tree:"📂",cat:"📄",head:"📄",tail:"📄",less:"📄",more:"📄",bat:"📄",cp:"📋",mv:"✂️",rm:"🗑️",rmdir:"🗑️",mkdir:"📁",touch:"📁",sed:"✏️",awk:"✏️",tr:"✏️",curl:"🌐",wget:"🌐",http:"🌐",httpie:"🌐",ssh:"🔐",scp:"🔐",rsync:"🔐",ping:"📡",make:"🔨",cmake:"🔨",ninja:"🔨",bazel:"🔨",just:"🔨",terraform:"🏗️",ansible:"📕",pulumi:"🏗️",ps:"📊",top:"📊",htop:"📊",btm:"📊",kill:"💀",pkill:"💀",systemctl:"⚙️",service:"⚙️",tar:"🗜️",zip:"🗜️",unzip:"🗜️",gzip:"🗜️","7z":"🗜️",vim:"📝",nvim:"📝",nano:"📝",emacs:"📝",code:"📝",jq:"🪺",yq:"🪺",echo:"💬",printf:"💬",ffmpeg:"🎞️",ffprobe:"🎞️",imagemagick:"🖼️",convert:"🖼️","Get-ChildItem":"📂","Get-Content":"📄","Set-Content":"💾","Out-File":"💾","Add-Content":"💾","Set-Location":"📍","Get-Location":"📍","Get-Process":"📊","Start-Process":"▶️","Stop-Process":"💀","Invoke-WebRequest":"🌐","Invoke-RestMethod":"🌐","New-Item":"📁","Remove-Item":"🗑️","Copy-Item":"📋","Move-Item":"✂️","Test-Path":"🔍","Where-Object":"🔎","ForEach-Object":"🔁","Select-Object":"🎯","Measure-Object":"📊","Get-Service":"⚙️","Restart-Service":"⚙️","ConvertTo-Json":"🪺","ConvertFrom-Json":"🪺"};function LN(e){if(!e)return null;let n=e.trim();if(!n)return null;const r=n.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(r)return LN(r[1]);for(;;){const l=n.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!l)break;n=n.slice(l[0].length)}n=n.replace(/^sudo(?:\s+-\S+)*\s+/,""),n=n.replace(/^(?:time|nohup|xargs)\s+/,"");const s=n.match(/^([^\s|;&<>(]+)/);if(!s)return null;let o=s[1];return o=o.replace(/^.*[/\\]/,""),o=o.replace(/\.(exe|cmd|bat|ps1)$/i,""),o||null}function _O(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const n=e;if(typeof n.cmd=="string")return n.cmd;if(typeof n.command=="string")return n.command;if(Array.isArray(n.command)&&n.command.every(r=>typeof r=="string")){const r=n.command;if(/powershell|cmd|bash|sh(\.exe)?$/i.test(r[0]??"")){const s=r.findIndex(o=>/^(-Command|-c)$/i.test(o));if(s>=0&&s+1<r.length)return r[s+1]}return r.join(" ")}return typeof n.script=="string"?n.script:null}const bO=new Set(["Bash","PowerShell","shell","exec_command","shell_command","write_stdin","wait"]),SO=new Set(["shell","exec_command","shell_command","write_stdin","wait","apply_patch","update_plan"]);function kO(e,n){return SO.has(e)||e.startsWith("mcp__")?Math.max(mx,34+n.length*7.5):mx}function EO(e,n){if(!bO.has(e))return null;const r=_O(n);if(!r)return null;const s=LN(r);return s?{emoji:xO[s]??"⚙️",label:s,category:"shell",detail:r}:null}const NO=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),vx={ts:"🟦",tsx:"🟦",d:"🟦",js:"🟨",jsx:"🟨",mjs:"🟨",cjs:"🟨",py:"🐍",pyi:"🐍",ipynb:"📓",rs:"🦀",go:"🐹",rb:"💎",erb:"💎",java:"☕",kt:"☕",scala:"☕",gradle:"☕",cs:"🔷",fs:"🔷",php:"🐘",swift:"🦅",c:"🇨",cpp:"🇨",cc:"🇨",h:"🇨",hpp:"🇨",md:"📝",mdx:"📝",rst:"📝",json:"🪺",json5:"🪺",jsonl:"🪺",yaml:"⚙️",yml:"⚙️",toml:"⚙️",ini:"⚙️",conf:"⚙️",cfg:"⚙️",xml:"📰",html:"🌐",htm:"🌐",vue:"🌐",svelte:"🌐",css:"🎨",scss:"🎨",sass:"🎨",less:"🎨",sh:"⚡",bash:"⚡",zsh:"⚡",fish:"⚡",ps1:"⚡",txt:"📄",log:"📄",out:"📄",csv:"📊",tsv:"📊",xlsx:"📊",xls:"📊",pdf:"📕",png:"🖼️",jpg:"🖼️",jpeg:"🖼️",gif:"🖼️",webp:"🖼️",svg:"🖼️",ico:"🖼️",mp4:"🎬",mov:"🎬",avi:"🎬",mkv:"🎬",webm:"🎬",mp3:"🎵",wav:"🎵",ogg:"🎵",flac:"🎵",zip:"🗜️",tar:"🗜️",gz:"🗜️",bz2:"🗜️","7z":"🗜️",xz:"🗜️",rar:"🗜️",env:"🔐",lock:"🔐",pem:"🔐",key:"🔐",crt:"🔐",sql:"🗄️",db:"🗄️",sqlite:"🗄️",parquet:"🗄️"},yx={dockerfile:"🐳",makefile:"🔨",rakefile:"💎","package.json":"📦","pnpm-lock.yaml":"📦","yarn.lock":"📦","cargo.toml":"🦀","cargo.lock":"🦀","go.mod":"🐹","go.sum":"🐹","pyproject.toml":"🐍","requirements.txt":"🐍","readme.md":"📖",readme:"📖",license:"📜",".gitignore":"🐙",".gitattributes":"🐙",".env":"🔐",".dockerignore":"🐳"};function CO(e){const r=e.replace(/\\/g,"/").replace(/\/+$/,""),s=r.lastIndexOf("/");return s>=0?r.slice(s+1):r}function TO(e){const n=e.toLowerCase();if(yx[n])return yx[n];if(n.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(n))return"🧪";const r=n.lastIndexOf(".");if(r>0&&r<n.length-1){const s=n.slice(r+1);if(vx[s])return vx[s]}return"📄"}function jO(e,n){if(!n||typeof n!="object")return null;const r=n;if(e==="apply_patch"&&typeof r.patch=="string"){const s=r.patch.match(/^\*\*\* (?:Update|Add|Delete) File: (.+)$/m);return s?s[1].trim():null}return typeof r.file_path=="string"?r.file_path:typeof r.notebook_path=="string"?r.notebook_path:typeof r.path=="string"?r.path:e==="Glob"&&typeof r.pattern=="string"?r.pattern:null}function RO(e,n){if(!NO.has(e))return null;const r=jO(e,n);if(!r)return null;const s=CO(r);return s?{emoji:e==="LS"?"📂":TO(s),label:s,category:"file",detail:r}:null}const qN={github:{emoji:"🐙",name:"GitHub"},git:{emoji:"🐙",name:"Git"},gitlab:{emoji:"🦊",name:"GitLab"},slack:{emoji:"💬",name:"Slack"},discord:{emoji:"💬",name:"Discord"},linear:{emoji:"📐",name:"Linear"},jira:{emoji:"🅹",name:"Jira"},atlassian:{emoji:"🅰️",name:"Atlassian"},notion:{emoji:"📓",name:"Notion"},asana:{emoji:"📋",name:"Asana"},intercom:{emoji:"💬",name:"Intercom"},figma:{emoji:"🎨",name:"Figma"},gmail:{emoji:"📧",name:"Gmail"},calendar:{emoji:"📅",name:"Calendar"},drive:{emoji:"☁️",name:"Drive"},zoom:{emoji:"📹",name:"Zoom"},spotify:{emoji:"🎵",name:"Spotify"},youtube:{emoji:"📺",name:"YouTube"},ccd_session:{emoji:"📡",name:"Session"},ccd_directory:{emoji:"📂",name:"Directory"},ccd_session_mgmt:{emoji:"📡",name:"Sessions"},mcp_registry:{emoji:"🧰",name:"Registry"},"computer-use":{emoji:"🖱️",name:"Computer"},"claude-in-chrome":{emoji:"🌐",name:"Chrome"},"claude-preview":{emoji:"👀",name:"Preview"},"scheduled-tasks":{emoji:"⏰",name:"Scheduler"},visualize:{emoji:"🎨",name:"Visualize"},"plugin-design-asana":{emoji:"📋",name:"Asana"},"plugin-design-atlassian":{emoji:"🅰️",name:"Atlassian"},"plugin-design-figma":{emoji:"🎨",name:"Figma"},"plugin-design-intercom":{emoji:"💬",name:"Intercom"},"plugin-design-linear":{emoji:"📐",name:"Linear"},"plugin-design-notion":{emoji:"📓",name:"Notion"},"plugin-design-slack":{emoji:"💬",name:"Slack"}};function $N(e){if(!e.startsWith("mcp__"))return null;const n=e.slice(5),r=n.indexOf("__");return r<=0?{server:n,method:""}:{server:n.slice(0,r),method:n.slice(r+2)}}function AO(e){let n=5381;for(let r=0;r<e.length;r++)n=(n<<5)+n^e.charCodeAt(r);return Math.abs(n)%360}function IO(e,n){const r=$N(e);if(!r)return null;const{server:s,method:o}=r;if(!o)return null;const l=qN[s.toLowerCase()];return{emoji:(l==null?void 0:l.emoji)??"🔌",label:o,category:"mcp",detail:l?`${l.name} · ${o}`:`${s} · ${o}`}}function MO(e,n){return EO(e,n)??RO(e,n)??IO(e)}const PO={shell:"Shell",exec_command:"Shell",shell_command:"Shell",write_stdin:"stdin",wait:"wait",apply_patch:"Edit",update_plan:"Plan"};function OO(e){const n=$N(e);if(n){const s=qN[n.server.toLowerCase()];return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:n.server,hue:AO(n.server)}}const r=PO[e];return r?{emoji:gx(e),label:r}:{emoji:gx(e),label:e}}function LO(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function qO(e,n,r){if(r==null)return 1;const s=n-r;return s<0?1:Math.max(0,1-s/ON)}function $O(e,n){const r=[],s=new Set;for(let o=e.length-1;o>=0&&r.length<n;o--){const l=e[o];s.has(l.id)||(s.add(l.id),r.push(l))}return r.reverse()}function DO(e,n,r,s,o,l){const u=[];for(const c of e.values()){if(!n.has(c.id)||c.exitAt!=null&&l-c.exitAt>ON)continue;const p=s.get(c.id)??r.get(c.id);if(!p)continue;const h=$O(c.tools,fO);if(h.length===0)continue;const f=c.exitAt??null,g=o.get(c.id),y=Math.max((g==null?void 0:g.width)??px,px),x=(g==null?void 0:g.height)??130,N=p.x,_=p.y,b=N+y,S=_+x/2;h.forEach((k,E)=>{const C=E*hO,I=N+y+pO,M=_+mO+C,O=qO(k,l,f),W=k.inputPreview??"",L=LO(k),P=O<.999,q=OO(k.name);u.push({id:`${c.id}::${k.id}`,toolId:k.id,agentId:c.id,toolName:k.name,name:q.label,emoji:q.emoji,status:L,category:yO(k.name),mcpHue:q.hue,inputPreview:W,fade:O,fading:P,worldX:I,worldY:M,anchorX:b,anchorY:S,spawnDx:b-I,spawnDy:S-(M+nv)});const U=MO(k.name,k.input);if(U){const B=kO(k.name,q.label),R=I+B+gO,Q=M,H=I+B,te=M+nv;u.push({id:`sub:${c.id}::${k.id}`,toolId:k.id,agentId:c.id,toolName:k.name,name:U.label,emoji:U.emoji,isSub:!0,status:L,category:U.category,inputPreview:U.detail??W,fade:O,fading:P,worldX:R,worldY:Q,anchorX:H,anchorY:te,spawnDx:H-R,spawnDy:0})}})}return u}function FO({agents:e,visibleAgentIds:n,positions:r,pinned:s,measured:o,dimUnmatched:l,spotlight:u,hiddenCategories:c,now:p,onOpenTool:h}){const f=DO(e,n,r,s,o,p),g=c&&c.size>0?f.filter(y=>!c.has(y.category)):f;return m.jsx(zO,{bursts:g,dimUnmatched:l,spotlight:u,onOpenTool:h})}function zO({bursts:e,dimUnmatched:n,spotlight:r,onOpenTool:s}){const{x:o,y:l,zoom:u}=bN();return m.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[m.jsx("svg",{className:"tool-bursts-svg",children:e.map(c=>{const p=c.anchorX*u+o,h=c.anchorY*u+l,f=(c.worldX+6)*u+o,g=(c.worldY+nv)*u+l,y=p+(f-p)*.55,x=n!=null&&!n.has(c.agentId),N=r!=null&&!r.has(c.agentId),_=c.fade*(x||N?.14:1);return m.jsx("path",{d:`M ${p} ${h} Q ${y} ${h}, ${f} ${g}`,className:`tool-conn status-${c.status}${c.fading?" fading":""}`,opacity:_},`l:${c.id}`)})}),e.map(c=>{const p=c.worldX*u+o,h=c.worldY*u+l,f={left:`${p}px`,top:`${h}px`,transform:`scale(${u})`,transformOrigin:"left top","--spawn-dx":`${c.spawnDx}px`,"--spawn-dy":`${c.spawnDy}px`},g=c.isSub?`${c.toolName} · ${c.name}`:c.toolName,y=c.inputPreview?`${g} · ${c.inputPreview}`:g,x=s!=null,N=c.mcpHue!=null?{"--cat-accent":`hsl(${c.mcpHue} 65% 65%)`}:{},_=n!=null&&!n.has(c.agentId),b=r!=null&&!r.has(c.agentId),S=_||b?" dim":"";return m.jsx("div",{className:"tool-burst-wrap",style:f,children:m.jsxs("div",{className:`tool-burst cat-${c.category} status-${c.status}${c.fading?" fading":""}${x?" clickable":""}${c.isSub?" sub":""}${S}`,style:N,title:y,role:x?"button":void 0,tabIndex:x?0:void 0,"aria-label":x?`Open ${c.toolName} ${c.status==="inflight"?"in flight":c.status} — click for details`:void 0,onClick:x?()=>s(c.toolId):void 0,onKeyDown:x?k=>{(k.key==="Enter"||k.key===" ")&&(k.preventDefault(),s(c.toolId))}:void 0,children:[m.jsx("span",{className:"tb-emoji",children:c.emoji}),m.jsx("span",{className:"tb-name",children:c.name}),c.status==="inflight"&&m.jsx("span",{className:"tb-spin"}),c.status==="done"&&m.jsx("span",{className:"tb-mark done",children:"✓"}),c.status==="err"&&m.jsx("span",{className:"tb-mark err",children:"×"})]})},c.id)})]})}function BO({state:e,sessionId:n,onClose:r}){const s=A.useMemo(()=>HO(e,n),[e,n]);return s?m.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:m.jsxs("div",{className:"modal session-summary",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[m.jsxs("div",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),m.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),m.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),m.jsxs("div",{className:"modal-actions",children:[m.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),m.jsx("button",{className:"btn",onClick:r,"aria-label":"Close",children:"×"})]})]}),m.jsxs("div",{className:"modal-body",children:[m.jsxs("section",{className:"ss-hero",children:[m.jsxs("div",{className:"ss-hero-left",children:[m.jsx("div",{className:"ss-cost-label",children:"total spend"}),m.jsx("div",{className:"ss-cost",children:ze(s.cost.total)}),s.modelChips.length>0&&m.jsx("div",{className:"ss-models",children:s.modelChips.map(o=>m.jsx("span",{className:"model-chip",title:o,children:wa(o)},o))})]}),m.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&m.jsxs(m.Fragment,{children:[m.jsx(UO,{cost:s.cost}),m.jsxs("div",{className:"ss-cost-legend",children:[m.jsxs("span",{className:"ssl ssl-in",children:["input ",m.jsx("b",{children:ze(s.cost.input)})]}),m.jsxs("span",{className:"ssl ssl-out",children:["output ",m.jsx("b",{children:ze(s.cost.output)})]}),m.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",m.jsx("b",{children:ze(s.cost.cacheRead)})]}),m.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",m.jsx("b",{children:ze(s.cost.cacheWrite)})]})]})]})})]}),m.jsxs("section",{className:"ss-stats",children:[m.jsx(Hs,{label:"agents",value:s.agentCount}),m.jsx(Hs,{label:"subagents",value:s.subagentCount}),m.jsx(Hs,{label:"tool calls",value:s.toolCount}),m.jsx(Hs,{label:"prompts",value:s.promptCount}),m.jsx(Hs,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&m.jsx(Hs,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&m.jsxs("section",{className:"modal-section",children:[m.jsx("h4",{children:"Most-used tools"}),m.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([o,l])=>m.jsxs("div",{className:"ss-tt",children:[m.jsx("span",{className:"ss-tt-name",children:o}),m.jsx("span",{className:"ss-tt-bar",children:m.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${l/s.topTools[0][1]*100}%`}})}),m.jsx("span",{className:"ss-tt-count",children:l})]},o))})]}),s.firstPrompt&&m.jsxs("section",{className:"modal-section",children:[m.jsx("h4",{children:"Opening prompt"}),m.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function Hs({label:e,value:n,tone:r}){return m.jsxs("div",{className:`ss-stat${r?` tone-${r}`:""}`,children:[m.jsx("div",{className:"ss-stat-value",children:n}),m.jsx("div",{className:"ss-stat-label",children:e})]})}function UO({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return m.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${ze(s)} (${u.toFixed(0)}%)`},o)};return m.jsxs("div",{className:"cost-bar cost-bar-lg","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function HO(e,n){const r=e.agents.get(n);if(!r)return null;const s=[];for(const E of e.agents.values())E.sessionId===n&&s.push(E);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},l=new Set,u=new Map;let c=0,p=0,h=0,f=0,g=0,y,x=1/0,N=0;for(const E of s){const C=sn(E.usage,E.model);o.input+=C.input,o.output+=C.output,o.cacheRead+=C.cacheRead,o.cacheWrite+=C.cacheWrite,o.total+=C.total,E.model&&l.add(E.model),E.kind==="subagent"&&g++,p+=E.prompts.length,!y&&E.prompts.length>0&&(y=E.prompts[0].text),h+=E.usage.inputTokens+E.usage.outputTokens,c+=E.toolCount,x=Math.min(x,E.startedAt),N=Math.max(N,E.endedAt??Date.now());for(const I of E.tools)u.set(I.name,(u.get(I.name)??0)+1),I.ok===!1&&f++}const _=Math.max(0,N-x),b=Math.floor(_/1e3),S=b<60?`${b}s`:b<3600?`${Math.floor(b/60)}m ${String(b%60).padStart(2,"0")}s`:`${Math.floor(b/3600)}h ${Math.floor(b%3600/60)}m`,k=Array.from(u.entries()).sort((E,C)=>C[1]-E[1]).slice(0,5);return{sessionId:n,label:r.label||r.cwdBasename||"session",cwd:r.cwd,durationLabel:S,cost:o,modelChips:Array.from(l),agentCount:s.length,subagentCount:g,toolCount:c,promptCount:p,tokensSum:h,errCount:f,topTools:k,firstPrompt:y}}function WO(e,n){const r=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.toolCount,l=sn(s.usage,s.model).total,u=s.endedAt??s.startedAt;for(const c of e.agents.values()){if(c.sessionId!==s.sessionId||c.kind==="root")continue;o+=c.toolCount,l+=sn(c.usage,c.model).total;const p=c.endedAt??c.startedAt;p>u&&(u=p)}r.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,modelId:s.model,toolCount:o,cost:l,startedAt:s.startedAt,lastActivity:u})}return r.sort((s,o)=>{if(s.state!==o.state){if(s.state==="active")return-1;if(o.state==="active")return 1}return o.lastActivity-s.lastActivity}),r}function VO(e,n,r){const s=(n??r)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const l=Math.floor(o/60);return l<60?`${l}m`:`${Math.floor(l/60)}h ${l%60}m`}function GO({state:e,now:n,selectedIds:r,onSelect:s,onClose:o}){const l=A.useMemo(()=>WO(e),[e,e.lastSeq,n]),u=l.filter(c=>c.state==="active").length;return m.jsxs("aside",{className:"session-list","aria-label":"Sessions",children:[m.jsxs("div",{className:"sl-header",children:[m.jsxs("h3",{children:["Sessions ",m.jsx("span",{className:"sl-count",children:l.length})]}),u>0&&m.jsxs("span",{className:"sl-live-count",children:[u," live"]}),m.jsx("button",{className:"btn icon-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),m.jsxs("div",{className:"sl-rows",children:[l.length===0&&m.jsx("div",{className:"sl-empty",children:"No sessions yet."}),l.map(c=>{const p=r.has(c.sessionId);return m.jsxs("button",{type:"button",className:`sl-row state-${c.state}${p?" selected":""}`,onClick:()=>s(c.sessionId),title:`Focus ${c.label}`,children:[m.jsx("span",{className:`sl-dot state-${c.state}`,"aria-hidden":!0}),m.jsxs("div",{className:"sl-row-body",children:[m.jsxs("div",{className:"sl-row-head",children:[m.jsx("span",{className:"sl-label",children:c.label}),c.modelId&&m.jsx("span",{className:"model-chip",title:c.modelId,children:wa(c.modelId)})]}),m.jsxs("div",{className:"sl-row-meta",children:[m.jsxs("span",{title:"tool calls",children:[m.jsx("b",{children:c.toolCount})," tools"]}),c.cost>0&&m.jsx("span",{className:"sl-cost",title:"total spend",children:m.jsx("b",{children:ze(c.cost)})}),m.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(c.startedAt).toLocaleString()}`,children:VO(c.startedAt,c.state==="active"?void 0:c.lastActivity,n)})]})]})]},c.sessionId)})]})]})}function wx(e,n){if(!e)return null;const r=n-Math.floor(e/1e3);return r<10?"just now":r<60?`${r}s ago`:r<3600?`${Math.floor(r/60)}m ago`:`${Math.floor(r/3600)}h ago`}function YO(e){return e==="claude-swap"?"Read from claude-swap's last collection — costs no request against your usage-endpoint budget":e==="api"?"Fetched from Anthropic's usage endpoint, at most once every 5 minutes":e==="cli"?"Parsed from `claude /usage`, at most once every 5 minutes":"Last update"}function Rr(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}function KO({cost:e}){const n=e.total;if(n<=0)return null;const r=(s,o,l)=>{if(s<=0)return null;const u=s/n*100;return m.jsx("span",{className:`cb-seg ${o}`,style:{width:`${u}%`},title:`${l}: ${ze(s)} (${u.toFixed(0)}%)`},o)};return m.jsxs("div",{className:"cost-bar","aria-label":"Cost breakdown",children:[r(e.input,"cb-input","input"),r(e.output,"cb-output","output"),r(e.cacheRead,"cb-cache-r","cache read"),r(e.cacheWrite,"cb-cache-w","cache write")]})}function XO(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/3600),o=Math.floor(r%3600/60);if(s>23){const l=Math.floor(r/86400),u=Math.floor(r%86400/3600);return`${l}d ${u}h`}return s>0?`${s}h ${o}m`:`${o}m`}function QO(e,n,r,s){const o=Math.max(0,n-s),l=Math.max(0,r-o);if(l<120)return null;const u=Math.min(100,l/r*100),c=e-u;if(Math.abs(c)<3)return{label:"on pace",color:"var(--ok)",expectedPct:u,isDeficit:!1};if(c>0){const p=100-e,h=l>0?e/l:0,f=h>0?p/h:1/0,g={label:`${Math.round(c)}% ahead`,color:"var(--warn)",expectedPct:u,isDeficit:!0};if(f<o&&f<86400){const y=Math.floor(f/3600),x=Math.floor(f%3600/60);g.runsOutIn=y>0?`${y}h ${x}m`:`${x}m`}return g}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:u,isDeficit:!1}}function Yi({pct:e,label:n,reset:r,resetAt:s,windowSec:o,limitReached:l,nowSec:u}){const c=Math.min(100,Math.max(0,e)),h=l||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",f=c===0?"< 1%":`${c}%`,g=c===0?2:c,y=s?XO(s,u):null,x=s&&o?QO(c,s,o,u):null;return m.jsxs("div",{className:"qb-row",children:[m.jsxs("div",{className:"qb-meta",children:[m.jsxs("span",{className:"qb-label",children:[n,l&&m.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),m.jsx("span",{className:"qb-pct",style:{color:h},children:f})]}),m.jsxs("div",{className:"qb-track",children:[m.jsx("div",{className:"qb-fill",style:{width:`${g}%`,background:h,opacity:c===0?.4:1}}),x&&m.jsx("div",{className:"qb-pace-marker",style:{left:`${x.expectedPct}%`,background:x.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(x.expectedPct)}% by now`})]}),m.jsxs("div",{className:"qb-reset-row",children:[y?m.jsxs("span",{className:"qb-reset",children:["resets in ",y]}):r?m.jsxs("span",{className:"qb-reset",children:["resets ",r]}):null,x&&m.jsx("span",{className:"qb-pace",style:{color:x.color},children:x.runsOutIn?`runs out in ${x.runsOutIn}`:x.label})]})]})}const ZO=6e4;function JO(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/quota?refresh=1":"/api/quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),ZO),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{quota:e,loading:r,refresh:()=>l(!0)}}function e3(e){switch(e){case"no_token":return"Run codex login to authenticate.";case"api_key_mode":return"API-key login — ChatGPT quota is only available for codex login.";case"refresh_rejected":return"Codex session expired — run codex login.";case"refresh_failed":return"Couldn't refresh the Codex token — click ↻ to retry.";default:return"ChatGPT API unreachable — click ↻ to retry."}}const DN=6e4;function t3(){const[e,n]=A.useState(null),[r,s]=A.useState(!1),o=A.useRef(null),l=async(c=!1)=>{c&&s(!0);try{const h=await fetch(c?"/api/codex-quota?refresh=1":"/api/codex-quota");h.ok&&n(await h.json())}catch{}finally{c&&s(!1)}};return A.useEffect(()=>(l(!0),o.current=window.setInterval(()=>l(!1),DN),()=>{o.current!=null&&window.clearInterval(o.current)}),[]),{data:e,loading:r,refresh:()=>l(!0)}}function n3(){const[e,n]=A.useState(null),r=A.useRef(null),s=async()=>{try{const o=await fetch("/api/codex-usage");o.ok&&n(await o.json())}catch{}};return A.useEffect(()=>(s(),r.current=window.setInterval(s,DN),()=>{r.current!=null&&window.clearInterval(r.current)}),[]),{data:e}}function r3({state:e,now:n,onClose:r}){var O,W;const{quota:s,loading:o,refresh:l}=JO(),{data:u,loading:c,refresh:p}=t3(),{data:h}=n3(),[f,g]=A.useState(()=>Math.floor(Date.now()/1e3));A.useEffect(()=>{const L=window.setInterval(()=>g(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(L)},[]);const{byModel:y,totalCost:x,totalTokens:N,burnRate:_}=A.useMemo(()=>{const L=new Map,P={total:0,input:0,output:0,cacheRead:0,cacheWrite:0};let q=0,U=0,B=0,R=0;for(const D of e.agents.values()){const X=D.model??"__unknown__",j=sn(D.usage,D.model),$=L.get(X);$?($.inputTokens+=D.usage.inputTokens,$.outputTokens+=D.usage.outputTokens,$.cacheReadTokens+=D.usage.cacheReadTokens,$.cacheCreateTokens+=D.usage.cacheCreateTokens,$.cost.total+=j.total,$.cost.input+=j.input,$.cost.output+=j.output,$.cost.cacheRead+=j.cacheRead,$.cost.cacheWrite+=j.cacheWrite,$.agentCount++):L.set(X,{model:X,inputTokens:D.usage.inputTokens,outputTokens:D.usage.outputTokens,cacheReadTokens:D.usage.cacheReadTokens,cacheCreateTokens:D.usage.cacheCreateTokens,cost:{...j},agentCount:1}),P.total+=j.total,P.input+=j.input,P.output+=j.output,P.cacheRead+=j.cacheRead,P.cacheWrite+=j.cacheWrite,q+=D.usage.inputTokens,U+=D.usage.outputTokens,B+=D.usage.cacheReadTokens,R+=D.usage.cacheCreateTokens}const Q=Array.from(L.values()).sort((D,X)=>X.cost.total-D.cost.total);let H=0,te=0;for(const D of e.agents.values()){if(D.state!=="active")continue;const X=sn(D.usage,D.model);H+=X.total,te=Math.max(te,((D.endedAt??n)-D.startedAt)/1e3)}const Z=te>0?iu(H,te):null;return{byModel:Q,totalCost:P,totalTokens:{in:q,out:U,cacheR:B,cacheC:R},burnRate:Z}},[e,e.lastSeq,n]),b=A.useMemo(()=>{const L=[];for(const P of e.agents.values()){if(P.kind!=="root")continue;let q=sn(P.usage,P.model).total,U=P.usage.inputTokens,B=P.usage.outputTokens;for(const R of e.agents.values())R.sessionId!==P.sessionId||R.kind==="root"||(q+=sn(R.usage,R.model).total,U+=R.usage.inputTokens,B+=R.usage.outputTokens);L.push({sessionId:P.sessionId,label:P.label||P.cwdBasename||"session",state:P.state,cost:q,inputTokens:U,outputTokens:B})}return L.sort((P,q)=>q.cost-P.cost).slice(0,12)},[e,e.lastSeq]),S=x.total>0,k=N.in+N.out,E=o||c,C=wx(s==null?void 0:s.fetchedAt,f),I=wx(u==null?void 0:u.fetchedAt,f),M=()=>{l(),p()};return m.jsxs("div",{className:"usage-panel","aria-label":"Usage",children:[m.jsxs("div",{className:"up-header",children:[m.jsx("h3",{children:"Usage"}),_&&m.jsx("span",{className:"up-rate",children:_}),m.jsxs("div",{className:"up-header-right",children:[m.jsx("button",{type:"button",className:"btn up-refresh-btn",onClick:M,disabled:E,title:"Refresh Claude + Codex quota",children:E?"…":"↻"}),m.jsx("button",{type:"button",className:"btn icon-btn up-close",onClick:r,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),m.jsxs("section",{className:"up-section up-quota-section",children:[m.jsxs("h4",{className:"up-section-title",children:["Claude quota",C&&!o&&m.jsx("span",{className:"up-section-age",title:YO(s==null?void 0:s.source),children:C})]}),s!=null&&s.ok?m.jsxs("div",{className:"up-quota-bars",children:[s.session5hPct!=null&&m.jsx(Yi,{label:"5-hour window",pct:s.session5hPct,reset:s.session5hReset,resetAt:s.session5hResetAt,windowSec:s.session5hWindowSec,nowSec:f}),s.week7dPct!=null&&m.jsx(Yi,{label:"7-day window",pct:s.week7dPct,reset:s.week7dReset,resetAt:s.week7dResetAt,windowSec:s.week7dWindowSec,nowSec:f}),s.weekSonnetPct!=null&&m.jsx(Yi,{label:"Sonnet (7d)",pct:s.weekSonnetPct,nowSec:f}),s.weekOpusPct!=null&&m.jsx(Yi,{label:"Opus (7d)",pct:s.weekOpusPct,nowSec:f})]}):(s==null?void 0:s.ok)===!1?m.jsxs("div",{className:"up-quota-na",children:[m.jsx("span",{children:"Quota unavailable."}),m.jsxs("span",{className:"up-quota-hint",children:["Run ",m.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):m.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),m.jsxs("section",{className:"up-section up-quota-section",children:[m.jsxs("h4",{className:"up-section-title",children:["Codex quota",(u==null?void 0:u.ok)&&u.planLabel&&m.jsx("span",{className:"up-plan-badge",children:u.planLabel}),I&&!c&&m.jsx("span",{className:"up-section-age",title:"Fetched from the Codex usage endpoint",children:I})]}),u!=null&&u.ok?m.jsxs("div",{className:"up-quota-bars",children:[(O=u.windows)==null?void 0:O.map(L=>m.jsx(Yi,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,limitReached:u.limitReached&&L.pct>=100,nowSec:f},L.id)),(W=u.extraWindows)==null?void 0:W.map(L=>m.jsx(Yi,{label:L.label,pct:L.pct,reset:L.reset??void 0,resetAt:L.resetAt??void 0,windowSec:L.windowSec??void 0,nowSec:f},L.id)),u.creditLimit&&m.jsx(Yi,{label:`spend cap · $${Math.round(u.creditLimit.used)} of $${Math.round(u.creditLimit.limit)}`,pct:u.creditLimit.usedPct,reset:u.creditLimit.reset??void 0,resetAt:u.creditLimit.resetAt??void 0,limitReached:u.spendControlReached,nowSec:f}),(h==null?void 0:h.ok)&&h.window7d&&h.window7d.sessionCount>0&&m.jsxs("div",{className:"up-quota-sub",children:[Rr(h.window7d.totalTokens)," tokens · ",h.window7d.sessionCount," session",h.window7d.sessionCount!==1?"s":""," (7d)"]}),u.creditsBalance&&!u.creditsUnlimited&&m.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",u.creditsBalance,u.overageReached&&" · overage limit reached"]}),u.creditsUnlimited&&m.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"}),u.resetCredits&&u.resetCredits.availableCount>0&&m.jsxs("div",{className:"up-quota-sub up-reset-credits",title:"Redeem in the Codex CLI or ChatGPT — agents-deck only reports them",children:[u.resetCredits.availableCount," rate-limit reset",u.resetCredits.availableCount!==1?"s":""," available",u.resetCredits.nextExpiryAt&&` · expires ${new Date(u.resetCredits.nextExpiryAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`]}),u.promo&&m.jsx("div",{className:"up-quota-sub",children:u.promo}),u.partial&&m.jsx("div",{className:"up-quota-sub up-quota-hint",children:"Partial data — OpenAI returned limits this build doesn't recognise."})]}):(u==null?void 0:u.ok)===!1?m.jsxs("div",{className:"up-quota-na",children:[m.jsx("span",{children:"Quota unavailable."}),m.jsx("span",{className:"up-quota-hint",children:e3(u.reason)})]}):m.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),S?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"up-total",children:[m.jsx("span",{className:"up-total-value",children:ze(x.total)}),m.jsx("span",{className:"up-total-label",children:"total spend"})]}),m.jsx(KO,{cost:x}),k>0&&m.jsxs("div",{className:"up-tokens-row",children:[m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"in"}),Rr(N.in)]}),m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"out"}),Rr(N.out)]}),N.cacheR>0&&m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"cache r"}),Rr(N.cacheR)]}),N.cacheC>0&&m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"cache c"}),Rr(N.cacheC)]})]}),y.filter(L=>L.cost.total>0).length>0&&m.jsxs("section",{className:"up-section",children:[m.jsx("h4",{className:"up-section-title",children:"By model"}),m.jsxs("table",{className:"up-table",children:[m.jsx("thead",{children:m.jsxs("tr",{children:[m.jsx("th",{children:"Model"}),m.jsx("th",{children:"Tokens"}),m.jsx("th",{children:"Cost"})]})}),m.jsx("tbody",{children:y.filter(L=>L.cost.total>0).map(L=>m.jsxs("tr",{children:[m.jsx("td",{className:"up-model-name",title:L.model,children:wa(L.model)}),m.jsx("td",{className:"up-num",children:Rr(L.inputTokens+L.outputTokens)}),m.jsx("td",{className:"up-num up-cost-val",children:ze(L.cost.total)})]},L.model))})]})]}),b.filter(L=>L.cost>0).length>0&&m.jsxs("section",{className:"up-section",children:[m.jsx("h4",{className:"up-section-title",children:"By session"}),m.jsx("div",{className:"up-sessions",children:b.filter(L=>L.cost>0).map(L=>m.jsxs("div",{className:"up-session-row",children:[m.jsx("span",{className:`sl-dot state-${L.state}`,"aria-hidden":!0}),m.jsx("span",{className:"up-session-label",children:L.label}),m.jsx("span",{className:"up-session-tokens",children:Rr(L.inputTokens+L.outputTokens)}),m.jsx("span",{className:"up-session-cost",children:ze(L.cost)})]},L.sessionId))})]})]}):k>0?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"up-tokens-row",children:[m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"in"}),Rr(N.in)]}),m.jsxs("span",{className:"up-tok",children:[m.jsx("span",{className:"up-k",children:"out"}),Rr(N.out)]})]}),m.jsx("div",{className:"up-hint",children:"Cost appears once a known model is detected."})]}):m.jsxs("div",{className:"up-empty",children:["No usage data yet.",m.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}const xx=18,i3=1100,Ws=(e,n)=>{const r=Math.sin(e*12.9898+n*78.233)*43758.5453;return r-Math.floor(r)},s3=Array.from({length:xx},(e,n)=>{const r=-72+144*n/(xx-1)+(Ws(n,1)-.5)*9,s=(r-90)*(Math.PI/180),o=(54+32*Math.cos(r*Math.PI/180))*(.74+Ws(n,2)*.52);return{dx:Math.cos(s)*o,dy:Math.sin(s)*o,rot:(n%2?1:-1)*(100+Ws(n,3)*260),delay:Math.round(Ws(n,4)*90),dur:760+Math.round(Ws(n,5)*260),scale:.8+Ws(n,6)*.45,hue:n%4,round:n%3===0}});function _x({anchor:e,lifetimeMs:n=i3}){var l;const[r,s]=A.useState(null),o=typeof window<"u"&&((l=window.matchMedia)==null?void 0:l.call(window,"(prefers-reduced-motion: reduce)").matches);return A.useEffect(()=>{if(o)return;const u=e.current;if(!u)return;const c=u.getBoundingClientRect();s({x:c.left+c.width/2,y:c.top+c.height/2});const p=window.setTimeout(()=>s(null),n);return()=>window.clearTimeout(p)},[e,n,o]),o||!r?null:hI.createPortal(m.jsx("div",{className:"confetti",style:{left:`${r.x}px`,top:`${r.y}px`},"aria-hidden":!0,children:s3.map((u,c)=>m.jsx("span",{className:`confetti-bit${u.round?" round":""}`,"data-hue":u.hue,style:{"--dx":`${u.dx.toFixed(1)}px`,"--dy":`${u.dy.toFixed(1)}px`,"--rot":`${u.rot}deg`,"--s":u.scale.toFixed(2),animationDelay:`${u.delay}ms`,animationDuration:`${u.dur}ms, ${u.dur}ms`}},c))}),document.body)}const FN=new Set(["awaiting_url","awaiting_code","registering"]);function o3(e){return e!=null&&FN.has(e)}function zN(e){return e!=null&&e!=="done"&&!FN.has(e)}const a3="the sign-in ended before it finished — the deck restarted, or it was cancelled in another tab",l3="the sign-in did not complete";function u3({state:e,serverError:n,localError:r}){const s=e==="idle";return{title:s?"Sign-in ended":"Sign-in failed",message:r||n||(s?a3:l3)}}const c3="done";function d3(){let e=!1;return{shouldAnnounce(n){return n!==c3?(e=!1,!1):e?!1:(e=!0,!0)}}}const bx={already_running:"a sign-in is already in progress",no_url:"the claude CLI did not offer a sign-in link — is it installed?",not_waiting:"that sign-in is no longer waiting for a code",not_prompted:"the CLI has not asked for a code yet",code_rejected:"that code was not accepted — copy it again from the browser",no_verdict:"the claude CLI has not answered — try the code again",empty_code:"paste the code from the browser first",login_failed:"the code was not accepted",no_identity:"signed in, but the CLI still reports nobody logged in",add_failed:"signed in, but claude-swap could not record the account",not_a_share:"that does not look like a shared account — it should start with ccdeck1:",corrupt:"that share is incomplete — copy the whole thing",wrong_version:"that share was made by a newer agents-deck",expired:"that share has expired — make a new one",import_failed:"claude-swap refused the import"},Sx={no_cswap:"claude-swap could not be run — it is not on this deck's PATH. Set AGENTS_DECK_CSWAP to its full path",timeout:"claude-swap took too long and was stopped — try again",switch_failed:"claude-swap refused the switch",bad_account:"that is not an account claude-swap has",unknown_setting:"claude-swap has no such setting",out_of_range:"that value is outside what the setting allows",bad_value:"claude-swap does not accept that value",set_failed:"claude-swap refused the change",command_failed:"claude-swap refused the command"},f3="claude-swap could not read the login keychain — start agents-deck from a Terminal window rather than a background service";function kx(e,n){return(e==null?void 0:e.reason)!=="no_cswap"&&/keychain/i.test(rv(e))?f3:e!=null&&e.reason&&Sx[e.reason]?Sx[e.reason]:(e==null?void 0:e.reason)||n}function rv(e){return((e==null?void 0:e.output)||(e==null?void 0:e.detail)||"").trim()}function Gl(e,n){return e!=null&&e.detail?e.detail:e!=null&&e.error&&zN(e.state)?e.error:e!=null&&e.reason&&bx[e.reason]?bx[e.reason]:e!=null&&e.error?e.error:(e==null?void 0:e.reason)||n}const h3=1500;async function $l(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const iv=ae.forwardRef((e,n)=>m.jsxs("svg",{className:"aa-mark",viewBox:"0 0 44 44","aria-hidden":!0,ref:n,children:[m.jsx("circle",{className:"aa-mark-ring",cx:"22",cy:"22",r:"20"}),m.jsx("path",{className:"aa-mark-tick",d:"M13.5 22.5 L19.5 28.5 L31 17"})]}));iv.displayName="SuccessMark";function p3({onClose:e,onChanged:n}){const[r,s]=A.useState("login"),[o,l]=A.useState(null),[u,c]=A.useState(""),[p,h]=A.useState(""),[f,g]=A.useState(!1),[y,x]=A.useState(null),[N,_]=A.useState(null),b=A.useRef(!1),S=A.useRef(null),k=A.useRef(null),E=A.useRef(null),C=A.useCallback(()=>{b.current&&$l({action:"login-cancel"}).catch(()=>{}),e()},[e]);A.useEffect(()=>{const B=R=>{R.key==="Escape"&&C()};return window.addEventListener("keydown",B),()=>window.removeEventListener("keydown",B)},[C]);const I=A.useCallback(async()=>{g(!0),x(null),b.current=!0;const B=await $l({action:"login"}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"could not start the sign-in"));return}l(B)},[]);A.useEffect(()=>{if(!o3(o==null?void 0:o.state))return;const B=window.setInterval(async()=>{try{const R=await fetch("/api/claude-accounts/login");R.ok&&l(await R.json())}catch{}},h3);return()=>window.clearInterval(B)},[o]);const M=A.useRef(n);M.current=n;const O=A.useRef(d3());A.useEffect(()=>{var B;(o==null?void 0:o.state)==="awaiting_code"&&((B=S.current)==null||B.focus()),O.current.shouldAnnounce(o==null?void 0:o.state)&&M.current()},[o==null?void 0:o.state]),A.useEffect(()=>{var B;r==="paste"&&((B=k.current)==null||B.focus())},[r]);const W=A.useCallback(async()=>{var R;g(!0),x(null);const B=await $l({action:"login-code",code:u}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"the code was not accepted")),B!=null&&B.state&&l(B),(R=S.current)==null||R.select();return}c(""),l(B)},[u,o]),L=A.useCallback(async()=>{g(!0),x(null);const B=await $l({action:"import",blob:p}).catch(()=>null);if(g(!1),!(B!=null&&B.ok)){x(Gl(B,"the import failed"));return}h(""),_({added:B.added===!0,num:B.num??null,email:B.email??null}),n()},[p,n]),P=(o==null?void 0:o.state)==="done"?o.account:null,q=zN(o==null?void 0:o.state)||!!(y&&b.current&&!f),U=u3({state:o==null?void 0:o.state,serverError:o==null?void 0:o.error,localError:y});return m.jsx("div",{className:"modal-backdrop",onClick:C,role:"presentation",children:m.jsxs("div",{className:"modal aa-modal",onClick:B=>B.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Add a Claude account",children:[m.jsxs("header",{className:"modal-head",children:[m.jsx("div",{className:"modal-title",children:m.jsxs("span",{className:"aa-tabs",role:"tablist",children:[m.jsx("button",{type:"button",role:"tab","aria-selected":r==="login",className:`aa-tab${r==="login"?" on":""}`,onClick:()=>s("login"),children:"Sign in"}),m.jsx("button",{type:"button",role:"tab","aria-selected":r==="paste",className:`aa-tab${r==="paste"?" on":""}`,onClick:()=>s("paste"),children:"Paste a share"})]})}),m.jsx("div",{className:"modal-actions",children:m.jsx("button",{type:"button",className:"btn icon-btn",onClick:C,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),m.jsx("section",{className:"modal-body aa-body",children:r==="login"?P?m.jsxs("div",{className:"aa-done",children:[m.jsx(iv,{ref:E}),m.jsx(_x,{anchor:E}),m.jsx("h4",{children:P.added?`Account ${P.num} added`:"Credentials refreshed"}),m.jsxs("p",{className:"aa-note",children:[m.jsx("strong",{children:P.email}),P.added?" is in the rotation. The account you were using is still active.":" was already managed, so its stored credentials were replaced."]}),m.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"})]}):(o==null?void 0:o.state)==="awaiting_code"||(o==null?void 0:o.state)==="registering"?m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"1 · Approve in the browser"}),m.jsx("p",{className:"aa-note",children:"A tab should have opened. If not, use this link:"}),m.jsx("a",{className:"aa-link",href:o.url??"#",target:"_blank",rel:"noreferrer noopener",children:o.url})]}),m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"2 · Paste the code it gives you"}),m.jsxs("div",{className:"aa-field",children:[m.jsx("input",{ref:S,type:"text",value:u,onChange:B=>c(B.target.value),onKeyDown:B=>{B.key==="Enter"&&u.trim()&&!f&&W()},placeholder:"paste the code here",spellCheck:!1,autoComplete:"off","aria-label":"Sign-in code",disabled:o.state==="registering"}),m.jsx("button",{type:"button",className:"btn primary",disabled:f||!u.trim()||o.state==="registering",onClick:W,children:o.state==="registering"?"registering…":"Continue"})]}),(y||o.error)&&m.jsx("p",{className:"aa-err",children:y??o.error}),m.jsx("p",{className:"aa-note",children:"The code goes straight to the claude CLI on this machine. It is never stored or sent anywhere else."})]})]}):q?m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:U.title}),m.jsx("p",{className:"aa-err",children:U.message}),m.jsx("button",{type:"button",className:"btn",onClick:()=>{b.current=!1,l(null),x(null),I()},children:"Try again"})]}):f||b.current?m.jsx("div",{className:"aa-step",children:m.jsx("p",{className:"aa-note",children:"Asking the claude CLI for a sign-in link…"})}):m.jsxs("div",{className:"aa-step aa-primer",children:[m.jsx("h4",{children:"Sign in to Anthropic"}),m.jsx("p",{className:"aa-note",children:"Opens a browser tab where you approve the sign-in, then asks for the code it shows you. claude-swap records the account when it completes, and the account you are using now stays active."}),m.jsx("div",{className:"aa-actions",children:m.jsx("button",{type:"button",className:"btn primary",onClick:I,disabled:f,children:"Open the sign-in page"})})]}):N?m.jsxs("div",{className:"aa-done",children:[m.jsx(iv,{ref:E}),N.added&&m.jsx(_x,{anchor:E}),m.jsx("h4",{children:N.added?`Account ${N.num} imported`:"Already here"}),m.jsx("p",{className:"aa-note",children:N.added?m.jsxs(m.Fragment,{children:[N.email?m.jsx("strong",{children:N.email}):"That account"," is in the rotation now. Nothing changed on the deck you copied it from."]}):"This deck already holds that account, so nothing changed."}),m.jsxs("div",{className:"aa-actions",children:[m.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"}),m.jsx("button",{type:"button",className:"btn",onClick:()=>_(null),children:"Import another"})]})]}):m.jsxs("div",{className:"aa-step",children:[m.jsx("h4",{children:"Paste an account shared from another deck"}),m.jsxs("div",{className:"aa-field",children:[m.jsx("input",{ref:k,type:"text",value:p,onChange:B=>h(B.target.value),onKeyDown:B=>{B.key==="Enter"&&p.trim()&&!f&&L()},placeholder:"ccdeck1:…",spellCheck:!1,autoComplete:"off","aria-label":"Shared account"}),m.jsx("button",{type:"button",className:"btn primary",disabled:f||!p.trim(),onClick:L,children:f?"importing…":"Import"})]}),y&&m.jsx("p",{className:"aa-err",children:y}),m.jsxs("p",{className:"aa-note",children:["Use ",m.jsx("strong",{children:"share"})," on an account in the other deck. A share carries a live login and expires ten minutes after it is made."]})]})})]})})}const m3=15e3,g3=[70,80,85,90,95];function v3(e,n){const r=e-n;if(r<=0)return null;const s=Math.floor(r/86400),o=Math.floor(r%86400/3600),l=Math.floor(r%3600/60);return s>0?`${s}d ${o}h`:o>0?`${o}h ${l}m`:`${l}m`}function Ex(e,n){const r=n-Math.floor(e/1e3);return r<60?"just now":r<3600?`${Math.floor(r/60)}m ago`:r<86400?`${Math.floor(r/3600)}h ago`:`${Math.floor(r/86400)}d ago`}function y3(e,n){if(!e)return"";const r=Math.floor(e/1e3)-n;return r<=0?" · due":r<60?` · next in ${r}s`:` · next in ${Math.round(r/60)}m`}function w3(e){switch(e){case"invalid_grant":case"no_refresh_token":return{text:"login expired",hint:"claude-swap's stored login for this account was rejected and cannot be refreshed. Signing in again replaces it — the account keeps its slot, its alias and its history.",fixable:!0};case"http-401":return{text:"re-login needed",hint:"Anthropic refused this account's token.",fixable:!0};case"http-429":return{text:"rate limited",hint:"Anthropic is throttling requests for this account. It clears on its own.",fixable:!1};case"transient":return{text:"temporary error",hint:"A network or server hiccup while reading usage. The next collection retries.",fixable:!1};case"timeout":return{text:"timed out",hint:"Reading this account's usage took too long. The next collection retries.",fixable:!1};case"network":return{text:"unreachable",hint:"Could not reach Anthropic to read this account's usage.",fixable:!1};default:return{text:e,hint:`claude-swap reported "${e}" for this account.`,fixable:!1}}}function x3({lane:e,nowSec:n}){const r=Math.min(100,Math.max(0,e.pct)),s=r>=90?"var(--err)":r>=70?"var(--warn)":"var(--accent)",o=e.resetAt?v3(e.resetAt,n):null;return m.jsxs("div",{className:"ap-lane",children:[m.jsx("span",{className:"ap-lane-label",children:e.label}),m.jsx("div",{className:"ap-lane-track",children:m.jsx("div",{className:"ap-lane-fill",style:{width:`${r===0?1.5:r}%`,background:s,opacity:r===0?.4:1}})}),m.jsxs("span",{className:"ap-lane-pct",style:{color:s},children:[r,"%"]}),m.jsx("span",{className:"ap-lane-reset",children:o?`resets ${o}`:""})]})}function _3(e){const n=e.map(s=>s.num),r=n.length?Math.max(...n):0;return[...new Set([...n,r+1])].sort((s,o)=>s-o)}async function b3(e){var r;let n=!1;try{n=await Promise.race([((r=navigator.clipboard)==null?void 0:r.writeText(e).then(()=>!0))??Promise.resolve(!1),new Promise(s=>window.setTimeout(()=>s(!1),500))])}catch{n=!1}if(n)return!0;try{const s=document.createElement("textarea");s.value=e,s.setAttribute("readonly",""),s.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(s),s.select(),n=document.execCommand("copy"),s.remove()}catch{n=!1}return n}function S3(e,n){const r=Math.round(e/1e3)-n;return r<=0?{text:"expired",tone:"gone"}:r<60?{text:`expires in ${r}s`,tone:"soon"}:{text:`expires in ${Math.round(r/60)}m`,tone:"ok"}}function k3({onClose:e}){var Z,D,X;const[n,r]=A.useState(null),[s,o]=A.useState(null),[l,u]=A.useState(null),[c,p]=A.useState(null),[h,f]=A.useState(null),[g,y]=A.useState(()=>Math.floor(Date.now()/1e3)),x=A.useRef(null),[N,_]=A.useState(null),[b,S]=A.useState(!1),[k,E]=A.useState(""),[C,I]=A.useState(null),[M,O]=A.useState(null),[W,L]=A.useState(!1),P=A.useCallback(async(j=!1)=>{try{const[$,V]=await Promise.all([fetch(`/api/claude-accounts${j?"?refresh=1":""}`),fetch("/api/cswap-auto")]);$.ok&&r(await $.json()),V.ok&&o(await V.json())}catch{}},[]),q=A.useCallback(async(j,$)=>{u($),f(null);try{const F=await(await fetch("/api/cswap-auto",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)})).json().catch(()=>null);return F!=null&&F.ok||f({text:kx(F,"command failed"),raw:rv(F)}),F}catch{return f({text:"server unreachable"}),null}finally{u(null)}},[]),U=A.useCallback(async(j,$)=>{u($),f(null);try{const F=await(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)})).json().catch(()=>null);return F!=null&&F.ok||f({text:Gl(F,"command failed")}),F}catch{return f({text:"server unreachable"}),null}finally{u(null)}},[]);A.useEffect(()=>(P(!0),x.current=window.setInterval(()=>P(!1),m3),()=>{x.current!=null&&window.clearInterval(x.current)}),[P]),A.useEffect(()=>{const j=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(j)},[]);const B=((Z=s==null?void 0:s.settings["autoswitch.threshold"])==null?void 0:Z.value)??"90",R=(D=n==null?void 0:n.accounts)==null?void 0:D.find(j=>j.active),Q=R!=null&&R.lanes.length?Math.max(...R.lanes.map(j=>j.pct)):null,H=Q!=null&&Q>=Number(B)-15,te=async j=>{p(j),f(null);try{const V=await(await fetch("/api/claude-accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:j})})).json().catch(()=>null);V!=null&&V.ok||f({text:kx(V,"the switch failed"),raw:rv(V)}),await P(!0)}catch{f({text:"server unreachable"})}finally{p(null)}};return m.jsxs("div",{className:"accounts-panel","aria-label":"Claude accounts",children:[m.jsxs("div",{className:"ap-header",children:[m.jsx("h3",{children:"Accounts"}),m.jsxs("div",{className:"ap-header-right",children:[m.jsx("button",{type:"button",className:"btn ap-add",onClick:()=>S(!0),title:"Sign in to another Claude account, or paste one shared from another deck",children:"+"}),m.jsx("button",{type:"button",className:"btn ap-refresh",onClick:()=>P(!0),title:"Reload from claude-swap",children:"↻"}),m.jsx("button",{type:"button",className:"btn icon-btn",onClick:e,"aria-label":"Close accounts panel",title:"Close (A)",children:"×"})]})]}),n==null?m.jsx("div",{className:"ap-empty",children:"Checking…"}):n.ok?m.jsxs(m.Fragment,{children:[(X=n.accounts)==null?void 0:X.map(j=>m.jsxs("div",{className:`ap-account${j.active?" active":""}${j.disabled?" disabled":""}`,children:[m.jsxs("div",{className:"ap-account-head",children:[m.jsx("span",{className:"ap-num",children:j.num}),j.alias&&m.jsx("span",{className:"ap-alias",children:j.alias}),m.jsx("span",{className:"ap-email",title:j.org??void 0,children:j.email}),m.jsx("button",{type:"button",className:`ap-more${N===j.num?" on":""}`,"aria-label":`Manage account ${j.num}`,"aria-expanded":N===j.num,title:"Share, rename, move, remove",onClick:()=>{_(N===j.num?null:j.num),E(j.alias??""),I(null),O(null),L(!1)},children:"⋯"}),j.active?m.jsx("span",{className:"ap-badge-active",children:"● active"}):m.jsx("button",{type:"button",className:"btn ap-switch",disabled:c!=null||j.disabled,onClick:()=>te(j.num),title:j.disabled?"Held out of rotation":`Switch to ${j.alias??j.email}`,children:c===j.num?"…":"switch"})]}),j.lanes.length>0?j.lanes.map($=>m.jsx(x3,{lane:$,nowSec:g},$.id)):m.jsx("div",{className:"ap-hint",children:"No usage recorded yet."}),m.jsxs("div",{className:"ap-meta",children:[j.error&&(()=>{const $=w3(j.error);return m.jsxs(m.Fragment,{children:[m.jsx("span",{className:"ap-err",title:$.hint,children:$.text}),$.fixable&&m.jsx("button",{type:"button",className:"ap-fix",onClick:()=>S(!0),title:"Open the sign-in dialog. Signing in as this account replaces its stored login in place.",children:"sign in again"})]})})(),((s==null?void 0:s.enabled)||(s==null?void 0:s.external))&&!j.active&&m.jsx("button",{type:"button",className:"ap-rotate",disabled:l!=null,onClick:()=>q({action:"account",account:j.num,enabled:j.disabled},`rot-${j.num}`).then(()=>P(!0)),title:j.disabled?"Return this account to auto-rotation":"Hold this account out of auto-rotation",children:j.disabled?"held out":"in rotation"}),j.fetchedAt?m.jsxs("span",{className:`ap-age${j.stale?" ap-stale":""}`,title:"When claude-swap last read this account's usage, and when it plans to read it again. It sets that interval itself — 3 minutes at the fastest, wider while an account is recovering from a rate limit — and every surface, including `cswap watch`, follows the same plan.",children:["collected ",Ex(j.fetchedAt,g),y3(j.nextAt,g)]}):m.jsx("span",{className:"ap-age ap-stale",title:"claude-swap has not read this account yet",children:"never collected"})]}),N===j.num&&m.jsxs("div",{className:"ap-manage",children:[m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("span",{className:"ap-manage-label",children:"name"}),m.jsx("input",{className:"ap-manage-input",type:"text",value:k,onChange:$=>E($.target.value),onKeyDown:$=>{$.key==="Enter"&&U({action:"alias",account:j.num,alias:k},`alias-${j.num}`).then(()=>P(!0))},placeholder:"no alias",spellCheck:!1,"aria-label":`Alias for account ${j.num}`}),m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null||k.trim()===(j.alias??""),onClick:()=>U({action:"alias",account:j.num,alias:k},`alias-${j.num}`).then(()=>P(!0)),title:"A short name to show instead of the email",children:"save"})]}),m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("span",{className:"ap-manage-label",children:"slot"}),m.jsx("span",{className:"ap-field",children:m.jsx("select",{"aria-label":`Slot for account ${j.num}`,value:String(j.num),disabled:l!=null,onChange:$=>U({action:"move",account:j.num,slot:Number($.target.value)},`move-${j.num}`).then(()=>P(!0)),children:_3(n.accounts??[]).map($=>m.jsx("option",{value:$,children:$},$))})}),m.jsx("span",{className:"ap-manage-hint",children:"rotation order"})]}),m.jsxs("div",{className:"ap-manage-row",children:[m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,title:"Copy this account to another agents-deck. The share carries a live login and expires in 10 minutes.",onClick:async()=>{L(!1);const $=await U({action:"share",account:j.num},`share-${j.num}`);$!=null&&$.ok&&O({num:j.num,blob:$.blob,expiresAt:$.expiresAt})},children:"share…"}),m.jsx("button",{type:"button",className:`ap-manage-btn danger${C===j.num?" armed":""}`,disabled:l!=null,title:C===j.num?"This deletes the stored credentials for this account":"Remove this account from claude-swap",onClick:()=>{if(C!==j.num){I(j.num),window.setTimeout(()=>I($=>$===j.num?null:$),4e3);return}I(null),U({action:"remove",account:j.num},`rm-${j.num}`).then(()=>{_(null),P(!0)})},children:C===j.num?"confirm remove":"remove"})]}),(M==null?void 0:M.num)===j.num&&(()=>{const $=S3(M.expiresAt,g),V=$.tone==="gone";return m.jsxs("div",{className:`ap-share${V?" expired":""}`,children:[m.jsx("code",{className:"ap-share-blob",children:M.blob}),m.jsxs("div",{className:"ap-share-foot",children:[m.jsx("button",{type:"button",className:"ap-manage-btn",disabled:l!=null,onClick:async()=>{if(V){L(!1);const F=await U({action:"share",account:j.num},`share-${j.num}`);F!=null&&F.ok&&O({num:j.num,blob:F.blob,expiresAt:F.expiresAt});return}await b3(M.blob)&&(L(!0),window.setTimeout(()=>L(!1),1800))},children:V?"make a new share":W?"copied":"copy"}),m.jsxs("span",{className:"ap-manage-hint",children:["carries a live login · ",m.jsx("span",{className:`ap-share-expiry ${$.tone}`,children:$.text})]})]})]})})()]})]},j.num)),(s==null?void 0:s.ok)&&m.jsxs("div",{className:"ap-auto",children:[m.jsxs("div",{className:"ap-auto-head",children:[m.jsx("span",{className:"ap-auto-title",children:"Auto-switch"}),m.jsxs("span",{className:"ap-auto-ctl",children:[Q!=null&&m.jsxs("span",{className:`ap-auto-now${H?" near":""}`,children:[Math.round(Q),"%"]}),m.jsx("span",{className:"ap-field",title:"Switch once the active account passes this much of its limit",children:m.jsx("select",{"aria-label":"Switch threshold",value:B,disabled:l!=null,onChange:j=>q({action:"setting",key:"autoswitch.threshold",value:j.target.value},"threshold").then(()=>P(!0)),children:g3.map(j=>m.jsxs("option",{value:j,children:[j,"%"]},j))})}),m.jsxs("button",{type:"button",className:`ap-auto-state toggle${s.enabled?" live":""}`,role:"switch","aria-checked":s.enabled,disabled:l!=null,onClick:()=>q({action:"enable",enabled:!s.enabled},"enable").then(()=>P(!0)),title:s.enabled?"Stop switching accounts automatically":"Switch accounts automatically when the active one nears its limit",children:[m.jsx("i",{className:s.enabled?"ap-pulse":"ap-dot","aria-hidden":!0}),s.enabled?"on":"off"]})]})]}),s.external&&m.jsxs("p",{className:"ap-auto-note",children:[m.jsx("i",{className:"ap-pulse","aria-hidden":!0})," A ",m.jsx("code",{children:"cswap auto"})," loop in your terminal is doing the switching. The deck stands down while it runs",s.enabled?" — this toggle takes over when you stop it.":"."]}),s.lastTick&&m.jsx("div",{className:"ap-auto-foot",children:m.jsxs("span",{className:"ap-auto-result",children:["checked ",Ex(s.lastTick.at,g)]})})]}),h&&m.jsxs("div",{className:"ap-failure",role:"alert",children:[m.jsx("span",{className:"ap-failure-text",title:h.raw||void 0,children:h.text}),m.jsx("button",{type:"button",className:"ap-failure-x",onClick:()=>f(null),"aria-label":"Dismiss this message",title:"Dismiss",children:"×"})]}),m.jsx("p",{className:"ap-footnote",title:"Anthropic's usage endpoint allows roughly 28–30 requests per hour per account, shared by every tool on this machine — polling it from here would rate-limit your account. So the deck never fetches: it asks claude-swap to collect while this panel is open, at most once every three minutes, and claude-swap decides whether that touches the network at all.",children:"Collected by claude-swap while this panel is open."})]}):m.jsx("div",{className:"ap-empty",children:n.reason==="no_cswap"?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"claude-swap isn't installed."}),m.jsx("span",{className:"ap-hint",children:"This panel reads the account store claude-swap keeps — without it there is nothing to show. It is a separate tool, published on PyPI, so it does not come with this package."}),n.hint&&m.jsx("code",{className:"ap-cmd",children:n.hint}),m.jsxs("span",{className:"ap-hint",children:["Then add an account with the ",m.jsx("strong",{children:"+"})," button above."]})]}):n.reason==="no_accounts"?m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"No accounts added yet."}),m.jsxs("span",{className:"ap-hint",children:["claude-swap is installed but has nothing in its store. Use the ",m.jsx("strong",{children:"+"})," above to sign one in, or to paste one shared from another deck."]})]}):m.jsxs(m.Fragment,{children:[m.jsx("span",{children:"Couldn't read the account store."}),m.jsxs("span",{className:"ap-hint",children:["claude-swap is installed, but its store could not be read",n.reason?` (${n.reason})`:"","."]})]})}),b&&m.jsx(p3,{onClose:()=>S(!1),onChanged:()=>P(!0)})]})}const E3=3e4;function N3({bundle:e,running:n,lastTried:r}){return!n||e===n?!1:r!==n}function C3({bundle:e,running:n,pending:r,lastTried:s}){return n?N3({bundle:e,running:n,lastTried:s})?"reload":r==null||r&&r!==n?"wait":"confirm":"wait"}function T3(e){return!e||e.state!=="failed"?null:`${typeof e.at=="number"?e.at:0}:${e.error??""}`}function j3({asked:e,reported:n}){return n?n!==e:!1}function R3(e){const n=e.thresholdMs??E3;return!e.enabled||e.kind!=="restart"||!e.canRestart?{idleSince:null,restart:!1}:e.busy?{idleSince:null,restart:!1}:e.idleSince==null?{idleSince:e.now,restart:!1}:e.now<e.idleSince?{idleSince:e.now,restart:!1}:{idleSince:e.idleSince,restart:e.now-e.idleSince>=n}}function A3(e){return e.ctrlKey||e.metaKey||e.altKey}const I3=new Set(["button","checkbox","color","file","image","radio","range","reset","submit"]),M3=new Set(["INPUT","TEXTAREA","SELECT","OPTION","BUTTON","SUMMARY","A"]),P3=new Set(["button","checkbox","combobox","link","listbox","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","option","radio","searchbox","slider","spinbutton","switch","tab","textbox","treeitem"]);function BN(e){return typeof e.tagName=="string"?e.tagName.toUpperCase():""}function UN(e){if(!e)return!1;if(e.isContentEditable)return!0;const n=BN(e);return n==="TEXTAREA"?!0:n!=="INPUT"?!1:!I3.has(String(e.type??"text").toLowerCase())}function O3(e){if(!e)return!1;if(UN(e)||M3.has(BN(e)))return!0;const n=typeof e.role=="string"?e.role.trim().toLowerCase():"";return n!==""&&n.split(/\s+/).some(r=>P3.has(r))}function L3({agentCount:e,onConfirm:n,onCancel:r}){const s=A.useRef(null);A.useEffect(()=>{var l;(l=s.current)==null||l.focus()},[]),A.useEffect(()=>{const l=u=>{u.key==="Escape"&&r()};return window.addEventListener("keydown",l),()=>window.removeEventListener("keydown",l)},[r]);const o=e===0?"This deletes the server's event log":`This removes ${e===1?"the one agent":`all ${e} agents`} on the canvas and deletes the server's event log`;return m.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:m.jsxs("div",{className:"modal clear-confirm",onClick:l=>l.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"clear-confirm-title",children:[m.jsxs("header",{className:"modal-head",children:[m.jsxs("div",{className:"modal-title",children:[m.jsx("span",{className:"status-dot err","aria-hidden":!0}),m.jsx("span",{id:"clear-confirm-title",className:"modal-tool-name",children:"Clear the deck?"})]}),m.jsx("div",{className:"modal-actions",children:m.jsx("button",{type:"button",className:"btn icon-btn",onClick:r,"aria-label":"Cancel (Esc)",title:"Cancel (Esc)",children:"×"})})]}),m.jsxs("section",{className:"modal-body",children:[m.jsxs("p",{className:"modal-note",children:[o," — the file a restarted deck replays to rebuild what you see. Layout, pins and selection go with it. This cannot be undone."]}),m.jsxs("div",{className:"cc-actions",children:[m.jsx("button",{type:"button",ref:s,className:"btn",onClick:r,children:"Cancel"}),m.jsx("button",{type:"button",className:"btn danger",onClick:n,children:"Clear everything"})]})]})]})})}function q3(e,n){return e==="confirmation"?n.confirmOpen?"clear":"ignore":n.modalOpen||n.confirmOpen?"ignore":"confirm"}function yd(e,n){if(n.size!==0)for(const r of Array.from(e.keys()))n.has(r)||e.delete(r)}function $3(e){const n=new Set;for(const r of e)n.add(r.id),n.add(`group:${r.sessionId}`);return n}const D3=40,F3=120;function z3(e,n){let r=null,s=0,o=Number.NEGATIVE_INFINITY;const l=()=>{r=null,o=n.now(),e()},u=()=>{r!=null&&(n.clearTimeout(r),r=null)},c=(p,h,f)=>{if(r!=null){if(s<=p)return;u()}const g=Math.min(f,Math.max(0,p-h));s=p,r=n.setTimeout(l,g)};return{live(p=D3){const h=n.now(),f=Math.max(o+p,h);if(f<=h){u(),l();return}c(f,h,p)},replay(p=F3){u(),s=n.now()+p,r=n.setTimeout(l,p)},flush(){u(),l()},cancel(){u()}}}function B3(){let e=!1,n=[];return{get paused(){return e},get size(){return n.length},accept(r){return e?(n.push(r),!1):!0},setPaused(r){if(e=r,r||n.length===0)return[];const s=n;return n=[],s}}}const U3="1",Nx="agent-dag.schema",H3=["agent-dag.layout","agent-dag.viewport"];function HN(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function W3(e,n=U3){let r=null;try{r=e.getItem(Nx)}catch{return[]}if(r===n)return[];const s=[];if(r!==null)for(const o of H3)try{e.getItem(o)!==null&&(e.removeItem(o),s.push(o))}catch{}try{e.setItem(Nx,n)}catch{}return s}function V3(){let e=0;return{begin(){const n=++e;return()=>n===e},cancel(){e++}}}function G3(e,n=new Date){return new Date(Date.UTC(n.getFullYear(),n.getMonth(),n.getDate()-(e-1))).toISOString().slice(0,10).replace(/-/g,"")}function Ki(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:e<1e9?`${(e/1e6).toFixed(2)}M`:`${(e/1e9).toFixed(2)}B`}function Cx(e){return e.replace(/^anthropic\./,"").replace(/^claude-/,"").replace(/-\d{8}$/,"")}function Dl(e){const n=e.toLowerCase();return n.includes("opus")?"#c4b5fd":n.includes("sonnet")?"#7dd3fc":n.includes("haiku")?"#86efac":n.includes("gpt-5")||n.includes("gpt5")?"#fcd34d":n.includes("gpt")?"#fca5a5":n.includes("gemini")?"#a5b4fc":n.includes("codex")?"#fdba74":"#94a3b8"}const Y3=[7,14,30,90];function K3(e){const[n,r]=A.useState(null),[s,o]=A.useState(!1),l=A.useRef(V3()).current,u=(c=!1)=>{const p=l.begin();o(!0);const f=`/api/ccusage?since=${G3(e)}${c?"&refresh=1":""}`;fetch(f).then(g=>g.json()).then(g=>{p()&&r(g)}).catch(()=>{p()&&r({ok:!1,error:"request failed"})}).finally(()=>{p()&&o(!1)})};return A.useEffect(()=>(u(!1),()=>l.cancel()),[e]),{data:n,loading:s,reload:()=>u(!0)}}function X3({onClose:e}){var S,k;const[n,r]=A.useState(30),[s,o]=A.useState(null),{data:l,loading:u,reload:c}=K3(n);A.useEffect(()=>{const E=C=>{C.key==="Escape"&&e()};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[e]);const p=l!=null&&l.ok?l.days??[]:[],h=A.useMemo(()=>p.reduce((E,C)=>Math.max(E,C.totalCost),0),[p]),{totalCost:f,totalTok:g,inOut:y,cacheRead:x,modelCosts:N}=A.useMemo(()=>{let E=0,C=0,I=0,M=0;const O=new Map;for(const W of p){E+=W.totalCost,C+=W.totalTokens,I+=W.inputTokens+W.outputTokens,M+=W.cacheReadTokens;for(const L of W.modelBreakdowns)O.set(L.modelName,(O.get(L.modelName)??0)+L.cost)}return{totalCost:E,totalTok:C,inOut:I,cacheRead:M,modelCosts:O}},[p]),_=A.useMemo(()=>Array.from(N.entries()).sort((E,C)=>C[1]-E[1]),[N]),b=s?p.find(E=>E.period===s)??null:null;return m.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:m.jsxs("div",{className:"uh-modal",onClick:E=>E.stopPropagation(),role:"dialog","aria-label":"Usage history",children:[m.jsxs("header",{className:"uh-head",children:[m.jsxs("div",{className:"uh-titlewrap",children:[m.jsx("div",{className:"uh-title",children:"Usage history"}),m.jsx("div",{className:"uh-sub",children:"via ccusage · local Claude / Codex logs"})]}),m.jsx("div",{className:"uh-range",role:"tablist","aria-label":"Range",children:Y3.map(E=>m.jsxs("button",{role:"tab","aria-selected":n===E,className:`uh-range-btn${n===E?" on":""}`,onClick:()=>{r(E),o(null)},children:[E,"d"]},E))}),m.jsx("button",{className:"btn icon-btn uh-reload",onClick:c,title:"Re-run ccusage","aria-label":"Reload",children:"↻"}),m.jsx("button",{className:"uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),u&&p.length===0?m.jsx("div",{className:"uh-status",children:"running ccusage… (first run downloads the package)"}):l&&!l.ok?m.jsxs("div",{className:"uh-status uh-err",children:["ccusage failed: ",l.error]}):p.length===0?m.jsx("div",{className:"uh-status",children:"no usage in this range"}):m.jsxs(m.Fragment,{children:[m.jsxs("div",{className:"uh-totals",children:[m.jsx(Fl,{label:"total cost",val:ze(f),accent:!0}),m.jsx(Fl,{label:"tokens",val:Ki(g)}),m.jsx(Fl,{label:"input+output",val:Ki(y)}),m.jsx(Fl,{label:"cache reads",val:Ki(x)})]}),m.jsx("div",{className:"uh-chart",role:"img","aria-label":"Daily cost by model",children:p.map(E=>{const C=h>0?E.totalCost/h*100:0,I=E.period===s;return m.jsxs("button",{className:`uh-bar-col${I?" sel":""}`,onClick:()=>o(I?null:E.period),title:`${E.period} · ${ze(E.totalCost)}`,style:{flexBasis:`${100/p.length}%`},children:[m.jsx("div",{className:"uh-bar",style:{height:`${Math.max(C,E.totalCost>0?2:0)}%`},children:E.modelBreakdowns.slice().sort((M,O)=>O.cost-M.cost).map(M=>{const O=E.totalCost>0?M.cost/E.totalCost*100:0;return m.jsx("div",{className:"uh-bar-seg",style:{height:`${O}%`,background:Dl(M.modelName)}},M.modelName)})}),m.jsx("span",{className:"uh-bar-label",children:E.period.slice(5)})]},E.period)})}),m.jsx("div",{className:"uh-legend",children:_.map(([E,C])=>m.jsxs("span",{className:"uh-legend-item",children:[m.jsx("span",{className:"uh-legend-dot",style:{background:Dl(E)}}),Cx(E)," ",m.jsx("span",{className:"uh-legend-cost",children:ze(C)})]},E))}),b&&m.jsxs("div",{className:"uh-detail",children:[m.jsxs("div",{className:"uh-detail-head",children:[m.jsx("span",{className:"uh-detail-date",children:b.period}),m.jsx("span",{className:"uh-detail-cost",children:ze(b.totalCost)}),(k=(S=b.metadata)==null?void 0:S.agents)!=null&&k.length?m.jsx("span",{className:"uh-detail-agents",children:b.metadata.agents.join(" · ")}):null]}),m.jsxs("div",{className:"uh-detail-mini",children:[m.jsx(zl,{label:"input",val:Ki(b.inputTokens)}),m.jsx(zl,{label:"output",val:Ki(b.outputTokens)}),m.jsx(zl,{label:"cache write",val:Ki(b.cacheCreationTokens)}),m.jsx(zl,{label:"cache read",val:Ki(b.cacheReadTokens)})]}),m.jsx("div",{className:"uh-detail-models",children:b.modelBreakdowns.slice().sort((E,C)=>C.cost-E.cost).map(E=>{const C=b.totalCost>0?E.cost/b.totalCost*100:0;return m.jsxs("div",{className:"uh-model-row",children:[m.jsxs("span",{className:"uh-model-name",children:[m.jsx("span",{className:"uh-legend-dot",style:{background:Dl(E.modelName)}}),Cx(E.modelName)]}),m.jsx("span",{className:"uh-model-bar",children:m.jsx("span",{className:"uh-model-bar-fill",style:{width:`${C}%`,background:Dl(E.modelName)}})}),m.jsx("span",{className:"uh-model-cost",children:ze(E.cost)})]},E.modelName)})})]})]})]})})}function Fl({label:e,val:n,accent:r}){return m.jsxs("div",{className:"uh-stat",children:[m.jsx("span",{className:`uh-stat-val${r?" accent":""}`,children:n}),m.jsx("span",{className:"uh-stat-label",children:e})]})}function zl({label:e,val:n}){return m.jsxs("div",{className:"uh-ministat",children:[m.jsx("span",{className:"uh-ministat-val",children:n}),m.jsx("span",{className:"uh-ministat-label",children:e})]})}function jv(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var wd,Tx;function Q3(){if(Tx)return wd;Tx=1;function e(){this.__data__=[],this.size=0}return wd=e,wd}var xd,jx;function io(){if(jx)return xd;jx=1;function e(n,r){return n===r||n!==n&&r!==r}return xd=e,xd}var _d,Rx;function pu(){if(Rx)return _d;Rx=1;var e=io();function n(r,s){for(var o=r.length;o--;)if(e(r[o][0],s))return o;return-1}return _d=n,_d}var bd,Ax;function Z3(){if(Ax)return bd;Ax=1;var e=pu(),n=Array.prototype,r=n.splice;function s(o){var l=this.__data__,u=e(l,o);if(u<0)return!1;var c=l.length-1;return u==c?l.pop():r.call(l,u,1),--this.size,!0}return bd=s,bd}var Sd,Ix;function J3(){if(Ix)return Sd;Ix=1;var e=pu();function n(r){var s=this.__data__,o=e(s,r);return o<0?void 0:s[o][1]}return Sd=n,Sd}var kd,Mx;function eL(){if(Mx)return kd;Mx=1;var e=pu();function n(r){return e(this.__data__,r)>-1}return kd=n,kd}var Ed,Px;function tL(){if(Px)return Ed;Px=1;var e=pu();function n(r,s){var o=this.__data__,l=e(o,r);return l<0?(++this.size,o.push([r,s])):o[l][1]=s,this}return Ed=n,Ed}var Nd,Ox;function mu(){if(Ox)return Nd;Ox=1;var e=Q3(),n=Z3(),r=J3(),s=eL(),o=tL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Nd=l,Nd}var Cd,Lx;function nL(){if(Lx)return Cd;Lx=1;var e=mu();function n(){this.__data__=new e,this.size=0}return Cd=n,Cd}var Td,qx;function rL(){if(qx)return Td;qx=1;function e(n){var r=this.__data__,s=r.delete(n);return this.size=r.size,s}return Td=e,Td}var jd,$x;function iL(){if($x)return jd;$x=1;function e(n){return this.__data__.get(n)}return jd=e,jd}var Rd,Dx;function sL(){if(Dx)return Rd;Dx=1;function e(n){return this.__data__.has(n)}return Rd=e,Rd}var Ad,Fx;function WN(){if(Fx)return Ad;Fx=1;var e=typeof El=="object"&&El&&El.Object===Object&&El;return Ad=e,Ad}var Id,zx;function Qn(){if(zx)return Id;zx=1;var e=WN(),n=typeof self=="object"&&self&&self.Object===Object&&self,r=e||n||Function("return this")();return Id=r,Id}var Md,Bx;function so(){if(Bx)return Md;Bx=1;var e=Qn(),n=e.Symbol;return Md=n,Md}var Pd,Ux;function oL(){if(Ux)return Pd;Ux=1;var e=so(),n=Object.prototype,r=n.hasOwnProperty,s=n.toString,o=e?e.toStringTag:void 0;function l(u){var c=r.call(u,o),p=u[o];try{u[o]=void 0;var h=!0}catch{}var f=s.call(u);return h&&(c?u[o]=p:delete u[o]),f}return Pd=l,Pd}var Od,Hx;function aL(){if(Hx)return Od;Hx=1;var e=Object.prototype,n=e.toString;function r(s){return n.call(s)}return Od=r,Od}var Ld,Wx;function rs(){if(Wx)return Ld;Wx=1;var e=so(),n=oL(),r=aL(),s="[object Null]",o="[object Undefined]",l=e?e.toStringTag:void 0;function u(c){return c==null?c===void 0?o:s:l&&l in Object(c)?n(c):r(c)}return Ld=u,Ld}var qd,Vx;function Nn(){if(Vx)return qd;Vx=1;function e(n){var r=typeof n;return n!=null&&(r=="object"||r=="function")}return qd=e,qd}var $d,Gx;function xa(){if(Gx)return $d;Gx=1;var e=rs(),n=Nn(),r="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",l="[object Proxy]";function u(c){if(!n(c))return!1;var p=e(c);return p==s||p==o||p==r||p==l}return $d=u,$d}var Dd,Yx;function lL(){if(Yx)return Dd;Yx=1;var e=Qn(),n=e["__core-js_shared__"];return Dd=n,Dd}var Fd,Kx;function uL(){if(Kx)return Fd;Kx=1;var e=lL(),n=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function r(s){return!!n&&n in s}return Fd=r,Fd}var zd,Xx;function VN(){if(Xx)return zd;Xx=1;var e=Function.prototype,n=e.toString;function r(s){if(s!=null){try{return n.call(s)}catch{}try{return s+""}catch{}}return""}return zd=r,zd}var Bd,Qx;function cL(){if(Qx)return Bd;Qx=1;var e=xa(),n=uL(),r=Nn(),s=VN(),o=/[\\^$.*+?()[\]{}|]/g,l=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,p=u.toString,h=c.hasOwnProperty,f=RegExp("^"+p.call(h).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(y){if(!r(y)||n(y))return!1;var x=e(y)?f:l;return x.test(s(y))}return Bd=g,Bd}var Ud,Zx;function dL(){if(Zx)return Ud;Zx=1;function e(n,r){return n==null?void 0:n[r]}return Ud=e,Ud}var Hd,Jx;function is(){if(Jx)return Hd;Jx=1;var e=cL(),n=dL();function r(s,o){var l=n(s,o);return e(l)?l:void 0}return Hd=r,Hd}var Wd,e_;function Rv(){if(e_)return Wd;e_=1;var e=is(),n=Qn(),r=e(n,"Map");return Wd=r,Wd}var Vd,t_;function gu(){if(t_)return Vd;t_=1;var e=is(),n=e(Object,"create");return Vd=n,Vd}var Gd,n_;function fL(){if(n_)return Gd;n_=1;var e=gu();function n(){this.__data__=e?e(null):{},this.size=0}return Gd=n,Gd}var Yd,r_;function hL(){if(r_)return Yd;r_=1;function e(n){var r=this.has(n)&&delete this.__data__[n];return this.size-=r?1:0,r}return Yd=e,Yd}var Kd,i_;function pL(){if(i_)return Kd;i_=1;var e=gu(),n="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;function o(l){var u=this.__data__;if(e){var c=u[l];return c===n?void 0:c}return s.call(u,l)?u[l]:void 0}return Kd=o,Kd}var Xd,s_;function mL(){if(s_)return Xd;s_=1;var e=gu(),n=Object.prototype,r=n.hasOwnProperty;function s(o){var l=this.__data__;return e?l[o]!==void 0:r.call(l,o)}return Xd=s,Xd}var Qd,o_;function gL(){if(o_)return Qd;o_=1;var e=gu(),n="__lodash_hash_undefined__";function r(s,o){var l=this.__data__;return this.size+=this.has(s)?0:1,l[s]=e&&o===void 0?n:o,this}return Qd=r,Qd}var Zd,a_;function vL(){if(a_)return Zd;a_=1;var e=fL(),n=hL(),r=pL(),s=mL(),o=gL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,Zd=l,Zd}var Jd,l_;function yL(){if(l_)return Jd;l_=1;var e=vL(),n=mu(),r=Rv();function s(){this.size=0,this.__data__={hash:new e,map:new(r||n),string:new e}}return Jd=s,Jd}var ef,u_;function wL(){if(u_)return ef;u_=1;function e(n){var r=typeof n;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?n!=="__proto__":n===null}return ef=e,ef}var tf,c_;function vu(){if(c_)return tf;c_=1;var e=wL();function n(r,s){var o=r.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return tf=n,tf}var nf,d_;function xL(){if(d_)return nf;d_=1;var e=vu();function n(r){var s=e(this,r).delete(r);return this.size-=s?1:0,s}return nf=n,nf}var rf,f_;function _L(){if(f_)return rf;f_=1;var e=vu();function n(r){return e(this,r).get(r)}return rf=n,rf}var sf,h_;function bL(){if(h_)return sf;h_=1;var e=vu();function n(r){return e(this,r).has(r)}return sf=n,sf}var of,p_;function SL(){if(p_)return of;p_=1;var e=vu();function n(r,s){var o=e(this,r),l=o.size;return o.set(r,s),this.size+=o.size==l?0:1,this}return of=n,of}var af,m_;function Av(){if(m_)return af;m_=1;var e=yL(),n=xL(),r=_L(),s=bL(),o=SL();function l(u){var c=-1,p=u==null?0:u.length;for(this.clear();++c<p;){var h=u[c];this.set(h[0],h[1])}}return l.prototype.clear=e,l.prototype.delete=n,l.prototype.get=r,l.prototype.has=s,l.prototype.set=o,af=l,af}var lf,g_;function kL(){if(g_)return lf;g_=1;var e=mu(),n=Rv(),r=Av(),s=200;function o(l,u){var c=this.__data__;if(c instanceof e){var p=c.__data__;if(!n||p.length<s-1)return p.push([l,u]),this.size=++c.size,this;c=this.__data__=new r(p)}return c.set(l,u),this.size=c.size,this}return lf=o,lf}var uf,v_;function yu(){if(v_)return uf;v_=1;var e=mu(),n=nL(),r=rL(),s=iL(),o=sL(),l=kL();function u(c){var p=this.__data__=new e(c);this.size=p.size}return u.prototype.clear=n,u.prototype.delete=r,u.prototype.get=s,u.prototype.has=o,u.prototype.set=l,uf=u,uf}var cf,y_;function Iv(){if(y_)return cf;y_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o&&r(n[s],s,n)!==!1;);return n}return cf=e,cf}var df,w_;function GN(){if(w_)return df;w_=1;var e=is(),n=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return df=n,df}var ff,x_;function wu(){if(x_)return ff;x_=1;var e=GN();function n(r,s,o){s=="__proto__"&&e?e(r,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):r[s]=o}return ff=n,ff}var hf,__;function xu(){if(__)return hf;__=1;var e=wu(),n=io(),r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c){var p=l[u];(!(s.call(l,u)&&n(p,c))||c===void 0&&!(u in l))&&e(l,u,c)}return hf=o,hf}var pf,b_;function _a(){if(b_)return pf;b_=1;var e=xu(),n=wu();function r(s,o,l,u){var c=!l;l||(l={});for(var p=-1,h=o.length;++p<h;){var f=o[p],g=u?u(l[f],s[f],f,l,s):void 0;g===void 0&&(g=s[f]),c?n(l,f,g):e(l,f,g)}return l}return pf=r,pf}var mf,S_;function EL(){if(S_)return mf;S_=1;function e(n,r){for(var s=-1,o=Array(n);++s<n;)o[s]=r(s);return o}return mf=e,mf}var gf,k_;function fr(){if(k_)return gf;k_=1;function e(n){return n!=null&&typeof n=="object"}return gf=e,gf}var vf,E_;function NL(){if(E_)return vf;E_=1;var e=rs(),n=fr(),r="[object Arguments]";function s(o){return n(o)&&e(o)==r}return vf=s,vf}var yf,N_;function ba(){if(N_)return yf;N_=1;var e=NL(),n=fr(),r=Object.prototype,s=r.hasOwnProperty,o=r.propertyIsEnumerable,l=e((function(){return arguments})())?e:function(u){return n(u)&&s.call(u,"callee")&&!o.call(u,"callee")};return yf=l,yf}var wf,C_;function _t(){if(C_)return wf;C_=1;var e=Array.isArray;return wf=e,wf}var ea={exports:{}},xf,T_;function CL(){if(T_)return xf;T_=1;function e(){return!1}return xf=e,xf}ea.exports;var j_;function oo(){return j_||(j_=1,(function(e,n){var r=Qn(),s=CL(),o=n&&!n.nodeType&&n,l=o&&!0&&e&&!e.nodeType&&e,u=l&&l.exports===o,c=u?r.Buffer:void 0,p=c?c.isBuffer:void 0,h=p||s;e.exports=h})(ea,ea.exports)),ea.exports}var _f,R_;function _u(){if(R_)return _f;R_=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function r(s,o){var l=typeof s;return o=o??e,!!o&&(l=="number"||l!="symbol"&&n.test(s))&&s>-1&&s%1==0&&s<o}return _f=r,_f}var bf,A_;function Mv(){if(A_)return bf;A_=1;var e=9007199254740991;function n(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return bf=n,bf}var Sf,I_;function TL(){if(I_)return Sf;I_=1;var e=rs(),n=Mv(),r=fr(),s="[object Arguments]",o="[object Array]",l="[object Boolean]",u="[object Date]",c="[object Error]",p="[object Function]",h="[object Map]",f="[object Number]",g="[object Object]",y="[object RegExp]",x="[object Set]",N="[object String]",_="[object WeakMap]",b="[object ArrayBuffer]",S="[object DataView]",k="[object Float32Array]",E="[object Float64Array]",C="[object Int8Array]",I="[object Int16Array]",M="[object Int32Array]",O="[object Uint8Array]",W="[object Uint8ClampedArray]",L="[object Uint16Array]",P="[object Uint32Array]",q={};q[k]=q[E]=q[C]=q[I]=q[M]=q[O]=q[W]=q[L]=q[P]=!0,q[s]=q[o]=q[b]=q[l]=q[S]=q[u]=q[c]=q[p]=q[h]=q[f]=q[g]=q[y]=q[x]=q[N]=q[_]=!1;function U(B){return r(B)&&n(B.length)&&!!q[e(B)]}return Sf=U,Sf}var kf,M_;function bu(){if(M_)return kf;M_=1;function e(n){return function(r){return n(r)}}return kf=e,kf}var ta={exports:{}};ta.exports;var P_;function Pv(){return P_||(P_=1,(function(e,n){var r=WN(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l&&r.process,c=(function(){try{var p=o&&o.require&&o.require("util").types;return p||u&&u.binding&&u.binding("util")}catch{}})();e.exports=c})(ta,ta.exports)),ta.exports}var Ef,O_;function Sa(){if(O_)return Ef;O_=1;var e=TL(),n=bu(),r=Pv(),s=r&&r.isTypedArray,o=s?n(s):e;return Ef=o,Ef}var Nf,L_;function YN(){if(L_)return Nf;L_=1;var e=EL(),n=ba(),r=_t(),s=oo(),o=_u(),l=Sa(),u=Object.prototype,c=u.hasOwnProperty;function p(h,f){var g=r(h),y=!g&&n(h),x=!g&&!y&&s(h),N=!g&&!y&&!x&&l(h),_=g||y||x||N,b=_?e(h.length,String):[],S=b.length;for(var k in h)(f||c.call(h,k))&&!(_&&(k=="length"||x&&(k=="offset"||k=="parent")||N&&(k=="buffer"||k=="byteLength"||k=="byteOffset")||o(k,S)))&&b.push(k);return b}return Nf=p,Nf}var Cf,q_;function Su(){if(q_)return Cf;q_=1;var e=Object.prototype;function n(r){var s=r&&r.constructor,o=typeof s=="function"&&s.prototype||e;return r===o}return Cf=n,Cf}var Tf,$_;function KN(){if($_)return Tf;$_=1;function e(n,r){return function(s){return n(r(s))}}return Tf=e,Tf}var jf,D_;function jL(){if(D_)return jf;D_=1;var e=KN(),n=e(Object.keys,Object);return jf=n,jf}var Rf,F_;function Ov(){if(F_)return Rf;F_=1;var e=Su(),n=jL(),r=Object.prototype,s=r.hasOwnProperty;function o(l){if(!e(l))return n(l);var u=[];for(var c in Object(l))s.call(l,c)&&c!="constructor"&&u.push(c);return u}return Rf=o,Rf}var Af,z_;function Or(){if(z_)return Af;z_=1;var e=xa(),n=Mv();function r(s){return s!=null&&n(s.length)&&!e(s)}return Af=r,Af}var If,B_;function gi(){if(B_)return If;B_=1;var e=YN(),n=Ov(),r=Or();function s(o){return r(o)?e(o):n(o)}return If=s,If}var Mf,U_;function RL(){if(U_)return Mf;U_=1;var e=_a(),n=gi();function r(s,o){return s&&e(o,n(o),s)}return Mf=r,Mf}var Pf,H_;function AL(){if(H_)return Pf;H_=1;function e(n){var r=[];if(n!=null)for(var s in Object(n))r.push(s);return r}return Pf=e,Pf}var Of,W_;function IL(){if(W_)return Of;W_=1;var e=Nn(),n=Su(),r=AL(),s=Object.prototype,o=s.hasOwnProperty;function l(u){if(!e(u))return r(u);var c=n(u),p=[];for(var h in u)h=="constructor"&&(c||!o.call(u,h))||p.push(h);return p}return Of=l,Of}var Lf,V_;function ss(){if(V_)return Lf;V_=1;var e=YN(),n=IL(),r=Or();function s(o){return r(o)?e(o,!0):n(o)}return Lf=s,Lf}var qf,G_;function ML(){if(G_)return qf;G_=1;var e=_a(),n=ss();function r(s,o){return s&&e(o,n(o),s)}return qf=r,qf}var na={exports:{}};na.exports;var Y_;function XN(){return Y_||(Y_=1,(function(e,n){var r=Qn(),s=n&&!n.nodeType&&n,o=s&&!0&&e&&!e.nodeType&&e,l=o&&o.exports===s,u=l?r.Buffer:void 0,c=u?u.allocUnsafe:void 0;function p(h,f){if(f)return h.slice();var g=h.length,y=c?c(g):new h.constructor(g);return h.copy(y),y}e.exports=p})(na,na.exports)),na.exports}var $f,K_;function QN(){if(K_)return $f;K_=1;function e(n,r){var s=-1,o=n.length;for(r||(r=Array(o));++s<o;)r[s]=n[s];return r}return $f=e,$f}var Df,X_;function ZN(){if(X_)return Df;X_=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=0,u=[];++s<o;){var c=n[s];r(c,s,n)&&(u[l++]=c)}return u}return Df=e,Df}var Ff,Q_;function JN(){if(Q_)return Ff;Q_=1;function e(){return[]}return Ff=e,Ff}var zf,Z_;function Lv(){if(Z_)return zf;Z_=1;var e=ZN(),n=JN(),r=Object.prototype,s=r.propertyIsEnumerable,o=Object.getOwnPropertySymbols,l=o?function(u){return u==null?[]:(u=Object(u),e(o(u),function(c){return s.call(u,c)}))}:n;return zf=l,zf}var Bf,J_;function PL(){if(J_)return Bf;J_=1;var e=_a(),n=Lv();function r(s,o){return e(s,n(s),o)}return Bf=r,Bf}var Uf,e1;function qv(){if(e1)return Uf;e1=1;function e(n,r){for(var s=-1,o=r.length,l=n.length;++s<o;)n[l+s]=r[s];return n}return Uf=e,Uf}var Hf,t1;function ku(){if(t1)return Hf;t1=1;var e=KN(),n=e(Object.getPrototypeOf,Object);return Hf=n,Hf}var Wf,n1;function eC(){if(n1)return Wf;n1=1;var e=qv(),n=ku(),r=Lv(),s=JN(),o=Object.getOwnPropertySymbols,l=o?function(u){for(var c=[];u;)e(c,r(u)),u=n(u);return c}:s;return Wf=l,Wf}var Vf,r1;function OL(){if(r1)return Vf;r1=1;var e=_a(),n=eC();function r(s,o){return e(s,n(s),o)}return Vf=r,Vf}var Gf,i1;function tC(){if(i1)return Gf;i1=1;var e=qv(),n=_t();function r(s,o,l){var u=o(s);return n(s)?u:e(u,l(s))}return Gf=r,Gf}var Yf,s1;function nC(){if(s1)return Yf;s1=1;var e=tC(),n=Lv(),r=gi();function s(o){return e(o,r,n)}return Yf=s,Yf}var Kf,o1;function LL(){if(o1)return Kf;o1=1;var e=tC(),n=eC(),r=ss();function s(o){return e(o,r,n)}return Kf=s,Kf}var Xf,a1;function qL(){if(a1)return Xf;a1=1;var e=is(),n=Qn(),r=e(n,"DataView");return Xf=r,Xf}var Qf,l1;function $L(){if(l1)return Qf;l1=1;var e=is(),n=Qn(),r=e(n,"Promise");return Qf=r,Qf}var Zf,u1;function rC(){if(u1)return Zf;u1=1;var e=is(),n=Qn(),r=e(n,"Set");return Zf=r,Zf}var Jf,c1;function DL(){if(c1)return Jf;c1=1;var e=is(),n=Qn(),r=e(n,"WeakMap");return Jf=r,Jf}var eh,d1;function ao(){if(d1)return eh;d1=1;var e=qL(),n=Rv(),r=$L(),s=rC(),o=DL(),l=rs(),u=VN(),c="[object Map]",p="[object Object]",h="[object Promise]",f="[object Set]",g="[object WeakMap]",y="[object DataView]",x=u(e),N=u(n),_=u(r),b=u(s),S=u(o),k=l;return(e&&k(new e(new ArrayBuffer(1)))!=y||n&&k(new n)!=c||r&&k(r.resolve())!=h||s&&k(new s)!=f||o&&k(new o)!=g)&&(k=function(E){var C=l(E),I=C==p?E.constructor:void 0,M=I?u(I):"";if(M)switch(M){case x:return y;case N:return c;case _:return h;case b:return f;case S:return g}return C}),eh=k,eh}var th,f1;function FL(){if(f1)return th;f1=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s){var o=s.length,l=new s.constructor(o);return o&&typeof s[0]=="string"&&n.call(s,"index")&&(l.index=s.index,l.input=s.input),l}return th=r,th}var nh,h1;function iC(){if(h1)return nh;h1=1;var e=Qn(),n=e.Uint8Array;return nh=n,nh}var rh,p1;function $v(){if(p1)return rh;p1=1;var e=iC();function n(r){var s=new r.constructor(r.byteLength);return new e(s).set(new e(r)),s}return rh=n,rh}var ih,m1;function zL(){if(m1)return ih;m1=1;var e=$v();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.byteLength)}return ih=n,ih}var sh,g1;function BL(){if(g1)return sh;g1=1;var e=/\w*$/;function n(r){var s=new r.constructor(r.source,e.exec(r));return s.lastIndex=r.lastIndex,s}return sh=n,sh}var oh,v1;function UL(){if(v1)return oh;v1=1;var e=so(),n=e?e.prototype:void 0,r=n?n.valueOf:void 0;function s(o){return r?Object(r.call(o)):{}}return oh=s,oh}var ah,y1;function sC(){if(y1)return ah;y1=1;var e=$v();function n(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.length)}return ah=n,ah}var lh,w1;function HL(){if(w1)return lh;w1=1;var e=$v(),n=zL(),r=BL(),s=UL(),o=sC(),l="[object Boolean]",u="[object Date]",c="[object Map]",p="[object Number]",h="[object RegExp]",f="[object Set]",g="[object String]",y="[object Symbol]",x="[object ArrayBuffer]",N="[object DataView]",_="[object Float32Array]",b="[object Float64Array]",S="[object Int8Array]",k="[object Int16Array]",E="[object Int32Array]",C="[object Uint8Array]",I="[object Uint8ClampedArray]",M="[object Uint16Array]",O="[object Uint32Array]";function W(L,P,q){var U=L.constructor;switch(P){case x:return e(L);case l:case u:return new U(+L);case N:return n(L,q);case _:case b:case S:case k:case E:case C:case I:case M:case O:return o(L,q);case c:return new U;case p:case g:return new U(L);case h:return r(L);case f:return new U;case y:return s(L)}}return lh=W,lh}var uh,x1;function oC(){if(x1)return uh;x1=1;var e=Nn(),n=Object.create,r=(function(){function s(){}return function(o){if(!e(o))return{};if(n)return n(o);s.prototype=o;var l=new s;return s.prototype=void 0,l}})();return uh=r,uh}var ch,_1;function aC(){if(_1)return ch;_1=1;var e=oC(),n=ku(),r=Su();function s(o){return typeof o.constructor=="function"&&!r(o)?e(n(o)):{}}return ch=s,ch}var dh,b1;function WL(){if(b1)return dh;b1=1;var e=ao(),n=fr(),r="[object Map]";function s(o){return n(o)&&e(o)==r}return dh=s,dh}var fh,S1;function VL(){if(S1)return fh;S1=1;var e=WL(),n=bu(),r=Pv(),s=r&&r.isMap,o=s?n(s):e;return fh=o,fh}var hh,k1;function GL(){if(k1)return hh;k1=1;var e=ao(),n=fr(),r="[object Set]";function s(o){return n(o)&&e(o)==r}return hh=s,hh}var ph,E1;function YL(){if(E1)return ph;E1=1;var e=GL(),n=bu(),r=Pv(),s=r&&r.isSet,o=s?n(s):e;return ph=o,ph}var mh,N1;function lC(){if(N1)return mh;N1=1;var e=yu(),n=Iv(),r=xu(),s=RL(),o=ML(),l=XN(),u=QN(),c=PL(),p=OL(),h=nC(),f=LL(),g=ao(),y=FL(),x=HL(),N=aC(),_=_t(),b=oo(),S=VL(),k=Nn(),E=YL(),C=gi(),I=ss(),M=1,O=2,W=4,L="[object Arguments]",P="[object Array]",q="[object Boolean]",U="[object Date]",B="[object Error]",R="[object Function]",Q="[object GeneratorFunction]",H="[object Map]",te="[object Number]",Z="[object Object]",D="[object RegExp]",X="[object Set]",j="[object String]",$="[object Symbol]",V="[object WeakMap]",F="[object ArrayBuffer]",J="[object DataView]",ne="[object Float32Array]",le="[object Float64Array]",de="[object Int8Array]",me="[object Int16Array]",ve="[object Int32Array]",Pe="[object Uint8Array]",Me="[object Uint8ClampedArray]",Oe="[object Uint16Array]",ye="[object Uint32Array]",Se={};Se[L]=Se[P]=Se[F]=Se[J]=Se[q]=Se[U]=Se[ne]=Se[le]=Se[de]=Se[me]=Se[ve]=Se[H]=Se[te]=Se[Z]=Se[D]=Se[X]=Se[j]=Se[$]=Se[Pe]=Se[Me]=Se[Oe]=Se[ye]=!0,Se[B]=Se[R]=Se[V]=!1;function Ke(xe,ge,Fe,pt,mt,Ze){var De,Qe=ge&M,at=ge&O,It=ge&W;if(Fe&&(De=mt?Fe(xe,pt,mt,Ze):Fe(xe)),De!==void 0)return De;if(!k(xe))return xe;var it=_(xe);if(it){if(De=y(xe),!Qe)return u(xe,De)}else{var gt=g(xe),Kt=gt==R||gt==Q;if(b(xe))return l(xe,Qe);if(gt==Z||gt==L||Kt&&!mt){if(De=at||Kt?{}:N(xe),!Qe)return at?p(xe,o(De,xe)):c(xe,s(De,xe))}else{if(!Se[gt])return mt?xe:{};De=x(xe,gt,Qe)}}Ze||(Ze=new e);var Mt=Ze.get(xe);if(Mt)return Mt;Ze.set(xe,De),E(xe)?xe.forEach(function(dt){De.add(Ke(dt,ge,Fe,dt,xe,Ze))}):S(xe)&&xe.forEach(function(dt,lt){De.set(lt,Ke(dt,ge,Fe,lt,xe,Ze))});var Ye=It?at?f:h:at?I:C,Nt=it?void 0:Ye(xe);return n(Nt||xe,function(dt,lt){Nt&&(lt=dt,dt=xe[lt]),r(De,lt,Ke(dt,ge,Fe,lt,xe,Ze))}),De}return mh=Ke,mh}var gh,C1;function KL(){if(C1)return gh;C1=1;var e=lC(),n=4;function r(s){return e(s,n)}return gh=r,gh}var vh,T1;function Dv(){if(T1)return vh;T1=1;function e(n){return function(){return n}}return vh=e,vh}var yh,j1;function XL(){if(j1)return yh;j1=1;function e(n){return function(r,s,o){for(var l=-1,u=Object(r),c=o(r),p=c.length;p--;){var h=c[n?p:++l];if(s(u[h],h,u)===!1)break}return r}}return yh=e,yh}var wh,R1;function Fv(){if(R1)return wh;R1=1;var e=XL(),n=e();return wh=n,wh}var xh,A1;function zv(){if(A1)return xh;A1=1;var e=Fv(),n=gi();function r(s,o){return s&&e(s,o,n)}return xh=r,xh}var _h,I1;function QL(){if(I1)return _h;I1=1;var e=Or();function n(r,s){return function(o,l){if(o==null)return o;if(!e(o))return r(o,l);for(var u=o.length,c=s?u:-1,p=Object(o);(s?c--:++c<u)&&l(p[c],c,p)!==!1;);return o}}return _h=n,_h}var bh,M1;function Eu(){if(M1)return bh;M1=1;var e=zv(),n=QL(),r=n(e);return bh=r,bh}var Sh,P1;function os(){if(P1)return Sh;P1=1;function e(n){return n}return Sh=e,Sh}var kh,O1;function uC(){if(O1)return kh;O1=1;var e=os();function n(r){return typeof r=="function"?r:e}return kh=n,kh}var Eh,L1;function cC(){if(L1)return Eh;L1=1;var e=Iv(),n=Eu(),r=uC(),s=_t();function o(l,u){var c=s(l)?e:n;return c(l,r(u))}return Eh=o,Eh}var Nh,q1;function dC(){return q1||(q1=1,Nh=cC()),Nh}var Ch,$1;function ZL(){if($1)return Ch;$1=1;var e=Eu();function n(r,s){var o=[];return e(r,function(l,u,c){s(l,u,c)&&o.push(l)}),o}return Ch=n,Ch}var Th,D1;function JL(){if(D1)return Th;D1=1;var e="__lodash_hash_undefined__";function n(r){return this.__data__.set(r,e),this}return Th=n,Th}var jh,F1;function eq(){if(F1)return jh;F1=1;function e(n){return this.__data__.has(n)}return jh=e,jh}var Rh,z1;function fC(){if(z1)return Rh;z1=1;var e=Av(),n=JL(),r=eq();function s(o){var l=-1,u=o==null?0:o.length;for(this.__data__=new e;++l<u;)this.add(o[l])}return s.prototype.add=s.prototype.push=n,s.prototype.has=r,Rh=s,Rh}var Ah,B1;function tq(){if(B1)return Ah;B1=1;function e(n,r){for(var s=-1,o=n==null?0:n.length;++s<o;)if(r(n[s],s,n))return!0;return!1}return Ah=e,Ah}var Ih,U1;function hC(){if(U1)return Ih;U1=1;function e(n,r){return n.has(r)}return Ih=e,Ih}var Mh,H1;function pC(){if(H1)return Mh;H1=1;var e=fC(),n=tq(),r=hC(),s=1,o=2;function l(u,c,p,h,f,g){var y=p&s,x=u.length,N=c.length;if(x!=N&&!(y&&N>x))return!1;var _=g.get(u),b=g.get(c);if(_&&b)return _==c&&b==u;var S=-1,k=!0,E=p&o?new e:void 0;for(g.set(u,c),g.set(c,u);++S<x;){var C=u[S],I=c[S];if(h)var M=y?h(I,C,S,c,u,g):h(C,I,S,u,c,g);if(M!==void 0){if(M)continue;k=!1;break}if(E){if(!n(c,function(O,W){if(!r(E,W)&&(C===O||f(C,O,p,h,g)))return E.push(W)})){k=!1;break}}else if(!(C===I||f(C,I,p,h,g))){k=!1;break}}return g.delete(u),g.delete(c),k}return Mh=l,Mh}var Ph,W1;function nq(){if(W1)return Ph;W1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o,l){s[++r]=[l,o]}),s}return Ph=e,Ph}var Oh,V1;function Bv(){if(V1)return Oh;V1=1;function e(n){var r=-1,s=Array(n.size);return n.forEach(function(o){s[++r]=o}),s}return Oh=e,Oh}var Lh,G1;function rq(){if(G1)return Lh;G1=1;var e=so(),n=iC(),r=io(),s=pC(),o=nq(),l=Bv(),u=1,c=2,p="[object Boolean]",h="[object Date]",f="[object Error]",g="[object Map]",y="[object Number]",x="[object RegExp]",N="[object Set]",_="[object String]",b="[object Symbol]",S="[object ArrayBuffer]",k="[object DataView]",E=e?e.prototype:void 0,C=E?E.valueOf:void 0;function I(M,O,W,L,P,q,U){switch(W){case k:if(M.byteLength!=O.byteLength||M.byteOffset!=O.byteOffset)return!1;M=M.buffer,O=O.buffer;case S:return!(M.byteLength!=O.byteLength||!q(new n(M),new n(O)));case p:case h:case y:return r(+M,+O);case f:return M.name==O.name&&M.message==O.message;case x:case _:return M==O+"";case g:var B=o;case N:var R=L&u;if(B||(B=l),M.size!=O.size&&!R)return!1;var Q=U.get(M);if(Q)return Q==O;L|=c,U.set(M,O);var H=s(B(M),B(O),L,P,q,U);return U.delete(M),H;case b:if(C)return C.call(M)==C.call(O)}return!1}return Lh=I,Lh}var qh,Y1;function iq(){if(Y1)return qh;Y1=1;var e=nC(),n=1,r=Object.prototype,s=r.hasOwnProperty;function o(l,u,c,p,h,f){var g=c&n,y=e(l),x=y.length,N=e(u),_=N.length;if(x!=_&&!g)return!1;for(var b=x;b--;){var S=y[b];if(!(g?S in u:s.call(u,S)))return!1}var k=f.get(l),E=f.get(u);if(k&&E)return k==u&&E==l;var C=!0;f.set(l,u),f.set(u,l);for(var I=g;++b<x;){S=y[b];var M=l[S],O=u[S];if(p)var W=g?p(O,M,S,u,l,f):p(M,O,S,l,u,f);if(!(W===void 0?M===O||h(M,O,c,p,f):W)){C=!1;break}I||(I=S=="constructor")}if(C&&!I){var L=l.constructor,P=u.constructor;L!=P&&"constructor"in l&&"constructor"in u&&!(typeof L=="function"&&L instanceof L&&typeof P=="function"&&P instanceof P)&&(C=!1)}return f.delete(l),f.delete(u),C}return qh=o,qh}var $h,K1;function sq(){if(K1)return $h;K1=1;var e=yu(),n=pC(),r=rq(),s=iq(),o=ao(),l=_t(),u=oo(),c=Sa(),p=1,h="[object Arguments]",f="[object Array]",g="[object Object]",y=Object.prototype,x=y.hasOwnProperty;function N(_,b,S,k,E,C){var I=l(_),M=l(b),O=I?f:o(_),W=M?f:o(b);O=O==h?g:O,W=W==h?g:W;var L=O==g,P=W==g,q=O==W;if(q&&u(_)){if(!u(b))return!1;I=!0,L=!1}if(q&&!L)return C||(C=new e),I||c(_)?n(_,b,S,k,E,C):r(_,b,O,S,k,E,C);if(!(S&p)){var U=L&&x.call(_,"__wrapped__"),B=P&&x.call(b,"__wrapped__");if(U||B){var R=U?_.value():_,Q=B?b.value():b;return C||(C=new e),E(R,Q,S,k,C)}}return q?(C||(C=new e),s(_,b,S,k,E,C)):!1}return $h=N,$h}var Dh,X1;function mC(){if(X1)return Dh;X1=1;var e=sq(),n=fr();function r(s,o,l,u,c){return s===o?!0:s==null||o==null||!n(s)&&!n(o)?s!==s&&o!==o:e(s,o,l,u,r,c)}return Dh=r,Dh}var Fh,Q1;function oq(){if(Q1)return Fh;Q1=1;var e=yu(),n=mC(),r=1,s=2;function o(l,u,c,p){var h=c.length,f=h,g=!p;if(l==null)return!f;for(l=Object(l);h--;){var y=c[h];if(g&&y[2]?y[1]!==l[y[0]]:!(y[0]in l))return!1}for(;++h<f;){y=c[h];var x=y[0],N=l[x],_=y[1];if(g&&y[2]){if(N===void 0&&!(x in l))return!1}else{var b=new e;if(p)var S=p(N,_,x,l,u,b);if(!(S===void 0?n(_,N,r|s,p,b):S))return!1}}return!0}return Fh=o,Fh}var zh,Z1;function gC(){if(Z1)return zh;Z1=1;var e=Nn();function n(r){return r===r&&!e(r)}return zh=n,zh}var Bh,J1;function aq(){if(J1)return Bh;J1=1;var e=gC(),n=gi();function r(s){for(var o=n(s),l=o.length;l--;){var u=o[l],c=s[u];o[l]=[u,c,e(c)]}return o}return Bh=r,Bh}var Uh,eb;function vC(){if(eb)return Uh;eb=1;function e(n,r){return function(s){return s==null?!1:s[n]===r&&(r!==void 0||n in Object(s))}}return Uh=e,Uh}var Hh,tb;function lq(){if(tb)return Hh;tb=1;var e=oq(),n=aq(),r=vC();function s(o){var l=n(o);return l.length==1&&l[0][2]?r(l[0][0],l[0][1]):function(u){return u===o||e(u,o,l)}}return Hh=s,Hh}var Wh,nb;function lo(){if(nb)return Wh;nb=1;var e=rs(),n=fr(),r="[object Symbol]";function s(o){return typeof o=="symbol"||n(o)&&e(o)==r}return Wh=s,Wh}var Vh,rb;function Uv(){if(rb)return Vh;rb=1;var e=_t(),n=lo(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(l,u){if(e(l))return!1;var c=typeof l;return c=="number"||c=="symbol"||c=="boolean"||l==null||n(l)?!0:s.test(l)||!r.test(l)||u!=null&&l in Object(u)}return Vh=o,Vh}var Gh,ib;function uq(){if(ib)return Gh;ib=1;var e=Av(),n="Expected a function";function r(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(n);var l=function(){var u=arguments,c=o?o.apply(this,u):u[0],p=l.cache;if(p.has(c))return p.get(c);var h=s.apply(this,u);return l.cache=p.set(c,h)||p,h};return l.cache=new(r.Cache||e),l}return r.Cache=e,Gh=r,Gh}var Yh,sb;function cq(){if(sb)return Yh;sb=1;var e=uq(),n=500;function r(s){var o=e(s,function(u){return l.size===n&&l.clear(),u}),l=o.cache;return o}return Yh=r,Yh}var Kh,ob;function dq(){if(ob)return Kh;ob=1;var e=cq(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e(function(o){var l=[];return o.charCodeAt(0)===46&&l.push(""),o.replace(n,function(u,c,p,h){l.push(p?h.replace(r,"$1"):c||u)}),l});return Kh=s,Kh}var Xh,ab;function Nu(){if(ab)return Xh;ab=1;function e(n,r){for(var s=-1,o=n==null?0:n.length,l=Array(o);++s<o;)l[s]=r(n[s],s,n);return l}return Xh=e,Xh}var Qh,lb;function fq(){if(lb)return Qh;lb=1;var e=so(),n=Nu(),r=_t(),s=lo(),o=e?e.prototype:void 0,l=o?o.toString:void 0;function u(c){if(typeof c=="string")return c;if(r(c))return n(c,u)+"";if(s(c))return l?l.call(c):"";var p=c+"";return p=="0"&&1/c==-1/0?"-0":p}return Qh=u,Qh}var Zh,ub;function yC(){if(ub)return Zh;ub=1;var e=fq();function n(r){return r==null?"":e(r)}return Zh=n,Zh}var Jh,cb;function Cu(){if(cb)return Jh;cb=1;var e=_t(),n=Uv(),r=dq(),s=yC();function o(l,u){return e(l)?l:n(l,u)?[l]:r(s(l))}return Jh=o,Jh}var ep,db;function ka(){if(db)return ep;db=1;var e=lo();function n(r){if(typeof r=="string"||e(r))return r;var s=r+"";return s=="0"&&1/r==-1/0?"-0":s}return ep=n,ep}var tp,fb;function Tu(){if(fb)return tp;fb=1;var e=Cu(),n=ka();function r(s,o){o=e(o,s);for(var l=0,u=o.length;s!=null&&l<u;)s=s[n(o[l++])];return l&&l==u?s:void 0}return tp=r,tp}var np,hb;function hq(){if(hb)return np;hb=1;var e=Tu();function n(r,s,o){var l=r==null?void 0:e(r,s);return l===void 0?o:l}return np=n,np}var rp,pb;function pq(){if(pb)return rp;pb=1;function e(n,r){return n!=null&&r in Object(n)}return rp=e,rp}var ip,mb;function wC(){if(mb)return ip;mb=1;var e=Cu(),n=ba(),r=_t(),s=_u(),o=Mv(),l=ka();function u(c,p,h){p=e(p,c);for(var f=-1,g=p.length,y=!1;++f<g;){var x=l(p[f]);if(!(y=c!=null&&h(c,x)))break;c=c[x]}return y||++f!=g?y:(g=c==null?0:c.length,!!g&&o(g)&&s(x,g)&&(r(c)||n(c)))}return ip=u,ip}var sp,gb;function xC(){if(gb)return sp;gb=1;var e=pq(),n=wC();function r(s,o){return s!=null&&n(s,o,e)}return sp=r,sp}var op,vb;function mq(){if(vb)return op;vb=1;var e=mC(),n=hq(),r=xC(),s=Uv(),o=gC(),l=vC(),u=ka(),c=1,p=2;function h(f,g){return s(f)&&o(g)?l(u(f),g):function(y){var x=n(y,f);return x===void 0&&x===g?r(y,f):e(g,x,c|p)}}return op=h,op}var ap,yb;function _C(){if(yb)return ap;yb=1;function e(n){return function(r){return r==null?void 0:r[n]}}return ap=e,ap}var lp,wb;function gq(){if(wb)return lp;wb=1;var e=Tu();function n(r){return function(s){return e(s,r)}}return lp=n,lp}var up,xb;function vq(){if(xb)return up;xb=1;var e=_C(),n=gq(),r=Uv(),s=ka();function o(l){return r(l)?e(s(l)):n(l)}return up=o,up}var cp,_b;function Lr(){if(_b)return cp;_b=1;var e=lq(),n=mq(),r=os(),s=_t(),o=vq();function l(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?s(u)?n(u[0],u[1]):e(u):o(u)}return cp=l,cp}var dp,bb;function bC(){if(bb)return dp;bb=1;var e=ZN(),n=ZL(),r=Lr(),s=_t();function o(l,u){var c=s(l)?e:n;return c(l,r(u,3))}return dp=o,dp}var fp,Sb;function yq(){if(Sb)return fp;Sb=1;var e=Object.prototype,n=e.hasOwnProperty;function r(s,o){return s!=null&&n.call(s,o)}return fp=r,fp}var hp,kb;function SC(){if(kb)return hp;kb=1;var e=yq(),n=wC();function r(s,o){return s!=null&&n(s,o,e)}return hp=r,hp}var pp,Eb;function wq(){if(Eb)return pp;Eb=1;var e=Ov(),n=ao(),r=ba(),s=_t(),o=Or(),l=oo(),u=Su(),c=Sa(),p="[object Map]",h="[object Set]",f=Object.prototype,g=f.hasOwnProperty;function y(x){if(x==null)return!0;if(o(x)&&(s(x)||typeof x=="string"||typeof x.splice=="function"||l(x)||c(x)||r(x)))return!x.length;var N=n(x);if(N==p||N==h)return!x.size;if(u(x))return!e(x).length;for(var _ in x)if(g.call(x,_))return!1;return!0}return pp=y,pp}var mp,Nb;function kC(){if(Nb)return mp;Nb=1;function e(n){return n===void 0}return mp=e,mp}var gp,Cb;function EC(){if(Cb)return gp;Cb=1;var e=Eu(),n=Or();function r(s,o){var l=-1,u=n(s)?Array(s.length):[];return e(s,function(c,p,h){u[++l]=o(c,p,h)}),u}return gp=r,gp}var vp,Tb;function NC(){if(Tb)return vp;Tb=1;var e=Nu(),n=Lr(),r=EC(),s=_t();function o(l,u){var c=s(l)?e:r;return c(l,n(u,3))}return vp=o,vp}var yp,jb;function xq(){if(jb)return yp;jb=1;function e(n,r,s,o){var l=-1,u=n==null?0:n.length;for(o&&u&&(s=n[++l]);++l<u;)s=r(s,n[l],l,n);return s}return yp=e,yp}var wp,Rb;function _q(){if(Rb)return wp;Rb=1;function e(n,r,s,o,l){return l(n,function(u,c,p){s=o?(o=!1,u):r(s,u,c,p)}),s}return wp=e,wp}var xp,Ab;function CC(){if(Ab)return xp;Ab=1;var e=xq(),n=Eu(),r=Lr(),s=_q(),o=_t();function l(u,c,p){var h=o(u)?e:s,f=arguments.length<3;return h(u,r(c,4),p,f,n)}return xp=l,xp}var _p,Ib;function bq(){if(Ib)return _p;Ib=1;var e=rs(),n=_t(),r=fr(),s="[object String]";function o(l){return typeof l=="string"||!n(l)&&r(l)&&e(l)==s}return _p=o,_p}var bp,Mb;function Sq(){if(Mb)return bp;Mb=1;var e=_C(),n=e("length");return bp=n,bp}var Sp,Pb;function kq(){if(Pb)return Sp;Pb=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+o+l+"]");function p(h){return c.test(h)}return Sp=p,Sp}var kp,Ob;function Eq(){if(Ob)return kp;Ob=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=n+r+s,l="\\ufe0e\\ufe0f",u="["+e+"]",c="["+o+"]",p="\\ud83c[\\udffb-\\udfff]",h="(?:"+c+"|"+p+")",f="[^"+e+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",N=h+"?",_="["+l+"]?",b="(?:"+x+"(?:"+[f,g,y].join("|")+")"+_+N+")*",S=_+N+b,k="(?:"+[f+c+"?",c,g,y,u].join("|")+")",E=RegExp(p+"(?="+p+")|"+k+S,"g");function C(I){for(var M=E.lastIndex=0;E.test(I);)++M;return M}return kp=C,kp}var Ep,Lb;function Nq(){if(Lb)return Ep;Lb=1;var e=Sq(),n=kq(),r=Eq();function s(o){return n(o)?r(o):e(o)}return Ep=s,Ep}var Np,qb;function Cq(){if(qb)return Np;qb=1;var e=Ov(),n=ao(),r=Or(),s=bq(),o=Nq(),l="[object Map]",u="[object Set]";function c(p){if(p==null)return 0;if(r(p))return s(p)?o(p):p.length;var h=n(p);return h==l||h==u?p.size:e(p).length}return Np=c,Np}var Cp,$b;function Tq(){if($b)return Cp;$b=1;var e=Iv(),n=oC(),r=zv(),s=Lr(),o=ku(),l=_t(),u=oo(),c=xa(),p=Nn(),h=Sa();function f(g,y,x){var N=l(g),_=N||u(g)||h(g);if(y=s(y,4),x==null){var b=g&&g.constructor;_?x=N?new b:[]:p(g)?x=c(b)?n(o(g)):{}:x={}}return(_?e:r)(g,function(S,k,E){return y(x,S,k,E)}),x}return Cp=f,Cp}var Tp,Db;function jq(){if(Db)return Tp;Db=1;var e=so(),n=ba(),r=_t(),s=e?e.isConcatSpreadable:void 0;function o(l){return r(l)||n(l)||!!(s&&l&&l[s])}return Tp=o,Tp}var jp,Fb;function Hv(){if(Fb)return jp;Fb=1;var e=qv(),n=jq();function r(s,o,l,u,c){var p=-1,h=s.length;for(l||(l=n),c||(c=[]);++p<h;){var f=s[p];o>0&&l(f)?o>1?r(f,o-1,l,u,c):e(c,f):u||(c[c.length]=f)}return c}return jp=r,jp}var Rp,zb;function Rq(){if(zb)return Rp;zb=1;function e(n,r,s){switch(s.length){case 0:return n.call(r);case 1:return n.call(r,s[0]);case 2:return n.call(r,s[0],s[1]);case 3:return n.call(r,s[0],s[1],s[2])}return n.apply(r,s)}return Rp=e,Rp}var Ap,Bb;function TC(){if(Bb)return Ap;Bb=1;var e=Rq(),n=Math.max;function r(s,o,l){return o=n(o===void 0?s.length-1:o,0),function(){for(var u=arguments,c=-1,p=n(u.length-o,0),h=Array(p);++c<p;)h[c]=u[o+c];c=-1;for(var f=Array(o+1);++c<o;)f[c]=u[c];return f[o]=l(h),e(s,this,f)}}return Ap=r,Ap}var Ip,Ub;function Aq(){if(Ub)return Ip;Ub=1;var e=Dv(),n=GN(),r=os(),s=n?function(o,l){return n(o,"toString",{configurable:!0,enumerable:!1,value:e(l),writable:!0})}:r;return Ip=s,Ip}var Mp,Hb;function Iq(){if(Hb)return Mp;Hb=1;var e=800,n=16,r=Date.now;function s(o){var l=0,u=0;return function(){var c=r(),p=n-(c-u);if(u=c,p>0){if(++l>=e)return arguments[0]}else l=0;return o.apply(void 0,arguments)}}return Mp=s,Mp}var Pp,Wb;function jC(){if(Wb)return Pp;Wb=1;var e=Aq(),n=Iq(),r=n(e);return Pp=r,Pp}var Op,Vb;function ju(){if(Vb)return Op;Vb=1;var e=os(),n=TC(),r=jC();function s(o,l){return r(n(o,l,e),o+"")}return Op=s,Op}var Lp,Gb;function RC(){if(Gb)return Lp;Gb=1;function e(n,r,s,o){for(var l=n.length,u=s+(o?1:-1);o?u--:++u<l;)if(r(n[u],u,n))return u;return-1}return Lp=e,Lp}var qp,Yb;function Mq(){if(Yb)return qp;Yb=1;function e(n){return n!==n}return qp=e,qp}var $p,Kb;function Pq(){if(Kb)return $p;Kb=1;function e(n,r,s){for(var o=s-1,l=n.length;++o<l;)if(n[o]===r)return o;return-1}return $p=e,$p}var Dp,Xb;function Oq(){if(Xb)return Dp;Xb=1;var e=RC(),n=Mq(),r=Pq();function s(o,l,u){return l===l?r(o,l,u):e(o,n,u)}return Dp=s,Dp}var Fp,Qb;function Lq(){if(Qb)return Fp;Qb=1;var e=Oq();function n(r,s){var o=r==null?0:r.length;return!!o&&e(r,s,0)>-1}return Fp=n,Fp}var zp,Zb;function qq(){if(Zb)return zp;Zb=1;function e(n,r,s){for(var o=-1,l=n==null?0:n.length;++o<l;)if(s(r,n[o]))return!0;return!1}return zp=e,zp}var Bp,Jb;function $q(){if(Jb)return Bp;Jb=1;function e(){}return Bp=e,Bp}var Up,eS;function Dq(){if(eS)return Up;eS=1;var e=rC(),n=$q(),r=Bv(),s=1/0,o=e&&1/r(new e([,-0]))[1]==s?function(l){return new e(l)}:n;return Up=o,Up}var Hp,tS;function Fq(){if(tS)return Hp;tS=1;var e=fC(),n=Lq(),r=qq(),s=hC(),o=Dq(),l=Bv(),u=200;function c(p,h,f){var g=-1,y=n,x=p.length,N=!0,_=[],b=_;if(f)N=!1,y=r;else if(x>=u){var S=h?null:o(p);if(S)return l(S);N=!1,y=s,b=new e}else b=h?[]:_;e:for(;++g<x;){var k=p[g],E=h?h(k):k;if(k=f||k!==0?k:0,N&&E===E){for(var C=b.length;C--;)if(b[C]===E)continue e;h&&b.push(E),_.push(k)}else y(b,E,f)||(b!==_&&b.push(E),_.push(k))}return _}return Hp=c,Hp}var Wp,nS;function AC(){if(nS)return Wp;nS=1;var e=Or(),n=fr();function r(s){return n(s)&&e(s)}return Wp=r,Wp}var Vp,rS;function zq(){if(rS)return Vp;rS=1;var e=Hv(),n=ju(),r=Fq(),s=AC(),o=n(function(l){return r(e(l,1,s,!0))});return Vp=o,Vp}var Gp,iS;function Bq(){if(iS)return Gp;iS=1;var e=Nu();function n(r,s){return e(s,function(o){return r[o]})}return Gp=n,Gp}var Yp,sS;function IC(){if(sS)return Yp;sS=1;var e=Bq(),n=gi();function r(s){return s==null?[]:e(s,n(s))}return Yp=r,Yp}var Kp,oS;function Cn(){if(oS)return Kp;oS=1;var e;if(typeof jv=="function")try{e={clone:KL(),constant:Dv(),each:dC(),filter:bC(),has:SC(),isArray:_t(),isEmpty:wq(),isFunction:xa(),isUndefined:kC(),keys:gi(),map:NC(),reduce:CC(),size:Cq(),transform:Tq(),union:zq(),values:IC()}}catch{}return e||(e=window._),Kp=e,Kp}var Xp,aS;function Wv(){if(aS)return Xp;aS=1;var e=Cn();Xp=o;var n="\0",r="\0",s="";function o(f){this._isDirected=e.has(f,"directed")?f.directed:!0,this._isMultigraph=e.has(f,"multigraph")?f.multigraph:!1,this._isCompound=e.has(f,"compound")?f.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[r]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}o.prototype._nodeCount=0,o.prototype._edgeCount=0,o.prototype.isDirected=function(){return this._isDirected},o.prototype.isMultigraph=function(){return this._isMultigraph},o.prototype.isCompound=function(){return this._isCompound},o.prototype.setGraph=function(f){return this._label=f,this},o.prototype.graph=function(){return this._label},o.prototype.setDefaultNodeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultNodeLabelFn=f,this},o.prototype.nodeCount=function(){return this._nodeCount},o.prototype.nodes=function(){return e.keys(this._nodes)},o.prototype.sources=function(){var f=this;return e.filter(this.nodes(),function(g){return e.isEmpty(f._in[g])})},o.prototype.sinks=function(){var f=this;return e.filter(this.nodes(),function(g){return e.isEmpty(f._out[g])})},o.prototype.setNodes=function(f,g){var y=arguments,x=this;return e.each(f,function(N){y.length>1?x.setNode(N,g):x.setNode(N)}),this},o.prototype.setNode=function(f,g){return e.has(this._nodes,f)?(arguments.length>1&&(this._nodes[f]=g),this):(this._nodes[f]=arguments.length>1?g:this._defaultNodeLabelFn(f),this._isCompound&&(this._parent[f]=r,this._children[f]={},this._children[r][f]=!0),this._in[f]={},this._preds[f]={},this._out[f]={},this._sucs[f]={},++this._nodeCount,this)},o.prototype.node=function(f){return this._nodes[f]},o.prototype.hasNode=function(f){return e.has(this._nodes,f)},o.prototype.removeNode=function(f){var g=this;if(e.has(this._nodes,f)){var y=function(x){g.removeEdge(g._edgeObjs[x])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(x){g.setParent(x)}),delete this._children[f]),e.each(e.keys(this._in[f]),y),delete this._in[f],delete this._preds[f],e.each(e.keys(this._out[f]),y),delete this._out[f],delete this._sucs[f],--this._nodeCount}return this},o.prototype.setParent=function(f,g){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(g))g=r;else{g+="";for(var y=g;!e.isUndefined(y);y=this.parent(y))if(y===f)throw new Error("Setting "+g+" as parent of "+f+" would create a cycle");this.setNode(g)}return this.setNode(f),this._removeFromParentsChildList(f),this._parent[f]=g,this._children[g][f]=!0,this},o.prototype._removeFromParentsChildList=function(f){delete this._children[this._parent[f]][f]},o.prototype.parent=function(f){if(this._isCompound){var g=this._parent[f];if(g!==r)return g}},o.prototype.children=function(f){if(e.isUndefined(f)&&(f=r),this._isCompound){var g=this._children[f];if(g)return e.keys(g)}else{if(f===r)return this.nodes();if(this.hasNode(f))return[]}},o.prototype.predecessors=function(f){var g=this._preds[f];if(g)return e.keys(g)},o.prototype.successors=function(f){var g=this._sucs[f];if(g)return e.keys(g)},o.prototype.neighbors=function(f){var g=this.predecessors(f);if(g)return e.union(g,this.successors(f))},o.prototype.isLeaf=function(f){var g;return this.isDirected()?g=this.successors(f):g=this.neighbors(f),g.length===0},o.prototype.filterNodes=function(f){var g=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});g.setGraph(this.graph());var y=this;e.each(this._nodes,function(_,b){f(b)&&g.setNode(b,_)}),e.each(this._edgeObjs,function(_){g.hasNode(_.v)&&g.hasNode(_.w)&&g.setEdge(_,y.edge(_))});var x={};function N(_){var b=y.parent(_);return b===void 0||g.hasNode(b)?(x[_]=b,b):b in x?x[b]:N(b)}return this._isCompound&&e.each(g.nodes(),function(_){g.setParent(_,N(_))}),g},o.prototype.setDefaultEdgeLabel=function(f){return e.isFunction(f)||(f=e.constant(f)),this._defaultEdgeLabelFn=f,this},o.prototype.edgeCount=function(){return this._edgeCount},o.prototype.edges=function(){return e.values(this._edgeObjs)},o.prototype.setPath=function(f,g){var y=this,x=arguments;return e.reduce(f,function(N,_){return x.length>1?y.setEdge(N,_,g):y.setEdge(N,_),_}),this},o.prototype.setEdge=function(){var f,g,y,x,N=!1,_=arguments[0];typeof _=="object"&&_!==null&&"v"in _?(f=_.v,g=_.w,y=_.name,arguments.length===2&&(x=arguments[1],N=!0)):(f=_,g=arguments[1],y=arguments[3],arguments.length>2&&(x=arguments[2],N=!0)),f=""+f,g=""+g,e.isUndefined(y)||(y=""+y);var b=c(this._isDirected,f,g,y);if(e.has(this._edgeLabels,b))return N&&(this._edgeLabels[b]=x),this;if(!e.isUndefined(y)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(f),this.setNode(g),this._edgeLabels[b]=N?x:this._defaultEdgeLabelFn(f,g,y);var S=p(this._isDirected,f,g,y);return f=S.v,g=S.w,Object.freeze(S),this._edgeObjs[b]=S,l(this._preds[g],f),l(this._sucs[f],g),this._in[g][b]=S,this._out[f][b]=S,this._edgeCount++,this},o.prototype.edge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return this._edgeLabels[x]},o.prototype.hasEdge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return e.has(this._edgeLabels,x)},o.prototype.removeEdge=function(f,g,y){var x=arguments.length===1?h(this._isDirected,arguments[0]):c(this._isDirected,f,g,y),N=this._edgeObjs[x];return N&&(f=N.v,g=N.w,delete this._edgeLabels[x],delete this._edgeObjs[x],u(this._preds[g],f),u(this._sucs[f],g),delete this._in[g][x],delete this._out[f][x],this._edgeCount--),this},o.prototype.inEdges=function(f,g){var y=this._in[f];if(y){var x=e.values(y);return g?e.filter(x,function(N){return N.v===g}):x}},o.prototype.outEdges=function(f,g){var y=this._out[f];if(y){var x=e.values(y);return g?e.filter(x,function(N){return N.w===g}):x}},o.prototype.nodeEdges=function(f,g){var y=this.inEdges(f,g);if(y)return y.concat(this.outEdges(f,g))};function l(f,g){f[g]?f[g]++:f[g]=1}function u(f,g){--f[g]||delete f[g]}function c(f,g,y,x){var N=""+g,_=""+y;if(!f&&N>_){var b=N;N=_,_=b}return N+s+_+s+(e.isUndefined(x)?n:x)}function p(f,g,y,x){var N=""+g,_=""+y;if(!f&&N>_){var b=N;N=_,_=b}var S={v:N,w:_};return x&&(S.name=x),S}function h(f,g){return c(f,g.v,g.w,g.name)}return Xp}var Qp,lS;function Uq(){return lS||(lS=1,Qp="2.1.8"),Qp}var Zp,uS;function Hq(){return uS||(uS=1,Zp={Graph:Wv(),version:Uq()}),Zp}var Jp,cS;function Wq(){if(cS)return Jp;cS=1;var e=Cn(),n=Wv();Jp={write:r,read:l};function r(u){var c={options:{directed:u.isDirected(),multigraph:u.isMultigraph(),compound:u.isCompound()},nodes:s(u),edges:o(u)};return e.isUndefined(u.graph())||(c.value=e.clone(u.graph())),c}function s(u){return e.map(u.nodes(),function(c){var p=u.node(c),h=u.parent(c),f={v:c};return e.isUndefined(p)||(f.value=p),e.isUndefined(h)||(f.parent=h),f})}function o(u){return e.map(u.edges(),function(c){var p=u.edge(c),h={v:c.v,w:c.w};return e.isUndefined(c.name)||(h.name=c.name),e.isUndefined(p)||(h.value=p),h})}function l(u){var c=new n(u.options).setGraph(u.value);return e.each(u.nodes,function(p){c.setNode(p.v,p.value),p.parent&&c.setParent(p.v,p.parent)}),e.each(u.edges,function(p){c.setEdge({v:p.v,w:p.w,name:p.name},p.value)}),c}return Jp}var em,dS;function Vq(){if(dS)return em;dS=1;var e=Cn();em=n;function n(r){var s={},o=[],l;function u(c){e.has(s,c)||(s[c]=!0,l.push(c),e.each(r.successors(c),u),e.each(r.predecessors(c),u))}return e.each(r.nodes(),function(c){l=[],u(c),l.length&&o.push(l)}),o}return em}var tm,fS;function MC(){if(fS)return tm;fS=1;var e=Cn();tm=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(r){return r.key})},n.prototype.has=function(r){return e.has(this._keyIndices,r)},n.prototype.priority=function(r){var s=this._keyIndices[r];if(s!==void 0)return this._arr[s].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(r,s){var o=this._keyIndices;if(r=String(r),!e.has(o,r)){var l=this._arr,u=l.length;return o[r]=u,l.push({key:r,priority:s}),this._decrease(u),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var r=this._arr.pop();return delete this._keyIndices[r.key],this._heapify(0),r.key},n.prototype.decrease=function(r,s){var o=this._keyIndices[r];if(s>this._arr[o].priority)throw new Error("New priority is greater than current priority. Key: "+r+" Old: "+this._arr[o].priority+" New: "+s);this._arr[o].priority=s,this._decrease(o)},n.prototype._heapify=function(r){var s=this._arr,o=2*r,l=o+1,u=r;o<s.length&&(u=s[o].priority<s[u].priority?o:u,l<s.length&&(u=s[l].priority<s[u].priority?l:u),u!==r&&(this._swap(r,u),this._heapify(u)))},n.prototype._decrease=function(r){for(var s=this._arr,o=s[r].priority,l;r!==0&&(l=r>>1,!(s[l].priority<o));)this._swap(r,l),r=l},n.prototype._swap=function(r,s){var o=this._arr,l=this._keyIndices,u=o[r],c=o[s];o[r]=c,o[s]=u,l[c.key]=r,l[u.key]=s},tm}var nm,hS;function PC(){if(hS)return nm;hS=1;var e=Cn(),n=MC();nm=s;var r=e.constant(1);function s(l,u,c,p){return o(l,String(u),c||r,p||function(h){return l.outEdges(h)})}function o(l,u,c,p){var h={},f=new n,g,y,x=function(N){var _=N.v!==g?N.v:N.w,b=h[_],S=c(N),k=y.distance+S;if(S<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+N+" Weight: "+S);k<b.distance&&(b.distance=k,b.predecessor=g,f.decrease(_,k))};for(l.nodes().forEach(function(N){var _=N===u?0:Number.POSITIVE_INFINITY;h[N]={distance:_},f.add(N,_)});f.size()>0&&(g=f.removeMin(),y=h[g],y.distance!==Number.POSITIVE_INFINITY);)p(g).forEach(x);return h}return nm}var rm,pS;function Gq(){if(pS)return rm;pS=1;var e=PC(),n=Cn();rm=r;function r(s,o,l){return n.transform(s.nodes(),function(u,c){u[c]=e(s,c,o,l)},{})}return rm}var im,mS;function OC(){if(mS)return im;mS=1;var e=Cn();im=n;function n(r){var s=0,o=[],l={},u=[];function c(p){var h=l[p]={onStack:!0,lowlink:s,index:s++};if(o.push(p),r.successors(p).forEach(function(y){e.has(l,y)?l[y].onStack&&(h.lowlink=Math.min(h.lowlink,l[y].index)):(c(y),h.lowlink=Math.min(h.lowlink,l[y].lowlink))}),h.lowlink===h.index){var f=[],g;do g=o.pop(),l[g].onStack=!1,f.push(g);while(p!==g);u.push(f)}}return r.nodes().forEach(function(p){e.has(l,p)||c(p)}),u}return im}var sm,gS;function Yq(){if(gS)return sm;gS=1;var e=Cn(),n=OC();sm=r;function r(s){return e.filter(n(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return sm}var om,vS;function Kq(){if(vS)return om;vS=1;var e=Cn();om=r;var n=e.constant(1);function r(o,l,u){return s(o,l||n,u||function(c){return o.outEdges(c)})}function s(o,l,u){var c={},p=o.nodes();return p.forEach(function(h){c[h]={},c[h][h]={distance:0},p.forEach(function(f){h!==f&&(c[h][f]={distance:Number.POSITIVE_INFINITY})}),u(h).forEach(function(f){var g=f.v===h?f.w:f.v,y=l(f);c[h][g]={distance:y,predecessor:h}})}),p.forEach(function(h){var f=c[h];p.forEach(function(g){var y=c[g];p.forEach(function(x){var N=y[h],_=f[x],b=y[x],S=N.distance+_.distance;S<b.distance&&(b.distance=S,b.predecessor=_.predecessor)})})}),c}return om}var am,yS;function LC(){if(yS)return am;yS=1;var e=Cn();am=n,n.CycleException=r;function n(s){var o={},l={},u=[];function c(p){if(e.has(l,p))throw new r;e.has(o,p)||(l[p]=!0,o[p]=!0,e.each(s.predecessors(p),c),delete l[p],u.push(p))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,am}var lm,wS;function Xq(){if(wS)return lm;wS=1;var e=LC();lm=n;function n(r){try{e(r)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return lm}var um,xS;function qC(){if(xS)return um;xS=1;var e=Cn();um=n;function n(s,o,l){e.isArray(o)||(o=[o]);var u=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],p={};return e.each(o,function(h){if(!s.hasNode(h))throw new Error("Graph does not have node: "+h);r(s,h,l==="post",p,u,c)}),c}function r(s,o,l,u,c,p){e.has(u,o)||(u[o]=!0,l||p.push(o),e.each(c(o),function(h){r(s,h,l,u,c,p)}),l&&p.push(o))}return um}var cm,_S;function Qq(){if(_S)return cm;_S=1;var e=qC();cm=n;function n(r,s){return e(r,s,"post")}return cm}var dm,bS;function Zq(){if(bS)return dm;bS=1;var e=qC();dm=n;function n(r,s){return e(r,s,"pre")}return dm}var fm,SS;function Jq(){if(SS)return fm;SS=1;var e=Cn(),n=Wv(),r=MC();fm=s;function s(o,l){var u=new n,c={},p=new r,h;function f(y){var x=y.v===h?y.w:y.v,N=p.priority(x);if(N!==void 0){var _=l(y);_<N&&(c[x]=h,p.decrease(x,_))}}if(o.nodeCount()===0)return u;e.each(o.nodes(),function(y){p.add(y,Number.POSITIVE_INFINITY),u.setNode(y)}),p.decrease(o.nodes()[0],0);for(var g=!1;p.size()>0;){if(h=p.removeMin(),e.has(c,h))u.setEdge(h,c[h]);else{if(g)throw new Error("Input graph is not connected: "+o);g=!0}o.nodeEdges(h).forEach(f)}return u}return fm}var hm,kS;function e$(){return kS||(kS=1,hm={components:Vq(),dijkstra:PC(),dijkstraAll:Gq(),findCycles:Yq(),floydWarshall:Kq(),isAcyclic:Xq(),postorder:Qq(),preorder:Zq(),prim:Jq(),tarjan:OC(),topsort:LC()}),hm}var pm,ES;function t$(){if(ES)return pm;ES=1;var e=Hq();return pm={Graph:e.Graph,json:Wq(),alg:e$(),version:e.version},pm}var mm,NS;function Kn(){if(NS)return mm;NS=1;var e;if(typeof jv=="function")try{e=t$()}catch{}return e||(e=window.graphlib),mm=e,mm}var gm,CS;function n$(){if(CS)return gm;CS=1;var e=lC(),n=1,r=4;function s(o){return e(o,n|r)}return gm=s,gm}var vm,TS;function Ru(){if(TS)return vm;TS=1;var e=io(),n=Or(),r=_u(),s=Nn();function o(l,u,c){if(!s(c))return!1;var p=typeof u;return(p=="number"?n(c)&&r(u,c.length):p=="string"&&u in c)?e(c[u],l):!1}return vm=o,vm}var ym,jS;function r$(){if(jS)return ym;jS=1;var e=ju(),n=io(),r=Ru(),s=ss(),o=Object.prototype,l=o.hasOwnProperty,u=e(function(c,p){c=Object(c);var h=-1,f=p.length,g=f>2?p[2]:void 0;for(g&&r(p[0],p[1],g)&&(f=1);++h<f;)for(var y=p[h],x=s(y),N=-1,_=x.length;++N<_;){var b=x[N],S=c[b];(S===void 0||n(S,o[b])&&!l.call(c,b))&&(c[b]=y[b])}return c});return ym=u,ym}var wm,RS;function i$(){if(RS)return wm;RS=1;var e=Lr(),n=Or(),r=gi();function s(o){return function(l,u,c){var p=Object(l);if(!n(l)){var h=e(u,3);l=r(l),u=function(g){return h(p[g],g,p)}}var f=o(l,u,c);return f>-1?p[h?l[f]:f]:void 0}}return wm=s,wm}var xm,AS;function s$(){if(AS)return xm;AS=1;var e=/\s/;function n(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return xm=n,xm}var _m,IS;function o$(){if(IS)return _m;IS=1;var e=s$(),n=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(n,"")}return _m=r,_m}var bm,MS;function a$(){if(MS)return bm;MS=1;var e=o$(),n=Nn(),r=lo(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,l=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function p(h){if(typeof h=="number")return h;if(r(h))return s;if(n(h)){var f=typeof h.valueOf=="function"?h.valueOf():h;h=n(f)?f+"":f}if(typeof h!="string")return h===0?h:+h;h=e(h);var g=l.test(h);return g||u.test(h)?c(h.slice(2),g?2:8):o.test(h)?s:+h}return bm=p,bm}var Sm,PS;function $C(){if(PS)return Sm;PS=1;var e=a$(),n=1/0,r=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===n||o===-n){var l=o<0?-1:1;return l*r}return o===o?o:0}return Sm=s,Sm}var km,OS;function l$(){if(OS)return km;OS=1;var e=$C();function n(r){var s=e(r),o=s%1;return s===s?o?s-o:s:0}return km=n,km}var Em,LS;function u$(){if(LS)return Em;LS=1;var e=RC(),n=Lr(),r=l$(),s=Math.max;function o(l,u,c){var p=l==null?0:l.length;if(!p)return-1;var h=c==null?0:r(c);return h<0&&(h=s(p+h,0)),e(l,n(u,3),h)}return Em=o,Em}var Nm,qS;function c$(){if(qS)return Nm;qS=1;var e=i$(),n=u$(),r=e(n);return Nm=r,Nm}var Cm,$S;function DC(){if($S)return Cm;$S=1;var e=Hv();function n(r){var s=r==null?0:r.length;return s?e(r,1):[]}return Cm=n,Cm}var Tm,DS;function d$(){if(DS)return Tm;DS=1;var e=Fv(),n=uC(),r=ss();function s(o,l){return o==null?o:e(o,n(l),r)}return Tm=s,Tm}var jm,FS;function f$(){if(FS)return jm;FS=1;function e(n){var r=n==null?0:n.length;return r?n[r-1]:void 0}return jm=e,jm}var Rm,zS;function h$(){if(zS)return Rm;zS=1;var e=wu(),n=zv(),r=Lr();function s(o,l){var u={};return l=r(l,3),n(o,function(c,p,h){e(u,p,l(c,p,h))}),u}return Rm=s,Rm}var Am,BS;function Vv(){if(BS)return Am;BS=1;var e=lo();function n(r,s,o){for(var l=-1,u=r.length;++l<u;){var c=r[l],p=s(c);if(p!=null&&(h===void 0?p===p&&!e(p):o(p,h)))var h=p,f=c}return f}return Am=n,Am}var Im,US;function p$(){if(US)return Im;US=1;function e(n,r){return n>r}return Im=e,Im}var Mm,HS;function m$(){if(HS)return Mm;HS=1;var e=Vv(),n=p$(),r=os();function s(o){return o&&o.length?e(o,r,n):void 0}return Mm=s,Mm}var Pm,WS;function FC(){if(WS)return Pm;WS=1;var e=wu(),n=io();function r(s,o,l){(l!==void 0&&!n(s[o],l)||l===void 0&&!(o in s))&&e(s,o,l)}return Pm=r,Pm}var Om,VS;function g$(){if(VS)return Om;VS=1;var e=rs(),n=ku(),r=fr(),s="[object Object]",o=Function.prototype,l=Object.prototype,u=o.toString,c=l.hasOwnProperty,p=u.call(Object);function h(f){if(!r(f)||e(f)!=s)return!1;var g=n(f);if(g===null)return!0;var y=c.call(g,"constructor")&&g.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==p}return Om=h,Om}var Lm,GS;function zC(){if(GS)return Lm;GS=1;function e(n,r){if(!(r==="constructor"&&typeof n[r]=="function")&&r!="__proto__")return n[r]}return Lm=e,Lm}var qm,YS;function v$(){if(YS)return qm;YS=1;var e=_a(),n=ss();function r(s){return e(s,n(s))}return qm=r,qm}var $m,KS;function y$(){if(KS)return $m;KS=1;var e=FC(),n=XN(),r=sC(),s=QN(),o=aC(),l=ba(),u=_t(),c=AC(),p=oo(),h=xa(),f=Nn(),g=g$(),y=Sa(),x=zC(),N=v$();function _(b,S,k,E,C,I,M){var O=x(b,k),W=x(S,k),L=M.get(W);if(L){e(b,k,L);return}var P=I?I(O,W,k+"",b,S,M):void 0,q=P===void 0;if(q){var U=u(W),B=!U&&p(W),R=!U&&!B&&y(W);P=W,U||B||R?u(O)?P=O:c(O)?P=s(O):B?(q=!1,P=n(W,!0)):R?(q=!1,P=r(W,!0)):P=[]:g(W)||l(W)?(P=O,l(O)?P=N(O):(!f(O)||h(O))&&(P=o(W))):q=!1}q&&(M.set(W,P),C(P,W,E,I,M),M.delete(W)),e(b,k,P)}return $m=_,$m}var Dm,XS;function w$(){if(XS)return Dm;XS=1;var e=yu(),n=FC(),r=Fv(),s=y$(),o=Nn(),l=ss(),u=zC();function c(p,h,f,g,y){p!==h&&r(h,function(x,N){if(y||(y=new e),o(x))s(p,h,N,f,c,g,y);else{var _=g?g(u(p,N),x,N+"",p,h,y):void 0;_===void 0&&(_=x),n(p,N,_)}},l)}return Dm=c,Dm}var Fm,QS;function x$(){if(QS)return Fm;QS=1;var e=ju(),n=Ru();function r(s){return e(function(o,l){var u=-1,c=l.length,p=c>1?l[c-1]:void 0,h=c>2?l[2]:void 0;for(p=s.length>3&&typeof p=="function"?(c--,p):void 0,h&&n(l[0],l[1],h)&&(p=c<3?void 0:p,c=1),o=Object(o);++u<c;){var f=l[u];f&&s(o,f,u,p)}return o})}return Fm=r,Fm}var zm,ZS;function _$(){if(ZS)return zm;ZS=1;var e=w$(),n=x$(),r=n(function(s,o,l){e(s,o,l)});return zm=r,zm}var Bm,JS;function BC(){if(JS)return Bm;JS=1;function e(n,r){return n<r}return Bm=e,Bm}var Um,ek;function b$(){if(ek)return Um;ek=1;var e=Vv(),n=BC(),r=os();function s(o){return o&&o.length?e(o,r,n):void 0}return Um=s,Um}var Hm,tk;function S$(){if(tk)return Hm;tk=1;var e=Vv(),n=Lr(),r=BC();function s(o,l){return o&&o.length?e(o,n(l,2),r):void 0}return Hm=s,Hm}var Wm,nk;function k$(){if(nk)return Wm;nk=1;var e=Qn(),n=function(){return e.Date.now()};return Wm=n,Wm}var Vm,rk;function E$(){if(rk)return Vm;rk=1;var e=xu(),n=Cu(),r=_u(),s=Nn(),o=ka();function l(u,c,p,h){if(!s(u))return u;c=n(c,u);for(var f=-1,g=c.length,y=g-1,x=u;x!=null&&++f<g;){var N=o(c[f]),_=p;if(N==="__proto__"||N==="constructor"||N==="prototype")return u;if(f!=y){var b=x[N];_=h?h(b,N,x):void 0,_===void 0&&(_=s(b)?b:r(c[f+1])?[]:{})}e(x,N,_),x=x[N]}return u}return Vm=l,Vm}var Gm,ik;function N$(){if(ik)return Gm;ik=1;var e=Tu(),n=E$(),r=Cu();function s(o,l,u){for(var c=-1,p=l.length,h={};++c<p;){var f=l[c],g=e(o,f);u(g,f)&&n(h,r(f,o),g)}return h}return Gm=s,Gm}var Ym,sk;function C$(){if(sk)return Ym;sk=1;var e=N$(),n=xC();function r(s,o){return e(s,o,function(l,u){return n(s,u)})}return Ym=r,Ym}var Km,ok;function T$(){if(ok)return Km;ok=1;var e=DC(),n=TC(),r=jC();function s(o){return r(n(o,void 0,e),o+"")}return Km=s,Km}var Xm,ak;function j$(){if(ak)return Xm;ak=1;var e=C$(),n=T$(),r=n(function(s,o){return s==null?{}:e(s,o)});return Xm=r,Xm}var Qm,lk;function R$(){if(lk)return Qm;lk=1;var e=Math.ceil,n=Math.max;function r(s,o,l,u){for(var c=-1,p=n(e((o-s)/(l||1)),0),h=Array(p);p--;)h[u?p:++c]=s,s+=l;return h}return Qm=r,Qm}var Zm,uk;function A$(){if(uk)return Zm;uk=1;var e=R$(),n=Ru(),r=$C();function s(o){return function(l,u,c){return c&&typeof c!="number"&&n(l,u,c)&&(u=c=void 0),l=r(l),u===void 0?(u=l,l=0):u=r(u),c=c===void 0?l<u?1:-1:r(c),e(l,u,c,o)}}return Zm=s,Zm}var Jm,ck;function I$(){if(ck)return Jm;ck=1;var e=A$(),n=e();return Jm=n,Jm}var eg,dk;function M$(){if(dk)return eg;dk=1;function e(n,r){var s=n.length;for(n.sort(r);s--;)n[s]=n[s].value;return n}return eg=e,eg}var tg,fk;function P$(){if(fk)return tg;fk=1;var e=lo();function n(r,s){if(r!==s){var o=r!==void 0,l=r===null,u=r===r,c=e(r),p=s!==void 0,h=s===null,f=s===s,g=e(s);if(!h&&!g&&!c&&r>s||c&&p&&f&&!h&&!g||l&&p&&f||!o&&f||!u)return 1;if(!l&&!c&&!g&&r<s||g&&o&&u&&!l&&!c||h&&o&&u||!p&&u||!f)return-1}return 0}return tg=n,tg}var ng,hk;function O$(){if(hk)return ng;hk=1;var e=P$();function n(r,s,o){for(var l=-1,u=r.criteria,c=s.criteria,p=u.length,h=o.length;++l<p;){var f=e(u[l],c[l]);if(f){if(l>=h)return f;var g=o[l];return f*(g=="desc"?-1:1)}}return r.index-s.index}return ng=n,ng}var rg,pk;function L$(){if(pk)return rg;pk=1;var e=Nu(),n=Tu(),r=Lr(),s=EC(),o=M$(),l=bu(),u=O$(),c=os(),p=_t();function h(f,g,y){g.length?g=e(g,function(_){return p(_)?function(b){return n(b,_.length===1?_[0]:_)}:_}):g=[c];var x=-1;g=e(g,l(r));var N=s(f,function(_,b,S){var k=e(g,function(E){return E(_)});return{criteria:k,index:++x,value:_}});return o(N,function(_,b){return u(_,b,y)})}return rg=h,rg}var ig,mk;function q$(){if(mk)return ig;mk=1;var e=Hv(),n=L$(),r=ju(),s=Ru(),o=r(function(l,u){if(l==null)return[];var c=u.length;return c>1&&s(l,u[0],u[1])?u=[]:c>2&&s(u[0],u[1],u[2])&&(u=[u[0]]),n(l,e(u,1),[])});return ig=o,ig}var sg,gk;function $$(){if(gk)return sg;gk=1;var e=yC(),n=0;function r(s){var o=++n;return e(s)+o}return sg=r,sg}var og,vk;function D$(){if(vk)return og;vk=1;function e(n,r,s){for(var o=-1,l=n.length,u=r.length,c={};++o<l;){var p=o<u?r[o]:void 0;s(c,n[o],p)}return c}return og=e,og}var ag,yk;function F$(){if(yk)return ag;yk=1;var e=xu(),n=D$();function r(s,o){return n(s||[],o||[],e)}return ag=r,ag}var lg,wk;function ot(){if(wk)return lg;wk=1;var e;if(typeof jv=="function")try{e={cloneDeep:n$(),constant:Dv(),defaults:r$(),each:dC(),filter:bC(),find:c$(),flatten:DC(),forEach:cC(),forIn:d$(),has:SC(),isUndefined:kC(),last:f$(),map:NC(),mapValues:h$(),max:m$(),merge:_$(),min:b$(),minBy:S$(),now:k$(),pick:j$(),range:I$(),reduce:CC(),sortBy:q$(),uniqueId:$$(),values:IC(),zipObject:F$()}}catch{}return e||(e=window._),lg=e,lg}var ug,xk;function z$(){if(xk)return ug;xk=1,ug=e;function e(){var s={};s._next=s._prev=s,this._sentinel=s}e.prototype.dequeue=function(){var s=this._sentinel,o=s._prev;if(o!==s)return n(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&n(s),s._next=o._next,o._next._prev=s,o._next=s,s._prev=o},e.prototype.toString=function(){for(var s=[],o=this._sentinel,l=o._prev;l!==o;)s.push(JSON.stringify(l,r)),l=l._prev;return"["+s.join(", ")+"]"};function n(s){s._prev._next=s._next,s._next._prev=s._prev,delete s._next,delete s._prev}function r(s,o){if(s!=="_next"&&s!=="_prev")return o}return ug}var cg,_k;function B$(){if(_k)return cg;_k=1;var e=ot(),n=Kn().Graph,r=z$();cg=o;var s=e.constant(1);function o(h,f){if(h.nodeCount()<=1)return[];var g=c(h,f||s),y=l(g.graph,g.buckets,g.zeroIdx);return e.flatten(e.map(y,function(x){return h.outEdges(x.v,x.w)}),!0)}function l(h,f,g){for(var y=[],x=f[f.length-1],N=f[0],_;h.nodeCount();){for(;_=N.dequeue();)u(h,f,g,_);for(;_=x.dequeue();)u(h,f,g,_);if(h.nodeCount()){for(var b=f.length-2;b>0;--b)if(_=f[b].dequeue(),_){y=y.concat(u(h,f,g,_,!0));break}}}return y}function u(h,f,g,y,x){var N=x?[]:void 0;return e.forEach(h.inEdges(y.v),function(_){var b=h.edge(_),S=h.node(_.v);x&&N.push({v:_.v,w:_.w}),S.out-=b,p(f,g,S)}),e.forEach(h.outEdges(y.v),function(_){var b=h.edge(_),S=_.w,k=h.node(S);k.in-=b,p(f,g,k)}),h.removeNode(y.v),N}function c(h,f){var g=new n,y=0,x=0;e.forEach(h.nodes(),function(b){g.setNode(b,{v:b,in:0,out:0})}),e.forEach(h.edges(),function(b){var S=g.edge(b.v,b.w)||0,k=f(b),E=S+k;g.setEdge(b.v,b.w,E),x=Math.max(x,g.node(b.v).out+=k),y=Math.max(y,g.node(b.w).in+=k)});var N=e.range(x+y+3).map(function(){return new r}),_=y+1;return e.forEach(g.nodes(),function(b){p(N,_,g.node(b))}),{graph:g,buckets:N,zeroIdx:_}}function p(h,f,g){g.out?g.in?h[g.out-g.in+f].enqueue(g):h[h.length-1].enqueue(g):h[0].enqueue(g)}return cg}var dg,bk;function U$(){if(bk)return dg;bk=1;var e=ot(),n=B$();dg={run:r,undo:o};function r(l){var u=l.graph().acyclicer==="greedy"?n(l,c(l)):s(l);e.forEach(u,function(p){var h=l.edge(p);l.removeEdge(p),h.forwardName=p.name,h.reversed=!0,l.setEdge(p.w,p.v,h,e.uniqueId("rev"))});function c(p){return function(h){return p.edge(h).weight}}}function s(l){var u=[],c={},p={};function h(f){e.has(p,f)||(p[f]=!0,c[f]=!0,e.forEach(l.outEdges(f),function(g){e.has(c,g.w)?u.push(g):h(g.w)}),delete c[f])}return e.forEach(l.nodes(),h),u}function o(l){e.forEach(l.edges(),function(u){var c=l.edge(u);if(c.reversed){l.removeEdge(u);var p=c.forwardName;delete c.reversed,delete c.forwardName,l.setEdge(u.w,u.v,c,p)}})}return dg}var fg,Sk;function on(){if(Sk)return fg;Sk=1;var e=ot(),n=Kn().Graph;fg={addDummyNode:r,simplify:s,asNonCompoundGraph:o,successorWeights:l,predecessorWeights:u,intersectRect:c,buildLayerMatrix:p,normalizeRanks:h,removeEmptyRanks:f,addBorderNode:g,maxRank:y,partition:x,time:N,notime:_};function r(b,S,k,E){var C;do C=e.uniqueId(E);while(b.hasNode(C));return k.dummy=S,b.setNode(C,k),C}function s(b){var S=new n().setGraph(b.graph());return e.forEach(b.nodes(),function(k){S.setNode(k,b.node(k))}),e.forEach(b.edges(),function(k){var E=S.edge(k.v,k.w)||{weight:0,minlen:1},C=b.edge(k);S.setEdge(k.v,k.w,{weight:E.weight+C.weight,minlen:Math.max(E.minlen,C.minlen)})}),S}function o(b){var S=new n({multigraph:b.isMultigraph()}).setGraph(b.graph());return e.forEach(b.nodes(),function(k){b.children(k).length||S.setNode(k,b.node(k))}),e.forEach(b.edges(),function(k){S.setEdge(k,b.edge(k))}),S}function l(b){var S=e.map(b.nodes(),function(k){var E={};return e.forEach(b.outEdges(k),function(C){E[C.w]=(E[C.w]||0)+b.edge(C).weight}),E});return e.zipObject(b.nodes(),S)}function u(b){var S=e.map(b.nodes(),function(k){var E={};return e.forEach(b.inEdges(k),function(C){E[C.v]=(E[C.v]||0)+b.edge(C).weight}),E});return e.zipObject(b.nodes(),S)}function c(b,S){var k=b.x,E=b.y,C=S.x-k,I=S.y-E,M=b.width/2,O=b.height/2;if(!C&&!I)throw new Error("Not possible to find intersection inside of the rectangle");var W,L;return Math.abs(I)*M>Math.abs(C)*O?(I<0&&(O=-O),W=O*C/I,L=O):(C<0&&(M=-M),W=M,L=M*I/C),{x:k+W,y:E+L}}function p(b){var S=e.map(e.range(y(b)+1),function(){return[]});return e.forEach(b.nodes(),function(k){var E=b.node(k),C=E.rank;e.isUndefined(C)||(S[C][E.order]=k)}),S}function h(b){var S=e.min(e.map(b.nodes(),function(k){return b.node(k).rank}));e.forEach(b.nodes(),function(k){var E=b.node(k);e.has(E,"rank")&&(E.rank-=S)})}function f(b){var S=e.min(e.map(b.nodes(),function(I){return b.node(I).rank})),k=[];e.forEach(b.nodes(),function(I){var M=b.node(I).rank-S;k[M]||(k[M]=[]),k[M].push(I)});var E=0,C=b.graph().nodeRankFactor;e.forEach(k,function(I,M){e.isUndefined(I)&&M%C!==0?--E:E&&e.forEach(I,function(O){b.node(O).rank+=E})})}function g(b,S,k,E){var C={width:0,height:0};return arguments.length>=4&&(C.rank=k,C.order=E),r(b,"border",C,S)}function y(b){return e.max(e.map(b.nodes(),function(S){var k=b.node(S).rank;if(!e.isUndefined(k))return k}))}function x(b,S){var k={lhs:[],rhs:[]};return e.forEach(b,function(E){S(E)?k.lhs.push(E):k.rhs.push(E)}),k}function N(b,S){var k=e.now();try{return S()}finally{console.log(b+" time: "+(e.now()-k)+"ms")}}function _(b,S){return S()}return fg}var hg,kk;function H$(){if(kk)return hg;kk=1;var e=ot(),n=on();hg={run:r,undo:o};function r(l){l.graph().dummyChains=[],e.forEach(l.edges(),function(u){s(l,u)})}function s(l,u){var c=u.v,p=l.node(c).rank,h=u.w,f=l.node(h).rank,g=u.name,y=l.edge(u),x=y.labelRank;if(f!==p+1){l.removeEdge(u);var N,_,b;for(b=0,++p;p<f;++b,++p)y.points=[],_={width:0,height:0,edgeLabel:y,edgeObj:u,rank:p},N=n.addDummyNode(l,"edge",_,"_d"),p===x&&(_.width=y.width,_.height=y.height,_.dummy="edge-label",_.labelpos=y.labelpos),l.setEdge(c,N,{weight:y.weight},g),b===0&&l.graph().dummyChains.push(N),c=N;l.setEdge(c,h,{weight:y.weight},g)}}function o(l){e.forEach(l.graph().dummyChains,function(u){var c=l.node(u),p=c.edgeLabel,h;for(l.setEdge(c.edgeObj,p);c.dummy;)h=l.successors(u)[0],l.removeNode(u),p.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(p.x=c.x,p.y=c.y,p.width=c.width,p.height=c.height),u=h,c=l.node(u)})}return hg}var pg,Ek;function su(){if(Ek)return pg;Ek=1;var e=ot();pg={longestPath:n,slack:r};function n(s){var o={};function l(u){var c=s.node(u);if(e.has(o,u))return c.rank;o[u]=!0;var p=e.min(e.map(s.outEdges(u),function(h){return l(h.w)-s.edge(h).minlen}));return(p===Number.POSITIVE_INFINITY||p===void 0||p===null)&&(p=0),c.rank=p}e.forEach(s.sources(),l)}function r(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return pg}var mg,Nk;function UC(){if(Nk)return mg;Nk=1;var e=ot(),n=Kn().Graph,r=su().slack;mg=s;function s(c){var p=new n({directed:!1}),h=c.nodes()[0],f=c.nodeCount();p.setNode(h,{});for(var g,y;o(p,c)<f;)g=l(p,c),y=p.hasNode(g.v)?r(c,g):-r(c,g),u(p,c,y);return p}function o(c,p){function h(f){e.forEach(p.nodeEdges(f),function(g){var y=g.v,x=f===y?g.w:y;!c.hasNode(x)&&!r(p,g)&&(c.setNode(x,{}),c.setEdge(f,x,{}),h(x))})}return e.forEach(c.nodes(),h),c.nodeCount()}function l(c,p){return e.minBy(p.edges(),function(h){if(c.hasNode(h.v)!==c.hasNode(h.w))return r(p,h)})}function u(c,p,h){e.forEach(c.nodes(),function(f){p.node(f).rank+=h})}return mg}var gg,Ck;function W$(){if(Ck)return gg;Ck=1;var e=ot(),n=UC(),r=su().slack,s=su().longestPath,o=Kn().alg.preorder,l=Kn().alg.postorder,u=on().simplify;gg=c,c.initLowLimValues=g,c.initCutValues=p,c.calcCutValue=f,c.leaveEdge=x,c.enterEdge=N,c.exchangeEdges=_;function c(E){E=u(E),s(E);var C=n(E);g(C),p(C,E);for(var I,M;I=x(C);)M=N(C,E,I),_(C,E,I,M)}function p(E,C){var I=l(E,E.nodes());I=I.slice(0,I.length-1),e.forEach(I,function(M){h(E,C,M)})}function h(E,C,I){var M=E.node(I),O=M.parent;E.edge(I,O).cutvalue=f(E,C,I)}function f(E,C,I){var M=E.node(I),O=M.parent,W=!0,L=C.edge(I,O),P=0;return L||(W=!1,L=C.edge(O,I)),P=L.weight,e.forEach(C.nodeEdges(I),function(q){var U=q.v===I,B=U?q.w:q.v;if(B!==O){var R=U===W,Q=C.edge(q).weight;if(P+=R?Q:-Q,S(E,I,B)){var H=E.edge(I,B).cutvalue;P+=R?-H:H}}}),P}function g(E,C){arguments.length<2&&(C=E.nodes()[0]),y(E,{},1,C)}function y(E,C,I,M,O){var W=I,L=E.node(M);return C[M]=!0,e.forEach(E.neighbors(M),function(P){e.has(C,P)||(I=y(E,C,I,P,M))}),L.low=W,L.lim=I++,O?L.parent=O:delete L.parent,I}function x(E){return e.find(E.edges(),function(C){return E.edge(C).cutvalue<0})}function N(E,C,I){var M=I.v,O=I.w;C.hasEdge(M,O)||(M=I.w,O=I.v);var W=E.node(M),L=E.node(O),P=W,q=!1;W.lim>L.lim&&(P=L,q=!0);var U=e.filter(C.edges(),function(B){return q===k(E,E.node(B.v),P)&&q!==k(E,E.node(B.w),P)});return e.minBy(U,function(B){return r(C,B)})}function _(E,C,I,M){var O=I.v,W=I.w;E.removeEdge(O,W),E.setEdge(M.v,M.w,{}),g(E),p(E,C),b(E,C)}function b(E,C){var I=e.find(E.nodes(),function(O){return!C.node(O).parent}),M=o(E,I);M=M.slice(1),e.forEach(M,function(O){var W=E.node(O).parent,L=C.edge(O,W),P=!1;L||(L=C.edge(W,O),P=!0),C.node(O).rank=C.node(W).rank+(P?L.minlen:-L.minlen)})}function S(E,C,I){return E.hasEdge(C,I)}function k(E,C,I){return I.low<=C.lim&&C.lim<=I.lim}return gg}var vg,Tk;function V$(){if(Tk)return vg;Tk=1;var e=su(),n=e.longestPath,r=UC(),s=W$();vg=o;function o(p){switch(p.graph().ranker){case"network-simplex":c(p);break;case"tight-tree":u(p);break;case"longest-path":l(p);break;default:c(p)}}var l=n;function u(p){n(p),r(p)}function c(p){s(p)}return vg}var yg,jk;function G$(){if(jk)return yg;jk=1;var e=ot();yg=n;function n(o){var l=s(o);e.forEach(o.graph().dummyChains,function(u){for(var c=o.node(u),p=c.edgeObj,h=r(o,l,p.v,p.w),f=h.path,g=h.lca,y=0,x=f[y],N=!0;u!==p.w;){if(c=o.node(u),N){for(;(x=f[y])!==g&&o.node(x).maxRank<c.rank;)y++;x===g&&(N=!1)}if(!N){for(;y<f.length-1&&o.node(x=f[y+1]).minRank<=c.rank;)y++;x=f[y]}o.setParent(u,x),u=o.successors(u)[0]}})}function r(o,l,u,c){var p=[],h=[],f=Math.min(l[u].low,l[c].low),g=Math.max(l[u].lim,l[c].lim),y,x;y=u;do y=o.parent(y),p.push(y);while(y&&(l[y].low>f||g>l[y].lim));for(x=y,y=c;(y=o.parent(y))!==x;)h.push(y);return{path:p.concat(h.reverse()),lca:x}}function s(o){var l={},u=0;function c(p){var h=u;e.forEach(o.children(p),c),l[p]={low:h,lim:u++}}return e.forEach(o.children(),c),l}return yg}var wg,Rk;function Y$(){if(Rk)return wg;Rk=1;var e=ot(),n=on();wg={run:r,cleanup:u};function r(c){var p=n.addDummyNode(c,"root",{},"_root"),h=o(c),f=e.max(e.values(h))-1,g=2*f+1;c.graph().nestingRoot=p,e.forEach(c.edges(),function(x){c.edge(x).minlen*=g});var y=l(c)+1;e.forEach(c.children(),function(x){s(c,p,g,y,f,h,x)}),c.graph().nodeRankFactor=g}function s(c,p,h,f,g,y,x){var N=c.children(x);if(!N.length){x!==p&&c.setEdge(p,x,{weight:0,minlen:h});return}var _=n.addBorderNode(c,"_bt"),b=n.addBorderNode(c,"_bb"),S=c.node(x);c.setParent(_,x),S.borderTop=_,c.setParent(b,x),S.borderBottom=b,e.forEach(N,function(k){s(c,p,h,f,g,y,k);var E=c.node(k),C=E.borderTop?E.borderTop:k,I=E.borderBottom?E.borderBottom:k,M=E.borderTop?f:2*f,O=C!==I?1:g-y[x]+1;c.setEdge(_,C,{weight:M,minlen:O,nestingEdge:!0}),c.setEdge(I,b,{weight:M,minlen:O,nestingEdge:!0})}),c.parent(x)||c.setEdge(p,_,{weight:0,minlen:g+y[x]})}function o(c){var p={};function h(f,g){var y=c.children(f);y&&y.length&&e.forEach(y,function(x){h(x,g+1)}),p[f]=g}return e.forEach(c.children(),function(f){h(f,1)}),p}function l(c){return e.reduce(c.edges(),function(p,h){return p+c.edge(h).weight},0)}function u(c){var p=c.graph();c.removeNode(p.nestingRoot),delete p.nestingRoot,e.forEach(c.edges(),function(h){var f=c.edge(h);f.nestingEdge&&c.removeEdge(h)})}return wg}var xg,Ak;function K$(){if(Ak)return xg;Ak=1;var e=ot(),n=on();xg=r;function r(o){function l(u){var c=o.children(u),p=o.node(u);if(c.length&&e.forEach(c,l),e.has(p,"minRank")){p.borderLeft=[],p.borderRight=[];for(var h=p.minRank,f=p.maxRank+1;h<f;++h)s(o,"borderLeft","_bl",u,p,h),s(o,"borderRight","_br",u,p,h)}}e.forEach(o.children(),l)}function s(o,l,u,c,p,h){var f={width:0,height:0,rank:h,borderType:l},g=p[l][h-1],y=n.addDummyNode(o,"border",f,u);p[l][h]=y,o.setParent(y,c),g&&o.setEdge(g,y,{weight:1})}return xg}var _g,Ik;function X$(){if(Ik)return _g;Ik=1;var e=ot();_g={adjust:n,undo:r};function n(h){var f=h.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&s(h)}function r(h){var f=h.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&l(h),(f==="lr"||f==="rl")&&(c(h),s(h))}function s(h){e.forEach(h.nodes(),function(f){o(h.node(f))}),e.forEach(h.edges(),function(f){o(h.edge(f))})}function o(h){var f=h.width;h.width=h.height,h.height=f}function l(h){e.forEach(h.nodes(),function(f){u(h.node(f))}),e.forEach(h.edges(),function(f){var g=h.edge(f);e.forEach(g.points,u),e.has(g,"y")&&u(g)})}function u(h){h.y=-h.y}function c(h){e.forEach(h.nodes(),function(f){p(h.node(f))}),e.forEach(h.edges(),function(f){var g=h.edge(f);e.forEach(g.points,p),e.has(g,"x")&&p(g)})}function p(h){var f=h.x;h.x=h.y,h.y=f}return _g}var bg,Mk;function Q$(){if(Mk)return bg;Mk=1;var e=ot();bg=n;function n(r){var s={},o=e.filter(r.nodes(),function(h){return!r.children(h).length}),l=e.max(e.map(o,function(h){return r.node(h).rank})),u=e.map(e.range(l+1),function(){return[]});function c(h){if(!e.has(s,h)){s[h]=!0;var f=r.node(h);u[f.rank].push(h),e.forEach(r.successors(h),c)}}var p=e.sortBy(o,function(h){return r.node(h).rank});return e.forEach(p,c),u}return bg}var Sg,Pk;function Z$(){if(Pk)return Sg;Pk=1;var e=ot();Sg=n;function n(s,o){for(var l=0,u=1;u<o.length;++u)l+=r(s,o[u-1],o[u]);return l}function r(s,o,l){for(var u=e.zipObject(l,e.map(l,function(y,x){return x})),c=e.flatten(e.map(o,function(y){return e.sortBy(e.map(s.outEdges(y),function(x){return{pos:u[x.w],weight:s.edge(x).weight}}),"pos")}),!0),p=1;p<l.length;)p<<=1;var h=2*p-1;p-=1;var f=e.map(new Array(h),function(){return 0}),g=0;return e.forEach(c.forEach(function(y){var x=y.pos+p;f[x]+=y.weight;for(var N=0;x>0;)x%2&&(N+=f[x+1]),x=x-1>>1,f[x]+=y.weight;g+=y.weight*N})),g}return Sg}var kg,Ok;function J$(){if(Ok)return kg;Ok=1;var e=ot();kg=n;function n(r,s){return e.map(s,function(o){var l=r.inEdges(o);if(l.length){var u=e.reduce(l,function(c,p){var h=r.edge(p),f=r.node(p.v);return{sum:c.sum+h.weight*f.order,weight:c.weight+h.weight}},{sum:0,weight:0});return{v:o,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:o}})}return kg}var Eg,Lk;function e4(){if(Lk)return Eg;Lk=1;var e=ot();Eg=n;function n(o,l){var u={};e.forEach(o,function(p,h){var f=u[p.v]={indegree:0,in:[],out:[],vs:[p.v],i:h};e.isUndefined(p.barycenter)||(f.barycenter=p.barycenter,f.weight=p.weight)}),e.forEach(l.edges(),function(p){var h=u[p.v],f=u[p.w];!e.isUndefined(h)&&!e.isUndefined(f)&&(f.indegree++,h.out.push(u[p.w]))});var c=e.filter(u,function(p){return!p.indegree});return r(c)}function r(o){var l=[];function u(h){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(h.barycenter)||f.barycenter>=h.barycenter)&&s(h,f)}}function c(h){return function(f){f.in.push(h),--f.indegree===0&&o.push(f)}}for(;o.length;){var p=o.pop();l.push(p),e.forEach(p.in.reverse(),u(p)),e.forEach(p.out,c(p))}return e.map(e.filter(l,function(h){return!h.merged}),function(h){return e.pick(h,["vs","i","barycenter","weight"])})}function s(o,l){var u=0,c=0;o.weight&&(u+=o.barycenter*o.weight,c+=o.weight),l.weight&&(u+=l.barycenter*l.weight,c+=l.weight),o.vs=l.vs.concat(o.vs),o.barycenter=u/c,o.weight=c,o.i=Math.min(l.i,o.i),l.merged=!0}return Eg}var Ng,qk;function t4(){if(qk)return Ng;qk=1;var e=ot(),n=on();Ng=r;function r(l,u){var c=n.partition(l,function(_){return e.has(_,"barycenter")}),p=c.lhs,h=e.sortBy(c.rhs,function(_){return-_.i}),f=[],g=0,y=0,x=0;p.sort(o(!!u)),x=s(f,h,x),e.forEach(p,function(_){x+=_.vs.length,f.push(_.vs),g+=_.barycenter*_.weight,y+=_.weight,x=s(f,h,x)});var N={vs:e.flatten(f,!0)};return y&&(N.barycenter=g/y,N.weight=y),N}function s(l,u,c){for(var p;u.length&&(p=e.last(u)).i<=c;)u.pop(),l.push(p.vs),c++;return c}function o(l){return function(u,c){return u.barycenter<c.barycenter?-1:u.barycenter>c.barycenter?1:l?c.i-u.i:u.i-c.i}}return Ng}var Cg,$k;function n4(){if($k)return Cg;$k=1;var e=ot(),n=J$(),r=e4(),s=t4();Cg=o;function o(c,p,h,f){var g=c.children(p),y=c.node(p),x=y?y.borderLeft:void 0,N=y?y.borderRight:void 0,_={};x&&(g=e.filter(g,function(I){return I!==x&&I!==N}));var b=n(c,g);e.forEach(b,function(I){if(c.children(I.v).length){var M=o(c,I.v,h,f);_[I.v]=M,e.has(M,"barycenter")&&u(I,M)}});var S=r(b,h);l(S,_);var k=s(S,f);if(x&&(k.vs=e.flatten([x,k.vs,N],!0),c.predecessors(x).length)){var E=c.node(c.predecessors(x)[0]),C=c.node(c.predecessors(N)[0]);e.has(k,"barycenter")||(k.barycenter=0,k.weight=0),k.barycenter=(k.barycenter*k.weight+E.order+C.order)/(k.weight+2),k.weight+=2}return k}function l(c,p){e.forEach(c,function(h){h.vs=e.flatten(h.vs.map(function(f){return p[f]?p[f].vs:f}),!0)})}function u(c,p){e.isUndefined(c.barycenter)?(c.barycenter=p.barycenter,c.weight=p.weight):(c.barycenter=(c.barycenter*c.weight+p.barycenter*p.weight)/(c.weight+p.weight),c.weight+=p.weight)}return Cg}var Tg,Dk;function r4(){if(Dk)return Tg;Dk=1;var e=ot(),n=Kn().Graph;Tg=r;function r(o,l,u){var c=s(o),p=new n({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(h){return o.node(h)});return e.forEach(o.nodes(),function(h){var f=o.node(h),g=o.parent(h);(f.rank===l||f.minRank<=l&&l<=f.maxRank)&&(p.setNode(h),p.setParent(h,g||c),e.forEach(o[u](h),function(y){var x=y.v===h?y.w:y.v,N=p.edge(x,h),_=e.isUndefined(N)?0:N.weight;p.setEdge(x,h,{weight:o.edge(y).weight+_})}),e.has(f,"minRank")&&p.setNode(h,{borderLeft:f.borderLeft[l],borderRight:f.borderRight[l]}))}),p}function s(o){for(var l;o.hasNode(l=e.uniqueId("_root")););return l}return Tg}var jg,Fk;function i4(){if(Fk)return jg;Fk=1;var e=ot();jg=n;function n(r,s,o){var l={},u;e.forEach(o,function(c){for(var p=r.parent(c),h,f;p;){if(h=r.parent(p),h?(f=l[h],l[h]=p):(f=u,u=p),f&&f!==p){s.setEdge(f,p);return}p=h}})}return jg}var Rg,zk;function s4(){if(zk)return Rg;zk=1;var e=ot(),n=Q$(),r=Z$(),s=n4(),o=r4(),l=i4(),u=Kn().Graph,c=on();Rg=p;function p(y){var x=c.maxRank(y),N=h(y,e.range(1,x+1),"inEdges"),_=h(y,e.range(x-1,-1,-1),"outEdges"),b=n(y);g(y,b);for(var S=Number.POSITIVE_INFINITY,k,E=0,C=0;C<4;++E,++C){f(E%2?N:_,E%4>=2),b=c.buildLayerMatrix(y);var I=r(y,b);I<S&&(C=0,k=e.cloneDeep(b),S=I)}g(y,k)}function h(y,x,N){return e.map(x,function(_){return o(y,_,N)})}function f(y,x){var N=new u;e.forEach(y,function(_){var b=_.graph().root,S=s(_,b,N,x);e.forEach(S.vs,function(k,E){_.node(k).order=E}),l(_,N,S.vs)})}function g(y,x){e.forEach(x,function(N){e.forEach(N,function(_,b){y.node(_).order=b})})}return Rg}var Ag,Bk;function o4(){if(Bk)return Ag;Bk=1;var e=ot(),n=Kn().Graph,r=on();Ag={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:u,hasConflict:c,verticalAlignment:p,horizontalCompaction:h,alignCoordinates:y,findSmallestWidthAlignment:g,balance:x};function s(S,k){var E={};function C(I,M){var O=0,W=0,L=I.length,P=e.last(M);return e.forEach(M,function(q,U){var B=l(S,q),R=B?S.node(B).order:L;(B||q===P)&&(e.forEach(M.slice(W,U+1),function(Q){e.forEach(S.predecessors(Q),function(H){var te=S.node(H),Z=te.order;(Z<O||R<Z)&&!(te.dummy&&S.node(Q).dummy)&&u(E,H,Q)})}),W=U+1,O=R)}),M}return e.reduce(k,C),E}function o(S,k){var E={};function C(M,O,W,L,P){var q;e.forEach(e.range(O,W),function(U){q=M[U],S.node(q).dummy&&e.forEach(S.predecessors(q),function(B){var R=S.node(B);R.dummy&&(R.order<L||R.order>P)&&u(E,B,q)})})}function I(M,O){var W=-1,L,P=0;return e.forEach(O,function(q,U){if(S.node(q).dummy==="border"){var B=S.predecessors(q);B.length&&(L=S.node(B[0]).order,C(O,P,U,W,L),P=U,W=L)}C(O,P,O.length,L,M.length)}),O}return e.reduce(k,I),E}function l(S,k){if(S.node(k).dummy)return e.find(S.predecessors(k),function(E){return S.node(E).dummy})}function u(S,k,E){if(k>E){var C=k;k=E,E=C}var I=S[k];I||(S[k]=I={}),I[E]=!0}function c(S,k,E){if(k>E){var C=k;k=E,E=C}return e.has(S[k],E)}function p(S,k,E,C){var I={},M={},O={};return e.forEach(k,function(W){e.forEach(W,function(L,P){I[L]=L,M[L]=L,O[L]=P})}),e.forEach(k,function(W){var L=-1;e.forEach(W,function(P){var q=C(P);if(q.length){q=e.sortBy(q,function(H){return O[H]});for(var U=(q.length-1)/2,B=Math.floor(U),R=Math.ceil(U);B<=R;++B){var Q=q[B];M[P]===P&&L<O[Q]&&!c(E,P,Q)&&(M[Q]=P,M[P]=I[P]=I[Q],L=O[Q])}}})}),{root:I,align:M}}function h(S,k,E,C,I){var M={},O=f(S,k,E,I),W=I?"borderLeft":"borderRight";function L(U,B){for(var R=O.nodes(),Q=R.pop(),H={};Q;)H[Q]?U(Q):(H[Q]=!0,R.push(Q),R=R.concat(B(Q))),Q=R.pop()}function P(U){M[U]=O.inEdges(U).reduce(function(B,R){return Math.max(B,M[R.v]+O.edge(R))},0)}function q(U){var B=O.outEdges(U).reduce(function(Q,H){return Math.min(Q,M[H.w]-O.edge(H))},Number.POSITIVE_INFINITY),R=S.node(U);B!==Number.POSITIVE_INFINITY&&R.borderType!==W&&(M[U]=Math.max(M[U],B))}return L(P,O.predecessors.bind(O)),L(q,O.successors.bind(O)),e.forEach(C,function(U){M[U]=M[E[U]]}),M}function f(S,k,E,C){var I=new n,M=S.graph(),O=_(M.nodesep,M.edgesep,C);return e.forEach(k,function(W){var L;e.forEach(W,function(P){var q=E[P];if(I.setNode(q),L){var U=E[L],B=I.edge(U,q);I.setEdge(U,q,Math.max(O(S,P,L),B||0))}L=P})}),I}function g(S,k){return e.minBy(e.values(k),function(E){var C=Number.NEGATIVE_INFINITY,I=Number.POSITIVE_INFINITY;return e.forIn(E,function(M,O){var W=b(S,O)/2;C=Math.max(M+W,C),I=Math.min(M-W,I)}),C-I})}function y(S,k){var E=e.values(k),C=e.min(E),I=e.max(E);e.forEach(["u","d"],function(M){e.forEach(["l","r"],function(O){var W=M+O,L=S[W],P;if(L!==k){var q=e.values(L);P=O==="l"?C-e.min(q):I-e.max(q),P&&(S[W]=e.mapValues(L,function(U){return U+P}))}})})}function x(S,k){return e.mapValues(S.ul,function(E,C){if(k)return S[k.toLowerCase()][C];var I=e.sortBy(e.map(S,C));return(I[1]+I[2])/2})}function N(S){var k=r.buildLayerMatrix(S),E=e.merge(s(S,k),o(S,k)),C={},I;e.forEach(["u","d"],function(O){I=O==="u"?k:e.values(k).reverse(),e.forEach(["l","r"],function(W){W==="r"&&(I=e.map(I,function(U){return e.values(U).reverse()}));var L=(O==="u"?S.predecessors:S.successors).bind(S),P=p(S,I,E,L),q=h(S,I,P.root,P.align,W==="r");W==="r"&&(q=e.mapValues(q,function(U){return-U})),C[O+W]=q})});var M=g(S,C);return y(C,M),x(C,S.graph().align)}function _(S,k,E){return function(C,I,M){var O=C.node(I),W=C.node(M),L=0,P;if(L+=O.width/2,e.has(O,"labelpos"))switch(O.labelpos.toLowerCase()){case"l":P=-O.width/2;break;case"r":P=O.width/2;break}if(P&&(L+=E?P:-P),P=0,L+=(O.dummy?k:S)/2,L+=(W.dummy?k:S)/2,L+=W.width/2,e.has(W,"labelpos"))switch(W.labelpos.toLowerCase()){case"l":P=W.width/2;break;case"r":P=-W.width/2;break}return P&&(L+=E?P:-P),P=0,L}}function b(S,k){return S.node(k).width}return Ag}var Ig,Uk;function a4(){if(Uk)return Ig;Uk=1;var e=ot(),n=on(),r=o4().positionX;Ig=s;function s(l){l=n.asNonCompoundGraph(l),o(l),e.forEach(r(l),function(u,c){l.node(c).x=u})}function o(l){var u=n.buildLayerMatrix(l),c=l.graph().ranksep,p=0;e.forEach(u,function(h){var f=e.max(e.map(h,function(g){return l.node(g).height}));e.forEach(h,function(g){l.node(g).y=p+f/2}),p+=f+c})}return Ig}var Mg,Hk;function l4(){if(Hk)return Mg;Hk=1;var e=ot(),n=U$(),r=H$(),s=V$(),o=on().normalizeRanks,l=G$(),u=on().removeEmptyRanks,c=Y$(),p=K$(),h=X$(),f=s4(),g=a4(),y=on(),x=Kn().Graph;Mg=N;function N(F,J){var ne=J&&J.debugTiming?y.time:y.notime;ne("layout",function(){var le=ne(" buildLayoutGraph",function(){return L(F)});ne(" runLayout",function(){_(le,ne)}),ne(" updateInputGraph",function(){b(F,le)})})}function _(F,J){J(" makeSpaceForEdgeLabels",function(){P(F)}),J(" removeSelfEdges",function(){D(F)}),J(" acyclic",function(){n.run(F)}),J(" nestingGraph.run",function(){c.run(F)}),J(" rank",function(){s(y.asNonCompoundGraph(F))}),J(" injectEdgeLabelProxies",function(){q(F)}),J(" removeEmptyRanks",function(){u(F)}),J(" nestingGraph.cleanup",function(){c.cleanup(F)}),J(" normalizeRanks",function(){o(F)}),J(" assignRankMinMax",function(){U(F)}),J(" removeEdgeLabelProxies",function(){B(F)}),J(" normalize.run",function(){r.run(F)}),J(" parentDummyChains",function(){l(F)}),J(" addBorderSegments",function(){p(F)}),J(" order",function(){f(F)}),J(" insertSelfEdges",function(){X(F)}),J(" adjustCoordinateSystem",function(){h.adjust(F)}),J(" position",function(){g(F)}),J(" positionSelfEdges",function(){j(F)}),J(" removeBorderNodes",function(){Z(F)}),J(" normalize.undo",function(){r.undo(F)}),J(" fixupEdgeLabelCoords",function(){H(F)}),J(" undoCoordinateSystem",function(){h.undo(F)}),J(" translateGraph",function(){R(F)}),J(" assignNodeIntersects",function(){Q(F)}),J(" reversePoints",function(){te(F)}),J(" acyclic.undo",function(){n.undo(F)})}function b(F,J){e.forEach(F.nodes(),function(ne){var le=F.node(ne),de=J.node(ne);le&&(le.x=de.x,le.y=de.y,J.children(ne).length&&(le.width=de.width,le.height=de.height))}),e.forEach(F.edges(),function(ne){var le=F.edge(ne),de=J.edge(ne);le.points=de.points,e.has(de,"x")&&(le.x=de.x,le.y=de.y)}),F.graph().width=J.graph().width,F.graph().height=J.graph().height}var S=["nodesep","edgesep","ranksep","marginx","marginy"],k={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},E=["acyclicer","ranker","rankdir","align"],C=["width","height"],I={width:0,height:0},M=["minlen","weight","width","height","labeloffset"],O={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},W=["labelpos"];function L(F){var J=new x({multigraph:!0,compound:!0}),ne=V(F.graph());return J.setGraph(e.merge({},k,$(ne,S),e.pick(ne,E))),e.forEach(F.nodes(),function(le){var de=V(F.node(le));J.setNode(le,e.defaults($(de,C),I)),J.setParent(le,F.parent(le))}),e.forEach(F.edges(),function(le){var de=V(F.edge(le));J.setEdge(le,e.merge({},O,$(de,M),e.pick(de,W)))}),J}function P(F){var J=F.graph();J.ranksep/=2,e.forEach(F.edges(),function(ne){var le=F.edge(ne);le.minlen*=2,le.labelpos.toLowerCase()!=="c"&&(J.rankdir==="TB"||J.rankdir==="BT"?le.width+=le.labeloffset:le.height+=le.labeloffset)})}function q(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);if(ne.width&&ne.height){var le=F.node(J.v),de=F.node(J.w),me={rank:(de.rank-le.rank)/2+le.rank,e:J};y.addDummyNode(F,"edge-proxy",me,"_ep")}})}function U(F){var J=0;e.forEach(F.nodes(),function(ne){var le=F.node(ne);le.borderTop&&(le.minRank=F.node(le.borderTop).rank,le.maxRank=F.node(le.borderBottom).rank,J=e.max(J,le.maxRank))}),F.graph().maxRank=J}function B(F){e.forEach(F.nodes(),function(J){var ne=F.node(J);ne.dummy==="edge-proxy"&&(F.edge(ne.e).labelRank=ne.rank,F.removeNode(J))})}function R(F){var J=Number.POSITIVE_INFINITY,ne=0,le=Number.POSITIVE_INFINITY,de=0,me=F.graph(),ve=me.marginx||0,Pe=me.marginy||0;function Me(Oe){var ye=Oe.x,Se=Oe.y,Ke=Oe.width,xe=Oe.height;J=Math.min(J,ye-Ke/2),ne=Math.max(ne,ye+Ke/2),le=Math.min(le,Se-xe/2),de=Math.max(de,Se+xe/2)}e.forEach(F.nodes(),function(Oe){Me(F.node(Oe))}),e.forEach(F.edges(),function(Oe){var ye=F.edge(Oe);e.has(ye,"x")&&Me(ye)}),J-=ve,le-=Pe,e.forEach(F.nodes(),function(Oe){var ye=F.node(Oe);ye.x-=J,ye.y-=le}),e.forEach(F.edges(),function(Oe){var ye=F.edge(Oe);e.forEach(ye.points,function(Se){Se.x-=J,Se.y-=le}),e.has(ye,"x")&&(ye.x-=J),e.has(ye,"y")&&(ye.y-=le)}),me.width=ne-J+ve,me.height=de-le+Pe}function Q(F){e.forEach(F.edges(),function(J){var ne=F.edge(J),le=F.node(J.v),de=F.node(J.w),me,ve;ne.points?(me=ne.points[0],ve=ne.points[ne.points.length-1]):(ne.points=[],me=de,ve=le),ne.points.unshift(y.intersectRect(le,me)),ne.points.push(y.intersectRect(de,ve))})}function H(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);if(e.has(ne,"x"))switch((ne.labelpos==="l"||ne.labelpos==="r")&&(ne.width-=ne.labeloffset),ne.labelpos){case"l":ne.x-=ne.width/2+ne.labeloffset;break;case"r":ne.x+=ne.width/2+ne.labeloffset;break}})}function te(F){e.forEach(F.edges(),function(J){var ne=F.edge(J);ne.reversed&&ne.points.reverse()})}function Z(F){e.forEach(F.nodes(),function(J){if(F.children(J).length){var ne=F.node(J),le=F.node(ne.borderTop),de=F.node(ne.borderBottom),me=F.node(e.last(ne.borderLeft)),ve=F.node(e.last(ne.borderRight));ne.width=Math.abs(ve.x-me.x),ne.height=Math.abs(de.y-le.y),ne.x=me.x+ne.width/2,ne.y=le.y+ne.height/2}}),e.forEach(F.nodes(),function(J){F.node(J).dummy==="border"&&F.removeNode(J)})}function D(F){e.forEach(F.edges(),function(J){if(J.v===J.w){var ne=F.node(J.v);ne.selfEdges||(ne.selfEdges=[]),ne.selfEdges.push({e:J,label:F.edge(J)}),F.removeEdge(J)}})}function X(F){var J=y.buildLayerMatrix(F);e.forEach(J,function(ne){var le=0;e.forEach(ne,function(de,me){var ve=F.node(de);ve.order=me+le,e.forEach(ve.selfEdges,function(Pe){y.addDummyNode(F,"selfedge",{width:Pe.label.width,height:Pe.label.height,rank:ve.rank,order:me+ ++le,e:Pe.e,label:Pe.label},"_se")}),delete ve.selfEdges})})}function j(F){e.forEach(F.nodes(),function(J){var ne=F.node(J);if(ne.dummy==="selfedge"){var le=F.node(ne.e.v),de=le.x+le.width/2,me=le.y,ve=ne.x-de,Pe=le.height/2;F.setEdge(ne.e,ne.label),F.removeNode(J),ne.label.points=[{x:de+2*ve/3,y:me-Pe},{x:de+5*ve/6,y:me-Pe},{x:de+ve,y:me},{x:de+5*ve/6,y:me+Pe},{x:de+2*ve/3,y:me+Pe}],ne.label.x=ne.x,ne.label.y=ne.y}})}function $(F,J){return e.mapValues(e.pick(F,J),Number)}function V(F){var J={};return e.forEach(F,function(ne,le){J[le.toLowerCase()]=ne}),J}return Mg}var Pg,Wk;function u4(){if(Wk)return Pg;Wk=1;var e=ot(),n=on(),r=Kn().Graph;Pg={debugOrdering:s};function s(o){var l=n.buildLayerMatrix(o),u=new r({compound:!0,multigraph:!0}).setGraph({});return e.forEach(o.nodes(),function(c){u.setNode(c,{label:c}),u.setParent(c,"layer"+o.node(c).rank)}),e.forEach(o.edges(),function(c){u.setEdge(c.v,c.w,{},c.name)}),e.forEach(l,function(c,p){var h="layer"+p;u.setNode(h,{rank:"same"}),e.reduce(c,function(f,g){return u.setEdge(f,g,{style:"invis"}),g})}),u}return Pg}var Og,Vk;function c4(){return Vk||(Vk=1,Og="0.8.5"),Og}var Lg,Gk;function d4(){return Gk||(Gk=1,Lg={graphlib:Kn(),layout:l4(),debug:u4(),util:{time:on().time,notime:on().notime},version:c4()}),Lg}var f4=d4();const Yk=lv(f4),ro=240,ou=130,Zs=74,Au=72,Kk=Zs+Au;function h4(e,n){var s;let r=ro;for(const o of e)r=Math.max(r,((s=n.get(o.id))==null?void 0:s.width)??ro);return r}const HC=420,p4=2;function fa(e){var r;return((r=e.data)==null?void 0:r.sessionId)??"_default"}function m4(e,n){return((n==null?void 0:n.get(e))??0)>0?HC:0}function g4(e,n){const r=(n==null?void 0:n.get(e))??0;return r>0?6+r*36:0}function ha(e,n,r){const s=n.get(e);return{w:((s==null?void 0:s.width)??ro)+m4(e,r),h:Math.max((s==null?void 0:s.height)??ou,g4(e,r))}}function v4(e){return[...e.keys()].sort().map(n=>`${n}:${e.get(n)}`).join("|")}function y4(e,n,r,s,o,l){const u=new Yk.graphlib.Graph;u.setDefaultEdgeLabel(()=>({})),u.setGraph({rankdir:r,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const c=e.filter(S=>!o.has(S)),p=new Set(c);for(const S of c){const{w:k,h:E}=ha(S,s,l);u.setNode(S,{width:k,height:E})}for(const S of n)p.has(S.source)&&p.has(S.target)&&u.setEdge(S.source,S.target);Yk.layout(u);const h=new Map;let f=1/0,g=1/0,y=-1/0,x=-1/0;for(const S of c){const k=u.node(S);if(!k)continue;const E=s.get(S),C=(E==null?void 0:E.width)??ro,I=(E==null?void 0:E.height)??ou,M=ha(S,s,l),O=k.x-M.w/2,W=k.y-M.h/2;h.set(S,{x:O,y:W}),O<f&&(f=O),W<g&&(g=W),O+C>y&&(y=O+C),W+I>x&&(x=W+I)}if(Number.isFinite(f)&&Number.isFinite(g))for(const[S,k]of h)h.set(S,{x:k.x-f,y:k.y-g});const N=Number.isFinite(y)?y-f:0,_=Number.isFinite(x)?x-g:0;let b=null;for(const S of e){const k=o.get(S);if(!k)continue;const E=s.get(S),C=(E==null?void 0:E.width)??ro,I=(E==null?void 0:E.height)??ou;b=b===null?{minX:k.x,minY:k.y,maxX:k.x+C,maxY:k.y+I}:{minX:Math.min(b.minX,k.x),minY:Math.min(b.minY,k.y),maxX:Math.max(b.maxX,k.x+C),maxY:Math.max(b.maxY,k.y+I)}}return{positions:h,width:N,height:_,pinnedBox:b}}function w4(e,n,r={}){const s=r.direction??"LR",o=r.pinned??new Map,l=r.measured??new Map,u=r.lanes,c=new Map;for(const S of e){const k=fa(S),E=c.get(k);E?E.push(S.id):c.set(k,[S.id])}const h=Array.from(c.keys()).sort().map(S=>({sid:S,...y4(c.get(S),n,s,l,o,u)})),f=h4(e,l),g=r.availableHeight&&r.availableHeight>0?r.availableHeight:Number.POSITIVE_INFINITY,y=S=>{const k=[[]];let E=0;for(const C of h)k.length<S&&E>0&&E+C.height>g&&(k.push([]),E=0),k[k.length-1].push(C),E+=C.height+Kk;return k},x=S=>S.reduce((k,E)=>Math.max(k,E.width),0)+HC;let N=y(r.availableWidth?p4:1);N.length>1&&N.reduce((k,E)=>k+x(E),0)+f*(N.length-1)>(r.availableWidth??0)&&(N=y(1));const _=new Map;let b=0;for(const S of N){const k=x(S);let E=0;for(const{positions:C,height:I,pinnedBox:M}of S){for(const[W,L]of C)_.set(W,{x:L.x+b,y:L.y+E});let O=E+I;M&&M.maxY>O&&M.minX<b+k&&b<M.maxX&&(O=M.maxY),E=O+Kk}b+=k+f}return e.map(S=>{const k=o.get(S.id);if(k)return{...S,position:k};const E=_.get(S.id);return E?{...S,position:E}:S})}function x4(e,n,r,s,o){const u=Zs+Au,c=60,p=x=>ha(x,s,o),h=new Map(e.map(x=>[x.id,fa(x)])),f=[],g=e.map(x=>({id:x.id,pos:r.get(x.id)??n.get(x.id)})).filter(x=>x.pos!=null).sort((x,N)=>x.pos.y-N.pos.y||x.pos.x-N.pos.x||x.id.localeCompare(N.id)),y=[];for(const{id:x,pos:N}of g){const{w:_,h:b}=p(x),S=h.get(x)??"_default";if(r.has(x)){f.push({x:N.x,y:N.y,w:_,h:b,sid:S});continue}let k=N.y;for(let E=0;E<f.length+1;E++){const C=f.find(I=>{const M=I.sid===S?24:c,O=I.sid===S?24:u;return N.x<I.x+I.w+M&&I.x<N.x+_+M&&k<I.y+I.h+O&&I.y<k+b+O});if(!C)break;k=C.y+C.h+(C.sid===S?24:u)}k!==N.y&&(n.set(x,{x:N.x,y:k}),y.push(x)),f.push({x:N.x,y:k,w:_,h:b,sid:S})}return y}function _4(e,n,r,s,o,l){const u=_=>ha(_,s,l),c=_=>r.get(_)??n.get(_),p=new Map;for(const _ of e){if(!c(_.id))continue;const b=fa(_),S=p.get(b);S?S.push(_):p.set(b,[_])}const h=new Set;for(const[_,b]of p)b.every(S=>o.has(S.id)&&!r.has(S.id))&&h.add(_);const f=new Map,g=[];for(const _ of e){const b=c(_.id);if(!b)continue;const{w:S,h:k}=u(_.id),E=fa(_);h.has(E)?(f.get(E)??f.set(E,[]).get(E)).push(_):g.push({x:b.x,y:b.y,w:S,h:k})}if(f.size===0)return[];const y=Zs+Au,x=(_,b,S,k)=>g.some(E=>_<E.x+E.w+Zs&&E.x<_+S+Zs&&b<E.y+E.h+y&&E.y<b+k+y),N=[];for(const _ of[...f.keys()].sort()){const b=f.get(_);let S=1/0,k=1/0,E=-1/0,C=-1/0;for(const q of b){const U=c(q.id),{w:B,h:R}=u(q.id);S=Math.min(S,U.x),k=Math.min(k,U.y),E=Math.max(E,U.x+B),C=Math.max(C,U.y+R)}const I=E-S,M=C-k,O=[...new Set(g.map(q=>Math.round(q.x)))].sort((q,U)=>q-U),W=O.length?O:[S],L=[0,...g.map(q=>q.y+q.h+y)].sort((q,U)=>q-U);let P=null;e:for(const q of W)for(const U of L){if(U>=k)break;if(!x(q,U,I,M)){P={x:q,y:U};break e}}if(P){const q=P.x-S,U=P.y-k;for(const B of b){const R=c(B.id);n.set(B.id,{x:R.x+q,y:R.y+U})}N.push(_)}for(const q of b){const U=c(q.id),{w:B,h:R}=u(q.id);g.push({x:U.x,y:U.y,w:B,h:R})}}return N}function b4(e,n,r,s,o,l=!1,u){const h=Zs+Au+1,f=8,g=1.75,y=200,x=.7,N=.01,_=P=>ha(P,s,u),b=P=>r.get(P)??n.get(P),S=new Map;for(const P of e){if(!b(P.id))continue;const q=fa(P),U=S.get(q);U?U.push(P):S.set(q,[P])}const k=[],E=new Set,C=new Set,I=o.size===0;for(const P of[...S.keys()].sort()){const q=S.get(P);let U=1/0,B=1/0,R=-1/0,Q=-1/0,H=!1;for(const X of q){const j=b(X.id),{w:$,h:V}=_(X.id);U=Math.min(U,j.x),B=Math.min(B,j.y),R=Math.max(R,j.x+$),Q=Math.max(Q,j.y+V),r.has(X.id)&&(H=!0)}const te=R-U,Z=Q-B;C.add(P);const D=o.get(P);D&&(te>D.w+f||Z>D.h+f)&&E.add(P),o.set(P,{w:te,h:Z}),k.push({sid:P,members:q.map(X=>X.id),x:U,y:B,w:te,h:Z,anchored:H,mass:1})}for(const P of[...o.keys()])C.has(P)||o.delete(P);if(l||I)return[];let M=!1;for(let P=0;P<k.length&&!M;P++)for(let q=P+1;q<k.length;q++){const U=k[P],B=k[q];if(!(U.anchored&&B.anchored)&&Math.abs(U.x+U.w/2-(B.x+B.w/2))<(U.w+B.w)/2+61&&Math.abs(U.y+U.h/2-(B.y+B.h/2))<(U.h+B.h)/2+h){M=!0;break}}if(E.size===0&&!M)return[];if(E.size>0)for(const P of k)E.has(P.sid)&&(P.mass=8);else for(const P of k)P.mass=Math.max(1,P.w*P.h/(ro*ou));const O=new Map(k.map(P=>[P.sid,P.x])),W=new Map(k.map(P=>[P.sid,P.y]));for(let P=0;P<y;P++){const q=new Map,U=new Map;let B=0;for(let R=0;R<k.length;R++)for(let Q=R+1;Q<k.length;Q++){const H=k[R],te=k[Q];if(H.anchored&&te.anchored)continue;const Z=H.x+H.w/2,D=H.y+H.h/2,X=te.x+te.w/2,j=te.y+te.h/2,$=(H.w+te.w)/2+61-Math.abs(Z-X),V=(H.h+te.h)/2+h-Math.abs(D-j);if($<=0||V<=0)continue;const F=(De,Qe)=>!De.anchored&&!(Qe<0&&De.x<=0),J=(De,Qe)=>!De.anchored&&!(Qe<0&&De.y<=0),ne=(De,Qe,at)=>{const It=De===Qe,it=It?H.sid<te.sid?-1:1:Math.sign(De-Qe);return at(H,it)||at(te,-it)?it:It&&(at(H,-it)||at(te,it))?-it:0},le=ne(Z,X,F),de=ne(D,j,J),me=le!==0,ve=de!==0;if(!me&&!ve)continue;const Pe=me&&(!ve||$*g<V),[Me,Oe,ye,Se]=Pe?[le,$,q,F]:[de,V,U,J],Ke=Se(H,Me),xe=Se(te,-Me),ge=H.mass,Fe=te.mass,pt=Ke?xe?Fe/(ge+Fe):1:0,mt=xe?Ke?ge/(ge+Fe):1:0,Ze=Oe*x;ye.set(H.sid,(ye.get(H.sid)??0)+Me*Ze*pt),ye.set(te.sid,(ye.get(te.sid)??0)-Me*Ze*mt),B+=Ze}for(const R of k)R.anchored||(R.x=Math.max(0,R.x+(q.get(R.sid)??0)),R.y=Math.max(0,R.y+(U.get(R.sid)??0)));if(B<N)break}const L=[];for(const P of k){const q=P.x-O.get(P.sid),U=P.y-W.get(P.sid);if(!(Math.abs(q)<1&&Math.abs(U)<1)){for(const B of P.members){if(r.has(B))continue;const R=n.get(B);R&&n.set(B,{x:R.x+q,y:R.y+U})}L.push(P.sid)}}return L}const S4=600;function sv(e,n){return!(e.exitAt!=null&&n-e.exitAt>S4||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function k4(e,n){const r=new Set;for(const s of e.agents.values())sv(s,n)&&r.add(s.id);return r}function E4(e,n,r=0){return e.right+r>n.left&&e.left-r<n.right&&e.bottom+r>n.top&&e.top-r<n.bottom}function N4(e,n,r=0){if(!e)return!1;for(const s of n)if(E4(e,s,r))return!0;return!1}const WC="sessionGroup";function C4(e,n){var s;if(e.type===WC)return"transparent";const r=(s=e.data)==null?void 0:s.state;return n(r==="err"?"--err":r==="active"?"--inflight":"--ok")}const T4="Update checks are off (AGENTS_DECK_NO_UPDATE_CHECK=1).";function j4(e){if(e.checkDisabled)return T4;if(e.checking)return"Asking npm for the newest release…";const n=e.latest?`npm has v${e.latest}`:e.latestPending?`npm's latest tag names v${e.latestPending}, which it cannot serve yet`:"npm not reached yet",r=e.checkedAgo?` · checked ${e.checkedAgo}`:"";return`${n}${r} · re-checked periodically · click to check npm now`}function R4(e){const n=`Version v${e.running}`;return e.checkDisabled?`${n}, update checks are off`:e.checking?`${n}, checking npm for a newer release`:`${n}, check npm for a newer release`}function Qo(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}function A4(e){return e<1e3?`${e}`:e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(2)}M`}const I4={agent:JP,sessionGroup:dO},M4=420,Bl=18,P4=9e4,O4=200,L4=5*6e4,q4=6,$4=2*6e4,Gv="agent-dag.layout",Yv="agent-dag.viewport",VC="agent-dag.summariesDismissed",GC="agent-dag.sessionListOpen",YC="agent-dag.detailOpen",KC="agent-dag.usagePanelOpen",Xk="agent-dag.accountsPanelOpen",Qk="agent-dag.versionNoticeDismissed",D4=15*6e4,Zk={git_checkout:"this deck runs from a git checkout — pull instead:",npx:"npx runs from a cache that cannot be upgraded in place — run:",not_writable:"the install directory is not writable by this user — run:",opted_out:"installs are off (AGENTS_DECK_NO_INSTALL=1) — run:"};function F4(e){const n=Math.max(0,Math.floor(e/1e3));return n<60?"just now":n<3600?`${Math.floor(n/60)}m ago`:n<86400?`${Math.floor(n/3600)}h ago`:`${Math.floor(n/86400)}d ago`}const Jk="agent-dag.autoRestart",eE="agent-dag.bundleReloadedFor";function z4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(GC)==="1"}catch{return!1}}function B4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(GC,e?"1":"0")}catch{}}function U4(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(YC)==="1"}catch{return!1}}function H4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(YC,e?"1":"0")}catch{}}function W4(){const e=HN(KC);return e===null?!0:e==="1"}function V4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(KC,e?"1":"0")}catch{}}function G4(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(VC);if(!e)return new Set;const n=JSON.parse(e);return new Set(Array.isArray(n)?n.filter(r=>typeof r=="string"):[])}catch{return new Set}}function tE(e){if(!(typeof window>"u"))try{const n=Array.from(e),r=n.length>200?n.slice(-200):n;window.localStorage.setItem(VC,JSON.stringify(r))}catch{}}function Y4(){const e={positions:[],pins:[]};if(typeof window>"u")return e;try{const n=window.localStorage.getItem(Gv);if(!n)return e;const r=JSON.parse(n);if(!("v"in r)){const o=Object.entries(r).filter(([,l])=>l&&typeof l.x=="number"&&typeof l.y=="number");return{positions:o,pins:o.map(([l])=>l)}}return{positions:Object.entries(r.positions??{}).filter(([,o])=>o&&typeof o.x=="number"&&typeof o.y=="number"),pins:Array.isArray(r.pins)?r.pins:[]}}catch{return e}}function qg(e,n){if(!(typeof window>"u"))try{const r={};for(const[s,o]of e)r[s]=o;for(const[s,o]of n)r[s]=o;window.localStorage.setItem(Gv,JSON.stringify({v:2,positions:r,pins:Array.from(n.keys())}))}catch{}}function K4(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(Yv);if(!e)return null;const n=JSON.parse(e);return typeof(n==null?void 0:n.x)!="number"||typeof(n==null?void 0:n.y)!="number"||typeof(n==null?void 0:n.zoom)!="number"?null:n}catch{return null}}function X4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(Yv,JSON.stringify(e))}catch{}}function nE(){if(!(typeof window>"u")){try{window.localStorage.removeItem(Gv)}catch{}try{window.localStorage.removeItem(Yv)}catch{}}}function Q4(e,n){const r=e.agents.get(n);if(!r)return;const s=[];for(const f of e.agents.values())f.sessionId===n&&s.push(f);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:n,label:r.label,cwd:r.cwd,startedAt:r.startedAt,endedAt:r.endedAt,model:r.model,agents:s.map(f=>({id:f.id,kind:f.kind,label:f.label,parentId:f.parentId,state:f.state,startedAt:f.startedAt,endedAt:f.endedAt,model:f.model,cwd:f.cwd,usage:f.usage,prompts:f.prompts,tools:f.tools.map(g=>({id:g.id,name:g.name,inputPreview:g.inputPreview,startedAt:g.startedAt,endedAt:g.endedAt,ok:g.ok,errorPreview:g.errorPreview,usage:g.usage}))}))},l=JSON.stringify(o,null,2),u=new Blob([l],{type:"application/json"}),c=URL.createObjectURL(u),p=document.createElement("a"),h=(r.label||"session").replace(/[^a-z0-9._-]/gi,"_");p.href=c,p.download=`agents-deck-${h}-${n.slice(0,8)}.json`,document.body.appendChild(p),p.click(),document.body.removeChild(p),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const ov={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},av={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},Z4={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",shell:"shell",exec_command:"shell",shell_command:"shell",write_stdin:"shell",wait:"shell",apply_patch:"file",update_plan:"task",WebFetch:"web",WebSearch:"web",Task:"agent",Agent:"agent",TodoWrite:"task",TaskCreate:"task",TaskUpdate:"task",TaskList:"task",TaskGet:"task",TaskOutput:"task",TaskStop:"task",EnterPlanMode:"plan",ExitPlanMode:"plan",AskUserQuestion:"plan",Skill:"plan",Workflow:"plan"};function XC(e){return e.startsWith("mcp__")?"mcp":Z4[e]??"other"}function QC(e,n){var s,o,l;if(!n)return!0;const r=n.toLowerCase();if(e.label.toLowerCase().includes(r)||(s=e.cwd)!=null&&s.toLowerCase().includes(r)||(o=e.cwdBasename)!=null&&o.toLowerCase().includes(r)||e.sessionId.toLowerCase().includes(r)||(l=e.firstPrompt)!=null&&l.toLowerCase().includes(r))return!0;for(const u of e.tools)if(u.name.toLowerCase().includes(r))return!0;return!1}function J4(e,n){if(!n)return null;const r=new Set([n]);let s=n;for(;s;){const l=e.agents.get(s);if(!(l!=null&&l.parentId)||r.has(l.parentId))break;r.add(l.parentId),s=l.parentId}let o=!0;for(;o;){o=!1;for(const l of e.agents.values())l.parentId&&r.has(l.parentId)&&!r.has(l.id)&&(r.add(l.id),o=!0)}return r}function e5(e,n,r,s,o,l,u,c,p,h,f,g,y,x,N,_,b,S){const k=[],E=[],C=new Set;if(l)for(const q of e.agents.values())QC(q,l)&&C.add(q.id);for(const q of e.agents.values()){if(!b.has(q.id))continue;const U=l?!C.has(q.id):!1,B=q.exitAt!=null,R=_!=null&&!_.has(q.id),Q=[U?"rf-dim":"",B?"rf-exiting":"",R?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,H=u.get(q.id);if(k.push({id:q.id,type:"agent",position:{x:0,y:0},data:{...q,now:n,dim:U,onOpenContext:S},className:Q,...H?{width:H.width,height:H.height}:null}),q.parentId&&b.has(q.parentId)){const te=Cv(q.sessionId),Z=q.state==="active"?`hsl(${te} 80% 72%)`:`hsl(${te} 50% 55%)`,D=l&&!C.has(q.id)&&!C.has(q.parentId),X=B,j=N.size>0&&(N.has(q.id)||N.has(q.parentId)),$=_!=null&&!_.has(q.id)&&!_.has(q.parentId),V=q.state==="active"?2:1.5,F=j?V+1.5:V,J=D||X?.2:$?.12:1,ne=[X?"rf-edge-exiting":"",j?"rf-edge-selected":""].filter(Boolean).join(" ")||void 0;E.push({id:`e:${q.parentId}->${q.id}`,source:q.parentId,target:q.id,animated:(q.state==="active"||j)&&!D&&!X,type:"smoothstep",style:{stroke:Z,strokeWidth:F,opacity:J,transition:"opacity 500ms ease, stroke-width 200ms ease"},className:ne})}}const I=new Map;for(const q of e.agents.values())q.tools.length>0&&I.set(q.id,Math.min(4,q.tools.length));const M=`${y}#lanes:${v4(I)}`,O=k.filter(q=>!o.has(q.id)&&!g.has(q.id));if(O.length>0||M!==x.current){if(O.length>0){const q=w4(k,E,{direction:"LR",pinned:o,measured:u,availableWidth:r,availableHeight:s,lanes:I});for(const U of q)g.has(U.id)||g.set(U.id,U.position);_4(k,g,o,u,new Set(O.map(U=>U.id)),I)}x4(k,g,o,u,I),x.current=M}const W=b4(k,g,o,u,c,!h||f,I);W.length>0&&p(W),yd(g,e.agents),yd(o,e.agents),yd(u,$3(e.agents.values()));const L=[];let P=!1;for(const q of k){let U=o.get(q.id)??g.get(q.id);U||(U={x:0,y:0},g.set(q.id,U),P=!0),L.push({...q,position:U})}return P&&(x.current=""),{nodes:L,edges:E}}function t5(){return m.jsx(Ev,{children:m.jsx(n5,{})})}function n5(){var Ii,vo,Mi,Pi;const e=ya(),n=A.useRef(ev()),[,r]=A.useState(0),s=A.useCallback(()=>r(G=>G+1),[]),[o,l]=A.useState(()=>new Set),[u,c]=A.useState(null),[p,h]=A.useState(null),f=A.useCallback((G,K)=>{l(oe=>{if(!K)return new Set([G]);const ue=new Set(oe);return ue.has(G)?ue.delete(G):ue.add(G),ue}),c(oe=>K&&oe===G?oe:G)},[]),g=A.useCallback(()=>{l(new Set),c(null)},[]),[y,x]=A.useState(null),[N,_]=A.useState(null),b=A.useCallback(G=>_(G),[]),[S,k]=A.useState(!1),E=A.useRef(G4()),[C,I]=A.useState(z4);A.useEffect(()=>{B4(C)},[C]);const[M,O]=A.useState(U4);A.useEffect(()=>{H4(M)},[M]);const[W,L]=A.useState(W4);A.useEffect(()=>{V4(W)},[W]);const[P,q]=A.useState(()=>{try{const G=window.localStorage.getItem(Xk);return G===null?!0:G==="1"}catch{return!0}});A.useEffect(()=>{try{window.localStorage.setItem(Xk,P?"1":"0")}catch{}},[P]);const[U,B]=A.useState(null),[R,Q]=A.useState(!1),[H,te]=A.useState(0),[Z,D]=A.useState(0);A.useEffect(()=>{fetch("/api/sound-hook").then(G=>G.ok?G.json():null).then(G=>{G!=null&&G.ok&&(B(G.enabled===!0),te((G.foreign??[]).filter(K=>K.worksHere).length),D(typeof G.parked=="number"?G.parked:0))}).catch(()=>{})},[]);const X=A.useCallback(async()=>{Q(!0);try{const K=await(await fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:!U})})).json().catch(()=>null);K!=null&&K.ok&&B(K.enabled===!0),fetch("/api/sound-hook").then(oe=>oe.ok?oe.json():null).then(oe=>{oe!=null&&oe.ok&&(te((oe.foreign??[]).filter(ue=>ue.worksHere).length),D(typeof oe.parked=="number"?oe.parked:0))}).catch(()=>{})}catch{}finally{Q(!1)}},[U]),[j,$]=A.useState(!1),[V,F]=A.useState(null),[J,ne]=A.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(Qk)??""}catch{return""}}),[le,de]=A.useState(!1),me=A.useRef(0),[ve,Pe]=A.useState(!1),Me=A.useCallback((G=!1)=>{G&&(me.current=Date.now(),Pe(!0)),fetch(G?"/api/version?refresh=1":"/api/version").then(K=>K.ok?K.json():null).then(K=>{K&&F(K)}).catch(()=>{}).finally(()=>{G&&Pe(!1)})},[]),Oe=A.useCallback(()=>{Me(Date.now()-me.current>=D4)},[Me]);A.useEffect(()=>{Me();const G=window.setInterval(Oe,5*6e4),K=()=>{document.visibilityState==="visible"&&Oe()};return document.addEventListener("visibilitychange",K),()=>{window.clearInterval(G),document.removeEventListener("visibilitychange",K)}},[Me,Oe]),A.useEffect(()=>{j&&Me()},[j,Me]);const ye=(V==null?void 0:V.notice)??null,Se=ye?`${ye.kind}:${ye.to}`:"",Ke=ye!=null&&J!==Se,xe=A.useCallback(()=>{if(!ye)return;const G=J===Se?"":Se;ne(G);try{window.localStorage.setItem(Qk,G)}catch{}},[ye,Se,J]),ge=((Ii=V==null?void 0:V.upgrade)==null?void 0:Ii.state)??"idle",Fe=T3(V==null?void 0:V.upgrade),pt=A.useCallback(async()=>{try{await fetch("/api/upgrade",{method:"POST"})}catch{}Me()},[Me]);A.useEffect(()=>{if(ge!=="running")return;const G=window.setInterval(Me,3e3);return()=>window.clearInterval(G)},[ge,Me]);const mt=A.useCallback(async()=>{var oe;const G=V==null?void 0:V.command;if(!G)return;let K=!1;try{K=await Promise.race([((oe=navigator.clipboard)==null?void 0:oe.writeText(G).then(()=>!0))??Promise.resolve(!1),new Promise(ue=>window.setTimeout(()=>ue(!1),500))])}catch{K=!1}if(!K)try{const ue=document.createElement("textarea");ue.value=G,ue.setAttribute("readonly",""),ue.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(ue),ue.select(),K=document.execCommand("copy"),ue.remove()}catch{K=!1}K&&(de(!0),window.setTimeout(()=>de(!1),1600))},[V==null?void 0:V.command]),Ze=A.useCallback(()=>{I(G=>(G||q(!1),!G))},[]),De=A.useCallback(()=>{q(G=>(G||I(!1),!G))},[]),[Qe,at]=A.useState(!1),[It,it]=A.useState(0),gt=A.useRef(null),[Kt,Mt]=A.useState(!1),Ye=A.useRef(null),[Nt,dt]=A.useState(0),lt=A.useRef(B3()),[fn,Ut]=A.useState(!1),Ct=A.useCallback(()=>{const G=lt.current,K=G.setPaused(!G.paused);for(const oe of K)n.current=ux(n.current,oe);Ut(G.paused)},[]),[Je,hr]=A.useState(Date.now()),[Ht,hn]=A.useState(()=>{if(typeof window>"u")return!0;try{return window.localStorage.getItem(Jk)!=="0"}catch{return!0}}),Tn=A.useCallback(()=>{hn(G=>{const K=!G;try{window.localStorage.setItem(Jk,K?"1":"0")}catch{}return K})},[]),[Tt,pr]=A.useState(!1),[as,ls]=A.useState("restart"),[vi,qr]=A.useState(null),jn=A.useRef(!1),Zn=A.useRef(null),$r=A.useRef(0),pn=A.useCallback(async G=>{if(jn.current)return;const K=(G==null?void 0:G.upgrade)===!0;jn.current=!0,Zn.current=Fe;const oe=++$r.current;ls(K?"npx":"restart"),pr(!0);try{window.sessionStorage.setItem("agent-dag.restartPending",(ye==null?void 0:ye.to)??"")}catch{}try{await fetch("/api/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({upgrade:K})})}catch{}window.setTimeout(()=>{if($r.current===oe&&jn.current){jn.current=!1,pr(!1);try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}}},K?18e4:3e4)},[ye==null?void 0:ye.to,Fe]),us=A.useRef(null);A.useEffect(()=>{let G=!1;for(const oe of n.current.agents.values())if(oe.state==="active"){G=!0;break}const K=R3({enabled:Ht,kind:ye==null?void 0:ye.kind,canRestart:(V==null?void 0:V.canRestart)===!0,busy:G,idleSince:us.current,now:Je});us.current=K.idleSince,K.restart&&pn()},[Ht,ye==null?void 0:ye.kind,V==null?void 0:V.canRestart,Je,pn]),A.useEffect(()=>{const G=V==null?void 0:V.running;let K=null,oe=null;try{K=window.sessionStorage.getItem("agent-dag.restartPending"),oe=window.sessionStorage.getItem(eE)}catch{return}const ue=C3({bundle:"1.33.113",running:G,pending:K,lastTried:oe});if(ue==="reload"){try{window.sessionStorage.setItem(eE,G??"")}catch{return}window.location.reload();return}if(ue!=="confirm")return;try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}jn.current=!1,pr(!1),qr(G??null);const we=window.setTimeout(()=>qr(null),6e3);return()=>window.clearTimeout(we)},[V==null?void 0:V.running]),A.useEffect(()=>{if(Tt&&j3({asked:Zn.current,reported:Fe})){try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}jn.current=!1,pr(!1)}},[Tt,Fe]);const Rn=A.useRef(Y4()).current;A.useRef(!1);const yt=A.useRef(new Map(Rn.positions.filter(([G])=>Rn.pins.includes(G)))),An=A.useRef(null),Jn=A.useState(()=>K4())[0],[In,cs]=A.useState(""),[yi,Mn]=A.useState(()=>new Set),[er,wi]=A.useState(()=>HN("agent-dag.theme")??"dark"),[ds,fs]=A.useState(!1),xi=A.useRef(null);A.useEffect(()=>{document.documentElement.dataset.theme=er;try{window.localStorage.setItem("agent-dag.theme",er)}catch{}},[er]),A.useEffect(()=>{if(!Jn)return;const G=window.setTimeout(()=>{try{e.setViewport(Jn,{duration:0})}catch{}},60);return()=>window.clearTimeout(G)},[e,Jn]);const _i=A.useRef(!0);A.useEffect(()=>{const G=new EventSource("/events"),K=z3(s,{now:()=>Date.now(),setTimeout:(oe,ue)=>window.setTimeout(oe,ue),clearTimeout:oe=>window.clearTimeout(oe)});return G.addEventListener("open",()=>{$(!0),fs(!0)}),G.addEventListener("error",()=>$(!1)),G.addEventListener("replay-end",()=>{_i.current=!1,K.flush()}),G.addEventListener("hook",oe=>{try{const ue=JSON.parse(oe.data);if(!lt.current.accept(ue))return;n.current=ux(n.current,ue),ue.replay===!0||_i.current||Date.now()-ue.receivedAt>3e4?K.replay():K.live()}catch{}}),()=>{G.close(),K.cancel()}},[s]),A.useEffect(()=>{const G=setInterval(()=>{const K=Date.now();hr(K);let oe=qP(n.current,K,P4);OP(n.current,K,O4,L4)&&(oe=!0),LP(n.current,K,q4,$4)&&(oe=!0),oe&&s()},250);return()=>clearInterval(G)},[s]);const Dr=A.useRef(null),Pn=A.useRef(0),uo=420,Be=A.useCallback((G=500)=>{try{const Ee=document.querySelector(".canvas-wrap"),je=Array.from(document.querySelectorAll(".react-flow__node")).filter(wt=>wt.offsetWidth>0);if(!Ee||je.length===0)return;const Le=Ee.getBoundingClientRect(),Ue=e.getViewport();if(!Number.isFinite(Ue.zoom)||Ue.zoom<=0)return;const Ge=wt=>(wt-Le.left-Ue.x)/Ue.zoom,tt=wt=>(wt-Le.top-Ue.y)/Ue.zoom,gn=je.map(wt=>wt.getBoundingClientRect()),Oi=Math.min(...gn.map(wt=>Ge(wt.left))),yo=Math.max(...gn.map(wt=>Ge(wt.right))),xr=Math.min(...gn.map(wt=>tt(wt.top))),wo=Math.max(...gn.map(wt=>tt(wt.bottom))),Ia=yo-Oi,ws=wo-xr;if(!(Ia>0&&ws>0))return;const $n=Math.max(.2,Math.min(1,(Le.width-160)/(Ia+uo)*.86,(Le.height-160)/ws*.86));e.setViewport({x:80-Oi*$n,y:Math.max(80,(Le.height-ws*$n)/2)-xr*$n,zoom:$n},{duration:G}),Pn.current=Date.now(),window.setTimeout(()=>{try{const wt={x:80-Oi*$n,y:Math.max(80,(Le.height-ws*$n)/2)-xr*$n,zoom:$n},xo=e.getViewport();(Math.abs(xo.zoom-$n)>.01||Math.abs(xo.x-wt.x)>2)&&e.setViewport(wt,{duration:0})}catch{}},G+60)}catch{}},[e]),bi=A.useRef(""),mr=A.useRef(null),Si=A.useRef(0),On=A.useCallback(()=>{Si.current=Date.now()},[]),Fr="agent-dag.autoFitDisabled",mn=A.useRef((()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Fr)==="1"}catch{return!1}})()),[gr,Wt]=A.useState(mn.current),zr=A.useCallback(()=>{if(!mn.current){mn.current=!0,Wt(!0);try{window.localStorage.setItem(Fr,"1")}catch{}}},[]),an=A.useCallback(()=>{mn.current=!1,Wt(!1);try{window.localStorage.removeItem(Fr)}catch{}Be(400)},[e,Be]);A.useEffect(()=>{const G=setInterval(()=>{if(mn.current||Date.now()-Si.current<800)return;const K=n.current,oe=Date.now(),ue=[];for(const Ge of K.agents.values())sv(Ge,oe)&&ue.push({id:Ge.id});if(ue.length===0)return;const we=e.getViewport(),Ee=window.innerWidth-360,je=window.innerHeight-52;let Le=!1,Ue=!1;for(const{id:Ge}of ue){const tt=Br.current.get(Ge),gn=yt.current.get(Ge)??Xt.current.get(Ge);if(!tt||!gn)continue;Ue=!0;const Oi=gn.x*we.zoom+we.x,yo=gn.y*we.zoom+we.y,xr=(gn.x+tt.width)*we.zoom+we.x,wo=(gn.y+tt.height)*we.zoom+we.y;if(xr>0&&Oi<Ee&&wo>0&&yo<je){Le=!0;break}}Ue&&!Le&&Be(600)},1500);return()=>clearInterval(G)},[e]);const co=A.useRef(!1),Br=A.useRef(new Map),Ea=A.useRef(0),hs=A.useCallback(G=>{const K=Br.current;let oe=!1;for(const ue of G.nodeInternals.values()){const we=ue.width,Ee=ue.height;if(we==null||Ee==null)continue;const je=K.get(ue.id);je?(Math.abs(je.height-Ee)>4||Math.abs(je.width-we)>4)&&(K.set(ue.id,{width:we,height:Ee}),oe=!0):(K.set(ue.id,{width:we,height:Ee}),oe=!0)}return oe&&(Ea.current+=1),Ea.current},[]),ki=Xe(hs),[Ur,ps]=A.useState(0);A.useEffect(()=>{let G=0;const K=()=>{const ue=Br.current;let we=!1;for(const Ee of document.querySelectorAll(".react-flow__node[data-id]")){const je=Ee.getAttribute("data-id");if(!je)continue;const Le=Ee.offsetWidth,Ue=Ee.offsetHeight;if(!Le||!Ue)continue;const Ge=ue.get(je);(!Ge||Math.abs(Ge.width-Le)>4||Math.abs(Ge.height-Ue)>4)&&(ue.set(je,{width:Le,height:Ue}),we=!0)}we&&ps(Ee=>Ee+1)};if(co.current)return;let oe=0;return document.visibilityState==="hidden"?oe=window.setTimeout(K,32):G=requestAnimationFrame(K),()=>{cancelAnimationFrame(G),window.clearTimeout(oe)}});const Xt=A.useRef(new Map(Rn.positions)),fo=A.useRef(""),tr=A.useMemo(()=>{const G=[];for(const K of n.current.agents.values())sv(K,Je)&&G.push(K.id+(K.parentId?`>${K.parentId}`:""));return G.sort(),`${G.join("|")}#sv${ki}.${Ur}`},[n.current,n.current.lastSeq,Je,ki,Ur]),Hr=A.useRef(null);A.useEffect(()=>(Hr.current!=null&&window.clearTimeout(Hr.current),Hr.current=window.setTimeout(()=>{qg(Xt.current,yt.current)},1500),()=>{Hr.current!=null&&window.clearTimeout(Hr.current)}),[tr]),A.useEffect(()=>{if(bi.current===tr)return;const G=bi.current;if(bi.current=tr,!G||mn.current)return;Date.now()-Pn.current>1200&&Be(400),Dr.current&&window.clearTimeout(Dr.current),Dr.current=window.setTimeout(()=>{mn.current||Be(500)},280)},[tr,e,Be]);const Ei=A.useMemo(()=>{if(o.size===0)return null;const G=new Set;for(const K of o){const oe=J4(n.current,K);if(oe)for(const ue of oe)G.add(ue)}return G.size>0?G:null},[n.current,n.current.lastSeq,o]),vr=A.useMemo(()=>k4(n.current,Je),[n.current,n.current.lastSeq,Je]),Na=A.useRef(null),[Wr,We]=A.useState({w:0,h:0});A.useEffect(()=>{const G=Na.current;if(!G||typeof ResizeObserver>"u")return;const K=new ResizeObserver(oe=>{var we;const ue=(we=oe[0])==null?void 0:we.contentRect;ue&&We(Ee=>Math.abs(Ee.w-ue.width)>40||Math.abs(Ee.h-ue.height)>40?{w:ue.width,h:ue.height}:Ee)});return K.observe(G),We({w:G.clientWidth,h:G.clientHeight}),()=>K.disconnect()},[]);const Ca=A.useRef(new Map),[ho,po]=A.useState(!1);A.useEffect(()=>{const G=window.setTimeout(()=>po(!0),2500);return()=>window.clearTimeout(G)},[]);const[Ta,ms]=A.useState(!1),Ln=A.useRef(null),[Ni,Ci]=A.useState(!1),nr=A.useCallback(()=>{Ln.current&&(window.clearTimeout(Ln.current),Ln.current=null),ms(!1)},[]),rr=A.useCallback(G=>{G.length!==0&&queueMicrotask(()=>{ms(!0),Ln.current&&window.clearTimeout(Ln.current),Ln.current=window.setTimeout(()=>ms(!1),M4+80)})},[]);A.useEffect(()=>()=>{Ln.current&&window.clearTimeout(Ln.current)},[]);const qn=Wr.w>0?Wr.w*.92:0,Vr=Wr.h>0?Wr.h:0,{nodes:Vt,edges:ir}=A.useMemo(()=>e5(n.current,Je,qn,Vr,yt.current,In,Br.current,Ca.current,rr,ho,Ni,Xt.current,tr,fo,o,Ei,vr,b),[n.current,n.current.lastSeq,Je,qn,Vr,ho,Ni,In,tr,o,Ei,vr,b,It]),ja=A.useMemo(()=>{const G=new Map;for(const oe of Vt){const ue=oe.data;if(!(ue!=null&&ue.sessionId)||ue.exitAt!=null)continue;const we=oe.width,Ee=oe.height;if(we==null||Ee==null)continue;const je=oe.position.x,Le=oe.position.y,Ue=je+we,Ge=Le+Ee,tt=G.get(ue.sessionId);tt?(tt.minX=Math.min(tt.minX,je),tt.minY=Math.min(tt.minY,Le),tt.maxX=Math.max(tt.maxX,Ue),tt.maxY=Math.max(tt.maxY,Ge)):G.set(ue.sessionId,{minX:je,minY:Le,maxX:Ue,maxY:Ge})}const K=[];for(const[oe,ue]of G){const we=ue.maxX-ue.minX+Bl*2,Ee=ue.maxY-ue.minY+Bl*2;K.push({id:`group:${oe}`,type:WC,position:{x:ue.minX-Bl,y:ue.minY-Bl},data:{sessionId:oe,w:we,h:Ee},width:we,height:Ee,style:{width:we,height:Ee},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return K},[Vt,Je]),Ra=A.useMemo(()=>{const G=[...ja,...Vt],K=Ye.current;return!K||K.size===0?G:G.map(oe=>{const ue=K.get(oe.id);return ue?{...oe,position:ue}:oe})},[ja,Vt,Nt]),Ti=A.useMemo(()=>{if(!In)return null;const G=new Set;for(const K of n.current.agents.values())QC(K,In)&&G.add(K.id);return G},[n.current,n.current.lastSeq,In]),gs=A.useMemo(()=>{const G=new Set;for(const K of n.current.agents.values())for(const oe of K.tools)G.add(XC(oe.name));return Object.keys(ov).filter(K=>G.has(K))},[n.current,n.current.lastSeq]);A.useEffect(()=>{if(gs.length<=1){Mt(!1);return}let G=0;const K=()=>{const oe=gt.current;if(oe&&!document.hidden){const ue=oe.getBoundingClientRect(),we=Array.from(document.querySelectorAll(".react-flow__node, .tool-burst")).map(je=>je.getBoundingClientRect()),Ee=N4(ue,we,8);Mt(je=>je===Ee?je:Ee)}G=window.setTimeout(K,300)};return K(),()=>window.clearTimeout(G)},[gs.length]);const Gr=A.useMemo(()=>{const G=new Map;for(const oe of n.current.agents.values())for(const ue of oe.tools){if(!ue.name.startsWith("mcp__"))continue;const we=ue.name.slice(5),Ee=we.indexOf("__"),je=Ee>0?we.slice(0,Ee):we;G.set(je,(G.get(je)??0)+1)}const K=[];for(const[oe,ue]of G){let we=5381;for(let Ee=0;Ee<oe.length;Ee++)we=(we<<5)+we^oe.charCodeAt(Ee);K.push({server:oe,count:ue,hue:Math.abs(we)%360})}return K.sort((oe,ue)=>ue.count-oe.count),K},[n.current,n.current.lastSeq]),vs=A.useCallback(G=>{Mn(K=>{const oe=new Set(K);return oe.has(G)?oe.delete(G):oe.add(G),oe})},[]),Pt=u?n.current.agents.get(u):null,mo=p?Array.from(n.current.agents.values()).flatMap(G=>G.tools).find(G=>G.id===p)??null:null,Yr=A.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}n.current=ev(),yt.current.clear(),Br.current.clear(),Xt.current.clear(),fo.current="",nE(),g(),s()},[s,g]),Kr=A.useRef(S);Kr.current=S;const yr=A.useRef(!1);yr.current=mo!=null||Qe||N!=null||y!=null;const wr=A.useCallback(G=>{const K=q3(G,{confirmOpen:Kr.current,modalOpen:yr.current});K==="confirm"?k(!0):K==="clear"&&(k(!1),Yr())},[Yr]),go=A.useCallback(()=>{yt.current.clear(),Xt.current.clear(),fo.current="",nE(),s(),window.setTimeout(()=>Be(500),80)},[s,e,Be]),Aa=A.useCallback(()=>Be(500),[Be]),ys=A.useRef(Vt);ys.current=Vt;const ji=A.useRef(u);ji.current=u;const Ri=A.useCallback(G=>{const K=ys.current;if(K.length===0)return;const oe=K.slice().sort((Le,Ue)=>Le.position.y-Ue.position.y||Le.position.x-Ue.position.x),ue=ji.current,we=ue?oe.findIndex(Le=>Le.id===ue):-1;let Ee;we===-1?Ee=G===1?0:oe.length-1:Ee=(we+G+oe.length)%oe.length;const je=oe[Ee];je&&(f(je.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[je]})}catch{}Pn.current=Date.now()},30))},[f,e]);A.useEffect(()=>{const G=K=>{var we,Ee;const oe=K.target,ue={tagName:oe==null?void 0:oe.tagName,isContentEditable:oe==null?void 0:oe.isContentEditable,role:(we=oe==null?void 0:oe.getAttribute)==null?void 0:we.call(oe,"role"),type:oe==null?void 0:oe.type};if(K.key==="Escape"){UN(ue)?oe==null||oe.blur():g();return}if(!O3(ue)&&!A3(K)){if(K.key==="/"){K.preventDefault(),(Ee=xi.current)==null||Ee.focus();return}K.key===" "&&(K.preventDefault(),Ct()),(K.key==="c"||K.key==="C")&&wr("shortcut"),(K.key==="r"||K.key==="R")&&go(),(K.key==="f"||K.key==="F")&&Aa(),(K.key==="l"||K.key==="L")&&Ze(),(K.key==="h"||K.key==="H")&&at(je=>!je),(K.key==="u"||K.key==="U")&&L(je=>!je),(K.key==="a"||K.key==="A")&&De(),(K.key==="j"||K.key==="J")&&Ri(1),(K.key==="k"||K.key==="K")&&Ri(-1),(K.key==="t"||K.key==="T")&&wi(je=>je==="dark"?"light":"dark")}};return window.addEventListener("keydown",G),()=>window.removeEventListener("keydown",G)},[wr,go,Aa,g,Ri,Ct]);const Ai=n.current.agents.size,sr=new Set(Array.from(n.current.agents.values()).map(G=>G.sessionId)).size,$t=A.useMemo(()=>{let G=0,K=0,oe=0,ue=0,we=0,Ee=0,je=0,Le=0,Ue=0;for(const Ge of n.current.agents.values()){G+=Ge.usage.inputTokens,K+=Ge.usage.outputTokens,oe+=Ge.usage.cacheReadTokens,ue+=Ge.usage.cacheCreateTokens;const tt=sn(Ge.usage,Ge.model);we+=tt.total,Ee+=tt.input,je+=tt.output,Le+=tt.cacheRead,Ue+=tt.cacheWrite}return{inT:G,outT:K,cacheR:oe,cacheC:ue,sum:G+K,cost:{total:we,input:Ee,output:je,cacheRead:Le,cacheWrite:Ue}}},[n.current,n.current.lastSeq]);return m.jsxs("div",{className:"app",children:[m.jsxs("header",{className:"topbar",children:[m.jsxs("div",{className:"brand",children:[m.jsx("span",{className:"logo"}),"agents-deck",ye?m.jsxs("button",{type:"button",className:"v stale",onClick:xe,title:ye.kind==="restart"?`Running v${ye.from}; v${ye.to} is installed on disk. Restart to pick it up.`:`Running v${ye.from}; v${ye.to} is on npm.`,children:["v",ye.from,m.jsx("span",{className:"v-dot","aria-hidden":!0})]}):(()=>{const G={running:(V==null?void 0:V.running)??"1.33.113",latest:V==null?void 0:V.latest,latestPending:V==null?void 0:V.latestPending,checkedAgo:V!=null&&V.checkedAt?F4(Je-V.checkedAt):null,checkDisabled:V==null?void 0:V.checkDisabled,checking:ve};return m.jsxs("button",{type:"button",className:ve?"v checking":"v",onClick:()=>Me(!0),"aria-busy":ve||void 0,"aria-label":R4(G),title:j4(G),children:["v",G.running]})})()]}),Pt&&(()=>{const G=sn(Pt.usage,Pt.model),K=Math.max(0,((Pt.endedAt??Je)-Pt.startedAt)/1e3),oe=Pt.state==="active"?iu(G.total,K):null,ue=o.size-1;return m.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${Pt.label}`,onClick:()=>{try{const we=Vt.find(Ee=>Ee.id===Pt.id);we&&e.fitView({padding:.35,duration:500,nodes:[we]}),Pn.current=Date.now()}catch{}},children:[m.jsx("span",{className:`state-pill state-${Pt.state}`,children:Pt.state==="active"?"live":Pt.state}),m.jsx("span",{className:"selected-label",children:Pt.label}),G.total>0&&m.jsxs("span",{className:"selected-cost",children:[ze(G.total),oe?m.jsxs("span",{className:"selected-rate",children:[" · ",oe]}):null]}),ue>0&&m.jsxs("span",{className:"selected-extra",children:["+",ue]}),m.jsx("span",{role:"button","aria-label":"Deselect",className:"selected-close",onClick:we=>{we.stopPropagation(),g()},children:"×"})]})})(),m.jsxs("div",{className:"actions",children:[m.jsxs("div",{className:"search",children:[m.jsx("span",{className:"search-icon","aria-hidden":!0,children:"⌕"}),m.jsx("input",{ref:xi,type:"text",placeholder:"Search agents, cwd, tools…",value:In,onChange:G=>cs(G.target.value),spellCheck:!1,"aria-label":"Filter the graph"}),In?m.jsx("button",{className:"search-clear","aria-label":"Clear search",onClick:()=>cs(""),children:"×"}):m.jsx("kbd",{className:"search-kbd","aria-hidden":!0,children:"/"})]}),m.jsxs("span",{className:"status",role:"status",children:[m.jsx("span",{className:`pill ${j?"live":"dead"}`,title:j?"Receiving events":"SSE disconnected",children:j?"live":"offline"}),m.jsxs("span",{className:"stat",title:"Distinct CC sessions",children:[m.jsx("span",{className:"count",children:sr}),m.jsx("span",{className:"lbl",children:"sessions"})]}),m.jsxs("span",{className:"stat",title:"Total agents (root + subagents)",children:[m.jsx("span",{className:"count",children:Ai}),m.jsx("span",{className:"lbl",children:"agents"})]}),m.jsxs("span",{className:"stat",title:"Total hook events received",children:[m.jsx("span",{className:"count",children:n.current.totalEvents}),m.jsx("span",{className:"lbl",children:"events"})]}),$t.sum>0&&m.jsxs("span",{className:"stat",title:`in:${$t.inT.toLocaleString()} out:${$t.outT.toLocaleString()} cache-r:${$t.cacheR.toLocaleString()} cache-c:${$t.cacheC.toLocaleString()}`,children:[m.jsx("span",{className:"count",children:A4($t.sum)}),m.jsx("span",{className:"lbl",children:"tokens"})]}),Gr.length>0&&m.jsxs("span",{className:"stat mcp-legend",title:`MCP servers seen this session:
60
60
  ${Gr.map(G=>` ${G.server}: ${G.count} call${G.count===1?"":"s"}`).join(`
61
61
  `)}`,children:[Gr.slice(0,6).map(G=>m.jsx("span",{className:"mcp-dot",style:{background:`hsl(${G.hue} 65% 65%)`}},G.server)),Gr.length>6&&m.jsxs("span",{className:"mcp-more",children:["+",Gr.length-6]}),m.jsx("span",{className:"lbl",children:"mcp"})]}),$t.cost.total>0&&(()=>{let G=0,K=0;for(const we of n.current.agents.values()){if(we.state!=="active")continue;const Ee=sn(we.usage,we.model);G+=Ee.total,K=Math.max(K,((we.endedAt??Je)-we.startedAt)/1e3)}const oe=K>0?iu(G,K):null,ue=`input ${ze($t.cost.input)} + output ${ze($t.cost.output)} + cache r ${ze($t.cost.cacheRead)} + cache w ${ze($t.cost.cacheWrite)}${oe?`
62
62
  active burn: ${oe}`:""}`;return m.jsxs("span",{className:"stat",title:ue,children:[m.jsx("span",{className:"count",children:ze($t.cost.total)}),m.jsxs("span",{className:"lbl",children:["cost",oe?` · ${oe}`:""]})]})})()]}),m.jsx("button",{className:`btn ${fn?"warn":""}`,onClick:Ct,title:"Pause/resume live updates (Space)",children:fn?`Resume${lt.current.size?` · ${lt.current.size}`:""}`:"Pause"}),m.jsx("button",{className:`btn icon-btn ${W?"primary":""}`,onClick:()=>L(G=>!G),title:`${W?"Hide":"Show"} usage panel (U)`,"aria-label":"Toggle usage panel",children:"$"}),U!==null&&m.jsx("button",{className:`btn icon-btn ${U?"primary":""}`,onClick:G=>{if(G.shiftKey&&Z>0){Q(!0),fetch("/api/sound-hook",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"restore"})}).then(()=>fetch("/api/sound-hook")).then(K=>K.ok?K.json():null).then(K=>{K!=null&&K.ok&&(B(K.enabled===!0),D(K.parked??0))}).catch(()=>{}).finally(()=>Q(!1));return}X()},disabled:R,title:(U?"Sound on turn finish: on — click to remove the hook":"Sound on turn finish: off — click to add a Stop hook")+(H>0?`