agent-dag 1.47.0 → 1.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -2
- package/dist/web/assets/index-DT1bdZn0.css +1 -0
- package/dist/web/assets/index-PPcCF-io.js +111 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/release-notes.json +10 -0
- package/src/server/agent-activity.mjs +506 -0
- package/src/server/browser-history.mjs +467 -0
- package/src/server/browser-presence.mjs +157 -0
- package/src/server/browser-profiles.mjs +267 -0
- package/src/server/browser-react.mjs +204 -0
- package/src/server/browser-watch-store.mjs +288 -0
- package/src/server/browser-watch.mjs +717 -0
- package/src/server/claude-accounts.mjs +77 -7
- package/src/server/cswap-admin.mjs +419 -31
- package/src/server/index.mjs +152 -2
- package/src/server/installer.mjs +13 -0
- package/src/server/relay-guard.mjs +502 -0
- package/dist/web/assets/index-BgcITzCV.css +0 -1
- package/dist/web/assets/index-ChVeFKhn.js +0 -101
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const a of o)if(a.type==="childList")for(const u of a.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const a={};return o.integrity&&(a.integrity=o.integrity),o.referrerPolicy&&(a.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?a.credentials="include":o.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function s(o){if(o.ep)return;o.ep=!0;const a=r(o);fetch(o.href,a)}})();var Tu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Dy(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var yf={exports:{}},Aa={},wf={exports:{}},He={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var Ax;function _A(){if(Ax)return He;Ax=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),a=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),m=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),g=Symbol.iterator;function y(O){return O===null||typeof O!="object"?null:(O=g&&O[g]||O["@@iterator"],typeof O=="function"?O:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},N=Object.assign,b={};function _(O,G,K){this.props=O,this.context=G,this.refs=b,this.updater=K||w}_.prototype.isReactComponent={},_.prototype.setState=function(O,G){if(typeof O!="object"&&typeof O!="function"&&O!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,O,G,"setState")},_.prototype.forceUpdate=function(O){this.updater.enqueueForceUpdate(this,O,"forceUpdate")};function k(){}k.prototype=_.prototype;function S(O,G,K){this.props=O,this.context=G,this.refs=b,this.updater=K||w}var C=S.prototype=new k;C.constructor=S,N(C,_.prototype),C.isPureReactComponent=!0;var T=Array.isArray,M=Object.prototype.hasOwnProperty,P={current:null},$={key:!0,ref:!0,__self:!0,__source:!0};function W(O,G,K){var L,q={},Z=null,se=null;if(G!=null)for(L in G.ref!==void 0&&(se=G.ref),G.key!==void 0&&(Z=""+G.key),G)M.call(G,L)&&!$.hasOwnProperty(L)&&(q[L]=G[L]);var fe=arguments.length-2;if(fe===1)q.children=K;else if(1<fe){for(var he=Array(fe),ye=0;ye<fe;ye++)he[ye]=arguments[ye+2];q.children=he}if(O&&O.defaultProps)for(L in fe=O.defaultProps,fe)q[L]===void 0&&(q[L]=fe[L]);return{$$typeof:e,type:O,key:Z,ref:se,props:q,_owner:P.current}}function I(O,G){return{$$typeof:e,type:O.type,key:G,ref:O.ref,props:O.props,_owner:O._owner}}function A(O){return typeof O=="object"&&O!==null&&O.$$typeof===e}function D(O){var G={"=":"=0",":":"=2"};return"$"+O.replace(/[=:]/g,function(K){return G[K]})}var H=/\/+/g;function Y(O,G){return typeof O=="object"&&O!==null&&O.key!=null?D(""+O.key):G.toString(36)}function j(O,G,K,L,q){var Z=typeof O;(Z==="undefined"||Z==="boolean")&&(O=null);var se=!1;if(O===null)se=!0;else switch(Z){case"string":case"number":se=!0;break;case"object":switch(O.$$typeof){case e:case t:se=!0}}if(se)return se=O,q=q(se),O=L===""?"."+Y(se,0):L,T(q)?(K="",O!=null&&(K=O.replace(H,"$&/")+"/"),j(q,G,K,"",function(ye){return ye})):q!=null&&(A(q)&&(q=I(q,K+(!q.key||se&&se.key===q.key?"":(""+q.key).replace(H,"$&/")+"/")+O)),G.push(q)),1;if(se=0,L=L===""?".":L+":",T(O))for(var fe=0;fe<O.length;fe++){Z=O[fe];var he=L+Y(Z,fe);se+=j(Z,G,K,he,q)}else if(he=y(O),typeof he=="function")for(O=he.call(O),fe=0;!(Z=O.next()).done;)Z=Z.value,he=L+Y(Z,fe++),se+=j(Z,G,K,he,q);else if(Z==="object")throw G=String(O),Error("Objects are not valid as a React child (found: "+(G==="[object Object]"?"object with keys {"+Object.keys(O).join(", ")+"}":G)+"). If you meant to render a collection of children, use an array instead.");return se}function X(O,G,K){if(O==null)return O;var L=[],q=0;return j(O,L,"","",function(Z){return G.call(K,Z,q++)}),L}function z(O){if(O._status===-1){var G=O._result;G=G(),G.then(function(K){(O._status===0||O._status===-1)&&(O._status=1,O._result=K)},function(K){(O._status===0||O._status===-1)&&(O._status=2,O._result=K)}),O._status===-1&&(O._status=0,O._result=G)}if(O._status===1)return O._result.default;throw O._result}var ne={current:null},J={transition:null},U={ReactCurrentDispatcher:ne,ReactCurrentBatchConfig:J,ReactCurrentOwner:P};function Q(){throw Error("act(...) is not supported in production builds of React.")}return He.Children={map:X,forEach:function(O,G,K){X(O,function(){G.apply(this,arguments)},K)},count:function(O){var G=0;return X(O,function(){G++}),G},toArray:function(O){return X(O,function(G){return G})||[]},only:function(O){if(!A(O))throw Error("React.Children.only expected to receive a single React element child.");return O}},He.Component=_,He.Fragment=r,He.Profiler=o,He.PureComponent=S,He.StrictMode=s,He.Suspense=h,He.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=U,He.act=Q,He.cloneElement=function(O,G,K){if(O==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+O+".");var L=N({},O.props),q=O.key,Z=O.ref,se=O._owner;if(G!=null){if(G.ref!==void 0&&(Z=G.ref,se=P.current),G.key!==void 0&&(q=""+G.key),O.type&&O.type.defaultProps)var fe=O.type.defaultProps;for(he in G)M.call(G,he)&&!$.hasOwnProperty(he)&&(L[he]=G[he]===void 0&&fe!==void 0?fe[he]:G[he])}var he=arguments.length-2;if(he===1)L.children=K;else if(1<he){fe=Array(he);for(var ye=0;ye<he;ye++)fe[ye]=arguments[ye+2];L.children=fe}return{$$typeof:e,type:O.type,key:q,ref:Z,props:L,_owner:se}},He.createContext=function(O){return O={$$typeof:u,_currentValue:O,_currentValue2:O,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},O.Provider={$$typeof:a,_context:O},O.Consumer=O},He.createElement=W,He.createFactory=function(O){var G=W.bind(null,O);return G.type=O,G},He.createRef=function(){return{current:null}},He.forwardRef=function(O){return{$$typeof:c,render:O}},He.isValidElement=A,He.lazy=function(O){return{$$typeof:f,_payload:{_status:-1,_result:O},_init:z}},He.memo=function(O,G){return{$$typeof:m,type:O,compare:G===void 0?null:G}},He.startTransition=function(O){var G=J.transition;J.transition={};try{O()}finally{J.transition=G}},He.unstable_act=Q,He.useCallback=function(O,G){return ne.current.useCallback(O,G)},He.useContext=function(O){return ne.current.useContext(O)},He.useDebugValue=function(){},He.useDeferredValue=function(O){return ne.current.useDeferredValue(O)},He.useEffect=function(O,G){return ne.current.useEffect(O,G)},He.useId=function(){return ne.current.useId()},He.useImperativeHandle=function(O,G,K){return ne.current.useImperativeHandle(O,G,K)},He.useInsertionEffect=function(O,G){return ne.current.useInsertionEffect(O,G)},He.useLayoutEffect=function(O,G){return ne.current.useLayoutEffect(O,G)},He.useMemo=function(O,G){return ne.current.useMemo(O,G)},He.useReducer=function(O,G,K){return ne.current.useReducer(O,G,K)},He.useRef=function(O){return ne.current.useRef(O)},He.useState=function(O){return ne.current.useState(O)},He.useSyncExternalStore=function(O,G,K){return ne.current.useSyncExternalStore(O,G,K)},He.useTransition=function(){return ne.current.useTransition()},He.version="18.3.1",He}var Mx;function il(){return Mx||(Mx=1,wf.exports=_A()),wf.exports}/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.production.min.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var Ix;function kA(){if(Ix)return Aa;Ix=1;var e=il(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function u(c,h,m){var f,g={},y=null,w=null;m!==void 0&&(y=""+m),h.key!==void 0&&(y=""+h.key),h.ref!==void 0&&(w=h.ref);for(f in h)s.call(h,f)&&!a.hasOwnProperty(f)&&(g[f]=h[f]);if(c&&c.defaultProps)for(f in h=c.defaultProps,h)g[f]===void 0&&(g[f]=h[f]);return{$$typeof:t,type:c,key:y,ref:w,props:g,_owner:o.current}}return Aa.Fragment=r,Aa.jsx=u,Aa.jsxs=u,Aa}var Ox;function SA(){return Ox||(Ox=1,yf.exports=kA()),yf.exports}var d=SA(),Ru={},xf={exports:{}},dn={},bf={exports:{}},_f={};/**
|
|
18
|
+
* @license React
|
|
19
|
+
* scheduler.production.min.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/var Px;function NA(){return Px||(Px=1,(function(e){function t(J,U){var Q=J.length;J.push(U);e:for(;0<Q;){var O=Q-1>>>1,G=J[O];if(0<o(G,U))J[O]=U,J[Q]=G,Q=O;else break e}}function r(J){return J.length===0?null:J[0]}function s(J){if(J.length===0)return null;var U=J[0],Q=J.pop();if(Q!==U){J[0]=Q;e:for(var O=0,G=J.length,K=G>>>1;O<K;){var L=2*(O+1)-1,q=J[L],Z=L+1,se=J[Z];if(0>o(q,Q))Z<G&&0>o(se,q)?(J[O]=se,J[Z]=Q,O=Z):(J[O]=q,J[L]=Q,O=L);else if(Z<G&&0>o(se,Q))J[O]=se,J[Z]=Q,O=Z;else break e}}return U}function o(J,U){var Q=J.sortIndex-U.sortIndex;return Q!==0?Q:J.id-U.id}if(typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var u=Date,c=u.now();e.unstable_now=function(){return u.now()-c}}var h=[],m=[],f=1,g=null,y=3,w=!1,N=!1,b=!1,_=typeof setTimeout=="function"?setTimeout:null,k=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function C(J){for(var U=r(m);U!==null;){if(U.callback===null)s(m);else if(U.startTime<=J)s(m),U.sortIndex=U.expirationTime,t(h,U);else break;U=r(m)}}function T(J){if(b=!1,C(J),!N)if(r(h)!==null)N=!0,z(M);else{var U=r(m);U!==null&&ne(T,U.startTime-J)}}function M(J,U){N=!1,b&&(b=!1,k(W),W=-1),w=!0;var Q=y;try{for(C(U),g=r(h);g!==null&&(!(g.expirationTime>U)||J&&!D());){var O=g.callback;if(typeof O=="function"){g.callback=null,y=g.priorityLevel;var G=O(g.expirationTime<=U);U=e.unstable_now(),typeof G=="function"?g.callback=G:g===r(h)&&s(h),C(U)}else s(h);g=r(h)}if(g!==null)var K=!0;else{var L=r(m);L!==null&&ne(T,L.startTime-U),K=!1}return K}finally{g=null,y=Q,w=!1}}var P=!1,$=null,W=-1,I=5,A=-1;function D(){return!(e.unstable_now()-A<I)}function H(){if($!==null){var J=e.unstable_now();A=J;var U=!0;try{U=$(!0,J)}finally{U?Y():(P=!1,$=null)}}else P=!1}var Y;if(typeof S=="function")Y=function(){S(H)};else if(typeof MessageChannel<"u"){var j=new MessageChannel,X=j.port2;j.port1.onmessage=H,Y=function(){X.postMessage(null)}}else Y=function(){_(H,0)};function z(J){$=J,P||(P=!0,Y())}function ne(J,U){W=_(function(){J(e.unstable_now())},U)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(J){J.callback=null},e.unstable_continueExecution=function(){N||w||(N=!0,z(M))},e.unstable_forceFrameRate=function(J){0>J||125<J?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):I=0<J?Math.floor(1e3/J):5},e.unstable_getCurrentPriorityLevel=function(){return y},e.unstable_getFirstCallbackNode=function(){return r(h)},e.unstable_next=function(J){switch(y){case 1:case 2:case 3:var U=3;break;default:U=y}var Q=y;y=U;try{return J()}finally{y=Q}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(J,U){switch(J){case 1:case 2:case 3:case 4:case 5:break;default:J=3}var Q=y;y=J;try{return U()}finally{y=Q}},e.unstable_scheduleCallback=function(J,U,Q){var O=e.unstable_now();switch(typeof Q=="object"&&Q!==null?(Q=Q.delay,Q=typeof Q=="number"&&0<Q?O+Q:O):Q=O,J){case 1:var G=-1;break;case 2:G=250;break;case 5:G=1073741823;break;case 4:G=1e4;break;default:G=5e3}return G=Q+G,J={id:f++,callback:U,priorityLevel:J,startTime:Q,expirationTime:G,sortIndex:-1},Q>O?(J.sortIndex=Q,t(m,J),r(h)===null&&J===r(m)&&(b?(k(W),W=-1):b=!0,ne(T,Q-O))):(J.sortIndex=G,t(h,J),N||w||(N=!0,z(M))),J},e.unstable_shouldYield=D,e.unstable_wrapCallback=function(J){var U=y;return function(){var Q=y;y=U;try{return J.apply(this,arguments)}finally{y=Q}}}})(_f)),_f}var $x;function EA(){return $x||($x=1,bf.exports=NA()),bf.exports}/**
|
|
26
|
+
* @license React
|
|
27
|
+
* react-dom.production.min.js
|
|
28
|
+
*
|
|
29
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the MIT license found in the
|
|
32
|
+
* LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/var Lx;function CA(){if(Lx)return dn;Lx=1;var e=il(),t=EA();function r(n){for(var i="https://reactjs.org/docs/error-decoder.html?invariant="+n,l=1;l<arguments.length;l++)i+="&args[]="+encodeURIComponent(arguments[l]);return"Minified React error #"+n+"; visit "+i+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,o={};function a(n,i){u(n,i),u(n+"Capture",i)}function u(n,i){for(o[n]=i,n=0;n<i.length;n++)s.add(i[n])}var c=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),h=Object.prototype.hasOwnProperty,m=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,f={},g={};function y(n){return h.call(g,n)?!0:h.call(f,n)?!1:m.test(n)?g[n]=!0:(f[n]=!0,!1)}function w(n,i,l,p){if(l!==null&&l.type===0)return!1;switch(typeof i){case"function":case"symbol":return!0;case"boolean":return p?!1:l!==null?!l.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function N(n,i,l,p){if(i===null||typeof i>"u"||w(n,i,l,p))return!0;if(p)return!1;if(l!==null)switch(l.type){case 3:return!i;case 4:return i===!1;case 5:return isNaN(i);case 6:return isNaN(i)||1>i}return!1}function b(n,i,l,p,v,x,R){this.acceptsBooleans=i===2||i===3||i===4,this.attributeName=p,this.attributeNamespace=v,this.mustUseProperty=l,this.propertyName=n,this.type=i,this.sanitizeURL=x,this.removeEmptyString=R}var _={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){_[n]=new b(n,0,!1,n,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var i=n[0];_[i]=new b(i,1,!1,n[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(n){_[n]=new b(n,2,!1,n.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){_[n]=new b(n,2,!1,n,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){_[n]=new b(n,3,!1,n.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(n){_[n]=new b(n,3,!0,n,null,!1,!1)}),["capture","download"].forEach(function(n){_[n]=new b(n,4,!1,n,null,!1,!1)}),["cols","rows","size","span"].forEach(function(n){_[n]=new b(n,6,!1,n,null,!1,!1)}),["rowSpan","start"].forEach(function(n){_[n]=new b(n,5,!1,n.toLowerCase(),null,!1,!1)});var k=/[\-:]([a-z])/g;function S(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var i=n.replace(k,S);_[i]=new b(i,1,!1,n,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var i=n.replace(k,S);_[i]=new b(i,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(n){var i=n.replace(k,S);_[i]=new b(i,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(n){_[n]=new b(n,1,!1,n.toLowerCase(),null,!1,!1)}),_.xlinkHref=new b("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(n){_[n]=new b(n,1,!1,n.toLowerCase(),null,!0,!0)});function C(n,i,l,p){var v=_.hasOwnProperty(i)?_[i]:null;(v!==null?v.type!==0:p||!(2<i.length)||i[0]!=="o"&&i[0]!=="O"||i[1]!=="n"&&i[1]!=="N")&&(N(i,l,v,p)&&(l=null),p||v===null?y(i)&&(l===null?n.removeAttribute(i):n.setAttribute(i,""+l)):v.mustUseProperty?n[v.propertyName]=l===null?v.type===3?!1:"":l:(i=v.attributeName,p=v.attributeNamespace,l===null?n.removeAttribute(i):(v=v.type,l=v===3||v===4&&l===!0?"":""+l,p?n.setAttributeNS(p,i,l):n.setAttribute(i,l))))}var T=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,M=Symbol.for("react.element"),P=Symbol.for("react.portal"),$=Symbol.for("react.fragment"),W=Symbol.for("react.strict_mode"),I=Symbol.for("react.profiler"),A=Symbol.for("react.provider"),D=Symbol.for("react.context"),H=Symbol.for("react.forward_ref"),Y=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),X=Symbol.for("react.memo"),z=Symbol.for("react.lazy"),ne=Symbol.for("react.offscreen"),J=Symbol.iterator;function U(n){return n===null||typeof n!="object"?null:(n=J&&n[J]||n["@@iterator"],typeof n=="function"?n:null)}var Q=Object.assign,O;function G(n){if(O===void 0)try{throw Error()}catch(l){var i=l.stack.trim().match(/\n( *(at )?)/);O=i&&i[1]||""}return`
|
|
34
|
+
`+O+n}var K=!1;function L(n,i){if(!n||K)return"";K=!0;var l=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(i)if(i=function(){throw Error()},Object.defineProperty(i.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(i,[])}catch(le){var p=le}Reflect.construct(n,[],i)}else{try{i.call()}catch(le){p=le}n.call(i.prototype)}else{try{throw Error()}catch(le){p=le}n()}}catch(le){if(le&&p&&typeof le.stack=="string"){for(var v=le.stack.split(`
|
|
35
|
+
`),x=p.stack.split(`
|
|
36
|
+
`),R=v.length-1,B=x.length-1;1<=R&&0<=B&&v[R]!==x[B];)B--;for(;1<=R&&0<=B;R--,B--)if(v[R]!==x[B]){if(R!==1||B!==1)do if(R--,B--,0>B||v[R]!==x[B]){var ee=`
|
|
37
|
+
`+v[R].replace(" at new "," at ");return n.displayName&&ee.includes("<anonymous>")&&(ee=ee.replace("<anonymous>",n.displayName)),ee}while(1<=R&&0<=B);break}}}finally{K=!1,Error.prepareStackTrace=l}return(n=n?n.displayName||n.name:"")?G(n):""}function q(n){switch(n.tag){case 5:return G(n.type);case 16:return G("Lazy");case 13:return G("Suspense");case 19:return G("SuspenseList");case 0:case 2:case 15:return n=L(n.type,!1),n;case 11:return n=L(n.type.render,!1),n;case 1:return n=L(n.type,!0),n;default:return""}}function Z(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case $:return"Fragment";case P:return"Portal";case I:return"Profiler";case W:return"StrictMode";case Y:return"Suspense";case j:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case D:return(n.displayName||"Context")+".Consumer";case A:return(n._context.displayName||"Context")+".Provider";case H:var i=n.render;return n=n.displayName,n||(n=i.displayName||i.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case X:return i=n.displayName||null,i!==null?i:Z(n.type)||"Memo";case z:i=n._payload,n=n._init;try{return Z(n(i))}catch{}}return null}function se(n){var i=n.type;switch(n.tag){case 24:return"Cache";case 9:return(i.displayName||"Context")+".Consumer";case 10:return(i._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=i.render,n=n.displayName||n.name||"",i.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return i;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Z(i);case 8:return i===W?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i}return null}function fe(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function he(n){var i=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(i==="checkbox"||i==="radio")}function ye(n){var i=he(n)?"checked":"value",l=Object.getOwnPropertyDescriptor(n.constructor.prototype,i),p=""+n[i];if(!n.hasOwnProperty(i)&&typeof l<"u"&&typeof l.get=="function"&&typeof l.set=="function"){var v=l.get,x=l.set;return Object.defineProperty(n,i,{configurable:!0,get:function(){return v.call(this)},set:function(R){p=""+R,x.call(this,R)}}),Object.defineProperty(n,i,{enumerable:l.enumerable}),{getValue:function(){return p},setValue:function(R){p=""+R},stopTracking:function(){n._valueTracker=null,delete n[i]}}}}function Re(n){n._valueTracker||(n._valueTracker=ye(n))}function Ue(n){if(!n)return!1;var i=n._valueTracker;if(!i)return!0;var l=i.getValue(),p="";return n&&(p=he(n)?n.checked?"true":"false":n.value),n=p,n!==l?(i.setValue(n),!0):!1}function De(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function Ie(n,i){var l=i.checked;return Q({},i,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:l??n._wrapperState.initialChecked})}function ke(n,i){var l=i.defaultValue==null?"":i.defaultValue,p=i.checked!=null?i.checked:i.defaultChecked;l=fe(i.value!=null?i.value:l),n._wrapperState={initialChecked:p,initialValue:l,controlled:i.type==="checkbox"||i.type==="radio"?i.checked!=null:i.value!=null}}function ue(n,i){i=i.checked,i!=null&&C(n,"checked",i,!1)}function xe(n,i){ue(n,i);var l=fe(i.value),p=i.type;if(l!=null)p==="number"?(l===0&&n.value===""||n.value!=l)&&(n.value=""+l):n.value!==""+l&&(n.value=""+l);else if(p==="submit"||p==="reset"){n.removeAttribute("value");return}i.hasOwnProperty("value")?Ke(n,i.type,l):i.hasOwnProperty("defaultValue")&&Ke(n,i.type,fe(i.defaultValue)),i.checked==null&&i.defaultChecked!=null&&(n.defaultChecked=!!i.defaultChecked)}function we(n,i,l){if(i.hasOwnProperty("value")||i.hasOwnProperty("defaultValue")){var p=i.type;if(!(p!=="submit"&&p!=="reset"||i.value!==void 0&&i.value!==null))return;i=""+n._wrapperState.initialValue,l||i===n.value||(n.value=i),n.defaultValue=i}l=n.name,l!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,l!==""&&(n.name=l)}function Ke(n,i,l){(i!=="number"||De(n.ownerDocument)!==n)&&(l==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+l&&(n.defaultValue=""+l))}var vt=Array.isArray;function ut(n,i,l,p){if(n=n.options,i){i={};for(var v=0;v<l.length;v++)i["$"+l[v]]=!0;for(l=0;l<n.length;l++)v=i.hasOwnProperty("$"+n[l].value),n[l].selected!==v&&(n[l].selected=v),v&&p&&(n[l].defaultSelected=!0)}else{for(l=""+fe(l),i=null,v=0;v<n.length;v++){if(n[v].value===l){n[v].selected=!0,p&&(n[v].defaultSelected=!0);return}i!==null||n[v].disabled||(i=n[v])}i!==null&&(i.selected=!0)}}function st(n,i){if(i.dangerouslySetInnerHTML!=null)throw Error(r(91));return Q({},i,{value:void 0,defaultValue:void 0,children:""+n._wrapperState.initialValue})}function Be(n,i){var l=i.value;if(l==null){if(l=i.children,i=i.defaultValue,l!=null){if(i!=null)throw Error(r(92));if(vt(l)){if(1<l.length)throw Error(r(93));l=l[0]}i=l}i==null&&(i=""),l=i}n._wrapperState={initialValue:fe(l)}}function tt(n,i){var l=fe(i.value),p=fe(i.defaultValue);l!=null&&(l=""+l,l!==n.value&&(n.value=l),i.defaultValue==null&&n.defaultValue!==l&&(n.defaultValue=l)),p!=null&&(n.defaultValue=""+p)}function Ye(n){var i=n.textContent;i===n._wrapperState.initialValue&&i!==""&&i!==null&&(n.value=i)}function bt(n){switch(n){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Me(n,i){return n==null||n==="http://www.w3.org/1999/xhtml"?bt(i):n==="http://www.w3.org/2000/svg"&&i==="foreignObject"?"http://www.w3.org/1999/xhtml":n}var it,Rt=(function(n){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(i,l,p,v){MSApp.execUnsafeLocalFunction(function(){return n(i,l,p,v)})}:n})(function(n,i){if(n.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in n)n.innerHTML=i;else{for(it=it||document.createElement("div"),it.innerHTML="<svg>"+i.valueOf().toString()+"</svg>",i=it.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;i.firstChild;)n.appendChild(i.firstChild)}});function oe(n,i){if(i){var l=n.firstChild;if(l&&l===n.lastChild&&l.nodeType===3){l.nodeValue=i;return}}n.textContent=i}var Pe={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qe=["Webkit","ms","Moz","O"];Object.keys(Pe).forEach(function(n){qe.forEach(function(i){i=i+n.charAt(0).toUpperCase()+n.substring(1),Pe[i]=Pe[n]})});function Ne(n,i,l){return i==null||typeof i=="boolean"||i===""?"":l||typeof i!="number"||i===0||Pe.hasOwnProperty(n)&&Pe[n]?(""+i).trim():i+"px"}function We(n,i){n=n.style;for(var l in i)if(i.hasOwnProperty(l)){var p=l.indexOf("--")===0,v=Ne(l,i[l],p);l==="float"&&(l="cssFloat"),p?n.setProperty(l,v):n[l]=v}}var Nt=Q({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function et(n,i){if(i){if(Nt[n]&&(i.children!=null||i.dangerouslySetInnerHTML!=null))throw Error(r(137,n));if(i.dangerouslySetInnerHTML!=null){if(i.children!=null)throw Error(r(60));if(typeof i.dangerouslySetInnerHTML!="object"||!("__html"in i.dangerouslySetInnerHTML))throw Error(r(61))}if(i.style!=null&&typeof i.style!="object")throw Error(r(62))}}function je(n,i){if(n.indexOf("-")===-1)return typeof i.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var yt=null;function at(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var _t=null,_n=null,qn=null;function kn(n){if(n=ga(n)){if(typeof _t!="function")throw Error(r(280));var i=n.stateNode;i&&(i=Wl(i),_t(n.stateNode,n.type,i))}}function _i(n){_n?qn?qn.push(n):qn=[n]:_n=n}function pn(){if(_n){var n=_n,i=qn;if(qn=_n=null,kn(n),i)for(n=0;n<i.length;n++)kn(i[n])}}function ki(n,i){return n(i)}function Si(){}var zt=!1;function Er(n,i,l){if(zt)return n(i,l);zt=!0;try{return ki(n,i,l)}finally{zt=!1,(_n!==null||qn!==null)&&(Si(),pn())}}function Dn(n,i){var l=n.stateNode;if(l===null)return null;var p=Wl(l);if(p===null)return null;l=p[i];e:switch(i){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(p=!p.disabled)||(n=n.type,p=!(n==="button"||n==="input"||n==="select"||n==="textarea")),n=!p;break e;default:n=!1}if(n)return null;if(l&&typeof l!="function")throw Error(r(231,i,typeof l));return l}var Ms=!1;if(c)try{var Cr={};Object.defineProperty(Cr,"passive",{get:function(){Ms=!0}}),window.addEventListener("test",Cr,Cr),window.removeEventListener("test",Cr,Cr)}catch{Ms=!1}function Ho(n,i,l,p,v,x,R,B,ee){var le=Array.prototype.slice.call(arguments,3);try{i.apply(l,le)}catch(me){this.onError(me)}}var cr=!1,jr=null,dr=!1,Zr=null,Ni={onError:function(n){cr=!0,jr=n}};function Ei(n,i,l,p,v,x,R,B,ee){cr=!1,jr=null,Ho.apply(Ni,arguments)}function Ci(n,i,l,p,v,x,R,B,ee){if(Ei.apply(this,arguments),cr){if(cr){var le=jr;cr=!1,jr=null}else throw Error(r(198));dr||(dr=!0,Zr=le)}}function Sn(n){var i=n,l=n;if(n.alternate)for(;i.return;)i=i.return;else{n=i;do i=n,(i.flags&4098)!==0&&(l=i.return),n=i.return;while(n)}return i.tag===3?l:null}function ji(n){if(n.tag===13){var i=n.memoizedState;if(i===null&&(n=n.alternate,n!==null&&(i=n.memoizedState)),i!==null)return i.dehydrated}return null}function Tr(n){if(Sn(n)!==n)throw Error(r(188))}function Ti(n){var i=n.alternate;if(!i){if(i=Sn(n),i===null)throw Error(r(188));return i!==n?null:n}for(var l=n,p=i;;){var v=l.return;if(v===null)break;var x=v.alternate;if(x===null){if(p=v.return,p!==null){l=p;continue}break}if(v.child===x.child){for(x=v.child;x;){if(x===l)return Tr(v),n;if(x===p)return Tr(v),i;x=x.sibling}throw Error(r(188))}if(l.return!==p.return)l=v,p=x;else{for(var R=!1,B=v.child;B;){if(B===l){R=!0,l=v,p=x;break}if(B===p){R=!0,p=v,l=x;break}B=B.sibling}if(!R){for(B=x.child;B;){if(B===l){R=!0,l=x,p=v;break}if(B===p){R=!0,p=x,l=v;break}B=B.sibling}if(!R)throw Error(r(189))}}if(l.alternate!==p)throw Error(r(190))}if(l.tag!==3)throw Error(r(188));return l.stateNode.current===l?n:i}function Fn(n){return n=Ti(n),n!==null?Ri(n):null}function Ri(n){if(n.tag===5||n.tag===6)return n;for(n=n.child;n!==null;){var i=Ri(n);if(i!==null)return i;n=n.sibling}return null}var Is=t.unstable_scheduleCallback,Os=t.unstable_cancelCallback,Ai=t.unstable_shouldYield,Mi=t.unstable_requestPaint,nt=t.unstable_now,Go=t.unstable_getCurrentPriorityLevel,Jr=t.unstable_ImmediatePriority,Ht=t.unstable_UserBlockingPriority,zn=t.unstable_NormalPriority,Ii=t.unstable_LowPriority,es=t.unstable_IdlePriority,ht=null,rn=null;function Bn(n){if(rn&&typeof rn.onCommitFiberRoot=="function")try{rn.onCommitFiberRoot(ht,n,void 0,(n.current.flags&128)===128)}catch{}}var mn=Math.clz32?Math.clz32:Oi,Hc=Math.log,Rr=Math.LN2;function Oi(n){return n>>>=0,n===0?32:31-(Hc(n)/Rr|0)|0}var Pi=64,$i=4194304;function ts(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function Ps(n,i){var l=n.pendingLanes;if(l===0)return 0;var p=0,v=n.suspendedLanes,x=n.pingedLanes,R=l&268435455;if(R!==0){var B=R&~v;B!==0?p=ts(B):(x&=R,x!==0&&(p=ts(x)))}else R=l&~v,R!==0?p=ts(R):x!==0&&(p=ts(x));if(p===0)return 0;if(i!==0&&i!==p&&(i&v)===0&&(v=p&-p,x=i&-i,v>=x||v===16&&(x&4194240)!==0))return i;if((p&4)!==0&&(p|=l&16),i=n.entangledLanes,i!==0)for(n=n.entanglements,i&=p;0<i;)l=31-mn(i),v=1<<l,p|=n[l],i&=~v;return p}function ns(n,i){switch(n){case 1:case 2:case 4:return i+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return i+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function wl(n,i){for(var l=n.suspendedLanes,p=n.pingedLanes,v=n.expirationTimes,x=n.pendingLanes;0<x;){var R=31-mn(x),B=1<<R,ee=v[R];ee===-1?((B&l)===0||(B&p)!==0)&&(v[R]=ns(B,i)):ee<=i&&(n.expiredLanes|=B),x&=~B}}function Li(n){return n=n.pendingLanes&-1073741825,n!==0?n:n&1073741824?1073741824:0}function $s(){var n=Pi;return Pi<<=1,(Pi&4194240)===0&&(Pi=64),n}function qi(n){for(var i=[],l=0;31>l;l++)i.push(n);return i}function rs(n,i,l){n.pendingLanes|=i,i!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,i=31-mn(i),n[i]=l}function Zt(n,i){var l=n.pendingLanes&~i;n.pendingLanes=i,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=i,n.mutableReadLanes&=i,n.entangledLanes&=i,i=n.entanglements;var p=n.eventTimes;for(n=n.expirationTimes;0<l;){var v=31-mn(l),x=1<<v;i[v]=0,p[v]=-1,n[v]=-1,l&=~x}}function ss(n,i){var l=n.entangledLanes|=i;for(n=n.entanglements;l;){var p=31-mn(l),v=1<<p;v&i|n[p]&i&&(n[p]|=i),l&=~v}}var Xe=0;function Vo(n){return n&=-n,1<n?4<n?(n&268435455)!==0?16:536870912:4:1}var xl,Ar,Ko,Un,bl,Di=!1,Fi=[],fr=null,Wn=null,hr=null,gn=new Map,Hn=new Map,Gn=[],Yo="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Vn(n,i){switch(n){case"focusin":case"focusout":fr=null;break;case"dragenter":case"dragleave":Wn=null;break;case"mouseover":case"mouseout":hr=null;break;case"pointerover":case"pointerout":gn.delete(i.pointerId);break;case"gotpointercapture":case"lostpointercapture":Hn.delete(i.pointerId)}}function Ls(n,i,l,p,v,x){return n===null||n.nativeEvent!==x?(n={blockedOn:i,domEventName:l,eventSystemFlags:p,nativeEvent:x,targetContainers:[v]},i!==null&&(i=ga(i),i!==null&&Ar(i)),n):(n.eventSystemFlags|=p,i=n.targetContainers,v!==null&&i.indexOf(v)===-1&&i.push(v),n)}function Nn(n,i,l,p,v){switch(i){case"focusin":return fr=Ls(fr,n,i,l,p,v),!0;case"dragenter":return Wn=Ls(Wn,n,i,l,p,v),!0;case"mouseover":return hr=Ls(hr,n,i,l,p,v),!0;case"pointerover":var x=v.pointerId;return gn.set(x,Ls(gn.get(x)||null,n,i,l,p,v)),!0;case"gotpointercapture":return x=v.pointerId,Hn.set(x,Ls(Hn.get(x)||null,n,i,l,p,v)),!0}return!1}function zi(n){var i=Qs(n.target);if(i!==null){var l=Sn(i);if(l!==null){if(i=l.tag,i===13){if(i=ji(l),i!==null){n.blockedOn=i,bl(n.priority,function(){Ko(l)});return}}else if(i===3&&l.stateNode.current.memoizedState.isDehydrated){n.blockedOn=l.tag===3?l.stateNode.containerInfo:null;return}}}n.blockedOn=null}function is(n){if(n.blockedOn!==null)return!1;for(var i=n.targetContainers;0<i.length;){var l=Ui(n.domEventName,n.eventSystemFlags,i[0],n.nativeEvent);if(l===null){l=n.nativeEvent;var p=new l.constructor(l.type,l);yt=p,l.target.dispatchEvent(p),yt=null}else return i=ga(l),i!==null&&Ar(i),n.blockedOn=l,!1;i.shift()}return!0}function Xo(n,i,l){is(n)&&l.delete(i)}function Bi(){Di=!1,fr!==null&&is(fr)&&(fr=null),Wn!==null&&is(Wn)&&(Wn=null),hr!==null&&is(hr)&&(hr=null),gn.forEach(Xo),Hn.forEach(Xo)}function Mr(n,i){n.blockedOn===i&&(n.blockedOn=null,Di||(Di=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Bi)))}function os(n){function i(v){return Mr(v,n)}if(0<Fi.length){Mr(Fi[0],n);for(var l=1;l<Fi.length;l++){var p=Fi[l];p.blockedOn===n&&(p.blockedOn=null)}}for(fr!==null&&Mr(fr,n),Wn!==null&&Mr(Wn,n),hr!==null&&Mr(hr,n),gn.forEach(i),Hn.forEach(i),l=0;l<Gn.length;l++)p=Gn[l],p.blockedOn===n&&(p.blockedOn=null);for(;0<Gn.length&&(l=Gn[0],l.blockedOn===null);)zi(l),l.blockedOn===null&&Gn.shift()}var pr=T.ReactCurrentBatchConfig,qs=!0;function Qo(n,i,l,p){var v=Xe,x=pr.transition;pr.transition=null;try{Xe=1,mr(n,i,l,p)}finally{Xe=v,pr.transition=x}}function _l(n,i,l,p){var v=Xe,x=pr.transition;pr.transition=null;try{Xe=4,mr(n,i,l,p)}finally{Xe=v,pr.transition=x}}function mr(n,i,l,p){if(qs){var v=Ui(n,i,l,p);if(v===null)ad(n,i,p,Ds,l),Vn(n,p);else if(Nn(v,n,i,l,p))p.stopPropagation();else if(Vn(n,p),i&4&&-1<Yo.indexOf(n)){for(;v!==null;){var x=ga(v);if(x!==null&&xl(x),x=Ui(n,i,l,p),x===null&&ad(n,i,p,Ds,l),x===v)break;v=x}v!==null&&p.stopPropagation()}else ad(n,i,p,null,l)}}var Ds=null;function Ui(n,i,l,p){if(Ds=null,n=at(p),n=Qs(n),n!==null)if(i=Sn(n),i===null)n=null;else if(l=i.tag,l===13){if(n=ji(i),n!==null)return n;n=null}else if(l===3){if(i.stateNode.current.memoizedState.isDehydrated)return i.tag===3?i.stateNode.containerInfo:null;n=null}else i!==n&&(n=null);return Ds=n,null}function Wi(n){switch(n){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Go()){case Jr:return 1;case Ht:return 4;case zn:case Ii:return 16;case es:return 536870912;default:return 16}default:return 16}}var gr=null,Fs=null,Kn=null;function Zo(){if(Kn)return Kn;var n,i=Fs,l=i.length,p,v="value"in gr?gr.value:gr.textContent,x=v.length;for(n=0;n<l&&i[n]===v[n];n++);var R=l-n;for(p=1;p<=R&&i[l-p]===v[x-p];p++);return Kn=v.slice(n,1<p?1-p:void 0)}function Hi(n){var i=n.keyCode;return"charCode"in n?(n=n.charCode,n===0&&i===13&&(n=13)):n=i,n===10&&(n=13),32<=n||n===13?n:0}function zs(){return!0}function Jo(){return!1}function Jt(n){function i(l,p,v,x,R){this._reactName=l,this._targetInst=v,this.type=p,this.nativeEvent=x,this.target=R,this.currentTarget=null;for(var B in n)n.hasOwnProperty(B)&&(l=n[B],this[B]=l?l(x):x[B]);return this.isDefaultPrevented=(x.defaultPrevented!=null?x.defaultPrevented:x.returnValue===!1)?zs:Jo,this.isPropagationStopped=Jo,this}return Q(i.prototype,{preventDefault:function(){this.defaultPrevented=!0;var l=this.nativeEvent;l&&(l.preventDefault?l.preventDefault():typeof l.returnValue!="unknown"&&(l.returnValue=!1),this.isDefaultPrevented=zs)},stopPropagation:function(){var l=this.nativeEvent;l&&(l.stopPropagation?l.stopPropagation():typeof l.cancelBubble!="unknown"&&(l.cancelBubble=!0),this.isPropagationStopped=zs)},persist:function(){},isPersistent:zs}),i}var At={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(n){return n.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ea=Jt(At),Ir=Q({},At,{view:0,detail:0}),as=Jt(Ir),Or,Bs,Pr,Us=Q({},Ir,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:En,button:0,buttons:0,relatedTarget:function(n){return n.relatedTarget===void 0?n.fromElement===n.srcElement?n.toElement:n.fromElement:n.relatedTarget},movementX:function(n){return"movementX"in n?n.movementX:(n!==Pr&&(Pr&&n.type==="mousemove"?(Or=n.screenX-Pr.screenX,Bs=n.screenY-Pr.screenY):Bs=Or=0,Pr=n),Or)},movementY:function(n){return"movementY"in n?n.movementY:Bs}}),Ws=Jt(Us),kl=Q({},Us,{dataTransfer:0}),Gc=Jt(kl),Vc=Q({},Ir,{relatedTarget:0}),Gi=Jt(Vc),Kc=Q({},At,{animationName:0,elapsedTime:0,pseudoElement:0}),Yc=Jt(Kc),ta=Q({},At,{clipboardData:function(n){return"clipboardData"in n?n.clipboardData:window.clipboardData}}),vr=Jt(ta),na=Q({},At,{data:0}),ra=Jt(na),Xc={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Qc={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Sl={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Nl(n){var i=this.nativeEvent;return i.getModifierState?i.getModifierState(n):(n=Sl[n])?!!i[n]:!1}function En(){return Nl}var Zc=Q({},Ir,{key:function(n){if(n.key){var i=Xc[n.key]||n.key;if(i!=="Unidentified")return i}return n.type==="keypress"?(n=Hi(n),n===13?"Enter":String.fromCharCode(n)):n.type==="keydown"||n.type==="keyup"?Qc[n.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:En,charCode:function(n){return n.type==="keypress"?Hi(n):0},keyCode:function(n){return n.type==="keydown"||n.type==="keyup"?n.keyCode:0},which:function(n){return n.type==="keypress"?Hi(n):n.type==="keydown"||n.type==="keyup"?n.keyCode:0}}),El=Jt(Zc),Jc=Q({},Us,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Hs=Jt(Jc),ed=Q({},Ir,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:En}),en=Jt(ed),sa=Q({},At,{propertyName:0,elapsedTime:0,pseudoElement:0}),Cl=Jt(sa),jl=Q({},Us,{deltaX:function(n){return"deltaX"in n?n.deltaX:"wheelDeltaX"in n?-n.wheelDeltaX:0},deltaY:function(n){return"deltaY"in n?n.deltaY:"wheelDeltaY"in n?-n.wheelDeltaY:"wheelDelta"in n?-n.wheelDelta:0},deltaZ:0,deltaMode:0}),Tl=Jt(jl),ia=[9,13,27,32],ls=c&&"CompositionEvent"in window,$r=null;c&&"documentMode"in document&&($r=document.documentMode);var Rl=c&&"TextEvent"in window&&!$r,Gs=c&&(!ls||$r&&8<$r&&11>=$r),oa=" ",Vi=!1;function aa(n,i){switch(n){case"keyup":return ia.indexOf(i.keyCode)!==-1;case"keydown":return i.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ki(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var Gt=!1;function Al(n,i){switch(n){case"compositionend":return Ki(i);case"keypress":return i.which!==32?null:(Vi=!0,oa);case"textInput":return n=i.data,n===oa&&Vi?null:n;default:return null}}function Ml(n,i){if(Gt)return n==="compositionend"||!ls&&aa(n,i)?(n=Zo(),Kn=Fs=gr=null,Gt=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(i.ctrlKey||i.altKey||i.metaKey)||i.ctrlKey&&i.altKey){if(i.char&&1<i.char.length)return i.char;if(i.which)return String.fromCharCode(i.which)}return null;case"compositionend":return Gs&&i.locale!=="ko"?null:i.data;default:return null}}var td={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Il(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i==="input"?!!td[n.type]:i==="textarea"}function la(n,i,l,p){_i(p),i=zl(i,"onChange"),0<i.length&&(l=new ea("onChange","change",null,l,p),n.push({event:l,listeners:i}))}var $t=null,us=null;function Ol(n){V0(n,0)}function Vs(n){var i=Ji(n);if(Ue(i))return n}function Pl(n,i){if(n==="change")return i}var F=!1;if(c){var V;if(c){var ae="oninput"in document;if(!ae){var de=document.createElement("div");de.setAttribute("oninput","return;"),ae=typeof de.oninput=="function"}V=ae}else V=!1;F=V&&(!document.documentMode||9<document.documentMode)}function be(){$t&&($t.detachEvent("onpropertychange",Ce),us=$t=null)}function Ce(n){if(n.propertyName==="value"&&Vs(us)){var i=[];la(i,us,n,at(n)),Er(Ol,i)}}function ze(n,i,l){n==="focusin"?(be(),$t=i,us=l,$t.attachEvent("onpropertychange",Ce)):n==="focusout"&&be()}function Ze(n){if(n==="selectionchange"||n==="keyup"||n==="keydown")return Vs(us)}function pt(n,i){if(n==="click")return Vs(i)}function ot(n,i){if(n==="input"||n==="change")return Vs(i)}function sn(n,i){return n===i&&(n!==0||1/n===1/i)||n!==n&&i!==i}var Vt=typeof Object.is=="function"?Object.is:sn;function cs(n,i){if(Vt(n,i))return!0;if(typeof n!="object"||n===null||typeof i!="object"||i===null)return!1;var l=Object.keys(n),p=Object.keys(i);if(l.length!==p.length)return!1;for(p=0;p<l.length;p++){var v=l[p];if(!h.call(i,v)||!Vt(n[v],i[v]))return!1}return!0}function $l(n){for(;n&&n.firstChild;)n=n.firstChild;return n}function ua(n,i){var l=$l(n);n=0;for(var p;l;){if(l.nodeType===3){if(p=n+l.textContent.length,n<=i&&p>=i)return{node:l,offset:i-n};n=p}e:{for(;l;){if(l.nextSibling){l=l.nextSibling;break e}l=l.parentNode}l=void 0}l=$l(l)}}function Ll(n,i){return n&&i?n===i?!0:n&&n.nodeType===3?!1:i&&i.nodeType===3?Ll(n,i.parentNode):"contains"in n?n.contains(i):n.compareDocumentPosition?!!(n.compareDocumentPosition(i)&16):!1:!1}function ca(){for(var n=window,i=De();i instanceof n.HTMLIFrameElement;){try{var l=typeof i.contentWindow.location.href=="string"}catch{l=!1}if(l)n=i.contentWindow;else break;i=De(n.document)}return i}function Ks(n){var i=n&&n.nodeName&&n.nodeName.toLowerCase();return i&&(i==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||i==="textarea"||n.contentEditable==="true")}function Ys(n){var i=ca(),l=n.focusedElem,p=n.selectionRange;if(i!==l&&l&&l.ownerDocument&&Ll(l.ownerDocument.documentElement,l)){if(p!==null&&Ks(l)){if(i=p.start,n=p.end,n===void 0&&(n=i),"selectionStart"in l)l.selectionStart=i,l.selectionEnd=Math.min(n,l.value.length);else if(n=(i=l.ownerDocument||document)&&i.defaultView||window,n.getSelection){n=n.getSelection();var v=l.textContent.length,x=Math.min(p.start,v);p=p.end===void 0?x:Math.min(p.end,v),!n.extend&&x>p&&(v=p,p=x,x=v),v=ua(l,x);var R=ua(l,p);v&&R&&(n.rangeCount!==1||n.anchorNode!==v.node||n.anchorOffset!==v.offset||n.focusNode!==R.node||n.focusOffset!==R.offset)&&(i=i.createRange(),i.setStart(v.node,v.offset),n.removeAllRanges(),x>p?(n.addRange(i),n.extend(R.node,R.offset)):(i.setEnd(R.node,R.offset),n.addRange(i)))}}for(i=[],n=l;n=n.parentNode;)n.nodeType===1&&i.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;l<i.length;l++)n=i[l],n.element.scrollLeft=n.left,n.element.scrollTop=n.top}}var Xs=c&&"documentMode"in document&&11>=document.documentMode,ct=null,Yi=null,da=null,nd=!1;function q0(n,i,l){var p=l.window===l?l.document:l.nodeType===9?l:l.ownerDocument;nd||ct==null||ct!==De(p)||(p=ct,"selectionStart"in p&&Ks(p)?p={start:p.selectionStart,end:p.selectionEnd}:(p=(p.ownerDocument&&p.ownerDocument.defaultView||window).getSelection(),p={anchorNode:p.anchorNode,anchorOffset:p.anchorOffset,focusNode:p.focusNode,focusOffset:p.focusOffset}),da&&cs(da,p)||(da=p,p=zl(Yi,"onSelect"),0<p.length&&(i=new ea("onSelect","select",null,i,l),n.push({event:i,listeners:p}),i.target=ct)))}function ql(n,i){var l={};return l[n.toLowerCase()]=i.toLowerCase(),l["Webkit"+n]="webkit"+i,l["Moz"+n]="moz"+i,l}var Xi={animationend:ql("Animation","AnimationEnd"),animationiteration:ql("Animation","AnimationIteration"),animationstart:ql("Animation","AnimationStart"),transitionend:ql("Transition","TransitionEnd")},rd={},D0={};c&&(D0=document.createElement("div").style,"AnimationEvent"in window||(delete Xi.animationend.animation,delete Xi.animationiteration.animation,delete Xi.animationstart.animation),"TransitionEvent"in window||delete Xi.transitionend.transition);function Dl(n){if(rd[n])return rd[n];if(!Xi[n])return n;var i=Xi[n],l;for(l in i)if(i.hasOwnProperty(l)&&l in D0)return rd[n]=i[l];return n}var F0=Dl("animationend"),z0=Dl("animationiteration"),B0=Dl("animationstart"),U0=Dl("transitionend"),W0=new Map,H0="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function ds(n,i){W0.set(n,i),a(i,[n])}for(var sd=0;sd<H0.length;sd++){var id=H0[sd],AR=id.toLowerCase(),MR=id[0].toUpperCase()+id.slice(1);ds(AR,"on"+MR)}ds(F0,"onAnimationEnd"),ds(z0,"onAnimationIteration"),ds(B0,"onAnimationStart"),ds("dblclick","onDoubleClick"),ds("focusin","onFocus"),ds("focusout","onBlur"),ds(U0,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("onPointerLeave",["pointerout","pointerover"]),a("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),a("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),a("onBeforeInput",["compositionend","keypress","textInput","paste"]),a("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),a("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var fa="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),IR=new Set("cancel close invalid load scroll toggle".split(" ").concat(fa));function G0(n,i,l){var p=n.type||"unknown-event";n.currentTarget=l,Ci(p,i,void 0,n),n.currentTarget=null}function V0(n,i){i=(i&4)!==0;for(var l=0;l<n.length;l++){var p=n[l],v=p.event;p=p.listeners;e:{var x=void 0;if(i)for(var R=p.length-1;0<=R;R--){var B=p[R],ee=B.instance,le=B.currentTarget;if(B=B.listener,ee!==x&&v.isPropagationStopped())break e;G0(v,B,le),x=ee}else for(R=0;R<p.length;R++){if(B=p[R],ee=B.instance,le=B.currentTarget,B=B.listener,ee!==x&&v.isPropagationStopped())break e;G0(v,B,le),x=ee}}}if(dr)throw n=Zr,dr=!1,Zr=null,n}function dt(n,i){var l=i[hd];l===void 0&&(l=i[hd]=new Set);var p=n+"__bubble";l.has(p)||(K0(i,n,2,!1),l.add(p))}function od(n,i,l){var p=0;i&&(p|=4),K0(l,n,p,i)}var Fl="_reactListening"+Math.random().toString(36).slice(2);function ha(n){if(!n[Fl]){n[Fl]=!0,s.forEach(function(l){l!=="selectionchange"&&(IR.has(l)||od(l,!1,n),od(l,!0,n))});var i=n.nodeType===9?n:n.ownerDocument;i===null||i[Fl]||(i[Fl]=!0,od("selectionchange",!1,i))}}function K0(n,i,l,p){switch(Wi(i)){case 1:var v=Qo;break;case 4:v=_l;break;default:v=mr}l=v.bind(null,i,l,n),v=void 0,!Ms||i!=="touchstart"&&i!=="touchmove"&&i!=="wheel"||(v=!0),p?v!==void 0?n.addEventListener(i,l,{capture:!0,passive:v}):n.addEventListener(i,l,!0):v!==void 0?n.addEventListener(i,l,{passive:v}):n.addEventListener(i,l,!1)}function ad(n,i,l,p,v){var x=p;if((i&1)===0&&(i&2)===0&&p!==null)e:for(;;){if(p===null)return;var R=p.tag;if(R===3||R===4){var B=p.stateNode.containerInfo;if(B===v||B.nodeType===8&&B.parentNode===v)break;if(R===4)for(R=p.return;R!==null;){var ee=R.tag;if((ee===3||ee===4)&&(ee=R.stateNode.containerInfo,ee===v||ee.nodeType===8&&ee.parentNode===v))return;R=R.return}for(;B!==null;){if(R=Qs(B),R===null)return;if(ee=R.tag,ee===5||ee===6){p=x=R;continue e}B=B.parentNode}}p=p.return}Er(function(){var le=x,me=at(l),ge=[];e:{var pe=W0.get(n);if(pe!==void 0){var _e=ea,Ee=n;switch(n){case"keypress":if(Hi(l)===0)break e;case"keydown":case"keyup":_e=El;break;case"focusin":Ee="focus",_e=Gi;break;case"focusout":Ee="blur",_e=Gi;break;case"beforeblur":case"afterblur":_e=Gi;break;case"click":if(l.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":_e=Ws;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":_e=Gc;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":_e=en;break;case F0:case z0:case B0:_e=Yc;break;case U0:_e=Cl;break;case"scroll":_e=as;break;case"wheel":_e=Tl;break;case"copy":case"cut":case"paste":_e=vr;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":_e=Hs}var Te=(i&4)!==0,Et=!Te&&n==="scroll",re=Te?pe!==null?pe+"Capture":null:pe;Te=[];for(var te=le,ie;te!==null;){ie=te;var ve=ie.stateNode;if(ie.tag===5&&ve!==null&&(ie=ve,re!==null&&(ve=Dn(te,re),ve!=null&&Te.push(pa(te,ve,ie)))),Et)break;te=te.return}0<Te.length&&(pe=new _e(pe,Ee,null,l,me),ge.push({event:pe,listeners:Te}))}}if((i&7)===0){e:{if(pe=n==="mouseover"||n==="pointerover",_e=n==="mouseout"||n==="pointerout",pe&&l!==yt&&(Ee=l.relatedTarget||l.fromElement)&&(Qs(Ee)||Ee[Lr]))break e;if((_e||pe)&&(pe=me.window===me?me:(pe=me.ownerDocument)?pe.defaultView||pe.parentWindow:window,_e?(Ee=l.relatedTarget||l.toElement,_e=le,Ee=Ee?Qs(Ee):null,Ee!==null&&(Et=Sn(Ee),Ee!==Et||Ee.tag!==5&&Ee.tag!==6)&&(Ee=null)):(_e=null,Ee=le),_e!==Ee)){if(Te=Ws,ve="onMouseLeave",re="onMouseEnter",te="mouse",(n==="pointerout"||n==="pointerover")&&(Te=Hs,ve="onPointerLeave",re="onPointerEnter",te="pointer"),Et=_e==null?pe:Ji(_e),ie=Ee==null?pe:Ji(Ee),pe=new Te(ve,te+"leave",_e,l,me),pe.target=Et,pe.relatedTarget=ie,ve=null,Qs(me)===le&&(Te=new Te(re,te+"enter",Ee,l,me),Te.target=ie,Te.relatedTarget=Et,ve=Te),Et=ve,_e&&Ee)t:{for(Te=_e,re=Ee,te=0,ie=Te;ie;ie=Qi(ie))te++;for(ie=0,ve=re;ve;ve=Qi(ve))ie++;for(;0<te-ie;)Te=Qi(Te),te--;for(;0<ie-te;)re=Qi(re),ie--;for(;te--;){if(Te===re||re!==null&&Te===re.alternate)break t;Te=Qi(Te),re=Qi(re)}Te=null}else Te=null;_e!==null&&Y0(ge,pe,_e,Te,!1),Ee!==null&&Et!==null&&Y0(ge,Et,Ee,Te,!0)}}e:{if(pe=le?Ji(le):window,_e=pe.nodeName&&pe.nodeName.toLowerCase(),_e==="select"||_e==="input"&&pe.type==="file")var Ae=Pl;else if(Il(pe))if(F)Ae=ot;else{Ae=Ze;var $e=ze}else(_e=pe.nodeName)&&_e.toLowerCase()==="input"&&(pe.type==="checkbox"||pe.type==="radio")&&(Ae=pt);if(Ae&&(Ae=Ae(n,le))){la(ge,Ae,l,me);break e}$e&&$e(n,pe,le),n==="focusout"&&($e=pe._wrapperState)&&$e.controlled&&pe.type==="number"&&Ke(pe,"number",pe.value)}switch($e=le?Ji(le):window,n){case"focusin":(Il($e)||$e.contentEditable==="true")&&(ct=$e,Yi=le,da=null);break;case"focusout":da=Yi=ct=null;break;case"mousedown":nd=!0;break;case"contextmenu":case"mouseup":case"dragend":nd=!1,q0(ge,l,me);break;case"selectionchange":if(Xs)break;case"keydown":case"keyup":q0(ge,l,me)}var Le;if(ls)e:{switch(n){case"compositionstart":var Fe="onCompositionStart";break e;case"compositionend":Fe="onCompositionEnd";break e;case"compositionupdate":Fe="onCompositionUpdate";break e}Fe=void 0}else Gt?aa(n,l)&&(Fe="onCompositionEnd"):n==="keydown"&&l.keyCode===229&&(Fe="onCompositionStart");Fe&&(Gs&&l.locale!=="ko"&&(Gt||Fe!=="onCompositionStart"?Fe==="onCompositionEnd"&&Gt&&(Le=Zo()):(gr=me,Fs="value"in gr?gr.value:gr.textContent,Gt=!0)),$e=zl(le,Fe),0<$e.length&&(Fe=new ra(Fe,n,null,l,me),ge.push({event:Fe,listeners:$e}),Le?Fe.data=Le:(Le=Ki(l),Le!==null&&(Fe.data=Le)))),(Le=Rl?Al(n,l):Ml(n,l))&&(le=zl(le,"onBeforeInput"),0<le.length&&(me=new ra("onBeforeInput","beforeinput",null,l,me),ge.push({event:me,listeners:le}),me.data=Le))}V0(ge,i)})}function pa(n,i,l){return{instance:n,listener:i,currentTarget:l}}function zl(n,i){for(var l=i+"Capture",p=[];n!==null;){var v=n,x=v.stateNode;v.tag===5&&x!==null&&(v=x,x=Dn(n,l),x!=null&&p.unshift(pa(n,x,v)),x=Dn(n,i),x!=null&&p.push(pa(n,x,v))),n=n.return}return p}function Qi(n){if(n===null)return null;do n=n.return;while(n&&n.tag!==5);return n||null}function Y0(n,i,l,p,v){for(var x=i._reactName,R=[];l!==null&&l!==p;){var B=l,ee=B.alternate,le=B.stateNode;if(ee!==null&&ee===p)break;B.tag===5&&le!==null&&(B=le,v?(ee=Dn(l,x),ee!=null&&R.unshift(pa(l,ee,B))):v||(ee=Dn(l,x),ee!=null&&R.push(pa(l,ee,B)))),l=l.return}R.length!==0&&n.push({event:i,listeners:R})}var OR=/\r\n?/g,PR=/\u0000|\uFFFD/g;function X0(n){return(typeof n=="string"?n:""+n).replace(OR,`
|
|
38
|
+
`).replace(PR,"")}function Bl(n,i,l){if(i=X0(i),X0(n)!==i&&l)throw Error(r(425))}function Ul(){}var ld=null,ud=null;function cd(n,i){return n==="textarea"||n==="noscript"||typeof i.children=="string"||typeof i.children=="number"||typeof i.dangerouslySetInnerHTML=="object"&&i.dangerouslySetInnerHTML!==null&&i.dangerouslySetInnerHTML.__html!=null}var dd=typeof setTimeout=="function"?setTimeout:void 0,$R=typeof clearTimeout=="function"?clearTimeout:void 0,Q0=typeof Promise=="function"?Promise:void 0,LR=typeof queueMicrotask=="function"?queueMicrotask:typeof Q0<"u"?function(n){return Q0.resolve(null).then(n).catch(qR)}:dd;function qR(n){setTimeout(function(){throw n})}function fd(n,i){var l=i,p=0;do{var v=l.nextSibling;if(n.removeChild(l),v&&v.nodeType===8)if(l=v.data,l==="/$"){if(p===0){n.removeChild(v),os(i);return}p--}else l!=="$"&&l!=="$?"&&l!=="$!"||p++;l=v}while(l);os(i)}function fs(n){for(;n!=null;n=n.nextSibling){var i=n.nodeType;if(i===1||i===3)break;if(i===8){if(i=n.data,i==="$"||i==="$!"||i==="$?")break;if(i==="/$")return null}}return n}function Z0(n){n=n.previousSibling;for(var i=0;n;){if(n.nodeType===8){var l=n.data;if(l==="$"||l==="$!"||l==="$?"){if(i===0)return n;i--}else l==="/$"&&i++}n=n.previousSibling}return null}var Zi=Math.random().toString(36).slice(2),yr="__reactFiber$"+Zi,ma="__reactProps$"+Zi,Lr="__reactContainer$"+Zi,hd="__reactEvents$"+Zi,DR="__reactListeners$"+Zi,FR="__reactHandles$"+Zi;function Qs(n){var i=n[yr];if(i)return i;for(var l=n.parentNode;l;){if(i=l[Lr]||l[yr]){if(l=i.alternate,i.child!==null||l!==null&&l.child!==null)for(n=Z0(n);n!==null;){if(l=n[yr])return l;n=Z0(n)}return i}n=l,l=n.parentNode}return null}function ga(n){return n=n[yr]||n[Lr],!n||n.tag!==5&&n.tag!==6&&n.tag!==13&&n.tag!==3?null:n}function Ji(n){if(n.tag===5||n.tag===6)return n.stateNode;throw Error(r(33))}function Wl(n){return n[ma]||null}var pd=[],eo=-1;function hs(n){return{current:n}}function ft(n){0>eo||(n.current=pd[eo],pd[eo]=null,eo--)}function lt(n,i){eo++,pd[eo]=n.current,n.current=i}var ps={},Kt=hs(ps),on=hs(!1),Zs=ps;function to(n,i){var l=n.type.contextTypes;if(!l)return ps;var p=n.stateNode;if(p&&p.__reactInternalMemoizedUnmaskedChildContext===i)return p.__reactInternalMemoizedMaskedChildContext;var v={},x;for(x in l)v[x]=i[x];return p&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=i,n.__reactInternalMemoizedMaskedChildContext=v),v}function an(n){return n=n.childContextTypes,n!=null}function Hl(){ft(on),ft(Kt)}function J0(n,i,l){if(Kt.current!==ps)throw Error(r(168));lt(Kt,i),lt(on,l)}function ew(n,i,l){var p=n.stateNode;if(i=i.childContextTypes,typeof p.getChildContext!="function")return l;p=p.getChildContext();for(var v in p)if(!(v in i))throw Error(r(108,se(n)||"Unknown",v));return Q({},l,p)}function Gl(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||ps,Zs=Kt.current,lt(Kt,n),lt(on,on.current),!0}function tw(n,i,l){var p=n.stateNode;if(!p)throw Error(r(169));l?(n=ew(n,i,Zs),p.__reactInternalMemoizedMergedChildContext=n,ft(on),ft(Kt),lt(Kt,n)):ft(on),lt(on,l)}var qr=null,Vl=!1,md=!1;function nw(n){qr===null?qr=[n]:qr.push(n)}function zR(n){Vl=!0,nw(n)}function ms(){if(!md&&qr!==null){md=!0;var n=0,i=Xe;try{var l=qr;for(Xe=1;n<l.length;n++){var p=l[n];do p=p(!0);while(p!==null)}qr=null,Vl=!1}catch(v){throw qr!==null&&(qr=qr.slice(n+1)),Is(Jr,ms),v}finally{Xe=i,md=!1}}return null}var no=[],ro=0,Kl=null,Yl=0,Cn=[],jn=0,Js=null,Dr=1,Fr="";function ei(n,i){no[ro++]=Yl,no[ro++]=Kl,Kl=n,Yl=i}function rw(n,i,l){Cn[jn++]=Dr,Cn[jn++]=Fr,Cn[jn++]=Js,Js=n;var p=Dr;n=Fr;var v=32-mn(p)-1;p&=~(1<<v),l+=1;var x=32-mn(i)+v;if(30<x){var R=v-v%5;x=(p&(1<<R)-1).toString(32),p>>=R,v-=R,Dr=1<<32-mn(i)+v|l<<v|p,Fr=x+n}else Dr=1<<x|l<<v|p,Fr=n}function gd(n){n.return!==null&&(ei(n,1),rw(n,1,0))}function vd(n){for(;n===Kl;)Kl=no[--ro],no[ro]=null,Yl=no[--ro],no[ro]=null;for(;n===Js;)Js=Cn[--jn],Cn[jn]=null,Fr=Cn[--jn],Cn[jn]=null,Dr=Cn[--jn],Cn[jn]=null}var vn=null,yn=null,mt=!1,Yn=null;function sw(n,i){var l=Mn(5,null,null,0);l.elementType="DELETED",l.stateNode=i,l.return=n,i=n.deletions,i===null?(n.deletions=[l],n.flags|=16):i.push(l)}function iw(n,i){switch(n.tag){case 5:var l=n.type;return i=i.nodeType!==1||l.toLowerCase()!==i.nodeName.toLowerCase()?null:i,i!==null?(n.stateNode=i,vn=n,yn=fs(i.firstChild),!0):!1;case 6:return i=n.pendingProps===""||i.nodeType!==3?null:i,i!==null?(n.stateNode=i,vn=n,yn=null,!0):!1;case 13:return i=i.nodeType!==8?null:i,i!==null?(l=Js!==null?{id:Dr,overflow:Fr}:null,n.memoizedState={dehydrated:i,treeContext:l,retryLane:1073741824},l=Mn(18,null,null,0),l.stateNode=i,l.return=n,n.child=l,vn=n,yn=null,!0):!1;default:return!1}}function yd(n){return(n.mode&1)!==0&&(n.flags&128)===0}function wd(n){if(mt){var i=yn;if(i){var l=i;if(!iw(n,i)){if(yd(n))throw Error(r(418));i=fs(l.nextSibling);var p=vn;i&&iw(n,i)?sw(p,l):(n.flags=n.flags&-4097|2,mt=!1,vn=n)}}else{if(yd(n))throw Error(r(418));n.flags=n.flags&-4097|2,mt=!1,vn=n}}}function ow(n){for(n=n.return;n!==null&&n.tag!==5&&n.tag!==3&&n.tag!==13;)n=n.return;vn=n}function Xl(n){if(n!==vn)return!1;if(!mt)return ow(n),mt=!0,!1;var i;if((i=n.tag!==3)&&!(i=n.tag!==5)&&(i=n.type,i=i!=="head"&&i!=="body"&&!cd(n.type,n.memoizedProps)),i&&(i=yn)){if(yd(n))throw aw(),Error(r(418));for(;i;)sw(n,i),i=fs(i.nextSibling)}if(ow(n),n.tag===13){if(n=n.memoizedState,n=n!==null?n.dehydrated:null,!n)throw Error(r(317));e:{for(n=n.nextSibling,i=0;n;){if(n.nodeType===8){var l=n.data;if(l==="/$"){if(i===0){yn=fs(n.nextSibling);break e}i--}else l!=="$"&&l!=="$!"&&l!=="$?"||i++}n=n.nextSibling}yn=null}}else yn=vn?fs(n.stateNode.nextSibling):null;return!0}function aw(){for(var n=yn;n;)n=fs(n.nextSibling)}function so(){yn=vn=null,mt=!1}function xd(n){Yn===null?Yn=[n]:Yn.push(n)}var BR=T.ReactCurrentBatchConfig;function va(n,i,l){if(n=l.ref,n!==null&&typeof n!="function"&&typeof n!="object"){if(l._owner){if(l=l._owner,l){if(l.tag!==1)throw Error(r(309));var p=l.stateNode}if(!p)throw Error(r(147,n));var v=p,x=""+n;return i!==null&&i.ref!==null&&typeof i.ref=="function"&&i.ref._stringRef===x?i.ref:(i=function(R){var B=v.refs;R===null?delete B[x]:B[x]=R},i._stringRef=x,i)}if(typeof n!="string")throw Error(r(284));if(!l._owner)throw Error(r(290,n))}return n}function Ql(n,i){throw n=Object.prototype.toString.call(i),Error(r(31,n==="[object Object]"?"object with keys {"+Object.keys(i).join(", ")+"}":n))}function lw(n){var i=n._init;return i(n._payload)}function uw(n){function i(re,te){if(n){var ie=re.deletions;ie===null?(re.deletions=[te],re.flags|=16):ie.push(te)}}function l(re,te){if(!n)return null;for(;te!==null;)i(re,te),te=te.sibling;return null}function p(re,te){for(re=new Map;te!==null;)te.key!==null?re.set(te.key,te):re.set(te.index,te),te=te.sibling;return re}function v(re,te){return re=ks(re,te),re.index=0,re.sibling=null,re}function x(re,te,ie){return re.index=ie,n?(ie=re.alternate,ie!==null?(ie=ie.index,ie<te?(re.flags|=2,te):ie):(re.flags|=2,te)):(re.flags|=1048576,te)}function R(re){return n&&re.alternate===null&&(re.flags|=2),re}function B(re,te,ie,ve){return te===null||te.tag!==6?(te=ff(ie,re.mode,ve),te.return=re,te):(te=v(te,ie),te.return=re,te)}function ee(re,te,ie,ve){var Ae=ie.type;return Ae===$?me(re,te,ie.props.children,ve,ie.key):te!==null&&(te.elementType===Ae||typeof Ae=="object"&&Ae!==null&&Ae.$$typeof===z&&lw(Ae)===te.type)?(ve=v(te,ie.props),ve.ref=va(re,te,ie),ve.return=re,ve):(ve=bu(ie.type,ie.key,ie.props,null,re.mode,ve),ve.ref=va(re,te,ie),ve.return=re,ve)}function le(re,te,ie,ve){return te===null||te.tag!==4||te.stateNode.containerInfo!==ie.containerInfo||te.stateNode.implementation!==ie.implementation?(te=hf(ie,re.mode,ve),te.return=re,te):(te=v(te,ie.children||[]),te.return=re,te)}function me(re,te,ie,ve,Ae){return te===null||te.tag!==7?(te=li(ie,re.mode,ve,Ae),te.return=re,te):(te=v(te,ie),te.return=re,te)}function ge(re,te,ie){if(typeof te=="string"&&te!==""||typeof te=="number")return te=ff(""+te,re.mode,ie),te.return=re,te;if(typeof te=="object"&&te!==null){switch(te.$$typeof){case M:return ie=bu(te.type,te.key,te.props,null,re.mode,ie),ie.ref=va(re,null,te),ie.return=re,ie;case P:return te=hf(te,re.mode,ie),te.return=re,te;case z:var ve=te._init;return ge(re,ve(te._payload),ie)}if(vt(te)||U(te))return te=li(te,re.mode,ie,null),te.return=re,te;Ql(re,te)}return null}function pe(re,te,ie,ve){var Ae=te!==null?te.key:null;if(typeof ie=="string"&&ie!==""||typeof ie=="number")return Ae!==null?null:B(re,te,""+ie,ve);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case M:return ie.key===Ae?ee(re,te,ie,ve):null;case P:return ie.key===Ae?le(re,te,ie,ve):null;case z:return Ae=ie._init,pe(re,te,Ae(ie._payload),ve)}if(vt(ie)||U(ie))return Ae!==null?null:me(re,te,ie,ve,null);Ql(re,ie)}return null}function _e(re,te,ie,ve,Ae){if(typeof ve=="string"&&ve!==""||typeof ve=="number")return re=re.get(ie)||null,B(te,re,""+ve,Ae);if(typeof ve=="object"&&ve!==null){switch(ve.$$typeof){case M:return re=re.get(ve.key===null?ie:ve.key)||null,ee(te,re,ve,Ae);case P:return re=re.get(ve.key===null?ie:ve.key)||null,le(te,re,ve,Ae);case z:var $e=ve._init;return _e(re,te,ie,$e(ve._payload),Ae)}if(vt(ve)||U(ve))return re=re.get(ie)||null,me(te,re,ve,Ae,null);Ql(te,ve)}return null}function Ee(re,te,ie,ve){for(var Ae=null,$e=null,Le=te,Fe=te=0,Dt=null;Le!==null&&Fe<ie.length;Fe++){Le.index>Fe?(Dt=Le,Le=null):Dt=Le.sibling;var Je=pe(re,Le,ie[Fe],ve);if(Je===null){Le===null&&(Le=Dt);break}n&&Le&&Je.alternate===null&&i(re,Le),te=x(Je,te,Fe),$e===null?Ae=Je:$e.sibling=Je,$e=Je,Le=Dt}if(Fe===ie.length)return l(re,Le),mt&&ei(re,Fe),Ae;if(Le===null){for(;Fe<ie.length;Fe++)Le=ge(re,ie[Fe],ve),Le!==null&&(te=x(Le,te,Fe),$e===null?Ae=Le:$e.sibling=Le,$e=Le);return mt&&ei(re,Fe),Ae}for(Le=p(re,Le);Fe<ie.length;Fe++)Dt=_e(Le,re,Fe,ie[Fe],ve),Dt!==null&&(n&&Dt.alternate!==null&&Le.delete(Dt.key===null?Fe:Dt.key),te=x(Dt,te,Fe),$e===null?Ae=Dt:$e.sibling=Dt,$e=Dt);return n&&Le.forEach(function(Ss){return i(re,Ss)}),mt&&ei(re,Fe),Ae}function Te(re,te,ie,ve){var Ae=U(ie);if(typeof Ae!="function")throw Error(r(150));if(ie=Ae.call(ie),ie==null)throw Error(r(151));for(var $e=Ae=null,Le=te,Fe=te=0,Dt=null,Je=ie.next();Le!==null&&!Je.done;Fe++,Je=ie.next()){Le.index>Fe?(Dt=Le,Le=null):Dt=Le.sibling;var Ss=pe(re,Le,Je.value,ve);if(Ss===null){Le===null&&(Le=Dt);break}n&&Le&&Ss.alternate===null&&i(re,Le),te=x(Ss,te,Fe),$e===null?Ae=Ss:$e.sibling=Ss,$e=Ss,Le=Dt}if(Je.done)return l(re,Le),mt&&ei(re,Fe),Ae;if(Le===null){for(;!Je.done;Fe++,Je=ie.next())Je=ge(re,Je.value,ve),Je!==null&&(te=x(Je,te,Fe),$e===null?Ae=Je:$e.sibling=Je,$e=Je);return mt&&ei(re,Fe),Ae}for(Le=p(re,Le);!Je.done;Fe++,Je=ie.next())Je=_e(Le,re,Fe,Je.value,ve),Je!==null&&(n&&Je.alternate!==null&&Le.delete(Je.key===null?Fe:Je.key),te=x(Je,te,Fe),$e===null?Ae=Je:$e.sibling=Je,$e=Je);return n&&Le.forEach(function(bA){return i(re,bA)}),mt&&ei(re,Fe),Ae}function Et(re,te,ie,ve){if(typeof ie=="object"&&ie!==null&&ie.type===$&&ie.key===null&&(ie=ie.props.children),typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case M:e:{for(var Ae=ie.key,$e=te;$e!==null;){if($e.key===Ae){if(Ae=ie.type,Ae===$){if($e.tag===7){l(re,$e.sibling),te=v($e,ie.props.children),te.return=re,re=te;break e}}else if($e.elementType===Ae||typeof Ae=="object"&&Ae!==null&&Ae.$$typeof===z&&lw(Ae)===$e.type){l(re,$e.sibling),te=v($e,ie.props),te.ref=va(re,$e,ie),te.return=re,re=te;break e}l(re,$e);break}else i(re,$e);$e=$e.sibling}ie.type===$?(te=li(ie.props.children,re.mode,ve,ie.key),te.return=re,re=te):(ve=bu(ie.type,ie.key,ie.props,null,re.mode,ve),ve.ref=va(re,te,ie),ve.return=re,re=ve)}return R(re);case P:e:{for($e=ie.key;te!==null;){if(te.key===$e)if(te.tag===4&&te.stateNode.containerInfo===ie.containerInfo&&te.stateNode.implementation===ie.implementation){l(re,te.sibling),te=v(te,ie.children||[]),te.return=re,re=te;break e}else{l(re,te);break}else i(re,te);te=te.sibling}te=hf(ie,re.mode,ve),te.return=re,re=te}return R(re);case z:return $e=ie._init,Et(re,te,$e(ie._payload),ve)}if(vt(ie))return Ee(re,te,ie,ve);if(U(ie))return Te(re,te,ie,ve);Ql(re,ie)}return typeof ie=="string"&&ie!==""||typeof ie=="number"?(ie=""+ie,te!==null&&te.tag===6?(l(re,te.sibling),te=v(te,ie),te.return=re,re=te):(l(re,te),te=ff(ie,re.mode,ve),te.return=re,re=te),R(re)):l(re,te)}return Et}var io=uw(!0),cw=uw(!1),Zl=hs(null),Jl=null,oo=null,bd=null;function _d(){bd=oo=Jl=null}function kd(n){var i=Zl.current;ft(Zl),n._currentValue=i}function Sd(n,i,l){for(;n!==null;){var p=n.alternate;if((n.childLanes&i)!==i?(n.childLanes|=i,p!==null&&(p.childLanes|=i)):p!==null&&(p.childLanes&i)!==i&&(p.childLanes|=i),n===l)break;n=n.return}}function ao(n,i){Jl=n,bd=oo=null,n=n.dependencies,n!==null&&n.firstContext!==null&&((n.lanes&i)!==0&&(ln=!0),n.firstContext=null)}function Tn(n){var i=n._currentValue;if(bd!==n)if(n={context:n,memoizedValue:i,next:null},oo===null){if(Jl===null)throw Error(r(308));oo=n,Jl.dependencies={lanes:0,firstContext:n}}else oo=oo.next=n;return i}var ti=null;function Nd(n){ti===null?ti=[n]:ti.push(n)}function dw(n,i,l,p){var v=i.interleaved;return v===null?(l.next=l,Nd(i)):(l.next=v.next,v.next=l),i.interleaved=l,zr(n,p)}function zr(n,i){n.lanes|=i;var l=n.alternate;for(l!==null&&(l.lanes|=i),l=n,n=n.return;n!==null;)n.childLanes|=i,l=n.alternate,l!==null&&(l.childLanes|=i),l=n,n=n.return;return l.tag===3?l.stateNode:null}var gs=!1;function Ed(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function fw(n,i){n=n.updateQueue,i.updateQueue===n&&(i.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function Br(n,i){return{eventTime:n,lane:i,tag:0,payload:null,callback:null,next:null}}function vs(n,i,l){var p=n.updateQueue;if(p===null)return null;if(p=p.shared,(Qe&2)!==0){var v=p.pending;return v===null?i.next=i:(i.next=v.next,v.next=i),p.pending=i,zr(n,l)}return v=p.interleaved,v===null?(i.next=i,Nd(p)):(i.next=v.next,v.next=i),p.interleaved=i,zr(n,l)}function eu(n,i,l){if(i=i.updateQueue,i!==null&&(i=i.shared,(l&4194240)!==0)){var p=i.lanes;p&=n.pendingLanes,l|=p,i.lanes=l,ss(n,l)}}function hw(n,i){var l=n.updateQueue,p=n.alternate;if(p!==null&&(p=p.updateQueue,l===p)){var v=null,x=null;if(l=l.firstBaseUpdate,l!==null){do{var R={eventTime:l.eventTime,lane:l.lane,tag:l.tag,payload:l.payload,callback:l.callback,next:null};x===null?v=x=R:x=x.next=R,l=l.next}while(l!==null);x===null?v=x=i:x=x.next=i}else v=x=i;l={baseState:p.baseState,firstBaseUpdate:v,lastBaseUpdate:x,shared:p.shared,effects:p.effects},n.updateQueue=l;return}n=l.lastBaseUpdate,n===null?l.firstBaseUpdate=i:n.next=i,l.lastBaseUpdate=i}function tu(n,i,l,p){var v=n.updateQueue;gs=!1;var x=v.firstBaseUpdate,R=v.lastBaseUpdate,B=v.shared.pending;if(B!==null){v.shared.pending=null;var ee=B,le=ee.next;ee.next=null,R===null?x=le:R.next=le,R=ee;var me=n.alternate;me!==null&&(me=me.updateQueue,B=me.lastBaseUpdate,B!==R&&(B===null?me.firstBaseUpdate=le:B.next=le,me.lastBaseUpdate=ee))}if(x!==null){var ge=v.baseState;R=0,me=le=ee=null,B=x;do{var pe=B.lane,_e=B.eventTime;if((p&pe)===pe){me!==null&&(me=me.next={eventTime:_e,lane:0,tag:B.tag,payload:B.payload,callback:B.callback,next:null});e:{var Ee=n,Te=B;switch(pe=i,_e=l,Te.tag){case 1:if(Ee=Te.payload,typeof Ee=="function"){ge=Ee.call(_e,ge,pe);break e}ge=Ee;break e;case 3:Ee.flags=Ee.flags&-65537|128;case 0:if(Ee=Te.payload,pe=typeof Ee=="function"?Ee.call(_e,ge,pe):Ee,pe==null)break e;ge=Q({},ge,pe);break e;case 2:gs=!0}}B.callback!==null&&B.lane!==0&&(n.flags|=64,pe=v.effects,pe===null?v.effects=[B]:pe.push(B))}else _e={eventTime:_e,lane:pe,tag:B.tag,payload:B.payload,callback:B.callback,next:null},me===null?(le=me=_e,ee=ge):me=me.next=_e,R|=pe;if(B=B.next,B===null){if(B=v.shared.pending,B===null)break;pe=B,B=pe.next,pe.next=null,v.lastBaseUpdate=pe,v.shared.pending=null}}while(!0);if(me===null&&(ee=ge),v.baseState=ee,v.firstBaseUpdate=le,v.lastBaseUpdate=me,i=v.shared.interleaved,i!==null){v=i;do R|=v.lane,v=v.next;while(v!==i)}else x===null&&(v.shared.lanes=0);si|=R,n.lanes=R,n.memoizedState=ge}}function pw(n,i,l){if(n=i.effects,i.effects=null,n!==null)for(i=0;i<n.length;i++){var p=n[i],v=p.callback;if(v!==null){if(p.callback=null,p=l,typeof v!="function")throw Error(r(191,v));v.call(p)}}}var ya={},wr=hs(ya),wa=hs(ya),xa=hs(ya);function ni(n){if(n===ya)throw Error(r(174));return n}function Cd(n,i){switch(lt(xa,i),lt(wa,n),lt(wr,ya),n=i.nodeType,n){case 9:case 11:i=(i=i.documentElement)?i.namespaceURI:Me(null,"");break;default:n=n===8?i.parentNode:i,i=n.namespaceURI||null,n=n.tagName,i=Me(i,n)}ft(wr),lt(wr,i)}function lo(){ft(wr),ft(wa),ft(xa)}function mw(n){ni(xa.current);var i=ni(wr.current),l=Me(i,n.type);i!==l&&(lt(wa,n),lt(wr,l))}function jd(n){wa.current===n&&(ft(wr),ft(wa))}var wt=hs(0);function nu(n){for(var i=n;i!==null;){if(i.tag===13){var l=i.memoizedState;if(l!==null&&(l=l.dehydrated,l===null||l.data==="$?"||l.data==="$!"))return i}else if(i.tag===19&&i.memoizedProps.revealOrder!==void 0){if((i.flags&128)!==0)return i}else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===n)break;for(;i.sibling===null;){if(i.return===null||i.return===n)return null;i=i.return}i.sibling.return=i.return,i=i.sibling}return null}var Td=[];function Rd(){for(var n=0;n<Td.length;n++)Td[n]._workInProgressVersionPrimary=null;Td.length=0}var ru=T.ReactCurrentDispatcher,Ad=T.ReactCurrentBatchConfig,ri=0,xt=null,Mt=null,Lt=null,su=!1,ba=!1,_a=0,UR=0;function Yt(){throw Error(r(321))}function Md(n,i){if(i===null)return!1;for(var l=0;l<i.length&&l<n.length;l++)if(!Vt(n[l],i[l]))return!1;return!0}function Id(n,i,l,p,v,x){if(ri=x,xt=i,i.memoizedState=null,i.updateQueue=null,i.lanes=0,ru.current=n===null||n.memoizedState===null?VR:KR,n=l(p,v),ba){x=0;do{if(ba=!1,_a=0,25<=x)throw Error(r(301));x+=1,Lt=Mt=null,i.updateQueue=null,ru.current=YR,n=l(p,v)}while(ba)}if(ru.current=au,i=Mt!==null&&Mt.next!==null,ri=0,Lt=Mt=xt=null,su=!1,i)throw Error(r(300));return n}function Od(){var n=_a!==0;return _a=0,n}function xr(){var n={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Lt===null?xt.memoizedState=Lt=n:Lt=Lt.next=n,Lt}function Rn(){if(Mt===null){var n=xt.alternate;n=n!==null?n.memoizedState:null}else n=Mt.next;var i=Lt===null?xt.memoizedState:Lt.next;if(i!==null)Lt=i,Mt=n;else{if(n===null)throw Error(r(310));Mt=n,n={memoizedState:Mt.memoizedState,baseState:Mt.baseState,baseQueue:Mt.baseQueue,queue:Mt.queue,next:null},Lt===null?xt.memoizedState=Lt=n:Lt=Lt.next=n}return Lt}function ka(n,i){return typeof i=="function"?i(n):i}function Pd(n){var i=Rn(),l=i.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=n;var p=Mt,v=p.baseQueue,x=l.pending;if(x!==null){if(v!==null){var R=v.next;v.next=x.next,x.next=R}p.baseQueue=v=x,l.pending=null}if(v!==null){x=v.next,p=p.baseState;var B=R=null,ee=null,le=x;do{var me=le.lane;if((ri&me)===me)ee!==null&&(ee=ee.next={lane:0,action:le.action,hasEagerState:le.hasEagerState,eagerState:le.eagerState,next:null}),p=le.hasEagerState?le.eagerState:n(p,le.action);else{var ge={lane:me,action:le.action,hasEagerState:le.hasEagerState,eagerState:le.eagerState,next:null};ee===null?(B=ee=ge,R=p):ee=ee.next=ge,xt.lanes|=me,si|=me}le=le.next}while(le!==null&&le!==x);ee===null?R=p:ee.next=B,Vt(p,i.memoizedState)||(ln=!0),i.memoizedState=p,i.baseState=R,i.baseQueue=ee,l.lastRenderedState=p}if(n=l.interleaved,n!==null){v=n;do x=v.lane,xt.lanes|=x,si|=x,v=v.next;while(v!==n)}else v===null&&(l.lanes=0);return[i.memoizedState,l.dispatch]}function $d(n){var i=Rn(),l=i.queue;if(l===null)throw Error(r(311));l.lastRenderedReducer=n;var p=l.dispatch,v=l.pending,x=i.memoizedState;if(v!==null){l.pending=null;var R=v=v.next;do x=n(x,R.action),R=R.next;while(R!==v);Vt(x,i.memoizedState)||(ln=!0),i.memoizedState=x,i.baseQueue===null&&(i.baseState=x),l.lastRenderedState=x}return[x,p]}function gw(){}function vw(n,i){var l=xt,p=Rn(),v=i(),x=!Vt(p.memoizedState,v);if(x&&(p.memoizedState=v,ln=!0),p=p.queue,Ld(xw.bind(null,l,p,n),[n]),p.getSnapshot!==i||x||Lt!==null&&Lt.memoizedState.tag&1){if(l.flags|=2048,Sa(9,ww.bind(null,l,p,v,i),void 0,null),qt===null)throw Error(r(349));(ri&30)!==0||yw(l,i,v)}return v}function yw(n,i,l){n.flags|=16384,n={getSnapshot:i,value:l},i=xt.updateQueue,i===null?(i={lastEffect:null,stores:null},xt.updateQueue=i,i.stores=[n]):(l=i.stores,l===null?i.stores=[n]:l.push(n))}function ww(n,i,l,p){i.value=l,i.getSnapshot=p,bw(i)&&_w(n)}function xw(n,i,l){return l(function(){bw(i)&&_w(n)})}function bw(n){var i=n.getSnapshot;n=n.value;try{var l=i();return!Vt(n,l)}catch{return!0}}function _w(n){var i=zr(n,1);i!==null&&Jn(i,n,1,-1)}function kw(n){var i=xr();return typeof n=="function"&&(n=n()),i.memoizedState=i.baseState=n,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:ka,lastRenderedState:n},i.queue=n,n=n.dispatch=GR.bind(null,xt,n),[i.memoizedState,n]}function Sa(n,i,l,p){return n={tag:n,create:i,destroy:l,deps:p,next:null},i=xt.updateQueue,i===null?(i={lastEffect:null,stores:null},xt.updateQueue=i,i.lastEffect=n.next=n):(l=i.lastEffect,l===null?i.lastEffect=n.next=n:(p=l.next,l.next=n,n.next=p,i.lastEffect=n)),n}function Sw(){return Rn().memoizedState}function iu(n,i,l,p){var v=xr();xt.flags|=n,v.memoizedState=Sa(1|i,l,void 0,p===void 0?null:p)}function ou(n,i,l,p){var v=Rn();p=p===void 0?null:p;var x=void 0;if(Mt!==null){var R=Mt.memoizedState;if(x=R.destroy,p!==null&&Md(p,R.deps)){v.memoizedState=Sa(i,l,x,p);return}}xt.flags|=n,v.memoizedState=Sa(1|i,l,x,p)}function Nw(n,i){return iu(8390656,8,n,i)}function Ld(n,i){return ou(2048,8,n,i)}function Ew(n,i){return ou(4,2,n,i)}function Cw(n,i){return ou(4,4,n,i)}function jw(n,i){if(typeof i=="function")return n=n(),i(n),function(){i(null)};if(i!=null)return n=n(),i.current=n,function(){i.current=null}}function Tw(n,i,l){return l=l!=null?l.concat([n]):null,ou(4,4,jw.bind(null,i,n),l)}function qd(){}function Rw(n,i){var l=Rn();i=i===void 0?null:i;var p=l.memoizedState;return p!==null&&i!==null&&Md(i,p[1])?p[0]:(l.memoizedState=[n,i],n)}function Aw(n,i){var l=Rn();i=i===void 0?null:i;var p=l.memoizedState;return p!==null&&i!==null&&Md(i,p[1])?p[0]:(n=n(),l.memoizedState=[n,i],n)}function Mw(n,i,l){return(ri&21)===0?(n.baseState&&(n.baseState=!1,ln=!0),n.memoizedState=l):(Vt(l,i)||(l=$s(),xt.lanes|=l,si|=l,n.baseState=!0),i)}function WR(n,i){var l=Xe;Xe=l!==0&&4>l?l:4,n(!0);var p=Ad.transition;Ad.transition={};try{n(!1),i()}finally{Xe=l,Ad.transition=p}}function Iw(){return Rn().memoizedState}function HR(n,i,l){var p=bs(n);if(l={lane:p,action:l,hasEagerState:!1,eagerState:null,next:null},Ow(n))Pw(i,l);else if(l=dw(n,i,l,p),l!==null){var v=nn();Jn(l,n,p,v),$w(l,i,p)}}function GR(n,i,l){var p=bs(n),v={lane:p,action:l,hasEagerState:!1,eagerState:null,next:null};if(Ow(n))Pw(i,v);else{var x=n.alternate;if(n.lanes===0&&(x===null||x.lanes===0)&&(x=i.lastRenderedReducer,x!==null))try{var R=i.lastRenderedState,B=x(R,l);if(v.hasEagerState=!0,v.eagerState=B,Vt(B,R)){var ee=i.interleaved;ee===null?(v.next=v,Nd(i)):(v.next=ee.next,ee.next=v),i.interleaved=v;return}}catch{}finally{}l=dw(n,i,v,p),l!==null&&(v=nn(),Jn(l,n,p,v),$w(l,i,p))}}function Ow(n){var i=n.alternate;return n===xt||i!==null&&i===xt}function Pw(n,i){ba=su=!0;var l=n.pending;l===null?i.next=i:(i.next=l.next,l.next=i),n.pending=i}function $w(n,i,l){if((l&4194240)!==0){var p=i.lanes;p&=n.pendingLanes,l|=p,i.lanes=l,ss(n,l)}}var au={readContext:Tn,useCallback:Yt,useContext:Yt,useEffect:Yt,useImperativeHandle:Yt,useInsertionEffect:Yt,useLayoutEffect:Yt,useMemo:Yt,useReducer:Yt,useRef:Yt,useState:Yt,useDebugValue:Yt,useDeferredValue:Yt,useTransition:Yt,useMutableSource:Yt,useSyncExternalStore:Yt,useId:Yt,unstable_isNewReconciler:!1},VR={readContext:Tn,useCallback:function(n,i){return xr().memoizedState=[n,i===void 0?null:i],n},useContext:Tn,useEffect:Nw,useImperativeHandle:function(n,i,l){return l=l!=null?l.concat([n]):null,iu(4194308,4,jw.bind(null,i,n),l)},useLayoutEffect:function(n,i){return iu(4194308,4,n,i)},useInsertionEffect:function(n,i){return iu(4,2,n,i)},useMemo:function(n,i){var l=xr();return i=i===void 0?null:i,n=n(),l.memoizedState=[n,i],n},useReducer:function(n,i,l){var p=xr();return i=l!==void 0?l(i):i,p.memoizedState=p.baseState=i,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:i},p.queue=n,n=n.dispatch=HR.bind(null,xt,n),[p.memoizedState,n]},useRef:function(n){var i=xr();return n={current:n},i.memoizedState=n},useState:kw,useDebugValue:qd,useDeferredValue:function(n){return xr().memoizedState=n},useTransition:function(){var n=kw(!1),i=n[0];return n=WR.bind(null,n[1]),xr().memoizedState=n,[i,n]},useMutableSource:function(){},useSyncExternalStore:function(n,i,l){var p=xt,v=xr();if(mt){if(l===void 0)throw Error(r(407));l=l()}else{if(l=i(),qt===null)throw Error(r(349));(ri&30)!==0||yw(p,i,l)}v.memoizedState=l;var x={value:l,getSnapshot:i};return v.queue=x,Nw(xw.bind(null,p,x,n),[n]),p.flags|=2048,Sa(9,ww.bind(null,p,x,l,i),void 0,null),l},useId:function(){var n=xr(),i=qt.identifierPrefix;if(mt){var l=Fr,p=Dr;l=(p&~(1<<32-mn(p)-1)).toString(32)+l,i=":"+i+"R"+l,l=_a++,0<l&&(i+="H"+l.toString(32)),i+=":"}else l=UR++,i=":"+i+"r"+l.toString(32)+":";return n.memoizedState=i},unstable_isNewReconciler:!1},KR={readContext:Tn,useCallback:Rw,useContext:Tn,useEffect:Ld,useImperativeHandle:Tw,useInsertionEffect:Ew,useLayoutEffect:Cw,useMemo:Aw,useReducer:Pd,useRef:Sw,useState:function(){return Pd(ka)},useDebugValue:qd,useDeferredValue:function(n){var i=Rn();return Mw(i,Mt.memoizedState,n)},useTransition:function(){var n=Pd(ka)[0],i=Rn().memoizedState;return[n,i]},useMutableSource:gw,useSyncExternalStore:vw,useId:Iw,unstable_isNewReconciler:!1},YR={readContext:Tn,useCallback:Rw,useContext:Tn,useEffect:Ld,useImperativeHandle:Tw,useInsertionEffect:Ew,useLayoutEffect:Cw,useMemo:Aw,useReducer:$d,useRef:Sw,useState:function(){return $d(ka)},useDebugValue:qd,useDeferredValue:function(n){var i=Rn();return Mt===null?i.memoizedState=n:Mw(i,Mt.memoizedState,n)},useTransition:function(){var n=$d(ka)[0],i=Rn().memoizedState;return[n,i]},useMutableSource:gw,useSyncExternalStore:vw,useId:Iw,unstable_isNewReconciler:!1};function Xn(n,i){if(n&&n.defaultProps){i=Q({},i),n=n.defaultProps;for(var l in n)i[l]===void 0&&(i[l]=n[l]);return i}return i}function Dd(n,i,l,p){i=n.memoizedState,l=l(p,i),l=l==null?i:Q({},i,l),n.memoizedState=l,n.lanes===0&&(n.updateQueue.baseState=l)}var lu={isMounted:function(n){return(n=n._reactInternals)?Sn(n)===n:!1},enqueueSetState:function(n,i,l){n=n._reactInternals;var p=nn(),v=bs(n),x=Br(p,v);x.payload=i,l!=null&&(x.callback=l),i=vs(n,x,v),i!==null&&(Jn(i,n,v,p),eu(i,n,v))},enqueueReplaceState:function(n,i,l){n=n._reactInternals;var p=nn(),v=bs(n),x=Br(p,v);x.tag=1,x.payload=i,l!=null&&(x.callback=l),i=vs(n,x,v),i!==null&&(Jn(i,n,v,p),eu(i,n,v))},enqueueForceUpdate:function(n,i){n=n._reactInternals;var l=nn(),p=bs(n),v=Br(l,p);v.tag=2,i!=null&&(v.callback=i),i=vs(n,v,p),i!==null&&(Jn(i,n,p,l),eu(i,n,p))}};function Lw(n,i,l,p,v,x,R){return n=n.stateNode,typeof n.shouldComponentUpdate=="function"?n.shouldComponentUpdate(p,x,R):i.prototype&&i.prototype.isPureReactComponent?!cs(l,p)||!cs(v,x):!0}function qw(n,i,l){var p=!1,v=ps,x=i.contextType;return typeof x=="object"&&x!==null?x=Tn(x):(v=an(i)?Zs:Kt.current,p=i.contextTypes,x=(p=p!=null)?to(n,v):ps),i=new i(l,x),n.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,i.updater=lu,n.stateNode=i,i._reactInternals=n,p&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=v,n.__reactInternalMemoizedMaskedChildContext=x),i}function Dw(n,i,l,p){n=i.state,typeof i.componentWillReceiveProps=="function"&&i.componentWillReceiveProps(l,p),typeof i.UNSAFE_componentWillReceiveProps=="function"&&i.UNSAFE_componentWillReceiveProps(l,p),i.state!==n&&lu.enqueueReplaceState(i,i.state,null)}function Fd(n,i,l,p){var v=n.stateNode;v.props=l,v.state=n.memoizedState,v.refs={},Ed(n);var x=i.contextType;typeof x=="object"&&x!==null?v.context=Tn(x):(x=an(i)?Zs:Kt.current,v.context=to(n,x)),v.state=n.memoizedState,x=i.getDerivedStateFromProps,typeof x=="function"&&(Dd(n,i,x,l),v.state=n.memoizedState),typeof i.getDerivedStateFromProps=="function"||typeof v.getSnapshotBeforeUpdate=="function"||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(i=v.state,typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount(),i!==v.state&&lu.enqueueReplaceState(v,v.state,null),tu(n,l,v,p),v.state=n.memoizedState),typeof v.componentDidMount=="function"&&(n.flags|=4194308)}function uo(n,i){try{var l="",p=i;do l+=q(p),p=p.return;while(p);var v=l}catch(x){v=`
|
|
39
|
+
Error generating stack: `+x.message+`
|
|
40
|
+
`+x.stack}return{value:n,source:i,stack:v,digest:null}}function zd(n,i,l){return{value:n,source:null,stack:l??null,digest:i??null}}function Bd(n,i){try{console.error(i.value)}catch(l){setTimeout(function(){throw l})}}var XR=typeof WeakMap=="function"?WeakMap:Map;function Fw(n,i,l){l=Br(-1,l),l.tag=3,l.payload={element:null};var p=i.value;return l.callback=function(){mu||(mu=!0,rf=p),Bd(n,i)},l}function zw(n,i,l){l=Br(-1,l),l.tag=3;var p=n.type.getDerivedStateFromError;if(typeof p=="function"){var v=i.value;l.payload=function(){return p(v)},l.callback=function(){Bd(n,i)}}var x=n.stateNode;return x!==null&&typeof x.componentDidCatch=="function"&&(l.callback=function(){Bd(n,i),typeof p!="function"&&(ws===null?ws=new Set([this]):ws.add(this));var R=i.stack;this.componentDidCatch(i.value,{componentStack:R!==null?R:""})}),l}function Bw(n,i,l){var p=n.pingCache;if(p===null){p=n.pingCache=new XR;var v=new Set;p.set(i,v)}else v=p.get(i),v===void 0&&(v=new Set,p.set(i,v));v.has(l)||(v.add(l),n=cA.bind(null,n,i,l),i.then(n,n))}function Uw(n){do{var i;if((i=n.tag===13)&&(i=n.memoizedState,i=i!==null?i.dehydrated!==null:!0),i)return n;n=n.return}while(n!==null);return null}function Ww(n,i,l,p,v){return(n.mode&1)===0?(n===i?n.flags|=65536:(n.flags|=128,l.flags|=131072,l.flags&=-52805,l.tag===1&&(l.alternate===null?l.tag=17:(i=Br(-1,1),i.tag=2,vs(l,i,1))),l.lanes|=1),n):(n.flags|=65536,n.lanes=v,n)}var QR=T.ReactCurrentOwner,ln=!1;function tn(n,i,l,p){i.child=n===null?cw(i,null,l,p):io(i,n.child,l,p)}function Hw(n,i,l,p,v){l=l.render;var x=i.ref;return ao(i,v),p=Id(n,i,l,p,x,v),l=Od(),n!==null&&!ln?(i.updateQueue=n.updateQueue,i.flags&=-2053,n.lanes&=~v,Ur(n,i,v)):(mt&&l&&gd(i),i.flags|=1,tn(n,i,p,v),i.child)}function Gw(n,i,l,p,v){if(n===null){var x=l.type;return typeof x=="function"&&!df(x)&&x.defaultProps===void 0&&l.compare===null&&l.defaultProps===void 0?(i.tag=15,i.type=x,Vw(n,i,x,p,v)):(n=bu(l.type,null,p,i,i.mode,v),n.ref=i.ref,n.return=i,i.child=n)}if(x=n.child,(n.lanes&v)===0){var R=x.memoizedProps;if(l=l.compare,l=l!==null?l:cs,l(R,p)&&n.ref===i.ref)return Ur(n,i,v)}return i.flags|=1,n=ks(x,p),n.ref=i.ref,n.return=i,i.child=n}function Vw(n,i,l,p,v){if(n!==null){var x=n.memoizedProps;if(cs(x,p)&&n.ref===i.ref)if(ln=!1,i.pendingProps=p=x,(n.lanes&v)!==0)(n.flags&131072)!==0&&(ln=!0);else return i.lanes=n.lanes,Ur(n,i,v)}return Ud(n,i,l,p,v)}function Kw(n,i,l){var p=i.pendingProps,v=p.children,x=n!==null?n.memoizedState:null;if(p.mode==="hidden")if((i.mode&1)===0)i.memoizedState={baseLanes:0,cachePool:null,transitions:null},lt(fo,wn),wn|=l;else{if((l&1073741824)===0)return n=x!==null?x.baseLanes|l:l,i.lanes=i.childLanes=1073741824,i.memoizedState={baseLanes:n,cachePool:null,transitions:null},i.updateQueue=null,lt(fo,wn),wn|=n,null;i.memoizedState={baseLanes:0,cachePool:null,transitions:null},p=x!==null?x.baseLanes:l,lt(fo,wn),wn|=p}else x!==null?(p=x.baseLanes|l,i.memoizedState=null):p=l,lt(fo,wn),wn|=p;return tn(n,i,v,l),i.child}function Yw(n,i){var l=i.ref;(n===null&&l!==null||n!==null&&n.ref!==l)&&(i.flags|=512,i.flags|=2097152)}function Ud(n,i,l,p,v){var x=an(l)?Zs:Kt.current;return x=to(i,x),ao(i,v),l=Id(n,i,l,p,x,v),p=Od(),n!==null&&!ln?(i.updateQueue=n.updateQueue,i.flags&=-2053,n.lanes&=~v,Ur(n,i,v)):(mt&&p&&gd(i),i.flags|=1,tn(n,i,l,v),i.child)}function Xw(n,i,l,p,v){if(an(l)){var x=!0;Gl(i)}else x=!1;if(ao(i,v),i.stateNode===null)cu(n,i),qw(i,l,p),Fd(i,l,p,v),p=!0;else if(n===null){var R=i.stateNode,B=i.memoizedProps;R.props=B;var ee=R.context,le=l.contextType;typeof le=="object"&&le!==null?le=Tn(le):(le=an(l)?Zs:Kt.current,le=to(i,le));var me=l.getDerivedStateFromProps,ge=typeof me=="function"||typeof R.getSnapshotBeforeUpdate=="function";ge||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(B!==p||ee!==le)&&Dw(i,R,p,le),gs=!1;var pe=i.memoizedState;R.state=pe,tu(i,p,R,v),ee=i.memoizedState,B!==p||pe!==ee||on.current||gs?(typeof me=="function"&&(Dd(i,l,me,p),ee=i.memoizedState),(B=gs||Lw(i,l,B,p,pe,ee,le))?(ge||typeof R.UNSAFE_componentWillMount!="function"&&typeof R.componentWillMount!="function"||(typeof R.componentWillMount=="function"&&R.componentWillMount(),typeof R.UNSAFE_componentWillMount=="function"&&R.UNSAFE_componentWillMount()),typeof R.componentDidMount=="function"&&(i.flags|=4194308)):(typeof R.componentDidMount=="function"&&(i.flags|=4194308),i.memoizedProps=p,i.memoizedState=ee),R.props=p,R.state=ee,R.context=le,p=B):(typeof R.componentDidMount=="function"&&(i.flags|=4194308),p=!1)}else{R=i.stateNode,fw(n,i),B=i.memoizedProps,le=i.type===i.elementType?B:Xn(i.type,B),R.props=le,ge=i.pendingProps,pe=R.context,ee=l.contextType,typeof ee=="object"&&ee!==null?ee=Tn(ee):(ee=an(l)?Zs:Kt.current,ee=to(i,ee));var _e=l.getDerivedStateFromProps;(me=typeof _e=="function"||typeof R.getSnapshotBeforeUpdate=="function")||typeof R.UNSAFE_componentWillReceiveProps!="function"&&typeof R.componentWillReceiveProps!="function"||(B!==ge||pe!==ee)&&Dw(i,R,p,ee),gs=!1,pe=i.memoizedState,R.state=pe,tu(i,p,R,v);var Ee=i.memoizedState;B!==ge||pe!==Ee||on.current||gs?(typeof _e=="function"&&(Dd(i,l,_e,p),Ee=i.memoizedState),(le=gs||Lw(i,l,le,p,pe,Ee,ee)||!1)?(me||typeof R.UNSAFE_componentWillUpdate!="function"&&typeof R.componentWillUpdate!="function"||(typeof R.componentWillUpdate=="function"&&R.componentWillUpdate(p,Ee,ee),typeof R.UNSAFE_componentWillUpdate=="function"&&R.UNSAFE_componentWillUpdate(p,Ee,ee)),typeof R.componentDidUpdate=="function"&&(i.flags|=4),typeof R.getSnapshotBeforeUpdate=="function"&&(i.flags|=1024)):(typeof R.componentDidUpdate!="function"||B===n.memoizedProps&&pe===n.memoizedState||(i.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||B===n.memoizedProps&&pe===n.memoizedState||(i.flags|=1024),i.memoizedProps=p,i.memoizedState=Ee),R.props=p,R.state=Ee,R.context=ee,p=le):(typeof R.componentDidUpdate!="function"||B===n.memoizedProps&&pe===n.memoizedState||(i.flags|=4),typeof R.getSnapshotBeforeUpdate!="function"||B===n.memoizedProps&&pe===n.memoizedState||(i.flags|=1024),p=!1)}return Wd(n,i,l,p,x,v)}function Wd(n,i,l,p,v,x){Yw(n,i);var R=(i.flags&128)!==0;if(!p&&!R)return v&&tw(i,l,!1),Ur(n,i,x);p=i.stateNode,QR.current=i;var B=R&&typeof l.getDerivedStateFromError!="function"?null:p.render();return i.flags|=1,n!==null&&R?(i.child=io(i,n.child,null,x),i.child=io(i,null,B,x)):tn(n,i,B,x),i.memoizedState=p.state,v&&tw(i,l,!0),i.child}function Qw(n){var i=n.stateNode;i.pendingContext?J0(n,i.pendingContext,i.pendingContext!==i.context):i.context&&J0(n,i.context,!1),Cd(n,i.containerInfo)}function Zw(n,i,l,p,v){return so(),xd(v),i.flags|=256,tn(n,i,l,p),i.child}var Hd={dehydrated:null,treeContext:null,retryLane:0};function Gd(n){return{baseLanes:n,cachePool:null,transitions:null}}function Jw(n,i,l){var p=i.pendingProps,v=wt.current,x=!1,R=(i.flags&128)!==0,B;if((B=R)||(B=n!==null&&n.memoizedState===null?!1:(v&2)!==0),B?(x=!0,i.flags&=-129):(n===null||n.memoizedState!==null)&&(v|=1),lt(wt,v&1),n===null)return wd(i),n=i.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?((i.mode&1)===0?i.lanes=1:n.data==="$!"?i.lanes=8:i.lanes=1073741824,null):(R=p.children,n=p.fallback,x?(p=i.mode,x=i.child,R={mode:"hidden",children:R},(p&1)===0&&x!==null?(x.childLanes=0,x.pendingProps=R):x=_u(R,p,0,null),n=li(n,p,l,null),x.return=i,n.return=i,x.sibling=n,i.child=x,i.child.memoizedState=Gd(l),i.memoizedState=Hd,n):Vd(i,R));if(v=n.memoizedState,v!==null&&(B=v.dehydrated,B!==null))return ZR(n,i,R,p,B,v,l);if(x){x=p.fallback,R=i.mode,v=n.child,B=v.sibling;var ee={mode:"hidden",children:p.children};return(R&1)===0&&i.child!==v?(p=i.child,p.childLanes=0,p.pendingProps=ee,i.deletions=null):(p=ks(v,ee),p.subtreeFlags=v.subtreeFlags&14680064),B!==null?x=ks(B,x):(x=li(x,R,l,null),x.flags|=2),x.return=i,p.return=i,p.sibling=x,i.child=p,p=x,x=i.child,R=n.child.memoizedState,R=R===null?Gd(l):{baseLanes:R.baseLanes|l,cachePool:null,transitions:R.transitions},x.memoizedState=R,x.childLanes=n.childLanes&~l,i.memoizedState=Hd,p}return x=n.child,n=x.sibling,p=ks(x,{mode:"visible",children:p.children}),(i.mode&1)===0&&(p.lanes=l),p.return=i,p.sibling=null,n!==null&&(l=i.deletions,l===null?(i.deletions=[n],i.flags|=16):l.push(n)),i.child=p,i.memoizedState=null,p}function Vd(n,i){return i=_u({mode:"visible",children:i},n.mode,0,null),i.return=n,n.child=i}function uu(n,i,l,p){return p!==null&&xd(p),io(i,n.child,null,l),n=Vd(i,i.pendingProps.children),n.flags|=2,i.memoizedState=null,n}function ZR(n,i,l,p,v,x,R){if(l)return i.flags&256?(i.flags&=-257,p=zd(Error(r(422))),uu(n,i,R,p)):i.memoizedState!==null?(i.child=n.child,i.flags|=128,null):(x=p.fallback,v=i.mode,p=_u({mode:"visible",children:p.children},v,0,null),x=li(x,v,R,null),x.flags|=2,p.return=i,x.return=i,p.sibling=x,i.child=p,(i.mode&1)!==0&&io(i,n.child,null,R),i.child.memoizedState=Gd(R),i.memoizedState=Hd,x);if((i.mode&1)===0)return uu(n,i,R,null);if(v.data==="$!"){if(p=v.nextSibling&&v.nextSibling.dataset,p)var B=p.dgst;return p=B,x=Error(r(419)),p=zd(x,p,void 0),uu(n,i,R,p)}if(B=(R&n.childLanes)!==0,ln||B){if(p=qt,p!==null){switch(R&-R){case 4:v=2;break;case 16:v=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:v=32;break;case 536870912:v=268435456;break;default:v=0}v=(v&(p.suspendedLanes|R))!==0?0:v,v!==0&&v!==x.retryLane&&(x.retryLane=v,zr(n,v),Jn(p,n,v,-1))}return cf(),p=zd(Error(r(421))),uu(n,i,R,p)}return v.data==="$?"?(i.flags|=128,i.child=n.child,i=dA.bind(null,n),v._reactRetry=i,null):(n=x.treeContext,yn=fs(v.nextSibling),vn=i,mt=!0,Yn=null,n!==null&&(Cn[jn++]=Dr,Cn[jn++]=Fr,Cn[jn++]=Js,Dr=n.id,Fr=n.overflow,Js=i),i=Vd(i,p.children),i.flags|=4096,i)}function ex(n,i,l){n.lanes|=i;var p=n.alternate;p!==null&&(p.lanes|=i),Sd(n.return,i,l)}function Kd(n,i,l,p,v){var x=n.memoizedState;x===null?n.memoizedState={isBackwards:i,rendering:null,renderingStartTime:0,last:p,tail:l,tailMode:v}:(x.isBackwards=i,x.rendering=null,x.renderingStartTime=0,x.last=p,x.tail=l,x.tailMode=v)}function tx(n,i,l){var p=i.pendingProps,v=p.revealOrder,x=p.tail;if(tn(n,i,p.children,l),p=wt.current,(p&2)!==0)p=p&1|2,i.flags|=128;else{if(n!==null&&(n.flags&128)!==0)e:for(n=i.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&ex(n,l,i);else if(n.tag===19)ex(n,l,i);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===i)break e;for(;n.sibling===null;){if(n.return===null||n.return===i)break e;n=n.return}n.sibling.return=n.return,n=n.sibling}p&=1}if(lt(wt,p),(i.mode&1)===0)i.memoizedState=null;else switch(v){case"forwards":for(l=i.child,v=null;l!==null;)n=l.alternate,n!==null&&nu(n)===null&&(v=l),l=l.sibling;l=v,l===null?(v=i.child,i.child=null):(v=l.sibling,l.sibling=null),Kd(i,!1,v,l,x);break;case"backwards":for(l=null,v=i.child,i.child=null;v!==null;){if(n=v.alternate,n!==null&&nu(n)===null){i.child=v;break}n=v.sibling,v.sibling=l,l=v,v=n}Kd(i,!0,l,null,x);break;case"together":Kd(i,!1,null,null,void 0);break;default:i.memoizedState=null}return i.child}function cu(n,i){(i.mode&1)===0&&n!==null&&(n.alternate=null,i.alternate=null,i.flags|=2)}function Ur(n,i,l){if(n!==null&&(i.dependencies=n.dependencies),si|=i.lanes,(l&i.childLanes)===0)return null;if(n!==null&&i.child!==n.child)throw Error(r(153));if(i.child!==null){for(n=i.child,l=ks(n,n.pendingProps),i.child=l,l.return=i;n.sibling!==null;)n=n.sibling,l=l.sibling=ks(n,n.pendingProps),l.return=i;l.sibling=null}return i.child}function JR(n,i,l){switch(i.tag){case 3:Qw(i),so();break;case 5:mw(i);break;case 1:an(i.type)&&Gl(i);break;case 4:Cd(i,i.stateNode.containerInfo);break;case 10:var p=i.type._context,v=i.memoizedProps.value;lt(Zl,p._currentValue),p._currentValue=v;break;case 13:if(p=i.memoizedState,p!==null)return p.dehydrated!==null?(lt(wt,wt.current&1),i.flags|=128,null):(l&i.child.childLanes)!==0?Jw(n,i,l):(lt(wt,wt.current&1),n=Ur(n,i,l),n!==null?n.sibling:null);lt(wt,wt.current&1);break;case 19:if(p=(l&i.childLanes)!==0,(n.flags&128)!==0){if(p)return tx(n,i,l);i.flags|=128}if(v=i.memoizedState,v!==null&&(v.rendering=null,v.tail=null,v.lastEffect=null),lt(wt,wt.current),p)break;return null;case 22:case 23:return i.lanes=0,Kw(n,i,l)}return Ur(n,i,l)}var nx,Yd,rx,sx;nx=function(n,i){for(var l=i.child;l!==null;){if(l.tag===5||l.tag===6)n.appendChild(l.stateNode);else if(l.tag!==4&&l.child!==null){l.child.return=l,l=l.child;continue}if(l===i)break;for(;l.sibling===null;){if(l.return===null||l.return===i)return;l=l.return}l.sibling.return=l.return,l=l.sibling}},Yd=function(){},rx=function(n,i,l,p){var v=n.memoizedProps;if(v!==p){n=i.stateNode,ni(wr.current);var x=null;switch(l){case"input":v=Ie(n,v),p=Ie(n,p),x=[];break;case"select":v=Q({},v,{value:void 0}),p=Q({},p,{value:void 0}),x=[];break;case"textarea":v=st(n,v),p=st(n,p),x=[];break;default:typeof v.onClick!="function"&&typeof p.onClick=="function"&&(n.onclick=Ul)}et(l,p);var R;l=null;for(le in v)if(!p.hasOwnProperty(le)&&v.hasOwnProperty(le)&&v[le]!=null)if(le==="style"){var B=v[le];for(R in B)B.hasOwnProperty(R)&&(l||(l={}),l[R]="")}else le!=="dangerouslySetInnerHTML"&&le!=="children"&&le!=="suppressContentEditableWarning"&&le!=="suppressHydrationWarning"&&le!=="autoFocus"&&(o.hasOwnProperty(le)?x||(x=[]):(x=x||[]).push(le,null));for(le in p){var ee=p[le];if(B=v!=null?v[le]:void 0,p.hasOwnProperty(le)&&ee!==B&&(ee!=null||B!=null))if(le==="style")if(B){for(R in B)!B.hasOwnProperty(R)||ee&&ee.hasOwnProperty(R)||(l||(l={}),l[R]="");for(R in ee)ee.hasOwnProperty(R)&&B[R]!==ee[R]&&(l||(l={}),l[R]=ee[R])}else l||(x||(x=[]),x.push(le,l)),l=ee;else le==="dangerouslySetInnerHTML"?(ee=ee?ee.__html:void 0,B=B?B.__html:void 0,ee!=null&&B!==ee&&(x=x||[]).push(le,ee)):le==="children"?typeof ee!="string"&&typeof ee!="number"||(x=x||[]).push(le,""+ee):le!=="suppressContentEditableWarning"&&le!=="suppressHydrationWarning"&&(o.hasOwnProperty(le)?(ee!=null&&le==="onScroll"&&dt("scroll",n),x||B===ee||(x=[])):(x=x||[]).push(le,ee))}l&&(x=x||[]).push("style",l);var le=x;(i.updateQueue=le)&&(i.flags|=4)}},sx=function(n,i,l,p){l!==p&&(i.flags|=4)};function Na(n,i){if(!mt)switch(n.tailMode){case"hidden":i=n.tail;for(var l=null;i!==null;)i.alternate!==null&&(l=i),i=i.sibling;l===null?n.tail=null:l.sibling=null;break;case"collapsed":l=n.tail;for(var p=null;l!==null;)l.alternate!==null&&(p=l),l=l.sibling;p===null?i||n.tail===null?n.tail=null:n.tail.sibling=null:p.sibling=null}}function Xt(n){var i=n.alternate!==null&&n.alternate.child===n.child,l=0,p=0;if(i)for(var v=n.child;v!==null;)l|=v.lanes|v.childLanes,p|=v.subtreeFlags&14680064,p|=v.flags&14680064,v.return=n,v=v.sibling;else for(v=n.child;v!==null;)l|=v.lanes|v.childLanes,p|=v.subtreeFlags,p|=v.flags,v.return=n,v=v.sibling;return n.subtreeFlags|=p,n.childLanes=l,i}function eA(n,i,l){var p=i.pendingProps;switch(vd(i),i.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Xt(i),null;case 1:return an(i.type)&&Hl(),Xt(i),null;case 3:return p=i.stateNode,lo(),ft(on),ft(Kt),Rd(),p.pendingContext&&(p.context=p.pendingContext,p.pendingContext=null),(n===null||n.child===null)&&(Xl(i)?i.flags|=4:n===null||n.memoizedState.isDehydrated&&(i.flags&256)===0||(i.flags|=1024,Yn!==null&&(af(Yn),Yn=null))),Yd(n,i),Xt(i),null;case 5:jd(i);var v=ni(xa.current);if(l=i.type,n!==null&&i.stateNode!=null)rx(n,i,l,p,v),n.ref!==i.ref&&(i.flags|=512,i.flags|=2097152);else{if(!p){if(i.stateNode===null)throw Error(r(166));return Xt(i),null}if(n=ni(wr.current),Xl(i)){p=i.stateNode,l=i.type;var x=i.memoizedProps;switch(p[yr]=i,p[ma]=x,n=(i.mode&1)!==0,l){case"dialog":dt("cancel",p),dt("close",p);break;case"iframe":case"object":case"embed":dt("load",p);break;case"video":case"audio":for(v=0;v<fa.length;v++)dt(fa[v],p);break;case"source":dt("error",p);break;case"img":case"image":case"link":dt("error",p),dt("load",p);break;case"details":dt("toggle",p);break;case"input":ke(p,x),dt("invalid",p);break;case"select":p._wrapperState={wasMultiple:!!x.multiple},dt("invalid",p);break;case"textarea":Be(p,x),dt("invalid",p)}et(l,x),v=null;for(var R in x)if(x.hasOwnProperty(R)){var B=x[R];R==="children"?typeof B=="string"?p.textContent!==B&&(x.suppressHydrationWarning!==!0&&Bl(p.textContent,B,n),v=["children",B]):typeof B=="number"&&p.textContent!==""+B&&(x.suppressHydrationWarning!==!0&&Bl(p.textContent,B,n),v=["children",""+B]):o.hasOwnProperty(R)&&B!=null&&R==="onScroll"&&dt("scroll",p)}switch(l){case"input":Re(p),we(p,x,!0);break;case"textarea":Re(p),Ye(p);break;case"select":case"option":break;default:typeof x.onClick=="function"&&(p.onclick=Ul)}p=v,i.updateQueue=p,p!==null&&(i.flags|=4)}else{R=v.nodeType===9?v:v.ownerDocument,n==="http://www.w3.org/1999/xhtml"&&(n=bt(l)),n==="http://www.w3.org/1999/xhtml"?l==="script"?(n=R.createElement("div"),n.innerHTML="<script><\/script>",n=n.removeChild(n.firstChild)):typeof p.is=="string"?n=R.createElement(l,{is:p.is}):(n=R.createElement(l),l==="select"&&(R=n,p.multiple?R.multiple=!0:p.size&&(R.size=p.size))):n=R.createElementNS(n,l),n[yr]=i,n[ma]=p,nx(n,i,!1,!1),i.stateNode=n;e:{switch(R=je(l,p),l){case"dialog":dt("cancel",n),dt("close",n),v=p;break;case"iframe":case"object":case"embed":dt("load",n),v=p;break;case"video":case"audio":for(v=0;v<fa.length;v++)dt(fa[v],n);v=p;break;case"source":dt("error",n),v=p;break;case"img":case"image":case"link":dt("error",n),dt("load",n),v=p;break;case"details":dt("toggle",n),v=p;break;case"input":ke(n,p),v=Ie(n,p),dt("invalid",n);break;case"option":v=p;break;case"select":n._wrapperState={wasMultiple:!!p.multiple},v=Q({},p,{value:void 0}),dt("invalid",n);break;case"textarea":Be(n,p),v=st(n,p),dt("invalid",n);break;default:v=p}et(l,v),B=v;for(x in B)if(B.hasOwnProperty(x)){var ee=B[x];x==="style"?We(n,ee):x==="dangerouslySetInnerHTML"?(ee=ee?ee.__html:void 0,ee!=null&&Rt(n,ee)):x==="children"?typeof ee=="string"?(l!=="textarea"||ee!=="")&&oe(n,ee):typeof ee=="number"&&oe(n,""+ee):x!=="suppressContentEditableWarning"&&x!=="suppressHydrationWarning"&&x!=="autoFocus"&&(o.hasOwnProperty(x)?ee!=null&&x==="onScroll"&&dt("scroll",n):ee!=null&&C(n,x,ee,R))}switch(l){case"input":Re(n),we(n,p,!1);break;case"textarea":Re(n),Ye(n);break;case"option":p.value!=null&&n.setAttribute("value",""+fe(p.value));break;case"select":n.multiple=!!p.multiple,x=p.value,x!=null?ut(n,!!p.multiple,x,!1):p.defaultValue!=null&&ut(n,!!p.multiple,p.defaultValue,!0);break;default:typeof v.onClick=="function"&&(n.onclick=Ul)}switch(l){case"button":case"input":case"select":case"textarea":p=!!p.autoFocus;break e;case"img":p=!0;break e;default:p=!1}}p&&(i.flags|=4)}i.ref!==null&&(i.flags|=512,i.flags|=2097152)}return Xt(i),null;case 6:if(n&&i.stateNode!=null)sx(n,i,n.memoizedProps,p);else{if(typeof p!="string"&&i.stateNode===null)throw Error(r(166));if(l=ni(xa.current),ni(wr.current),Xl(i)){if(p=i.stateNode,l=i.memoizedProps,p[yr]=i,(x=p.nodeValue!==l)&&(n=vn,n!==null))switch(n.tag){case 3:Bl(p.nodeValue,l,(n.mode&1)!==0);break;case 5:n.memoizedProps.suppressHydrationWarning!==!0&&Bl(p.nodeValue,l,(n.mode&1)!==0)}x&&(i.flags|=4)}else p=(l.nodeType===9?l:l.ownerDocument).createTextNode(p),p[yr]=i,i.stateNode=p}return Xt(i),null;case 13:if(ft(wt),p=i.memoizedState,n===null||n.memoizedState!==null&&n.memoizedState.dehydrated!==null){if(mt&&yn!==null&&(i.mode&1)!==0&&(i.flags&128)===0)aw(),so(),i.flags|=98560,x=!1;else if(x=Xl(i),p!==null&&p.dehydrated!==null){if(n===null){if(!x)throw Error(r(318));if(x=i.memoizedState,x=x!==null?x.dehydrated:null,!x)throw Error(r(317));x[yr]=i}else so(),(i.flags&128)===0&&(i.memoizedState=null),i.flags|=4;Xt(i),x=!1}else Yn!==null&&(af(Yn),Yn=null),x=!0;if(!x)return i.flags&65536?i:null}return(i.flags&128)!==0?(i.lanes=l,i):(p=p!==null,p!==(n!==null&&n.memoizedState!==null)&&p&&(i.child.flags|=8192,(i.mode&1)!==0&&(n===null||(wt.current&1)!==0?It===0&&(It=3):cf())),i.updateQueue!==null&&(i.flags|=4),Xt(i),null);case 4:return lo(),Yd(n,i),n===null&&ha(i.stateNode.containerInfo),Xt(i),null;case 10:return kd(i.type._context),Xt(i),null;case 17:return an(i.type)&&Hl(),Xt(i),null;case 19:if(ft(wt),x=i.memoizedState,x===null)return Xt(i),null;if(p=(i.flags&128)!==0,R=x.rendering,R===null)if(p)Na(x,!1);else{if(It!==0||n!==null&&(n.flags&128)!==0)for(n=i.child;n!==null;){if(R=nu(n),R!==null){for(i.flags|=128,Na(x,!1),p=R.updateQueue,p!==null&&(i.updateQueue=p,i.flags|=4),i.subtreeFlags=0,p=l,l=i.child;l!==null;)x=l,n=p,x.flags&=14680066,R=x.alternate,R===null?(x.childLanes=0,x.lanes=n,x.child=null,x.subtreeFlags=0,x.memoizedProps=null,x.memoizedState=null,x.updateQueue=null,x.dependencies=null,x.stateNode=null):(x.childLanes=R.childLanes,x.lanes=R.lanes,x.child=R.child,x.subtreeFlags=0,x.deletions=null,x.memoizedProps=R.memoizedProps,x.memoizedState=R.memoizedState,x.updateQueue=R.updateQueue,x.type=R.type,n=R.dependencies,x.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext}),l=l.sibling;return lt(wt,wt.current&1|2),i.child}n=n.sibling}x.tail!==null&&nt()>ho&&(i.flags|=128,p=!0,Na(x,!1),i.lanes=4194304)}else{if(!p)if(n=nu(R),n!==null){if(i.flags|=128,p=!0,l=n.updateQueue,l!==null&&(i.updateQueue=l,i.flags|=4),Na(x,!0),x.tail===null&&x.tailMode==="hidden"&&!R.alternate&&!mt)return Xt(i),null}else 2*nt()-x.renderingStartTime>ho&&l!==1073741824&&(i.flags|=128,p=!0,Na(x,!1),i.lanes=4194304);x.isBackwards?(R.sibling=i.child,i.child=R):(l=x.last,l!==null?l.sibling=R:i.child=R,x.last=R)}return x.tail!==null?(i=x.tail,x.rendering=i,x.tail=i.sibling,x.renderingStartTime=nt(),i.sibling=null,l=wt.current,lt(wt,p?l&1|2:l&1),i):(Xt(i),null);case 22:case 23:return uf(),p=i.memoizedState!==null,n!==null&&n.memoizedState!==null!==p&&(i.flags|=8192),p&&(i.mode&1)!==0?(wn&1073741824)!==0&&(Xt(i),i.subtreeFlags&6&&(i.flags|=8192)):Xt(i),null;case 24:return null;case 25:return null}throw Error(r(156,i.tag))}function tA(n,i){switch(vd(i),i.tag){case 1:return an(i.type)&&Hl(),n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 3:return lo(),ft(on),ft(Kt),Rd(),n=i.flags,(n&65536)!==0&&(n&128)===0?(i.flags=n&-65537|128,i):null;case 5:return jd(i),null;case 13:if(ft(wt),n=i.memoizedState,n!==null&&n.dehydrated!==null){if(i.alternate===null)throw Error(r(340));so()}return n=i.flags,n&65536?(i.flags=n&-65537|128,i):null;case 19:return ft(wt),null;case 4:return lo(),null;case 10:return kd(i.type._context),null;case 22:case 23:return uf(),null;case 24:return null;default:return null}}var du=!1,Qt=!1,nA=typeof WeakSet=="function"?WeakSet:Set,Se=null;function co(n,i){var l=n.ref;if(l!==null)if(typeof l=="function")try{l(null)}catch(p){kt(n,i,p)}else l.current=null}function Xd(n,i,l){try{l()}catch(p){kt(n,i,p)}}var ix=!1;function rA(n,i){if(ld=qs,n=ca(),Ks(n)){if("selectionStart"in n)var l={start:n.selectionStart,end:n.selectionEnd};else e:{l=(l=n.ownerDocument)&&l.defaultView||window;var p=l.getSelection&&l.getSelection();if(p&&p.rangeCount!==0){l=p.anchorNode;var v=p.anchorOffset,x=p.focusNode;p=p.focusOffset;try{l.nodeType,x.nodeType}catch{l=null;break e}var R=0,B=-1,ee=-1,le=0,me=0,ge=n,pe=null;t:for(;;){for(var _e;ge!==l||v!==0&&ge.nodeType!==3||(B=R+v),ge!==x||p!==0&&ge.nodeType!==3||(ee=R+p),ge.nodeType===3&&(R+=ge.nodeValue.length),(_e=ge.firstChild)!==null;)pe=ge,ge=_e;for(;;){if(ge===n)break t;if(pe===l&&++le===v&&(B=R),pe===x&&++me===p&&(ee=R),(_e=ge.nextSibling)!==null)break;ge=pe,pe=ge.parentNode}ge=_e}l=B===-1||ee===-1?null:{start:B,end:ee}}else l=null}l=l||{start:0,end:0}}else l=null;for(ud={focusedElem:n,selectionRange:l},qs=!1,Se=i;Se!==null;)if(i=Se,n=i.child,(i.subtreeFlags&1028)!==0&&n!==null)n.return=i,Se=n;else for(;Se!==null;){i=Se;try{var Ee=i.alternate;if((i.flags&1024)!==0)switch(i.tag){case 0:case 11:case 15:break;case 1:if(Ee!==null){var Te=Ee.memoizedProps,Et=Ee.memoizedState,re=i.stateNode,te=re.getSnapshotBeforeUpdate(i.elementType===i.type?Te:Xn(i.type,Te),Et);re.__reactInternalSnapshotBeforeUpdate=te}break;case 3:var ie=i.stateNode.containerInfo;ie.nodeType===1?ie.textContent="":ie.nodeType===9&&ie.documentElement&&ie.removeChild(ie.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(ve){kt(i,i.return,ve)}if(n=i.sibling,n!==null){n.return=i.return,Se=n;break}Se=i.return}return Ee=ix,ix=!1,Ee}function Ea(n,i,l){var p=i.updateQueue;if(p=p!==null?p.lastEffect:null,p!==null){var v=p=p.next;do{if((v.tag&n)===n){var x=v.destroy;v.destroy=void 0,x!==void 0&&Xd(i,l,x)}v=v.next}while(v!==p)}}function fu(n,i){if(i=i.updateQueue,i=i!==null?i.lastEffect:null,i!==null){var l=i=i.next;do{if((l.tag&n)===n){var p=l.create;l.destroy=p()}l=l.next}while(l!==i)}}function Qd(n){var i=n.ref;if(i!==null){var l=n.stateNode;switch(n.tag){case 5:n=l;break;default:n=l}typeof i=="function"?i(n):i.current=n}}function ox(n){var i=n.alternate;i!==null&&(n.alternate=null,ox(i)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(i=n.stateNode,i!==null&&(delete i[yr],delete i[ma],delete i[hd],delete i[DR],delete i[FR])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function ax(n){return n.tag===5||n.tag===3||n.tag===4}function lx(n){e:for(;;){for(;n.sibling===null;){if(n.return===null||ax(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue e;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Zd(n,i,l){var p=n.tag;if(p===5||p===6)n=n.stateNode,i?l.nodeType===8?l.parentNode.insertBefore(n,i):l.insertBefore(n,i):(l.nodeType===8?(i=l.parentNode,i.insertBefore(n,l)):(i=l,i.appendChild(n)),l=l._reactRootContainer,l!=null||i.onclick!==null||(i.onclick=Ul));else if(p!==4&&(n=n.child,n!==null))for(Zd(n,i,l),n=n.sibling;n!==null;)Zd(n,i,l),n=n.sibling}function Jd(n,i,l){var p=n.tag;if(p===5||p===6)n=n.stateNode,i?l.insertBefore(n,i):l.appendChild(n);else if(p!==4&&(n=n.child,n!==null))for(Jd(n,i,l),n=n.sibling;n!==null;)Jd(n,i,l),n=n.sibling}var Bt=null,Qn=!1;function ys(n,i,l){for(l=l.child;l!==null;)ux(n,i,l),l=l.sibling}function ux(n,i,l){if(rn&&typeof rn.onCommitFiberUnmount=="function")try{rn.onCommitFiberUnmount(ht,l)}catch{}switch(l.tag){case 5:Qt||co(l,i);case 6:var p=Bt,v=Qn;Bt=null,ys(n,i,l),Bt=p,Qn=v,Bt!==null&&(Qn?(n=Bt,l=l.stateNode,n.nodeType===8?n.parentNode.removeChild(l):n.removeChild(l)):Bt.removeChild(l.stateNode));break;case 18:Bt!==null&&(Qn?(n=Bt,l=l.stateNode,n.nodeType===8?fd(n.parentNode,l):n.nodeType===1&&fd(n,l),os(n)):fd(Bt,l.stateNode));break;case 4:p=Bt,v=Qn,Bt=l.stateNode.containerInfo,Qn=!0,ys(n,i,l),Bt=p,Qn=v;break;case 0:case 11:case 14:case 15:if(!Qt&&(p=l.updateQueue,p!==null&&(p=p.lastEffect,p!==null))){v=p=p.next;do{var x=v,R=x.destroy;x=x.tag,R!==void 0&&((x&2)!==0||(x&4)!==0)&&Xd(l,i,R),v=v.next}while(v!==p)}ys(n,i,l);break;case 1:if(!Qt&&(co(l,i),p=l.stateNode,typeof p.componentWillUnmount=="function"))try{p.props=l.memoizedProps,p.state=l.memoizedState,p.componentWillUnmount()}catch(B){kt(l,i,B)}ys(n,i,l);break;case 21:ys(n,i,l);break;case 22:l.mode&1?(Qt=(p=Qt)||l.memoizedState!==null,ys(n,i,l),Qt=p):ys(n,i,l);break;default:ys(n,i,l)}}function cx(n){var i=n.updateQueue;if(i!==null){n.updateQueue=null;var l=n.stateNode;l===null&&(l=n.stateNode=new nA),i.forEach(function(p){var v=fA.bind(null,n,p);l.has(p)||(l.add(p),p.then(v,v))})}}function Zn(n,i){var l=i.deletions;if(l!==null)for(var p=0;p<l.length;p++){var v=l[p];try{var x=n,R=i,B=R;e:for(;B!==null;){switch(B.tag){case 5:Bt=B.stateNode,Qn=!1;break e;case 3:Bt=B.stateNode.containerInfo,Qn=!0;break e;case 4:Bt=B.stateNode.containerInfo,Qn=!0;break e}B=B.return}if(Bt===null)throw Error(r(160));ux(x,R,v),Bt=null,Qn=!1;var ee=v.alternate;ee!==null&&(ee.return=null),v.return=null}catch(le){kt(v,i,le)}}if(i.subtreeFlags&12854)for(i=i.child;i!==null;)dx(i,n),i=i.sibling}function dx(n,i){var l=n.alternate,p=n.flags;switch(n.tag){case 0:case 11:case 14:case 15:if(Zn(i,n),br(n),p&4){try{Ea(3,n,n.return),fu(3,n)}catch(Te){kt(n,n.return,Te)}try{Ea(5,n,n.return)}catch(Te){kt(n,n.return,Te)}}break;case 1:Zn(i,n),br(n),p&512&&l!==null&&co(l,l.return);break;case 5:if(Zn(i,n),br(n),p&512&&l!==null&&co(l,l.return),n.flags&32){var v=n.stateNode;try{oe(v,"")}catch(Te){kt(n,n.return,Te)}}if(p&4&&(v=n.stateNode,v!=null)){var x=n.memoizedProps,R=l!==null?l.memoizedProps:x,B=n.type,ee=n.updateQueue;if(n.updateQueue=null,ee!==null)try{B==="input"&&x.type==="radio"&&x.name!=null&&ue(v,x),je(B,R);var le=je(B,x);for(R=0;R<ee.length;R+=2){var me=ee[R],ge=ee[R+1];me==="style"?We(v,ge):me==="dangerouslySetInnerHTML"?Rt(v,ge):me==="children"?oe(v,ge):C(v,me,ge,le)}switch(B){case"input":xe(v,x);break;case"textarea":tt(v,x);break;case"select":var pe=v._wrapperState.wasMultiple;v._wrapperState.wasMultiple=!!x.multiple;var _e=x.value;_e!=null?ut(v,!!x.multiple,_e,!1):pe!==!!x.multiple&&(x.defaultValue!=null?ut(v,!!x.multiple,x.defaultValue,!0):ut(v,!!x.multiple,x.multiple?[]:"",!1))}v[ma]=x}catch(Te){kt(n,n.return,Te)}}break;case 6:if(Zn(i,n),br(n),p&4){if(n.stateNode===null)throw Error(r(162));v=n.stateNode,x=n.memoizedProps;try{v.nodeValue=x}catch(Te){kt(n,n.return,Te)}}break;case 3:if(Zn(i,n),br(n),p&4&&l!==null&&l.memoizedState.isDehydrated)try{os(i.containerInfo)}catch(Te){kt(n,n.return,Te)}break;case 4:Zn(i,n),br(n);break;case 13:Zn(i,n),br(n),v=n.child,v.flags&8192&&(x=v.memoizedState!==null,v.stateNode.isHidden=x,!x||v.alternate!==null&&v.alternate.memoizedState!==null||(nf=nt())),p&4&&cx(n);break;case 22:if(me=l!==null&&l.memoizedState!==null,n.mode&1?(Qt=(le=Qt)||me,Zn(i,n),Qt=le):Zn(i,n),br(n),p&8192){if(le=n.memoizedState!==null,(n.stateNode.isHidden=le)&&!me&&(n.mode&1)!==0)for(Se=n,me=n.child;me!==null;){for(ge=Se=me;Se!==null;){switch(pe=Se,_e=pe.child,pe.tag){case 0:case 11:case 14:case 15:Ea(4,pe,pe.return);break;case 1:co(pe,pe.return);var Ee=pe.stateNode;if(typeof Ee.componentWillUnmount=="function"){p=pe,l=pe.return;try{i=p,Ee.props=i.memoizedProps,Ee.state=i.memoizedState,Ee.componentWillUnmount()}catch(Te){kt(p,l,Te)}}break;case 5:co(pe,pe.return);break;case 22:if(pe.memoizedState!==null){px(ge);continue}}_e!==null?(_e.return=pe,Se=_e):px(ge)}me=me.sibling}e:for(me=null,ge=n;;){if(ge.tag===5){if(me===null){me=ge;try{v=ge.stateNode,le?(x=v.style,typeof x.setProperty=="function"?x.setProperty("display","none","important"):x.display="none"):(B=ge.stateNode,ee=ge.memoizedProps.style,R=ee!=null&&ee.hasOwnProperty("display")?ee.display:null,B.style.display=Ne("display",R))}catch(Te){kt(n,n.return,Te)}}}else if(ge.tag===6){if(me===null)try{ge.stateNode.nodeValue=le?"":ge.memoizedProps}catch(Te){kt(n,n.return,Te)}}else if((ge.tag!==22&&ge.tag!==23||ge.memoizedState===null||ge===n)&&ge.child!==null){ge.child.return=ge,ge=ge.child;continue}if(ge===n)break e;for(;ge.sibling===null;){if(ge.return===null||ge.return===n)break e;me===ge&&(me=null),ge=ge.return}me===ge&&(me=null),ge.sibling.return=ge.return,ge=ge.sibling}}break;case 19:Zn(i,n),br(n),p&4&&cx(n);break;case 21:break;default:Zn(i,n),br(n)}}function br(n){var i=n.flags;if(i&2){try{e:{for(var l=n.return;l!==null;){if(ax(l)){var p=l;break e}l=l.return}throw Error(r(160))}switch(p.tag){case 5:var v=p.stateNode;p.flags&32&&(oe(v,""),p.flags&=-33);var x=lx(n);Jd(n,x,v);break;case 3:case 4:var R=p.stateNode.containerInfo,B=lx(n);Zd(n,B,R);break;default:throw Error(r(161))}}catch(ee){kt(n,n.return,ee)}n.flags&=-3}i&4096&&(n.flags&=-4097)}function sA(n,i,l){Se=n,fx(n)}function fx(n,i,l){for(var p=(n.mode&1)!==0;Se!==null;){var v=Se,x=v.child;if(v.tag===22&&p){var R=v.memoizedState!==null||du;if(!R){var B=v.alternate,ee=B!==null&&B.memoizedState!==null||Qt;B=du;var le=Qt;if(du=R,(Qt=ee)&&!le)for(Se=v;Se!==null;)R=Se,ee=R.child,R.tag===22&&R.memoizedState!==null?mx(v):ee!==null?(ee.return=R,Se=ee):mx(v);for(;x!==null;)Se=x,fx(x),x=x.sibling;Se=v,du=B,Qt=le}hx(n)}else(v.subtreeFlags&8772)!==0&&x!==null?(x.return=v,Se=x):hx(n)}}function hx(n){for(;Se!==null;){var i=Se;if((i.flags&8772)!==0){var l=i.alternate;try{if((i.flags&8772)!==0)switch(i.tag){case 0:case 11:case 15:Qt||fu(5,i);break;case 1:var p=i.stateNode;if(i.flags&4&&!Qt)if(l===null)p.componentDidMount();else{var v=i.elementType===i.type?l.memoizedProps:Xn(i.type,l.memoizedProps);p.componentDidUpdate(v,l.memoizedState,p.__reactInternalSnapshotBeforeUpdate)}var x=i.updateQueue;x!==null&&pw(i,x,p);break;case 3:var R=i.updateQueue;if(R!==null){if(l=null,i.child!==null)switch(i.child.tag){case 5:l=i.child.stateNode;break;case 1:l=i.child.stateNode}pw(i,R,l)}break;case 5:var B=i.stateNode;if(l===null&&i.flags&4){l=B;var ee=i.memoizedProps;switch(i.type){case"button":case"input":case"select":case"textarea":ee.autoFocus&&l.focus();break;case"img":ee.src&&(l.src=ee.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(i.memoizedState===null){var le=i.alternate;if(le!==null){var me=le.memoizedState;if(me!==null){var ge=me.dehydrated;ge!==null&&os(ge)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}Qt||i.flags&512&&Qd(i)}catch(pe){kt(i,i.return,pe)}}if(i===n){Se=null;break}if(l=i.sibling,l!==null){l.return=i.return,Se=l;break}Se=i.return}}function px(n){for(;Se!==null;){var i=Se;if(i===n){Se=null;break}var l=i.sibling;if(l!==null){l.return=i.return,Se=l;break}Se=i.return}}function mx(n){for(;Se!==null;){var i=Se;try{switch(i.tag){case 0:case 11:case 15:var l=i.return;try{fu(4,i)}catch(ee){kt(i,l,ee)}break;case 1:var p=i.stateNode;if(typeof p.componentDidMount=="function"){var v=i.return;try{p.componentDidMount()}catch(ee){kt(i,v,ee)}}var x=i.return;try{Qd(i)}catch(ee){kt(i,x,ee)}break;case 5:var R=i.return;try{Qd(i)}catch(ee){kt(i,R,ee)}}}catch(ee){kt(i,i.return,ee)}if(i===n){Se=null;break}var B=i.sibling;if(B!==null){B.return=i.return,Se=B;break}Se=i.return}}var iA=Math.ceil,hu=T.ReactCurrentDispatcher,ef=T.ReactCurrentOwner,An=T.ReactCurrentBatchConfig,Qe=0,qt=null,Ct=null,Ut=0,wn=0,fo=hs(0),It=0,Ca=null,si=0,pu=0,tf=0,ja=null,un=null,nf=0,ho=1/0,Wr=null,mu=!1,rf=null,ws=null,gu=!1,xs=null,vu=0,Ta=0,sf=null,yu=-1,wu=0;function nn(){return(Qe&6)!==0?nt():yu!==-1?yu:yu=nt()}function bs(n){return(n.mode&1)===0?1:(Qe&2)!==0&&Ut!==0?Ut&-Ut:BR.transition!==null?(wu===0&&(wu=$s()),wu):(n=Xe,n!==0||(n=window.event,n=n===void 0?16:Wi(n.type)),n)}function Jn(n,i,l,p){if(50<Ta)throw Ta=0,sf=null,Error(r(185));rs(n,l,p),((Qe&2)===0||n!==qt)&&(n===qt&&((Qe&2)===0&&(pu|=l),It===4&&_s(n,Ut)),cn(n,p),l===1&&Qe===0&&(i.mode&1)===0&&(ho=nt()+500,Vl&&ms()))}function cn(n,i){var l=n.callbackNode;wl(n,i);var p=Ps(n,n===qt?Ut:0);if(p===0)l!==null&&Os(l),n.callbackNode=null,n.callbackPriority=0;else if(i=p&-p,n.callbackPriority!==i){if(l!=null&&Os(l),i===1)n.tag===0?zR(vx.bind(null,n)):nw(vx.bind(null,n)),LR(function(){(Qe&6)===0&&ms()}),l=null;else{switch(Vo(p)){case 1:l=Jr;break;case 4:l=Ht;break;case 16:l=zn;break;case 536870912:l=es;break;default:l=zn}l=Nx(l,gx.bind(null,n))}n.callbackPriority=i,n.callbackNode=l}}function gx(n,i){if(yu=-1,wu=0,(Qe&6)!==0)throw Error(r(327));var l=n.callbackNode;if(po()&&n.callbackNode!==l)return null;var p=Ps(n,n===qt?Ut:0);if(p===0)return null;if((p&30)!==0||(p&n.expiredLanes)!==0||i)i=xu(n,p);else{i=p;var v=Qe;Qe|=2;var x=wx();(qt!==n||Ut!==i)&&(Wr=null,ho=nt()+500,oi(n,i));do try{lA();break}catch(B){yx(n,B)}while(!0);_d(),hu.current=x,Qe=v,Ct!==null?i=0:(qt=null,Ut=0,i=It)}if(i!==0){if(i===2&&(v=Li(n),v!==0&&(p=v,i=of(n,v))),i===1)throw l=Ca,oi(n,0),_s(n,p),cn(n,nt()),l;if(i===6)_s(n,p);else{if(v=n.current.alternate,(p&30)===0&&!oA(v)&&(i=xu(n,p),i===2&&(x=Li(n),x!==0&&(p=x,i=of(n,x))),i===1))throw l=Ca,oi(n,0),_s(n,p),cn(n,nt()),l;switch(n.finishedWork=v,n.finishedLanes=p,i){case 0:case 1:throw Error(r(345));case 2:ai(n,un,Wr);break;case 3:if(_s(n,p),(p&130023424)===p&&(i=nf+500-nt(),10<i)){if(Ps(n,0)!==0)break;if(v=n.suspendedLanes,(v&p)!==p){nn(),n.pingedLanes|=n.suspendedLanes&v;break}n.timeoutHandle=dd(ai.bind(null,n,un,Wr),i);break}ai(n,un,Wr);break;case 4:if(_s(n,p),(p&4194240)===p)break;for(i=n.eventTimes,v=-1;0<p;){var R=31-mn(p);x=1<<R,R=i[R],R>v&&(v=R),p&=~x}if(p=v,p=nt()-p,p=(120>p?120:480>p?480:1080>p?1080:1920>p?1920:3e3>p?3e3:4320>p?4320:1960*iA(p/1960))-p,10<p){n.timeoutHandle=dd(ai.bind(null,n,un,Wr),p);break}ai(n,un,Wr);break;case 5:ai(n,un,Wr);break;default:throw Error(r(329))}}}return cn(n,nt()),n.callbackNode===l?gx.bind(null,n):null}function of(n,i){var l=ja;return n.current.memoizedState.isDehydrated&&(oi(n,i).flags|=256),n=xu(n,i),n!==2&&(i=un,un=l,i!==null&&af(i)),n}function af(n){un===null?un=n:un.push.apply(un,n)}function oA(n){for(var i=n;;){if(i.flags&16384){var l=i.updateQueue;if(l!==null&&(l=l.stores,l!==null))for(var p=0;p<l.length;p++){var v=l[p],x=v.getSnapshot;v=v.value;try{if(!Vt(x(),v))return!1}catch{return!1}}}if(l=i.child,i.subtreeFlags&16384&&l!==null)l.return=i,i=l;else{if(i===n)break;for(;i.sibling===null;){if(i.return===null||i.return===n)return!0;i=i.return}i.sibling.return=i.return,i=i.sibling}}return!0}function _s(n,i){for(i&=~tf,i&=~pu,n.suspendedLanes|=i,n.pingedLanes&=~i,n=n.expirationTimes;0<i;){var l=31-mn(i),p=1<<l;n[l]=-1,i&=~p}}function vx(n){if((Qe&6)!==0)throw Error(r(327));po();var i=Ps(n,0);if((i&1)===0)return cn(n,nt()),null;var l=xu(n,i);if(n.tag!==0&&l===2){var p=Li(n);p!==0&&(i=p,l=of(n,p))}if(l===1)throw l=Ca,oi(n,0),_s(n,i),cn(n,nt()),l;if(l===6)throw Error(r(345));return n.finishedWork=n.current.alternate,n.finishedLanes=i,ai(n,un,Wr),cn(n,nt()),null}function lf(n,i){var l=Qe;Qe|=1;try{return n(i)}finally{Qe=l,Qe===0&&(ho=nt()+500,Vl&&ms())}}function ii(n){xs!==null&&xs.tag===0&&(Qe&6)===0&&po();var i=Qe;Qe|=1;var l=An.transition,p=Xe;try{if(An.transition=null,Xe=1,n)return n()}finally{Xe=p,An.transition=l,Qe=i,(Qe&6)===0&&ms()}}function uf(){wn=fo.current,ft(fo)}function oi(n,i){n.finishedWork=null,n.finishedLanes=0;var l=n.timeoutHandle;if(l!==-1&&(n.timeoutHandle=-1,$R(l)),Ct!==null)for(l=Ct.return;l!==null;){var p=l;switch(vd(p),p.tag){case 1:p=p.type.childContextTypes,p!=null&&Hl();break;case 3:lo(),ft(on),ft(Kt),Rd();break;case 5:jd(p);break;case 4:lo();break;case 13:ft(wt);break;case 19:ft(wt);break;case 10:kd(p.type._context);break;case 22:case 23:uf()}l=l.return}if(qt=n,Ct=n=ks(n.current,null),Ut=wn=i,It=0,Ca=null,tf=pu=si=0,un=ja=null,ti!==null){for(i=0;i<ti.length;i++)if(l=ti[i],p=l.interleaved,p!==null){l.interleaved=null;var v=p.next,x=l.pending;if(x!==null){var R=x.next;x.next=v,p.next=R}l.pending=p}ti=null}return n}function yx(n,i){do{var l=Ct;try{if(_d(),ru.current=au,su){for(var p=xt.memoizedState;p!==null;){var v=p.queue;v!==null&&(v.pending=null),p=p.next}su=!1}if(ri=0,Lt=Mt=xt=null,ba=!1,_a=0,ef.current=null,l===null||l.return===null){It=1,Ca=i,Ct=null;break}e:{var x=n,R=l.return,B=l,ee=i;if(i=Ut,B.flags|=32768,ee!==null&&typeof ee=="object"&&typeof ee.then=="function"){var le=ee,me=B,ge=me.tag;if((me.mode&1)===0&&(ge===0||ge===11||ge===15)){var pe=me.alternate;pe?(me.updateQueue=pe.updateQueue,me.memoizedState=pe.memoizedState,me.lanes=pe.lanes):(me.updateQueue=null,me.memoizedState=null)}var _e=Uw(R);if(_e!==null){_e.flags&=-257,Ww(_e,R,B,x,i),_e.mode&1&&Bw(x,le,i),i=_e,ee=le;var Ee=i.updateQueue;if(Ee===null){var Te=new Set;Te.add(ee),i.updateQueue=Te}else Ee.add(ee);break e}else{if((i&1)===0){Bw(x,le,i),cf();break e}ee=Error(r(426))}}else if(mt&&B.mode&1){var Et=Uw(R);if(Et!==null){(Et.flags&65536)===0&&(Et.flags|=256),Ww(Et,R,B,x,i),xd(uo(ee,B));break e}}x=ee=uo(ee,B),It!==4&&(It=2),ja===null?ja=[x]:ja.push(x),x=R;do{switch(x.tag){case 3:x.flags|=65536,i&=-i,x.lanes|=i;var re=Fw(x,ee,i);hw(x,re);break e;case 1:B=ee;var te=x.type,ie=x.stateNode;if((x.flags&128)===0&&(typeof te.getDerivedStateFromError=="function"||ie!==null&&typeof ie.componentDidCatch=="function"&&(ws===null||!ws.has(ie)))){x.flags|=65536,i&=-i,x.lanes|=i;var ve=zw(x,B,i);hw(x,ve);break e}}x=x.return}while(x!==null)}bx(l)}catch(Ae){i=Ae,Ct===l&&l!==null&&(Ct=l=l.return);continue}break}while(!0)}function wx(){var n=hu.current;return hu.current=au,n===null?au:n}function cf(){(It===0||It===3||It===2)&&(It=4),qt===null||(si&268435455)===0&&(pu&268435455)===0||_s(qt,Ut)}function xu(n,i){var l=Qe;Qe|=2;var p=wx();(qt!==n||Ut!==i)&&(Wr=null,oi(n,i));do try{aA();break}catch(v){yx(n,v)}while(!0);if(_d(),Qe=l,hu.current=p,Ct!==null)throw Error(r(261));return qt=null,Ut=0,It}function aA(){for(;Ct!==null;)xx(Ct)}function lA(){for(;Ct!==null&&!Ai();)xx(Ct)}function xx(n){var i=Sx(n.alternate,n,wn);n.memoizedProps=n.pendingProps,i===null?bx(n):Ct=i,ef.current=null}function bx(n){var i=n;do{var l=i.alternate;if(n=i.return,(i.flags&32768)===0){if(l=eA(l,i,wn),l!==null){Ct=l;return}}else{if(l=tA(l,i),l!==null){l.flags&=32767,Ct=l;return}if(n!==null)n.flags|=32768,n.subtreeFlags=0,n.deletions=null;else{It=6,Ct=null;return}}if(i=i.sibling,i!==null){Ct=i;return}Ct=i=n}while(i!==null);It===0&&(It=5)}function ai(n,i,l){var p=Xe,v=An.transition;try{An.transition=null,Xe=1,uA(n,i,l,p)}finally{An.transition=v,Xe=p}return null}function uA(n,i,l,p){do po();while(xs!==null);if((Qe&6)!==0)throw Error(r(327));l=n.finishedWork;var v=n.finishedLanes;if(l===null)return null;if(n.finishedWork=null,n.finishedLanes=0,l===n.current)throw Error(r(177));n.callbackNode=null,n.callbackPriority=0;var x=l.lanes|l.childLanes;if(Zt(n,x),n===qt&&(Ct=qt=null,Ut=0),(l.subtreeFlags&2064)===0&&(l.flags&2064)===0||gu||(gu=!0,Nx(zn,function(){return po(),null})),x=(l.flags&15990)!==0,(l.subtreeFlags&15990)!==0||x){x=An.transition,An.transition=null;var R=Xe;Xe=1;var B=Qe;Qe|=4,ef.current=null,rA(n,l),dx(l,n),Ys(ud),qs=!!ld,ud=ld=null,n.current=l,sA(l),Mi(),Qe=B,Xe=R,An.transition=x}else n.current=l;if(gu&&(gu=!1,xs=n,vu=v),x=n.pendingLanes,x===0&&(ws=null),Bn(l.stateNode),cn(n,nt()),i!==null)for(p=n.onRecoverableError,l=0;l<i.length;l++)v=i[l],p(v.value,{componentStack:v.stack,digest:v.digest});if(mu)throw mu=!1,n=rf,rf=null,n;return(vu&1)!==0&&n.tag!==0&&po(),x=n.pendingLanes,(x&1)!==0?n===sf?Ta++:(Ta=0,sf=n):Ta=0,ms(),null}function po(){if(xs!==null){var n=Vo(vu),i=An.transition,l=Xe;try{if(An.transition=null,Xe=16>n?16:n,xs===null)var p=!1;else{if(n=xs,xs=null,vu=0,(Qe&6)!==0)throw Error(r(331));var v=Qe;for(Qe|=4,Se=n.current;Se!==null;){var x=Se,R=x.child;if((Se.flags&16)!==0){var B=x.deletions;if(B!==null){for(var ee=0;ee<B.length;ee++){var le=B[ee];for(Se=le;Se!==null;){var me=Se;switch(me.tag){case 0:case 11:case 15:Ea(8,me,x)}var ge=me.child;if(ge!==null)ge.return=me,Se=ge;else for(;Se!==null;){me=Se;var pe=me.sibling,_e=me.return;if(ox(me),me===le){Se=null;break}if(pe!==null){pe.return=_e,Se=pe;break}Se=_e}}}var Ee=x.alternate;if(Ee!==null){var Te=Ee.child;if(Te!==null){Ee.child=null;do{var Et=Te.sibling;Te.sibling=null,Te=Et}while(Te!==null)}}Se=x}}if((x.subtreeFlags&2064)!==0&&R!==null)R.return=x,Se=R;else e:for(;Se!==null;){if(x=Se,(x.flags&2048)!==0)switch(x.tag){case 0:case 11:case 15:Ea(9,x,x.return)}var re=x.sibling;if(re!==null){re.return=x.return,Se=re;break e}Se=x.return}}var te=n.current;for(Se=te;Se!==null;){R=Se;var ie=R.child;if((R.subtreeFlags&2064)!==0&&ie!==null)ie.return=R,Se=ie;else e:for(R=te;Se!==null;){if(B=Se,(B.flags&2048)!==0)try{switch(B.tag){case 0:case 11:case 15:fu(9,B)}}catch(Ae){kt(B,B.return,Ae)}if(B===R){Se=null;break e}var ve=B.sibling;if(ve!==null){ve.return=B.return,Se=ve;break e}Se=B.return}}if(Qe=v,ms(),rn&&typeof rn.onPostCommitFiberRoot=="function")try{rn.onPostCommitFiberRoot(ht,n)}catch{}p=!0}return p}finally{Xe=l,An.transition=i}}return!1}function _x(n,i,l){i=uo(l,i),i=Fw(n,i,1),n=vs(n,i,1),i=nn(),n!==null&&(rs(n,1,i),cn(n,i))}function kt(n,i,l){if(n.tag===3)_x(n,n,l);else for(;i!==null;){if(i.tag===3){_x(i,n,l);break}else if(i.tag===1){var p=i.stateNode;if(typeof i.type.getDerivedStateFromError=="function"||typeof p.componentDidCatch=="function"&&(ws===null||!ws.has(p))){n=uo(l,n),n=zw(i,n,1),i=vs(i,n,1),n=nn(),i!==null&&(rs(i,1,n),cn(i,n));break}}i=i.return}}function cA(n,i,l){var p=n.pingCache;p!==null&&p.delete(i),i=nn(),n.pingedLanes|=n.suspendedLanes&l,qt===n&&(Ut&l)===l&&(It===4||It===3&&(Ut&130023424)===Ut&&500>nt()-nf?oi(n,0):tf|=l),cn(n,i)}function kx(n,i){i===0&&((n.mode&1)===0?i=1:(i=$i,$i<<=1,($i&130023424)===0&&($i=4194304)));var l=nn();n=zr(n,i),n!==null&&(rs(n,i,l),cn(n,l))}function dA(n){var i=n.memoizedState,l=0;i!==null&&(l=i.retryLane),kx(n,l)}function fA(n,i){var l=0;switch(n.tag){case 13:var p=n.stateNode,v=n.memoizedState;v!==null&&(l=v.retryLane);break;case 19:p=n.stateNode;break;default:throw Error(r(314))}p!==null&&p.delete(i),kx(n,l)}var Sx;Sx=function(n,i,l){if(n!==null)if(n.memoizedProps!==i.pendingProps||on.current)ln=!0;else{if((n.lanes&l)===0&&(i.flags&128)===0)return ln=!1,JR(n,i,l);ln=(n.flags&131072)!==0}else ln=!1,mt&&(i.flags&1048576)!==0&&rw(i,Yl,i.index);switch(i.lanes=0,i.tag){case 2:var p=i.type;cu(n,i),n=i.pendingProps;var v=to(i,Kt.current);ao(i,l),v=Id(null,i,p,n,v,l);var x=Od();return i.flags|=1,typeof v=="object"&&v!==null&&typeof v.render=="function"&&v.$$typeof===void 0?(i.tag=1,i.memoizedState=null,i.updateQueue=null,an(p)?(x=!0,Gl(i)):x=!1,i.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,Ed(i),v.updater=lu,i.stateNode=v,v._reactInternals=i,Fd(i,p,n,l),i=Wd(null,i,p,!0,x,l)):(i.tag=0,mt&&x&&gd(i),tn(null,i,v,l),i=i.child),i;case 16:p=i.elementType;e:{switch(cu(n,i),n=i.pendingProps,v=p._init,p=v(p._payload),i.type=p,v=i.tag=pA(p),n=Xn(p,n),v){case 0:i=Ud(null,i,p,n,l);break e;case 1:i=Xw(null,i,p,n,l);break e;case 11:i=Hw(null,i,p,n,l);break e;case 14:i=Gw(null,i,p,Xn(p.type,n),l);break e}throw Error(r(306,p,""))}return i;case 0:return p=i.type,v=i.pendingProps,v=i.elementType===p?v:Xn(p,v),Ud(n,i,p,v,l);case 1:return p=i.type,v=i.pendingProps,v=i.elementType===p?v:Xn(p,v),Xw(n,i,p,v,l);case 3:e:{if(Qw(i),n===null)throw Error(r(387));p=i.pendingProps,x=i.memoizedState,v=x.element,fw(n,i),tu(i,p,null,l);var R=i.memoizedState;if(p=R.element,x.isDehydrated)if(x={element:p,isDehydrated:!1,cache:R.cache,pendingSuspenseBoundaries:R.pendingSuspenseBoundaries,transitions:R.transitions},i.updateQueue.baseState=x,i.memoizedState=x,i.flags&256){v=uo(Error(r(423)),i),i=Zw(n,i,p,l,v);break e}else if(p!==v){v=uo(Error(r(424)),i),i=Zw(n,i,p,l,v);break e}else for(yn=fs(i.stateNode.containerInfo.firstChild),vn=i,mt=!0,Yn=null,l=cw(i,null,p,l),i.child=l;l;)l.flags=l.flags&-3|4096,l=l.sibling;else{if(so(),p===v){i=Ur(n,i,l);break e}tn(n,i,p,l)}i=i.child}return i;case 5:return mw(i),n===null&&wd(i),p=i.type,v=i.pendingProps,x=n!==null?n.memoizedProps:null,R=v.children,cd(p,v)?R=null:x!==null&&cd(p,x)&&(i.flags|=32),Yw(n,i),tn(n,i,R,l),i.child;case 6:return n===null&&wd(i),null;case 13:return Jw(n,i,l);case 4:return Cd(i,i.stateNode.containerInfo),p=i.pendingProps,n===null?i.child=io(i,null,p,l):tn(n,i,p,l),i.child;case 11:return p=i.type,v=i.pendingProps,v=i.elementType===p?v:Xn(p,v),Hw(n,i,p,v,l);case 7:return tn(n,i,i.pendingProps,l),i.child;case 8:return tn(n,i,i.pendingProps.children,l),i.child;case 12:return tn(n,i,i.pendingProps.children,l),i.child;case 10:e:{if(p=i.type._context,v=i.pendingProps,x=i.memoizedProps,R=v.value,lt(Zl,p._currentValue),p._currentValue=R,x!==null)if(Vt(x.value,R)){if(x.children===v.children&&!on.current){i=Ur(n,i,l);break e}}else for(x=i.child,x!==null&&(x.return=i);x!==null;){var B=x.dependencies;if(B!==null){R=x.child;for(var ee=B.firstContext;ee!==null;){if(ee.context===p){if(x.tag===1){ee=Br(-1,l&-l),ee.tag=2;var le=x.updateQueue;if(le!==null){le=le.shared;var me=le.pending;me===null?ee.next=ee:(ee.next=me.next,me.next=ee),le.pending=ee}}x.lanes|=l,ee=x.alternate,ee!==null&&(ee.lanes|=l),Sd(x.return,l,i),B.lanes|=l;break}ee=ee.next}}else if(x.tag===10)R=x.type===i.type?null:x.child;else if(x.tag===18){if(R=x.return,R===null)throw Error(r(341));R.lanes|=l,B=R.alternate,B!==null&&(B.lanes|=l),Sd(R,l,i),R=x.sibling}else R=x.child;if(R!==null)R.return=x;else for(R=x;R!==null;){if(R===i){R=null;break}if(x=R.sibling,x!==null){x.return=R.return,R=x;break}R=R.return}x=R}tn(n,i,v.children,l),i=i.child}return i;case 9:return v=i.type,p=i.pendingProps.children,ao(i,l),v=Tn(v),p=p(v),i.flags|=1,tn(n,i,p,l),i.child;case 14:return p=i.type,v=Xn(p,i.pendingProps),v=Xn(p.type,v),Gw(n,i,p,v,l);case 15:return Vw(n,i,i.type,i.pendingProps,l);case 17:return p=i.type,v=i.pendingProps,v=i.elementType===p?v:Xn(p,v),cu(n,i),i.tag=1,an(p)?(n=!0,Gl(i)):n=!1,ao(i,l),qw(i,p,v),Fd(i,p,v,l),Wd(null,i,p,!0,n,l);case 19:return tx(n,i,l);case 22:return Kw(n,i,l)}throw Error(r(156,i.tag))};function Nx(n,i){return Is(n,i)}function hA(n,i,l,p){this.tag=n,this.key=l,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=i,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mn(n,i,l,p){return new hA(n,i,l,p)}function df(n){return n=n.prototype,!(!n||!n.isReactComponent)}function pA(n){if(typeof n=="function")return df(n)?1:0;if(n!=null){if(n=n.$$typeof,n===H)return 11;if(n===X)return 14}return 2}function ks(n,i){var l=n.alternate;return l===null?(l=Mn(n.tag,i,n.key,n.mode),l.elementType=n.elementType,l.type=n.type,l.stateNode=n.stateNode,l.alternate=n,n.alternate=l):(l.pendingProps=i,l.type=n.type,l.flags=0,l.subtreeFlags=0,l.deletions=null),l.flags=n.flags&14680064,l.childLanes=n.childLanes,l.lanes=n.lanes,l.child=n.child,l.memoizedProps=n.memoizedProps,l.memoizedState=n.memoizedState,l.updateQueue=n.updateQueue,i=n.dependencies,l.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext},l.sibling=n.sibling,l.index=n.index,l.ref=n.ref,l}function bu(n,i,l,p,v,x){var R=2;if(p=n,typeof n=="function")df(n)&&(R=1);else if(typeof n=="string")R=5;else e:switch(n){case $:return li(l.children,v,x,i);case W:R=8,v|=8;break;case I:return n=Mn(12,l,i,v|2),n.elementType=I,n.lanes=x,n;case Y:return n=Mn(13,l,i,v),n.elementType=Y,n.lanes=x,n;case j:return n=Mn(19,l,i,v),n.elementType=j,n.lanes=x,n;case ne:return _u(l,v,x,i);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case A:R=10;break e;case D:R=9;break e;case H:R=11;break e;case X:R=14;break e;case z:R=16,p=null;break e}throw Error(r(130,n==null?n:typeof n,""))}return i=Mn(R,l,i,v),i.elementType=n,i.type=p,i.lanes=x,i}function li(n,i,l,p){return n=Mn(7,n,p,i),n.lanes=l,n}function _u(n,i,l,p){return n=Mn(22,n,p,i),n.elementType=ne,n.lanes=l,n.stateNode={isHidden:!1},n}function ff(n,i,l){return n=Mn(6,n,null,i),n.lanes=l,n}function hf(n,i,l){return i=Mn(4,n.children!==null?n.children:[],n.key,i),i.lanes=l,i.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},i}function mA(n,i,l,p,v){this.tag=i,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=qi(0),this.expirationTimes=qi(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qi(0),this.identifierPrefix=p,this.onRecoverableError=v,this.mutableSourceEagerHydrationData=null}function pf(n,i,l,p,v,x,R,B,ee){return n=new mA(n,i,l,B,ee),i===1?(i=1,x===!0&&(i|=8)):i=0,x=Mn(3,null,null,i),n.current=x,x.stateNode=n,x.memoizedState={element:p,isDehydrated:l,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ed(x),n}function gA(n,i,l){var p=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:P,key:p==null?null:""+p,children:n,containerInfo:i,implementation:l}}function Ex(n){if(!n)return ps;n=n._reactInternals;e:{if(Sn(n)!==n||n.tag!==1)throw Error(r(170));var i=n;do{switch(i.tag){case 3:i=i.stateNode.context;break e;case 1:if(an(i.type)){i=i.stateNode.__reactInternalMemoizedMergedChildContext;break e}}i=i.return}while(i!==null);throw Error(r(171))}if(n.tag===1){var l=n.type;if(an(l))return ew(n,l,i)}return i}function Cx(n,i,l,p,v,x,R,B,ee){return n=pf(l,p,!0,n,v,x,R,B,ee),n.context=Ex(null),l=n.current,p=nn(),v=bs(l),x=Br(p,v),x.callback=i??null,vs(l,x,v),n.current.lanes=v,rs(n,v,p),cn(n,p),n}function ku(n,i,l,p){var v=i.current,x=nn(),R=bs(v);return l=Ex(l),i.context===null?i.context=l:i.pendingContext=l,i=Br(x,R),i.payload={element:n},p=p===void 0?null:p,p!==null&&(i.callback=p),n=vs(v,i,R),n!==null&&(Jn(n,v,R,x),eu(n,v,R)),R}function Su(n){if(n=n.current,!n.child)return null;switch(n.child.tag){case 5:return n.child.stateNode;default:return n.child.stateNode}}function jx(n,i){if(n=n.memoizedState,n!==null&&n.dehydrated!==null){var l=n.retryLane;n.retryLane=l!==0&&l<i?l:i}}function mf(n,i){jx(n,i),(n=n.alternate)&&jx(n,i)}function vA(){return null}var Tx=typeof reportError=="function"?reportError:function(n){console.error(n)};function gf(n){this._internalRoot=n}Nu.prototype.render=gf.prototype.render=function(n){var i=this._internalRoot;if(i===null)throw Error(r(409));ku(n,i,null,null)},Nu.prototype.unmount=gf.prototype.unmount=function(){var n=this._internalRoot;if(n!==null){this._internalRoot=null;var i=n.containerInfo;ii(function(){ku(null,n,null,null)}),i[Lr]=null}};function Nu(n){this._internalRoot=n}Nu.prototype.unstable_scheduleHydration=function(n){if(n){var i=Un();n={blockedOn:null,target:n,priority:i};for(var l=0;l<Gn.length&&i!==0&&i<Gn[l].priority;l++);Gn.splice(l,0,n),l===0&&zi(n)}};function vf(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11)}function Eu(n){return!(!n||n.nodeType!==1&&n.nodeType!==9&&n.nodeType!==11&&(n.nodeType!==8||n.nodeValue!==" react-mount-point-unstable "))}function Rx(){}function yA(n,i,l,p,v){if(v){if(typeof p=="function"){var x=p;p=function(){var le=Su(R);x.call(le)}}var R=Cx(i,p,n,0,null,!1,!1,"",Rx);return n._reactRootContainer=R,n[Lr]=R.current,ha(n.nodeType===8?n.parentNode:n),ii(),R}for(;v=n.lastChild;)n.removeChild(v);if(typeof p=="function"){var B=p;p=function(){var le=Su(ee);B.call(le)}}var ee=pf(n,0,!1,null,null,!1,!1,"",Rx);return n._reactRootContainer=ee,n[Lr]=ee.current,ha(n.nodeType===8?n.parentNode:n),ii(function(){ku(i,ee,l,p)}),ee}function Cu(n,i,l,p,v){var x=l._reactRootContainer;if(x){var R=x;if(typeof v=="function"){var B=v;v=function(){var ee=Su(R);B.call(ee)}}ku(i,R,n,v)}else R=yA(l,i,n,v,p);return Su(R)}xl=function(n){switch(n.tag){case 3:var i=n.stateNode;if(i.current.memoizedState.isDehydrated){var l=ts(i.pendingLanes);l!==0&&(ss(i,l|1),cn(i,nt()),(Qe&6)===0&&(ho=nt()+500,ms()))}break;case 13:ii(function(){var p=zr(n,1);if(p!==null){var v=nn();Jn(p,n,1,v)}}),mf(n,1)}},Ar=function(n){if(n.tag===13){var i=zr(n,134217728);if(i!==null){var l=nn();Jn(i,n,134217728,l)}mf(n,134217728)}},Ko=function(n){if(n.tag===13){var i=bs(n),l=zr(n,i);if(l!==null){var p=nn();Jn(l,n,i,p)}mf(n,i)}},Un=function(){return Xe},bl=function(n,i){var l=Xe;try{return Xe=n,i()}finally{Xe=l}},_t=function(n,i,l){switch(i){case"input":if(xe(n,l),i=l.name,l.type==="radio"&&i!=null){for(l=n;l.parentNode;)l=l.parentNode;for(l=l.querySelectorAll("input[name="+JSON.stringify(""+i)+'][type="radio"]'),i=0;i<l.length;i++){var p=l[i];if(p!==n&&p.form===n.form){var v=Wl(p);if(!v)throw Error(r(90));Ue(p),xe(p,v)}}}break;case"textarea":tt(n,l);break;case"select":i=l.value,i!=null&&ut(n,!!l.multiple,i,!1)}},ki=lf,Si=ii;var wA={usingClientEntryPoint:!1,Events:[ga,Ji,Wl,_i,pn,lf]},Ra={findFiberByHostInstance:Qs,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},xA={bundleType:Ra.bundleType,version:Ra.version,rendererPackageName:Ra.rendererPackageName,rendererConfig:Ra.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:T.ReactCurrentDispatcher,findHostInstanceByFiber:function(n){return n=Fn(n),n===null?null:n.stateNode},findFiberByHostInstance:Ra.findFiberByHostInstance||vA,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var ju=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!ju.isDisabled&&ju.supportsFiber)try{ht=ju.inject(xA),rn=ju}catch{}}return dn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=wA,dn.createPortal=function(n,i){var l=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!vf(i))throw Error(r(200));return gA(n,i,null,l)},dn.createRoot=function(n,i){if(!vf(n))throw Error(r(299));var l=!1,p="",v=Tx;return i!=null&&(i.unstable_strictMode===!0&&(l=!0),i.identifierPrefix!==void 0&&(p=i.identifierPrefix),i.onRecoverableError!==void 0&&(v=i.onRecoverableError)),i=pf(n,1,!1,null,null,l,!1,p,v),n[Lr]=i.current,ha(n.nodeType===8?n.parentNode:n),new gf(i)},dn.findDOMNode=function(n){if(n==null)return null;if(n.nodeType===1)return n;var i=n._reactInternals;if(i===void 0)throw typeof n.render=="function"?Error(r(188)):(n=Object.keys(n).join(","),Error(r(268,n)));return n=Fn(i),n=n===null?null:n.stateNode,n},dn.flushSync=function(n){return ii(n)},dn.hydrate=function(n,i,l){if(!Eu(i))throw Error(r(200));return Cu(null,n,i,!0,l)},dn.hydrateRoot=function(n,i,l){if(!vf(n))throw Error(r(405));var p=l!=null&&l.hydratedSources||null,v=!1,x="",R=Tx;if(l!=null&&(l.unstable_strictMode===!0&&(v=!0),l.identifierPrefix!==void 0&&(x=l.identifierPrefix),l.onRecoverableError!==void 0&&(R=l.onRecoverableError)),i=Cx(i,null,n,1,l??null,v,!1,x,R),n[Lr]=i.current,ha(n),p)for(n=0;n<p.length;n++)l=p[n],v=l._getVersion,v=v(l._source),i.mutableSourceEagerHydrationData==null?i.mutableSourceEagerHydrationData=[l,v]:i.mutableSourceEagerHydrationData.push(l,v);return new Nu(i)},dn.render=function(n,i,l){if(!Eu(i))throw Error(r(200));return Cu(null,n,i,!1,l)},dn.unmountComponentAtNode=function(n){if(!Eu(n))throw Error(r(40));return n._reactRootContainer?(ii(function(){Cu(null,null,n,!1,function(){n._reactRootContainer=null,n[Lr]=null})}),!0):!1},dn.unstable_batchedUpdates=lf,dn.unstable_renderSubtreeIntoContainer=function(n,i,l,p){if(!Eu(l))throw Error(r(200));if(n==null||n._reactInternals===void 0)throw Error(r(38));return Cu(n,i,l,!1,p)},dn.version="18.3.1-next-f1338f8080-20240426",dn}var qx;function fC(){if(qx)return xf.exports;qx=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),xf.exports=CA(),xf.exports}var Dx;function jA(){if(Dx)return Ru;Dx=1;var e=fC();return Ru.createRoot=e.createRoot,Ru.hydrateRoot=e.hydrateRoot,Ru}var TA=jA(),E=il();const ce=Dy(E);function Wt(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let r=0,s;r<e.length;r++)(s=Wt(e[r]))!==""&&(t+=(t&&" ")+s);else for(let r in e)e[r]&&(t+=(t&&" ")+r);return t}var kf={exports:{}},Sf={},Nf={exports:{}},Ef={};/**
|
|
41
|
+
* @license React
|
|
42
|
+
* use-sync-external-store-shim.production.js
|
|
43
|
+
*
|
|
44
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
45
|
+
*
|
|
46
|
+
* This source code is licensed under the MIT license found in the
|
|
47
|
+
* LICENSE file in the root directory of this source tree.
|
|
48
|
+
*/var Fx;function RA(){if(Fx)return Ef;Fx=1;var e=il();function t(g,y){return g===y&&(g!==0||1/g===1/y)||g!==g&&y!==y}var r=typeof Object.is=="function"?Object.is:t,s=e.useState,o=e.useEffect,a=e.useLayoutEffect,u=e.useDebugValue;function c(g,y){var w=y(),N=s({inst:{value:w,getSnapshot:y}}),b=N[0].inst,_=N[1];return a(function(){b.value=w,b.getSnapshot=y,h(b)&&_({inst:b})},[g,w,y]),o(function(){return h(b)&&_({inst:b}),g(function(){h(b)&&_({inst:b})})},[g]),u(w),w}function h(g){var y=g.getSnapshot;g=g.value;try{var w=y();return!r(g,w)}catch{return!0}}function m(g,y){return y()}var f=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?m:c;return Ef.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:f,Ef}var zx;function AA(){return zx||(zx=1,Nf.exports=RA()),Nf.exports}/**
|
|
49
|
+
* @license React
|
|
50
|
+
* use-sync-external-store-shim/with-selector.production.js
|
|
51
|
+
*
|
|
52
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
53
|
+
*
|
|
54
|
+
* This source code is licensed under the MIT license found in the
|
|
55
|
+
* LICENSE file in the root directory of this source tree.
|
|
56
|
+
*/var Bx;function MA(){if(Bx)return Sf;Bx=1;var e=il(),t=AA();function r(m,f){return m===f&&(m!==0||1/m===1/f)||m!==m&&f!==f}var s=typeof Object.is=="function"?Object.is:r,o=t.useSyncExternalStore,a=e.useRef,u=e.useEffect,c=e.useMemo,h=e.useDebugValue;return Sf.useSyncExternalStoreWithSelector=function(m,f,g,y,w){var N=a(null);if(N.current===null){var b={hasValue:!1,value:null};N.current=b}else b=N.current;N=c(function(){function k(P){if(!S){if(S=!0,C=P,P=y(P),w!==void 0&&b.hasValue){var $=b.value;if(w($,P))return T=$}return T=P}if($=T,s(C,P))return $;var W=y(P);return w!==void 0&&w($,W)?(C=P,$):(C=P,T=W)}var S=!1,C,T,M=g===void 0?null:g;return[function(){return k(f())},M===null?void 0:function(){return k(M())}]},[f,g,y,w]);var _=o(m,N[0],N[1]);return u(function(){b.hasValue=!0,b.value=_},[_]),h(_),_},Sf}var Ux;function IA(){return Ux||(Ux=1,kf.exports=MA()),kf.exports}var OA=IA();const PA=Dy(OA),$A={},Wx=e=>{let t;const r=new Set,s=(f,g)=>{const y=typeof f=="function"?f(t):f;if(!Object.is(y,t)){const w=t;t=g??(typeof y!="object"||y===null)?y:Object.assign({},t,y),r.forEach(N=>N(t,w))}},o=()=>t,h={setState:s,getState:o,getInitialState:()=>m,subscribe:f=>(r.add(f),()=>r.delete(f)),destroy:()=>{($A?"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()}},m=t=e(s,o,h);return h},LA=e=>e?Wx(e):Wx,{useDebugValue:qA}=ce,{useSyncExternalStoreWithSelector:DA}=PA,FA=e=>e;function hC(e,t=FA,r){const s=DA(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return qA(s),s}const Hx=(e,t)=>{const r=LA(e),s=(o,a=t)=>hC(r,o,a);return Object.assign(s,r),s},zA=(e,t)=>e?Hx(e,t):Hx;function Pt(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[s,o]of e)if(!Object.is(o,t.get(s)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const s of e)if(!t.has(s))return!1;return!0}const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(const s of r)if(!Object.prototype.hasOwnProperty.call(t,s)||!Object.is(e[s],t[s]))return!1;return!0}var BA={value:()=>{}};function vc(){for(var e=0,t=arguments.length,r={},s;e<t;++e){if(!(s=arguments[e]+"")||s in r||/[\s.]/.test(s))throw new Error("illegal type: "+s);r[s]=[]}return new Xu(r)}function Xu(e){this._=e}function UA(e,t){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&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:s}})}Xu.prototype=vc.prototype={constructor:Xu,on:function(e,t){var r=this._,s=UA(e+"",r),o,a=-1,u=s.length;if(arguments.length<2){for(;++a<u;)if((o=(e=s[a]).type)&&(o=WA(r[o],e.name)))return o;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<u;)if(o=(e=s[a]).type)r[o]=Gx(r[o],e.name,t);else if(t==null)for(o in r)r[o]=Gx(r[o],e.name,null);return this},copy:function(){var e={},t=this._;for(var r in t)e[r]=t[r].slice();return new Xu(e)},call:function(e,t){if((o=arguments.length-2)>0)for(var r=new Array(o),s=0,o,a;s<o;++s)r[s]=arguments[s+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],s=0,o=a.length;s<o;++s)a[s].value.apply(t,r)},apply:function(e,t,r){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var s=this._[e],o=0,a=s.length;o<a;++o)s[o].value.apply(t,r)}};function WA(e,t){for(var r=0,s=e.length,o;r<s;++r)if((o=e[r]).name===t)return o.value}function Gx(e,t,r){for(var s=0,o=e.length;s<o;++s)if(e[s].name===t){e[s]=BA,e=e.slice(0,s).concat(e.slice(s+1));break}return r!=null&&e.push({name:t,value:r}),e}var ly="http://www.w3.org/1999/xhtml";const Vx={svg:"http://www.w3.org/2000/svg",xhtml:ly,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function yc(e){var t=e+="",r=t.indexOf(":");return r>=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),Vx.hasOwnProperty(t)?{space:Vx[t],local:e}:e}function HA(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===ly&&t.documentElement.namespaceURI===ly?t.createElement(e):t.createElementNS(r,e)}}function GA(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function pC(e){var t=yc(e);return(t.local?GA:HA)(t)}function VA(){}function Fy(e){return e==null?VA:function(){return this.querySelector(e)}}function KA(e){typeof e!="function"&&(e=Fy(e));for(var t=this._groups,r=t.length,s=new Array(r),o=0;o<r;++o)for(var a=t[o],u=a.length,c=s[o]=new Array(u),h,m,f=0;f<u;++f)(h=a[f])&&(m=e.call(h,h.__data__,f,a))&&("__data__"in h&&(m.__data__=h.__data__),c[f]=m);return new bn(s,this._parents)}function YA(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function XA(){return[]}function mC(e){return e==null?XA:function(){return this.querySelectorAll(e)}}function QA(e){return function(){return YA(e.apply(this,arguments))}}function ZA(e){typeof e=="function"?e=QA(e):e=mC(e);for(var t=this._groups,r=t.length,s=[],o=[],a=0;a<r;++a)for(var u=t[a],c=u.length,h,m=0;m<c;++m)(h=u[m])&&(s.push(e.call(h,h.__data__,m,u)),o.push(h));return new bn(s,o)}function gC(e){return function(){return this.matches(e)}}function vC(e){return function(t){return t.matches(e)}}var JA=Array.prototype.find;function e2(e){return function(){return JA.call(this.children,e)}}function t2(){return this.firstElementChild}function n2(e){return this.select(e==null?t2:e2(typeof e=="function"?e:vC(e)))}var r2=Array.prototype.filter;function s2(){return Array.from(this.children)}function i2(e){return function(){return r2.call(this.children,e)}}function o2(e){return this.selectAll(e==null?s2:i2(typeof e=="function"?e:vC(e)))}function a2(e){typeof e!="function"&&(e=gC(e));for(var t=this._groups,r=t.length,s=new Array(r),o=0;o<r;++o)for(var a=t[o],u=a.length,c=s[o]=[],h,m=0;m<u;++m)(h=a[m])&&e.call(h,h.__data__,m,a)&&c.push(h);return new bn(s,this._parents)}function yC(e){return new Array(e.length)}function l2(){return new bn(this._enter||this._groups.map(yC),this._parents)}function tc(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}tc.prototype={constructor:tc,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function u2(e){return function(){return e}}function c2(e,t,r,s,o,a){for(var u=0,c,h=t.length,m=a.length;u<m;++u)(c=t[u])?(c.__data__=a[u],s[u]=c):r[u]=new tc(e,a[u]);for(;u<h;++u)(c=t[u])&&(o[u]=c)}function d2(e,t,r,s,o,a,u){var c,h,m=new Map,f=t.length,g=a.length,y=new Array(f),w;for(c=0;c<f;++c)(h=t[c])&&(y[c]=w=u.call(h,h.__data__,c,t)+"",m.has(w)?o[c]=h:m.set(w,h));for(c=0;c<g;++c)w=u.call(e,a[c],c,a)+"",(h=m.get(w))?(s[c]=h,h.__data__=a[c],m.delete(w)):r[c]=new tc(e,a[c]);for(c=0;c<f;++c)(h=t[c])&&m.get(y[c])===h&&(o[c]=h)}function f2(e){return e.__data__}function h2(e,t){if(!arguments.length)return Array.from(this,f2);var r=t?d2:c2,s=this._parents,o=this._groups;typeof e!="function"&&(e=u2(e));for(var a=o.length,u=new Array(a),c=new Array(a),h=new Array(a),m=0;m<a;++m){var f=s[m],g=o[m],y=g.length,w=p2(e.call(f,f&&f.__data__,m,s)),N=w.length,b=c[m]=new Array(N),_=u[m]=new Array(N),k=h[m]=new Array(y);r(f,g,b,_,k,w,t);for(var S=0,C=0,T,M;S<N;++S)if(T=b[S]){for(S>=C&&(C=S+1);!(M=_[C])&&++C<N;);T._next=M||null}}return u=new bn(u,s),u._enter=c,u._exit=h,u}function p2(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function m2(){return new bn(this._exit||this._groups.map(yC),this._parents)}function g2(e,t,r){var s=this.enter(),o=this,a=this.exit();return typeof e=="function"?(s=e(s),s&&(s=s.selection())):s=s.append(e+""),t!=null&&(o=t(o),o&&(o=o.selection())),r==null?a.remove():r(a),s&&o?s.merge(o).order():o}function v2(e){for(var t=e.selection?e.selection():e,r=this._groups,s=t._groups,o=r.length,a=s.length,u=Math.min(o,a),c=new Array(o),h=0;h<u;++h)for(var m=r[h],f=s[h],g=m.length,y=c[h]=new Array(g),w,N=0;N<g;++N)(w=m[N]||f[N])&&(y[N]=w);for(;h<o;++h)c[h]=r[h];return new bn(c,this._parents)}function y2(){for(var e=this._groups,t=-1,r=e.length;++t<r;)for(var s=e[t],o=s.length-1,a=s[o],u;--o>=0;)(u=s[o])&&(a&&u.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(u,a),a=u);return this}function w2(e){e||(e=x2);function t(g,y){return g&&y?e(g.__data__,y.__data__):!g-!y}for(var r=this._groups,s=r.length,o=new Array(s),a=0;a<s;++a){for(var u=r[a],c=u.length,h=o[a]=new Array(c),m,f=0;f<c;++f)(m=u[f])&&(h[f]=m);h.sort(t)}return new bn(o,this._parents).order()}function x2(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function b2(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function _2(){return Array.from(this)}function k2(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var s=e[t],o=0,a=s.length;o<a;++o){var u=s[o];if(u)return u}return null}function S2(){let e=0;for(const t of this)++e;return e}function N2(){return!this.node()}function E2(e){for(var t=this._groups,r=0,s=t.length;r<s;++r)for(var o=t[r],a=0,u=o.length,c;a<u;++a)(c=o[a])&&e.call(c,c.__data__,a,o);return this}function C2(e){return function(){this.removeAttribute(e)}}function j2(e){return function(){this.removeAttributeNS(e.space,e.local)}}function T2(e,t){return function(){this.setAttribute(e,t)}}function R2(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function A2(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttribute(e):this.setAttribute(e,r)}}function M2(e,t){return function(){var r=t.apply(this,arguments);r==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,r)}}function I2(e,t){var r=yc(e);if(arguments.length<2){var s=this.node();return r.local?s.getAttributeNS(r.space,r.local):s.getAttribute(r)}return this.each((t==null?r.local?j2:C2:typeof t=="function"?r.local?M2:A2:r.local?R2:T2)(r,t))}function wC(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function O2(e){return function(){this.style.removeProperty(e)}}function P2(e,t,r){return function(){this.style.setProperty(e,t,r)}}function $2(e,t,r){return function(){var s=t.apply(this,arguments);s==null?this.style.removeProperty(e):this.style.setProperty(e,s,r)}}function L2(e,t,r){return arguments.length>1?this.each((t==null?O2:typeof t=="function"?$2:P2)(e,t,r??"")):Ro(this.node(),e)}function Ro(e,t){return e.style.getPropertyValue(t)||wC(e).getComputedStyle(e,null).getPropertyValue(t)}function q2(e){return function(){delete this[e]}}function D2(e,t){return function(){this[e]=t}}function F2(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function z2(e,t){return arguments.length>1?this.each((t==null?q2:typeof t=="function"?F2:D2)(e,t)):this.node()[e]}function xC(e){return e.trim().split(/^|\s+/)}function zy(e){return e.classList||new bC(e)}function bC(e){this._node=e,this._names=xC(e.getAttribute("class")||"")}bC.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function _C(e,t){for(var r=zy(e),s=-1,o=t.length;++s<o;)r.add(t[s])}function kC(e,t){for(var r=zy(e),s=-1,o=t.length;++s<o;)r.remove(t[s])}function B2(e){return function(){_C(this,e)}}function U2(e){return function(){kC(this,e)}}function W2(e,t){return function(){(t.apply(this,arguments)?_C:kC)(this,e)}}function H2(e,t){var r=xC(e+"");if(arguments.length<2){for(var s=zy(this.node()),o=-1,a=r.length;++o<a;)if(!s.contains(r[o]))return!1;return!0}return this.each((typeof t=="function"?W2:t?B2:U2)(r,t))}function G2(){this.textContent=""}function V2(e){return function(){this.textContent=e}}function K2(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function Y2(e){return arguments.length?this.each(e==null?G2:(typeof e=="function"?K2:V2)(e)):this.node().textContent}function X2(){this.innerHTML=""}function Q2(e){return function(){this.innerHTML=e}}function Z2(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function J2(e){return arguments.length?this.each(e==null?X2:(typeof e=="function"?Z2:Q2)(e)):this.node().innerHTML}function eM(){this.nextSibling&&this.parentNode.appendChild(this)}function tM(){return this.each(eM)}function nM(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function rM(){return this.each(nM)}function sM(e){var t=typeof e=="function"?e:pC(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function iM(){return null}function oM(e,t){var r=typeof e=="function"?e:pC(e),s=t==null?iM:typeof t=="function"?t:Fy(t);return this.select(function(){return this.insertBefore(r.apply(this,arguments),s.apply(this,arguments)||null)})}function aM(){var e=this.parentNode;e&&e.removeChild(this)}function lM(){return this.each(aM)}function uM(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function cM(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function dM(e){return this.select(e?cM:uM)}function fM(e){return arguments.length?this.property("__data__",e):this.node().__data__}function hM(e){return function(t){e.call(this,t,this.__data__)}}function pM(e){return e.trim().split(/^|\s+/).map(function(t){var r="",s=t.indexOf(".");return s>=0&&(r=t.slice(s+1),t=t.slice(0,s)),{type:t,name:r}})}function mM(e){return function(){var t=this.__on;if(t){for(var r=0,s=-1,o=t.length,a;r<o;++r)a=t[r],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++s]=a;++s?t.length=s:delete this.__on}}}function gM(e,t,r){return function(){var s=this.__on,o,a=hM(t);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=a,o.options=r),o.value=t;return}}this.addEventListener(e.type,a,r),o={type:e.type,name:e.name,value:t,listener:a,options:r},s?s.push(o):this.__on=[o]}}function vM(e,t,r){var s=pM(e+""),o,a=s.length,u;if(arguments.length<2){var c=this.node().__on;if(c){for(var h=0,m=c.length,f;h<m;++h)for(o=0,f=c[h];o<a;++o)if((u=s[o]).type===f.type&&u.name===f.name)return f.value}return}for(c=t?gM:mM,o=0;o<a;++o)this.each(c(s[o],t,r));return this}function SC(e,t,r){var s=wC(e),o=s.CustomEvent;typeof o=="function"?o=new o(t,r):(o=s.document.createEvent("Event"),r?(o.initEvent(t,r.bubbles,r.cancelable),o.detail=r.detail):o.initEvent(t,!1,!1)),e.dispatchEvent(o)}function yM(e,t){return function(){return SC(this,e,t)}}function wM(e,t){return function(){return SC(this,e,t.apply(this,arguments))}}function xM(e,t){return this.each((typeof t=="function"?wM:yM)(e,t))}function*bM(){for(var e=this._groups,t=0,r=e.length;t<r;++t)for(var s=e[t],o=0,a=s.length,u;o<a;++o)(u=s[o])&&(yield u)}var NC=[null];function bn(e,t){this._groups=e,this._parents=t}function ol(){return new bn([[document.documentElement]],NC)}function _M(){return this}bn.prototype=ol.prototype={constructor:bn,select:KA,selectAll:ZA,selectChild:n2,selectChildren:o2,filter:a2,data:h2,enter:l2,exit:m2,join:g2,merge:v2,selection:_M,order:y2,sort:w2,call:b2,nodes:_2,node:k2,size:S2,empty:N2,each:E2,attr:I2,style:L2,property:z2,classed:H2,text:Y2,html:J2,raise:tM,lower:rM,append:sM,insert:oM,remove:lM,clone:dM,datum:fM,on:vM,dispatch:xM,[Symbol.iterator]:bM};function On(e){return typeof e=="string"?new bn([[document.querySelector(e)]],[document.documentElement]):new bn([[e]],NC)}function kM(e){let t;for(;t=e.sourceEvent;)e=t;return e}function tr(e,t){if(e=kM(e),t===void 0&&(t=e.currentTarget),t){var r=t.ownerSVGElement||t;if(r.createSVGPoint){var s=r.createSVGPoint();return s.x=e.clientX,s.y=e.clientY,s=s.matrixTransform(t.getScreenCTM().inverse()),[s.x,s.y]}if(t.getBoundingClientRect){var o=t.getBoundingClientRect();return[e.clientX-o.left-t.clientLeft,e.clientY-o.top-t.clientTop]}}return[e.pageX,e.pageY]}const SM={passive:!1},Ga={capture:!0,passive:!1};function Cf(e){e.stopImmediatePropagation()}function No(e){e.preventDefault(),e.stopImmediatePropagation()}function EC(e){var t=e.document.documentElement,r=On(e).on("dragstart.drag",No,Ga);"onselectstart"in t?r.on("selectstart.drag",No,Ga):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function CC(e,t){var r=e.document.documentElement,s=On(e).on("dragstart.drag",null);t&&(s.on("click.drag",No,Ga),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 Au=e=>()=>e;function uy(e,{sourceEvent:t,subject:r,target:s,identifier:o,active:a,x:u,y:c,dx:h,dy:m,dispatch:f}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,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:a,enumerable:!0,configurable:!0},x:{value:u,enumerable:!0,configurable:!0},y:{value:c,enumerable:!0,configurable:!0},dx:{value:h,enumerable:!0,configurable:!0},dy:{value:m,enumerable:!0,configurable:!0},_:{value:f}})}uy.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function NM(e){return!e.ctrlKey&&!e.button}function EM(){return this.parentNode}function CM(e,t){return t??{x:e.x,y:e.y}}function jM(){return navigator.maxTouchPoints||"ontouchstart"in this}function TM(){var e=NM,t=EM,r=CM,s=jM,o={},a=vc("start","drag","end"),u=0,c,h,m,f,g=0;function y(T){T.on("mousedown.drag",w).filter(s).on("touchstart.drag",_).on("touchmove.drag",k,SM).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function w(T,M){if(!(f||!e.call(this,T,M))){var P=C(this,t.call(this,T,M),T,M,"mouse");P&&(On(T.view).on("mousemove.drag",N,Ga).on("mouseup.drag",b,Ga),EC(T.view),Cf(T),m=!1,c=T.clientX,h=T.clientY,P("start",T))}}function N(T){if(No(T),!m){var M=T.clientX-c,P=T.clientY-h;m=M*M+P*P>g}o.mouse("drag",T)}function b(T){On(T.view).on("mousemove.drag mouseup.drag",null),CC(T.view,m),No(T),o.mouse("end",T)}function _(T,M){if(e.call(this,T,M)){var P=T.changedTouches,$=t.call(this,T,M),W=P.length,I,A;for(I=0;I<W;++I)(A=C(this,$,T,M,P[I].identifier,P[I]))&&(Cf(T),A("start",T,P[I]))}}function k(T){var M=T.changedTouches,P=M.length,$,W;for($=0;$<P;++$)(W=o[M[$].identifier])&&(No(T),W("drag",T,M[$]))}function S(T){var M=T.changedTouches,P=M.length,$,W;for(f&&clearTimeout(f),f=setTimeout(function(){f=null},500),$=0;$<P;++$)(W=o[M[$].identifier])&&(Cf(T),W("end",T,M[$]))}function C(T,M,P,$,W,I){var A=a.copy(),D=tr(I||P,M),H,Y,j;if((j=r.call(T,new uy("beforestart",{sourceEvent:P,target:y,identifier:W,active:u,x:D[0],y:D[1],dx:0,dy:0,dispatch:A}),$))!=null)return H=j.x-D[0]||0,Y=j.y-D[1]||0,function X(z,ne,J){var U=D,Q;switch(z){case"start":o[W]=X,Q=u++;break;case"end":delete o[W],--u;case"drag":D=tr(J||ne,M),Q=u;break}A.call(z,T,new uy(z,{sourceEvent:ne,subject:j,target:y,identifier:W,active:Q,x:D[0]+H,y:D[1]+Y,dx:D[0]-U[0],dy:D[1]-U[1],dispatch:A}),$)}}return y.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Au(!!T),y):e},y.container=function(T){return arguments.length?(t=typeof T=="function"?T:Au(T),y):t},y.subject=function(T){return arguments.length?(r=typeof T=="function"?T:Au(T),y):r},y.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Au(!!T),y):s},y.on=function(){var T=a.on.apply(a,arguments);return T===a?y:T},y.clickDistance=function(T){return arguments.length?(g=(T=+T)*T,y):Math.sqrt(g)},y}function By(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function jC(e,t){var r=Object.create(e.prototype);for(var s in t)r[s]=t[s];return r}function al(){}var Va=.7,nc=1/Va,Eo="\\s*([+-]?\\d+)\\s*",Ka="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",kr="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",RM=/^#([0-9a-f]{3,8})$/,AM=new RegExp(`^rgb\\(${Eo},${Eo},${Eo}\\)$`),MM=new RegExp(`^rgb\\(${kr},${kr},${kr}\\)$`),IM=new RegExp(`^rgba\\(${Eo},${Eo},${Eo},${Ka}\\)$`),OM=new RegExp(`^rgba\\(${kr},${kr},${kr},${Ka}\\)$`),PM=new RegExp(`^hsl\\(${Ka},${kr},${kr}\\)$`),$M=new RegExp(`^hsla\\(${Ka},${kr},${kr},${Ka}\\)$`),Kx={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};By(al,Ya,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Yx,formatHex:Yx,formatHex8:LM,formatHsl:qM,formatRgb:Xx,toString:Xx});function Yx(){return this.rgb().formatHex()}function LM(){return this.rgb().formatHex8()}function qM(){return TC(this).formatHsl()}function Xx(){return this.rgb().formatRgb()}function Ya(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=RM.exec(e))?(r=t[1].length,t=parseInt(t[1],16),r===6?Qx(t):r===3?new fn(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Mu(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Mu(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=AM.exec(e))?new fn(t[1],t[2],t[3],1):(t=MM.exec(e))?new fn(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=IM.exec(e))?Mu(t[1],t[2],t[3],t[4]):(t=OM.exec(e))?Mu(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=PM.exec(e))?e1(t[1],t[2]/100,t[3]/100,1):(t=$M.exec(e))?e1(t[1],t[2]/100,t[3]/100,t[4]):Kx.hasOwnProperty(e)?Qx(Kx[e]):e==="transparent"?new fn(NaN,NaN,NaN,0):null}function Qx(e){return new fn(e>>16&255,e>>8&255,e&255,1)}function Mu(e,t,r,s){return s<=0&&(e=t=r=NaN),new fn(e,t,r,s)}function DM(e){return e instanceof al||(e=Ya(e)),e?(e=e.rgb(),new fn(e.r,e.g,e.b,e.opacity)):new fn}function cy(e,t,r,s){return arguments.length===1?DM(e):new fn(e,t,r,s??1)}function fn(e,t,r,s){this.r=+e,this.g=+t,this.b=+r,this.opacity=+s}By(fn,cy,jC(al,{brighter(e){return e=e==null?nc:Math.pow(nc,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Va:Math.pow(Va,e),new fn(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new fn(hi(this.r),hi(this.g),hi(this.b),rc(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:Zx,formatHex:Zx,formatHex8:FM,formatRgb:Jx,toString:Jx}));function Zx(){return`#${di(this.r)}${di(this.g)}${di(this.b)}`}function FM(){return`#${di(this.r)}${di(this.g)}${di(this.b)}${di((isNaN(this.opacity)?1:this.opacity)*255)}`}function Jx(){const e=rc(this.opacity);return`${e===1?"rgb(":"rgba("}${hi(this.r)}, ${hi(this.g)}, ${hi(this.b)}${e===1?")":`, ${e})`}`}function rc(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function hi(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function di(e){return e=hi(e),(e<16?"0":"")+e.toString(16)}function e1(e,t,r,s){return s<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new nr(e,t,r,s)}function TC(e){if(e instanceof nr)return new nr(e.h,e.s,e.l,e.opacity);if(e instanceof al||(e=Ya(e)),!e)return new nr;if(e instanceof nr)return e;e=e.rgb();var t=e.r/255,r=e.g/255,s=e.b/255,o=Math.min(t,r,s),a=Math.max(t,r,s),u=NaN,c=a-o,h=(a+o)/2;return c?(t===a?u=(r-s)/c+(r<s)*6:r===a?u=(s-t)/c+2:u=(t-r)/c+4,c/=h<.5?a+o:2-a-o,u*=60):c=h>0&&h<1?0:u,new nr(u,c,h,e.opacity)}function zM(e,t,r,s){return arguments.length===1?TC(e):new nr(e,t,r,s??1)}function nr(e,t,r,s){this.h=+e,this.s=+t,this.l=+r,this.opacity=+s}By(nr,zM,jC(al,{brighter(e){return e=e==null?nc:Math.pow(nc,e),new nr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Va:Math.pow(Va,e),new nr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,s=r+(r<.5?r:1-r)*t,o=2*r-s;return new fn(jf(e>=240?e-240:e+120,o,s),jf(e,o,s),jf(e<120?e+240:e-120,o,s),this.opacity)},clamp(){return new nr(t1(this.h),Iu(this.s),Iu(this.l),rc(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=rc(this.opacity);return`${e===1?"hsl(":"hsla("}${t1(this.h)}, ${Iu(this.s)*100}%, ${Iu(this.l)*100}%${e===1?")":`, ${e})`}`}}));function t1(e){return e=(e||0)%360,e<0?e+360:e}function Iu(e){return Math.max(0,Math.min(1,e||0))}function jf(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const RC=e=>()=>e;function BM(e,t){return function(r){return e+r*t}}function UM(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(s){return Math.pow(e+s*t,r)}}function WM(e){return(e=+e)==1?AC:function(t,r){return r-t?UM(t,r,e):RC(isNaN(t)?r:t)}}function AC(e,t){var r=t-e;return r?BM(e,r):RC(isNaN(e)?t:e)}const n1=(function e(t){var r=WM(t);function s(o,a){var u=r((o=cy(o)).r,(a=cy(a)).r),c=r(o.g,a.g),h=r(o.b,a.b),m=AC(o.opacity,a.opacity);return function(f){return o.r=u(f),o.g=c(f),o.b=h(f),o.opacity=m(f),o+""}}return s.gamma=e,s})(1);function Es(e,t){return e=+e,t=+t,function(r){return e*(1-r)+t*r}}var dy=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Tf=new RegExp(dy.source,"g");function HM(e){return function(){return e}}function GM(e){return function(t){return e(t)+""}}function VM(e,t){var r=dy.lastIndex=Tf.lastIndex=0,s,o,a,u=-1,c=[],h=[];for(e=e+"",t=t+"";(s=dy.exec(e))&&(o=Tf.exec(t));)(a=o.index)>r&&(a=t.slice(r,a),c[u]?c[u]+=a:c[++u]=a),(s=s[0])===(o=o[0])?c[u]?c[u]+=o:c[++u]=o:(c[++u]=null,h.push({i:u,x:Es(s,o)})),r=Tf.lastIndex;return r<t.length&&(a=t.slice(r),c[u]?c[u]+=a:c[++u]=a),c.length<2?h[0]?GM(h[0].x):HM(t):(t=h.length,function(m){for(var f=0,g;f<t;++f)c[(g=h[f]).i]=g.x(m);return c.join("")})}var r1=180/Math.PI,fy={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function MC(e,t,r,s,o,a){var u,c,h;return(u=Math.sqrt(e*e+t*t))&&(e/=u,t/=u),(h=e*r+t*s)&&(r-=e*h,s-=t*h),(c=Math.sqrt(r*r+s*s))&&(r/=c,s/=c,h/=c),e*s<t*r&&(e=-e,t=-t,h=-h,u=-u),{translateX:o,translateY:a,rotate:Math.atan2(t,e)*r1,skewX:Math.atan(h)*r1,scaleX:u,scaleY:c}}var Ou;function KM(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?fy:MC(t.a,t.b,t.c,t.d,t.e,t.f)}function YM(e){return e==null||(Ou||(Ou=document.createElementNS("http://www.w3.org/2000/svg","g")),Ou.setAttribute("transform",e),!(e=Ou.transform.baseVal.consolidate()))?fy:(e=e.matrix,MC(e.a,e.b,e.c,e.d,e.e,e.f))}function IC(e,t,r,s){function o(m){return m.length?m.pop()+" ":""}function a(m,f,g,y,w,N){if(m!==g||f!==y){var b=w.push("translate(",null,t,null,r);N.push({i:b-4,x:Es(m,g)},{i:b-2,x:Es(f,y)})}else(g||y)&&w.push("translate("+g+t+y+r)}function u(m,f,g,y){m!==f?(m-f>180?f+=360:f-m>180&&(m+=360),y.push({i:g.push(o(g)+"rotate(",null,s)-2,x:Es(m,f)})):f&&g.push(o(g)+"rotate("+f+s)}function c(m,f,g,y){m!==f?y.push({i:g.push(o(g)+"skewX(",null,s)-2,x:Es(m,f)}):f&&g.push(o(g)+"skewX("+f+s)}function h(m,f,g,y,w,N){if(m!==g||f!==y){var b=w.push(o(w)+"scale(",null,",",null,")");N.push({i:b-4,x:Es(m,g)},{i:b-2,x:Es(f,y)})}else(g!==1||y!==1)&&w.push(o(w)+"scale("+g+","+y+")")}return function(m,f){var g=[],y=[];return m=e(m),f=e(f),a(m.translateX,m.translateY,f.translateX,f.translateY,g,y),u(m.rotate,f.rotate,g,y),c(m.skewX,f.skewX,g,y),h(m.scaleX,m.scaleY,f.scaleX,f.scaleY,g,y),m=f=null,function(w){for(var N=-1,b=y.length,_;++N<b;)g[(_=y[N]).i]=_.x(w);return g.join("")}}}var XM=IC(KM,"px, ","px)","deg)"),QM=IC(YM,", ",")",")"),ZM=1e-12;function s1(e){return((e=Math.exp(e))+1/e)/2}function JM(e){return((e=Math.exp(e))-1/e)/2}function eI(e){return((e=Math.exp(2*e))-1)/(e+1)}const tI=(function e(t,r,s){function o(a,u){var c=a[0],h=a[1],m=a[2],f=u[0],g=u[1],y=u[2],w=f-c,N=g-h,b=w*w+N*N,_,k;if(b<ZM)k=Math.log(y/m)/t,_=function($){return[c+$*w,h+$*N,m*Math.exp(t*$*k)]};else{var S=Math.sqrt(b),C=(y*y-m*m+s*b)/(2*m*r*S),T=(y*y-m*m-s*b)/(2*y*r*S),M=Math.log(Math.sqrt(C*C+1)-C),P=Math.log(Math.sqrt(T*T+1)-T);k=(P-M)/t,_=function($){var W=$*k,I=s1(M),A=m/(r*S)*(I*eI(t*W+M)-JM(M));return[c+A*w,h+A*N,m*I/s1(t*W+M)]}}return _.duration=k*1e3*t/Math.SQRT2,_}return o.rho=function(a){var u=Math.max(.001,+a),c=u*u,h=c*c;return e(u,c,h)},o})(Math.SQRT2,2,4);var Ao=0,Fa=0,Ma=0,OC=1e3,sc,za,ic=0,mi=0,wc=0,Xa=typeof performance=="object"&&performance.now?performance:Date,PC=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Uy(){return mi||(PC(nI),mi=Xa.now()+wc)}function nI(){mi=0}function oc(){this._call=this._time=this._next=null}oc.prototype=$C.prototype={constructor:oc,restart:function(e,t,r){if(typeof e!="function")throw new TypeError("callback is not a function");r=(r==null?Uy():+r)+(t==null?0:+t),!this._next&&za!==this&&(za?za._next=this:sc=this,za=this),this._call=e,this._time=r,hy()},stop:function(){this._call&&(this._call=null,this._time=1/0,hy())}};function $C(e,t,r){var s=new oc;return s.restart(e,t,r),s}function rI(){Uy(),++Ao;for(var e=sc,t;e;)(t=mi-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Ao}function i1(){mi=(ic=Xa.now())+wc,Ao=Fa=0;try{rI()}finally{Ao=0,iI(),mi=0}}function sI(){var e=Xa.now(),t=e-ic;t>OC&&(wc-=t,ic=e)}function iI(){for(var e,t=sc,r,s=1/0;t;)t._call?(s>t._time&&(s=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:sc=r);za=e,hy(s)}function hy(e){if(!Ao){Fa&&(Fa=clearTimeout(Fa));var t=e-mi;t>24?(e<1/0&&(Fa=setTimeout(i1,e-Xa.now()-wc)),Ma&&(Ma=clearInterval(Ma))):(Ma||(ic=Xa.now(),Ma=setInterval(sI,OC)),Ao=1,PC(i1))}}function o1(e,t,r){var s=new oc;return t=t==null?0:+t,s.restart(o=>{s.stop(),e(o+t)},t,r),s}var oI=vc("start","end","cancel","interrupt"),aI=[],LC=0,a1=1,py=2,Qu=3,l1=4,my=5,Zu=6;function xc(e,t,r,s,o,a){var u=e.__transition;if(!u)e.__transition={};else if(r in u)return;lI(e,r,{name:t,index:s,group:o,on:oI,tween:aI,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:LC})}function Wy(e,t){var r=ar(e,t);if(r.state>LC)throw new Error("too late; already scheduled");return r}function Sr(e,t){var r=ar(e,t);if(r.state>Qu)throw new Error("too late; already running");return r}function ar(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function lI(e,t,r){var s=e.__transition,o;s[t]=r,r.timer=$C(a,0,r.time);function a(m){r.state=a1,r.timer.restart(u,r.delay,r.time),r.delay<=m&&u(m-r.delay)}function u(m){var f,g,y,w;if(r.state!==a1)return h();for(f in s)if(w=s[f],w.name===r.name){if(w.state===Qu)return o1(u);w.state===l1?(w.state=Zu,w.timer.stop(),w.on.call("interrupt",e,e.__data__,w.index,w.group),delete s[f]):+f<t&&(w.state=Zu,w.timer.stop(),w.on.call("cancel",e,e.__data__,w.index,w.group),delete s[f])}if(o1(function(){r.state===Qu&&(r.state=l1,r.timer.restart(c,r.delay,r.time),c(m))}),r.state=py,r.on.call("start",e,e.__data__,r.index,r.group),r.state===py){for(r.state=Qu,o=new Array(y=r.tween.length),f=0,g=-1;f<y;++f)(w=r.tween[f].value.call(e,e.__data__,r.index,r.group))&&(o[++g]=w);o.length=g+1}}function c(m){for(var f=m<r.duration?r.ease.call(null,m/r.duration):(r.timer.restart(h),r.state=my,1),g=-1,y=o.length;++g<y;)o[g].call(e,f);r.state===my&&(r.on.call("end",e,e.__data__,r.index,r.group),h())}function h(){r.state=Zu,r.timer.stop(),delete s[t];for(var m in s)return;delete e.__transition}}function Ju(e,t){var r=e.__transition,s,o,a=!0,u;if(r){t=t==null?null:t+"";for(u in r){if((s=r[u]).name!==t){a=!1;continue}o=s.state>py&&s.state<my,s.state=Zu,s.timer.stop(),s.on.call(o?"interrupt":"cancel",e,e.__data__,s.index,s.group),delete r[u]}a&&delete e.__transition}}function uI(e){return this.each(function(){Ju(this,e)})}function cI(e,t){var r,s;return function(){var o=Sr(this,e),a=o.tween;if(a!==r){s=r=a;for(var u=0,c=s.length;u<c;++u)if(s[u].name===t){s=s.slice(),s.splice(u,1);break}}o.tween=s}}function dI(e,t,r){var s,o;if(typeof r!="function")throw new Error;return function(){var a=Sr(this,e),u=a.tween;if(u!==s){o=(s=u).slice();for(var c={name:t,value:r},h=0,m=o.length;h<m;++h)if(o[h].name===t){o[h]=c;break}h===m&&o.push(c)}a.tween=o}}function fI(e,t){var r=this._id;if(e+="",arguments.length<2){for(var s=ar(this.node(),r).tween,o=0,a=s.length,u;o<a;++o)if((u=s[o]).name===e)return u.value;return null}return this.each((t==null?cI:dI)(r,e,t))}function Hy(e,t,r){var s=e._id;return e.each(function(){var o=Sr(this,s);(o.value||(o.value={}))[t]=r.apply(this,arguments)}),function(o){return ar(o,s).value[t]}}function qC(e,t){var r;return(typeof t=="number"?Es:t instanceof Ya?n1:(r=Ya(t))?(t=r,n1):VM)(e,t)}function hI(e){return function(){this.removeAttribute(e)}}function pI(e){return function(){this.removeAttributeNS(e.space,e.local)}}function mI(e,t,r){var s,o=r+"",a;return function(){var u=this.getAttribute(e);return u===o?null:u===s?a:a=t(s=u,r)}}function gI(e,t,r){var s,o=r+"",a;return function(){var u=this.getAttributeNS(e.space,e.local);return u===o?null:u===s?a:a=t(s=u,r)}}function vI(e,t,r){var s,o,a;return function(){var u,c=r(this),h;return c==null?void this.removeAttribute(e):(u=this.getAttribute(e),h=c+"",u===h?null:u===s&&h===o?a:(o=h,a=t(s=u,c)))}}function yI(e,t,r){var s,o,a;return function(){var u,c=r(this),h;return c==null?void this.removeAttributeNS(e.space,e.local):(u=this.getAttributeNS(e.space,e.local),h=c+"",u===h?null:u===s&&h===o?a:(o=h,a=t(s=u,c)))}}function wI(e,t){var r=yc(e),s=r==="transform"?QM:qC;return this.attrTween(e,typeof t=="function"?(r.local?yI:vI)(r,s,Hy(this,"attr."+e,t)):t==null?(r.local?pI:hI)(r):(r.local?gI:mI)(r,s,t))}function xI(e,t){return function(r){this.setAttribute(e,t.call(this,r))}}function bI(e,t){return function(r){this.setAttributeNS(e.space,e.local,t.call(this,r))}}function _I(e,t){var r,s;function o(){var a=t.apply(this,arguments);return a!==s&&(r=(s=a)&&bI(e,a)),r}return o._value=t,o}function kI(e,t){var r,s;function o(){var a=t.apply(this,arguments);return a!==s&&(r=(s=a)&&xI(e,a)),r}return o._value=t,o}function SI(e,t){var r="attr."+e;if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;var s=yc(e);return this.tween(r,(s.local?_I:kI)(s,t))}function NI(e,t){return function(){Wy(this,e).delay=+t.apply(this,arguments)}}function EI(e,t){return t=+t,function(){Wy(this,e).delay=t}}function CI(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?NI:EI)(t,e)):ar(this.node(),t).delay}function jI(e,t){return function(){Sr(this,e).duration=+t.apply(this,arguments)}}function TI(e,t){return t=+t,function(){Sr(this,e).duration=t}}function RI(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?jI:TI)(t,e)):ar(this.node(),t).duration}function AI(e,t){if(typeof t!="function")throw new Error;return function(){Sr(this,e).ease=t}}function MI(e){var t=this._id;return arguments.length?this.each(AI(t,e)):ar(this.node(),t).ease}function II(e,t){return function(){var r=t.apply(this,arguments);if(typeof r!="function")throw new Error;Sr(this,e).ease=r}}function OI(e){if(typeof e!="function")throw new Error;return this.each(II(this._id,e))}function PI(e){typeof e!="function"&&(e=gC(e));for(var t=this._groups,r=t.length,s=new Array(r),o=0;o<r;++o)for(var a=t[o],u=a.length,c=s[o]=[],h,m=0;m<u;++m)(h=a[m])&&e.call(h,h.__data__,m,a)&&c.push(h);return new Kr(s,this._parents,this._name,this._id)}function $I(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,r=e._groups,s=t.length,o=r.length,a=Math.min(s,o),u=new Array(s),c=0;c<a;++c)for(var h=t[c],m=r[c],f=h.length,g=u[c]=new Array(f),y,w=0;w<f;++w)(y=h[w]||m[w])&&(g[w]=y);for(;c<s;++c)u[c]=t[c];return new Kr(u,this._parents,this._name,this._id)}function LI(e){return(e+"").trim().split(/^|\s+/).every(function(t){var r=t.indexOf(".");return r>=0&&(t=t.slice(0,r)),!t||t==="start"})}function qI(e,t,r){var s,o,a=LI(t)?Wy:Sr;return function(){var u=a(this,e),c=u.on;c!==s&&(o=(s=c).copy()).on(t,r),u.on=o}}function DI(e,t){var r=this._id;return arguments.length<2?ar(this.node(),r).on.on(e):this.each(qI(r,e,t))}function FI(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function zI(){return this.on("end.remove",FI(this._id))}function BI(e){var t=this._name,r=this._id;typeof e!="function"&&(e=Fy(e));for(var s=this._groups,o=s.length,a=new Array(o),u=0;u<o;++u)for(var c=s[u],h=c.length,m=a[u]=new Array(h),f,g,y=0;y<h;++y)(f=c[y])&&(g=e.call(f,f.__data__,y,c))&&("__data__"in f&&(g.__data__=f.__data__),m[y]=g,xc(m[y],t,r,y,m,ar(f,r)));return new Kr(a,this._parents,t,r)}function UI(e){var t=this._name,r=this._id;typeof e!="function"&&(e=mC(e));for(var s=this._groups,o=s.length,a=[],u=[],c=0;c<o;++c)for(var h=s[c],m=h.length,f,g=0;g<m;++g)if(f=h[g]){for(var y=e.call(f,f.__data__,g,h),w,N=ar(f,r),b=0,_=y.length;b<_;++b)(w=y[b])&&xc(w,t,r,b,y,N);a.push(y),u.push(f)}return new Kr(a,u,t,r)}var WI=ol.prototype.constructor;function HI(){return new WI(this._groups,this._parents)}function GI(e,t){var r,s,o;return function(){var a=Ro(this,e),u=(this.style.removeProperty(e),Ro(this,e));return a===u?null:a===r&&u===s?o:o=t(r=a,s=u)}}function DC(e){return function(){this.style.removeProperty(e)}}function VI(e,t,r){var s,o=r+"",a;return function(){var u=Ro(this,e);return u===o?null:u===s?a:a=t(s=u,r)}}function KI(e,t,r){var s,o,a;return function(){var u=Ro(this,e),c=r(this),h=c+"";return c==null&&(h=c=(this.style.removeProperty(e),Ro(this,e))),u===h?null:u===s&&h===o?a:(o=h,a=t(s=u,c))}}function YI(e,t){var r,s,o,a="style."+t,u="end."+a,c;return function(){var h=Sr(this,e),m=h.on,f=h.value[a]==null?c||(c=DC(t)):void 0;(m!==r||o!==f)&&(s=(r=m).copy()).on(u,o=f),h.on=s}}function XI(e,t,r){var s=(e+="")=="transform"?XM:qC;return t==null?this.styleTween(e,GI(e,s)).on("end.style."+e,DC(e)):typeof t=="function"?this.styleTween(e,KI(e,s,Hy(this,"style."+e,t))).each(YI(this._id,e)):this.styleTween(e,VI(e,s,t),r).on("end.style."+e,null)}function QI(e,t,r){return function(s){this.style.setProperty(e,t.call(this,s),r)}}function ZI(e,t,r){var s,o;function a(){var u=t.apply(this,arguments);return u!==o&&(s=(o=u)&&QI(e,u,r)),s}return a._value=t,a}function JI(e,t,r){var s="style."+(e+="");if(arguments.length<2)return(s=this.tween(s))&&s._value;if(t==null)return this.tween(s,null);if(typeof t!="function")throw new Error;return this.tween(s,ZI(e,t,r??""))}function eO(e){return function(){this.textContent=e}}function tO(e){return function(){var t=e(this);this.textContent=t??""}}function nO(e){return this.tween("text",typeof e=="function"?tO(Hy(this,"text",e)):eO(e==null?"":e+""))}function rO(e){return function(t){this.textContent=e.call(this,t)}}function sO(e){var t,r;function s(){var o=e.apply(this,arguments);return o!==r&&(t=(r=o)&&rO(o)),t}return s._value=e,s}function iO(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,sO(e))}function oO(){for(var e=this._name,t=this._id,r=FC(),s=this._groups,o=s.length,a=0;a<o;++a)for(var u=s[a],c=u.length,h,m=0;m<c;++m)if(h=u[m]){var f=ar(h,t);xc(h,e,r,m,u,{time:f.time+f.delay+f.duration,delay:0,duration:f.duration,ease:f.ease})}return new Kr(s,this._parents,e,r)}function aO(){var e,t,r=this,s=r._id,o=r.size();return new Promise(function(a,u){var c={value:u},h={value:function(){--o===0&&a()}};r.each(function(){var m=Sr(this,s),f=m.on;f!==e&&(t=(e=f).copy(),t._.cancel.push(c),t._.interrupt.push(c),t._.end.push(h)),m.on=t}),o===0&&a()})}var lO=0;function Kr(e,t,r,s){this._groups=e,this._parents=t,this._name=r,this._id=s}function FC(){return++lO}var Hr=ol.prototype;Kr.prototype={constructor:Kr,select:BI,selectAll:UI,selectChild:Hr.selectChild,selectChildren:Hr.selectChildren,filter:PI,merge:$I,selection:HI,transition:oO,call:Hr.call,nodes:Hr.nodes,node:Hr.node,size:Hr.size,empty:Hr.empty,each:Hr.each,on:DI,attr:wI,attrTween:SI,style:XI,styleTween:JI,text:nO,textTween:iO,remove:zI,tween:fI,delay:CI,duration:RI,ease:MI,easeVarying:OI,end:aO,[Symbol.iterator]:Hr[Symbol.iterator]};function uO(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var cO={time:null,delay:0,duration:250,ease:uO};function dO(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function fO(e){var t,r;e instanceof Kr?(t=e._id,e=e._name):(t=FC(),(r=cO).time=Uy(),e=e==null?null:e+"");for(var s=this._groups,o=s.length,a=0;a<o;++a)for(var u=s[a],c=u.length,h,m=0;m<c;++m)(h=u[m])&&xc(h,e,t,m,u,r||dO(h,t));return new Kr(s,this._parents,e,t)}ol.prototype.interrupt=uI;ol.prototype.transition=fO;const Pu=e=>()=>e;function hO(e,{sourceEvent:t,target:r,transform:s,dispatch:o}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},transform:{value:s,enumerable:!0,configurable:!0},_:{value:o}})}function Gr(e,t,r){this.k=e,this.x=t,this.y=r}Gr.prototype={constructor:Gr,scale:function(e){return e===1?this:new Gr(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Gr(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Vr=new Gr(1,0,0);Gr.prototype;function Rf(e){e.stopImmediatePropagation()}function Ia(e){e.preventDefault(),e.stopImmediatePropagation()}function pO(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function mO(){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 u1(){return this.__zoom||Vr}function gO(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function vO(){return navigator.maxTouchPoints||"ontouchstart"in this}function yO(e,t,r){var s=e.invertX(t[0][0])-r[0][0],o=e.invertX(t[1][0])-r[1][0],a=e.invertY(t[0][1])-r[0][1],u=e.invertY(t[1][1])-r[1][1];return e.translate(o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o),u>a?(a+u)/2:Math.min(0,a)||Math.max(0,u))}function zC(){var e=pO,t=mO,r=yO,s=gO,o=vO,a=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,h=tI,m=vc("start","zoom","end"),f,g,y,w=500,N=150,b=0,_=10;function k(j){j.property("__zoom",u1).on("wheel.zoom",W,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",A).filter(o).on("touchstart.zoom",D).on("touchmove.zoom",H).on("touchend.zoom touchcancel.zoom",Y).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}k.transform=function(j,X,z,ne){var J=j.selection?j.selection():j;J.property("__zoom",u1),j!==J?M(j,X,z,ne):J.interrupt().each(function(){P(this,arguments).event(ne).start().zoom(null,typeof X=="function"?X.apply(this,arguments):X).end()})},k.scaleBy=function(j,X,z,ne){k.scaleTo(j,function(){var J=this.__zoom.k,U=typeof X=="function"?X.apply(this,arguments):X;return J*U},z,ne)},k.scaleTo=function(j,X,z,ne){k.transform(j,function(){var J=t.apply(this,arguments),U=this.__zoom,Q=z==null?T(J):typeof z=="function"?z.apply(this,arguments):z,O=U.invert(Q),G=typeof X=="function"?X.apply(this,arguments):X;return r(C(S(U,G),Q,O),J,u)},z,ne)},k.translateBy=function(j,X,z,ne){k.transform(j,function(){return r(this.__zoom.translate(typeof X=="function"?X.apply(this,arguments):X,typeof z=="function"?z.apply(this,arguments):z),t.apply(this,arguments),u)},null,ne)},k.translateTo=function(j,X,z,ne,J){k.transform(j,function(){var U=t.apply(this,arguments),Q=this.__zoom,O=ne==null?T(U):typeof ne=="function"?ne.apply(this,arguments):ne;return r(Vr.translate(O[0],O[1]).scale(Q.k).translate(typeof X=="function"?-X.apply(this,arguments):-X,typeof z=="function"?-z.apply(this,arguments):-z),U,u)},ne,J)};function S(j,X){return X=Math.max(a[0],Math.min(a[1],X)),X===j.k?j:new Gr(X,j.x,j.y)}function C(j,X,z){var ne=X[0]-z[0]*j.k,J=X[1]-z[1]*j.k;return ne===j.x&&J===j.y?j:new Gr(j.k,ne,J)}function T(j){return[(+j[0][0]+ +j[1][0])/2,(+j[0][1]+ +j[1][1])/2]}function M(j,X,z,ne){j.on("start.zoom",function(){P(this,arguments).event(ne).start()}).on("interrupt.zoom end.zoom",function(){P(this,arguments).event(ne).end()}).tween("zoom",function(){var J=this,U=arguments,Q=P(J,U).event(ne),O=t.apply(J,U),G=z==null?T(O):typeof z=="function"?z.apply(J,U):z,K=Math.max(O[1][0]-O[0][0],O[1][1]-O[0][1]),L=J.__zoom,q=typeof X=="function"?X.apply(J,U):X,Z=h(L.invert(G).concat(K/L.k),q.invert(G).concat(K/q.k));return function(se){if(se===1)se=q;else{var fe=Z(se),he=K/fe[2];se=new Gr(he,G[0]-fe[0]*he,G[1]-fe[1]*he)}Q.zoom(null,se)}})}function P(j,X,z){return!z&&j.__zooming||new $(j,X)}function $(j,X){this.that=j,this.args=X,this.active=0,this.sourceEvent=null,this.extent=t.apply(j,X),this.taps=0}$.prototype={event:function(j){return j&&(this.sourceEvent=j),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(j,X){return this.mouse&&j!=="mouse"&&(this.mouse[1]=X.invert(this.mouse[0])),this.touch0&&j!=="touch"&&(this.touch0[1]=X.invert(this.touch0[0])),this.touch1&&j!=="touch"&&(this.touch1[1]=X.invert(this.touch1[0])),this.that.__zoom=X,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(j){var X=On(this.that).datum();m.call(j,this.that,new hO(j,{sourceEvent:this.sourceEvent,target:k,transform:this.that.__zoom,dispatch:m}),X)}};function W(j,...X){if(!e.apply(this,arguments))return;var z=P(this,X).event(j),ne=this.__zoom,J=Math.max(a[0],Math.min(a[1],ne.k*Math.pow(2,s.apply(this,arguments)))),U=tr(j);if(z.wheel)(z.mouse[0][0]!==U[0]||z.mouse[0][1]!==U[1])&&(z.mouse[1]=ne.invert(z.mouse[0]=U)),clearTimeout(z.wheel);else{if(ne.k===J)return;z.mouse=[U,ne.invert(U)],Ju(this),z.start()}Ia(j),z.wheel=setTimeout(Q,N),z.zoom("mouse",r(C(S(ne,J),z.mouse[0],z.mouse[1]),z.extent,u));function Q(){z.wheel=null,z.end()}}function I(j,...X){if(y||!e.apply(this,arguments))return;var z=j.currentTarget,ne=P(this,X,!0).event(j),J=On(j.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",K,!0),U=tr(j,z),Q=j.clientX,O=j.clientY;EC(j.view),Rf(j),ne.mouse=[U,this.__zoom.invert(U)],Ju(this),ne.start();function G(L){if(Ia(L),!ne.moved){var q=L.clientX-Q,Z=L.clientY-O;ne.moved=q*q+Z*Z>b}ne.event(L).zoom("mouse",r(C(ne.that.__zoom,ne.mouse[0]=tr(L,z),ne.mouse[1]),ne.extent,u))}function K(L){J.on("mousemove.zoom mouseup.zoom",null),CC(L.view,ne.moved),Ia(L),ne.event(L).end()}}function A(j,...X){if(e.apply(this,arguments)){var z=this.__zoom,ne=tr(j.changedTouches?j.changedTouches[0]:j,this),J=z.invert(ne),U=z.k*(j.shiftKey?.5:2),Q=r(C(S(z,U),ne,J),t.apply(this,X),u);Ia(j),c>0?On(this).transition().duration(c).call(M,Q,ne,j):On(this).call(k.transform,Q,ne,j)}}function D(j,...X){if(e.apply(this,arguments)){var z=j.touches,ne=z.length,J=P(this,X,j.changedTouches.length===ne).event(j),U,Q,O,G;for(Rf(j),Q=0;Q<ne;++Q)O=z[Q],G=tr(O,this),G=[G,this.__zoom.invert(G),O.identifier],J.touch0?!J.touch1&&J.touch0[2]!==G[2]&&(J.touch1=G,J.taps=0):(J.touch0=G,U=!0,J.taps=1+!!f);f&&(f=clearTimeout(f)),U&&(J.taps<2&&(g=G[0],f=setTimeout(function(){f=null},w)),Ju(this),J.start())}}function H(j,...X){if(this.__zooming){var z=P(this,X).event(j),ne=j.changedTouches,J=ne.length,U,Q,O,G;for(Ia(j),U=0;U<J;++U)Q=ne[U],O=tr(Q,this),z.touch0&&z.touch0[2]===Q.identifier?z.touch0[0]=O:z.touch1&&z.touch1[2]===Q.identifier&&(z.touch1[0]=O);if(Q=z.that.__zoom,z.touch1){var K=z.touch0[0],L=z.touch0[1],q=z.touch1[0],Z=z.touch1[1],se=(se=q[0]-K[0])*se+(se=q[1]-K[1])*se,fe=(fe=Z[0]-L[0])*fe+(fe=Z[1]-L[1])*fe;Q=S(Q,Math.sqrt(se/fe)),O=[(K[0]+q[0])/2,(K[1]+q[1])/2],G=[(L[0]+Z[0])/2,(L[1]+Z[1])/2]}else if(z.touch0)O=z.touch0[0],G=z.touch0[1];else return;z.zoom("touch",r(C(Q,O,G),z.extent,u))}}function Y(j,...X){if(this.__zooming){var z=P(this,X).event(j),ne=j.changedTouches,J=ne.length,U,Q;for(Rf(j),y&&clearTimeout(y),y=setTimeout(function(){y=null},w),U=0;U<J;++U)Q=ne[U],z.touch0&&z.touch0[2]===Q.identifier?delete z.touch0:z.touch1&&z.touch1[2]===Q.identifier&&delete z.touch1;if(z.touch1&&!z.touch0&&(z.touch0=z.touch1,delete z.touch1),z.touch0)z.touch0[1]=this.__zoom.invert(z.touch0[0]);else if(z.end(),z.taps===2&&(Q=tr(Q,this),Math.hypot(g[0]-Q[0],g[1]-Q[1])<_)){var O=On(this).on("dblclick.zoom");O&&O.apply(this,arguments)}}}return k.wheelDelta=function(j){return arguments.length?(s=typeof j=="function"?j:Pu(+j),k):s},k.filter=function(j){return arguments.length?(e=typeof j=="function"?j:Pu(!!j),k):e},k.touchable=function(j){return arguments.length?(o=typeof j=="function"?j:Pu(!!j),k):o},k.extent=function(j){return arguments.length?(t=typeof j=="function"?j:Pu([[+j[0][0],+j[0][1]],[+j[1][0],+j[1][1]]]),k):t},k.scaleExtent=function(j){return arguments.length?(a[0]=+j[0],a[1]=+j[1],k):[a[0],a[1]]},k.translateExtent=function(j){return arguments.length?(u[0][0]=+j[0][0],u[1][0]=+j[1][0],u[0][1]=+j[0][1],u[1][1]=+j[1][1],k):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},k.constrain=function(j){return arguments.length?(r=j,k):r},k.duration=function(j){return arguments.length?(c=+j,k):c},k.interpolate=function(j){return arguments.length?(h=j,k):h},k.on=function(){var j=m.on.apply(m,arguments);return j===m?k:j},k.clickDistance=function(j){return arguments.length?(b=(j=+j)*j,k):Math.sqrt(b)},k.tapDistance=function(j){return arguments.length?(_=+j,k):_},k}var wO=fC();const bc=E.createContext(null),xO=bc.Provider,Yr={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,t)=>`Couldn't create edge for ${e?"target":"source"} handle id: "${e?t.targetHandle:t.sourceHandle}", edge id: ${t.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.`},BC=Yr.error001();function rt(e,t){const r=E.useContext(bc);if(r===null)throw new Error(BC);return hC(r,e,t)}const jt=()=>{const e=E.useContext(bc);if(e===null)throw new Error(BC);return E.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe,destroy:e.destroy}),[e])},bO=e=>e.userSelectionActive?"none":"all";function Gy({position:e,children:t,className:r,style:s,...o}){const a=rt(bO),u=`${e}`.split("-");return ce.createElement("div",{className:Wt(["react-flow__panel",r,...u]),style:{...s,pointerEvents:a},...o},t)}function _O({proOptions:e,position:t="bottom-right"}){return e!=null&&e.hideAttribution?null:ce.createElement(Gy,{position:t,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://reactflow.dev/pro"},ce.createElement("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution"},"React Flow"))}const kO=({x:e,y:t,label:r,labelStyle:s={},labelShowBg:o=!0,labelBgStyle:a={},labelBgPadding:u=[2,4],labelBgBorderRadius:c=2,children:h,className:m,...f})=>{const g=E.useRef(null),[y,w]=E.useState({x:0,y:0,width:0,height:0}),N=Wt(["react-flow__edge-textwrapper",m]);return E.useEffect(()=>{if(g.current){const b=g.current.getBBox();w({x:b.x,y:b.y,width:b.width,height:b.height})}},[r]),typeof r>"u"||!r?null:ce.createElement("g",{transform:`translate(${e-y.width/2} ${t-y.height/2})`,className:N,visibility:y.width?"visible":"hidden",...f},o&&ce.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:a,rx:c,ry:c}),ce.createElement("text",{className:"react-flow__edge-text",y:y.height/2,dy:"0.3em",ref:g,style:s},r),h)};var SO=E.memo(kO);const Vy=e=>({width:e.offsetWidth,height:e.offsetHeight}),Mo=(e,t=0,r=1)=>Math.min(Math.max(e,t),r),Ky=(e={x:0,y:0},t)=>({x:Mo(e.x,t[0][0],t[1][0]),y:Mo(e.y,t[0][1],t[1][1])}),c1=(e,t,r)=>e<t?Mo(Math.abs(e-t),1,50)/50:e>r?-Mo(Math.abs(e-r),1,50)/50:0,UC=(e,t)=>{const r=c1(e.x,35,t.width-35)*20,s=c1(e.y,35,t.height-35)*20;return[r,s]},WC=e=>{var t;return((t=e.getRootNode)==null?void 0:t.call(e))||(window==null?void 0:window.document)},HC=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),Qa=({x:e,y:t,width:r,height:s})=>({x:e,y:t,x2:e+r,y2:t+s}),GC=({x:e,y:t,x2:r,y2:s})=>({x:e,y:t,width:r-e,height:s-t}),d1=e=>({...e.positionAbsolute||{x:0,y:0},width:e.width||0,height:e.height||0}),NO=(e,t)=>GC(HC(Qa(e),Qa(t))),gy=(e,t)=>{const r=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),s=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(r*s)},EO=e=>Pn(e.width)&&Pn(e.height)&&Pn(e.x)&&Pn(e.y),Pn=e=>!isNaN(e)&&isFinite(e),St=Symbol.for("internals"),VC=["Enter"," ","Escape"],CO=(e,t)=>{},jO=e=>"nativeEvent"in e;function vy(e){var o,a;const t=jO(e)?e.nativeEvent:e,r=((a=(o=t.composedPath)==null?void 0:o.call(t))==null?void 0:a[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 KC=e=>"clientX"in e,Ts=(e,t)=>{var a,u;const r=KC(e),s=r?e.clientX:(a=e.touches)==null?void 0:a[0].clientX,o=r?e.clientY:(u=e.touches)==null?void 0:u[0].clientY;return{x:s-((t==null?void 0:t.left)??0),y:o-((t==null?void 0:t.top)??0)}},ac=()=>{var e;return typeof navigator<"u"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0},ll=({id:e,path:t,labelX:r,labelY:s,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m,style:f,markerEnd:g,markerStart:y,interactionWidth:w=20})=>ce.createElement(ce.Fragment,null,ce.createElement("path",{id:e,style:f,d:t,fill:"none",className:"react-flow__edge-path",markerEnd:g,markerStart:y}),w&&ce.createElement("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:w,className:"react-flow__edge-interaction"}),o&&Pn(r)&&Pn(s)?ce.createElement(SO,{x:r,y:s,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m}):null);ll.displayName="BaseEdge";function Oa(e,t,r){return r===void 0?r:s=>{const o=t().edges.find(a=>a.id===e);o&&r(s,{...o})}}function YC({sourceX:e,sourceY:t,targetX:r,targetY:s}){const o=Math.abs(r-e)/2,a=r<e?r+o:r-o,u=Math.abs(s-t)/2,c=s<t?s+u:s-u;return[a,c,o,u]}function XC({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:o,sourceControlY:a,targetControlX:u,targetControlY:c}){const h=e*.125+o*.375+u*.375+r*.125,m=t*.125+a*.375+c*.375+s*.125,f=Math.abs(h-e),g=Math.abs(m-t);return[h,m,f,g]}var gi;(function(e){e.Strict="strict",e.Loose="loose"})(gi||(gi={}));var fi;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(fi||(fi={}));var Za;(function(e){e.Partial="partial",e.Full="full"})(Za||(Za={}));var js;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(js||(js={}));var lc;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(lc||(lc={}));var Oe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(Oe||(Oe={}));function f1({pos:e,x1:t,y1:r,x2:s,y2:o}){return e===Oe.Left||e===Oe.Right?[.5*(t+s),r]:[t,.5*(r+o)]}function QC({sourceX:e,sourceY:t,sourcePosition:r=Oe.Bottom,targetX:s,targetY:o,targetPosition:a=Oe.Top}){const[u,c]=f1({pos:r,x1:e,y1:t,x2:s,y2:o}),[h,m]=f1({pos:a,x1:s,y1:o,x2:e,y2:t}),[f,g,y,w]=XC({sourceX:e,sourceY:t,targetX:s,targetY:o,sourceControlX:u,sourceControlY:c,targetControlX:h,targetControlY:m});return[`M${e},${t} C${u},${c} ${h},${m} ${s},${o}`,f,g,y,w]}const Yy=E.memo(({sourceX:e,sourceY:t,targetX:r,targetY:s,sourcePosition:o=Oe.Bottom,targetPosition:a=Oe.Top,label:u,labelStyle:c,labelShowBg:h,labelBgStyle:m,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:w,markerStart:N,interactionWidth:b})=>{const[_,k,S]=QC({sourceX:e,sourceY:t,sourcePosition:o,targetX:r,targetY:s,targetPosition:a});return ce.createElement(ll,{path:_,labelX:k,labelY:S,label:u,labelStyle:c,labelShowBg:h,labelBgStyle:m,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:w,markerStart:N,interactionWidth:b})});Yy.displayName="SimpleBezierEdge";const h1={[Oe.Left]:{x:-1,y:0},[Oe.Right]:{x:1,y:0},[Oe.Top]:{x:0,y:-1},[Oe.Bottom]:{x:0,y:1}},TO=({source:e,sourcePosition:t=Oe.Bottom,target:r})=>t===Oe.Left||t===Oe.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},p1=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function RO({source:e,sourcePosition:t=Oe.Bottom,target:r,targetPosition:s=Oe.Top,center:o,offset:a}){const u=h1[t],c=h1[s],h={x:e.x+u.x*a,y:e.y+u.y*a},m={x:r.x+c.x*a,y:r.y+c.y*a},f=TO({source:h,sourcePosition:t,target:m}),g=f.x!==0?"x":"y",y=f[g];let w=[],N,b;const _={x:0,y:0},k={x:0,y:0},[S,C,T,M]=YC({sourceX:e.x,sourceY:e.y,targetX:r.x,targetY:r.y});if(u[g]*c[g]===-1){N=o.x??S,b=o.y??C;const $=[{x:N,y:h.y},{x:N,y:m.y}],W=[{x:h.x,y:b},{x:m.x,y:b}];u[g]===y?w=g==="x"?$:W:w=g==="x"?W:$}else{const $=[{x:h.x,y:m.y}],W=[{x:m.x,y:h.y}];if(g==="x"?w=u.x===y?W:$:w=u.y===y?$:W,t===s){const Y=Math.abs(e[g]-r[g]);if(Y<=a){const j=Math.min(a-1,a-Y);u[g]===y?_[g]=(h[g]>e[g]?-1:1)*j:k[g]=(m[g]>r[g]?-1:1)*j}}if(t!==s){const Y=g==="x"?"y":"x",j=u[g]===c[Y],X=h[Y]>m[Y],z=h[Y]<m[Y];(u[g]===1&&(!j&&X||j&&z)||u[g]!==1&&(!j&&z||j&&X))&&(w=g==="x"?$:W)}const I={x:h.x+_.x,y:h.y+_.y},A={x:m.x+k.x,y:m.y+k.y},D=Math.max(Math.abs(I.x-w[0].x),Math.abs(A.x-w[0].x)),H=Math.max(Math.abs(I.y-w[0].y),Math.abs(A.y-w[0].y));D>=H?(N=(I.x+A.x)/2,b=w[0].y):(N=w[0].x,b=(I.y+A.y)/2)}return[[e,{x:h.x+_.x,y:h.y+_.y},...w,{x:m.x+k.x,y:m.y+k.y},r],N,b,T,M]}function AO(e,t,r,s){const o=Math.min(p1(e,t)/2,p1(t,r)/2,s),{x:a,y:u}=t;if(e.x===a&&a===r.x||e.y===u&&u===r.y)return`L${a} ${u}`;if(e.y===u){const m=e.x<r.x?-1:1,f=e.y<r.y?1:-1;return`L ${a+o*m},${u}Q ${a},${u} ${a},${u+o*f}`}const c=e.x<r.x?1:-1,h=e.y<r.y?-1:1;return`L ${a},${u+o*h}Q ${a},${u} ${a+o*c},${u}`}function yy({sourceX:e,sourceY:t,sourcePosition:r=Oe.Bottom,targetX:s,targetY:o,targetPosition:a=Oe.Top,borderRadius:u=5,centerX:c,centerY:h,offset:m=20}){const[f,g,y,w,N]=RO({source:{x:e,y:t},sourcePosition:r,target:{x:s,y:o},targetPosition:a,center:{x:c,y:h},offset:m});return[f.reduce((_,k,S)=>{let C="";return S>0&&S<f.length-1?C=AO(f[S-1],k,f[S+1],u):C=`${S===0?"M":"L"}${k.x} ${k.y}`,_+=C,_},""),g,y,w,N]}const _c=E.memo(({sourceX:e,sourceY:t,targetX:r,targetY:s,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m,style:f,sourcePosition:g=Oe.Bottom,targetPosition:y=Oe.Top,markerEnd:w,markerStart:N,pathOptions:b,interactionWidth:_})=>{const[k,S,C]=yy({sourceX:e,sourceY:t,sourcePosition:g,targetX:r,targetY:s,targetPosition:y,borderRadius:b==null?void 0:b.borderRadius,offset:b==null?void 0:b.offset});return ce.createElement(ll,{path:k,labelX:S,labelY:C,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m,style:f,markerEnd:w,markerStart:N,interactionWidth:_})});_c.displayName="SmoothStepEdge";const Xy=E.memo(e=>{var t;return ce.createElement(_c,{...e,pathOptions:E.useMemo(()=>{var r;return{borderRadius:0,offset:(r=e.pathOptions)==null?void 0:r.offset}},[(t=e.pathOptions)==null?void 0:t.offset])})});Xy.displayName="StepEdge";function MO({sourceX:e,sourceY:t,targetX:r,targetY:s}){const[o,a,u,c]=YC({sourceX:e,sourceY:t,targetX:r,targetY:s});return[`M ${e},${t}L ${r},${s}`,o,a,u,c]}const Qy=E.memo(({sourceX:e,sourceY:t,targetX:r,targetY:s,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m,style:f,markerEnd:g,markerStart:y,interactionWidth:w})=>{const[N,b,_]=MO({sourceX:e,sourceY:t,targetX:r,targetY:s});return ce.createElement(ll,{path:N,labelX:b,labelY:_,label:o,labelStyle:a,labelShowBg:u,labelBgStyle:c,labelBgPadding:h,labelBgBorderRadius:m,style:f,markerEnd:g,markerStart:y,interactionWidth:w})});Qy.displayName="StraightEdge";function $u(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function m1({pos:e,x1:t,y1:r,x2:s,y2:o,c:a}){switch(e){case Oe.Left:return[t-$u(t-s,a),r];case Oe.Right:return[t+$u(s-t,a),r];case Oe.Top:return[t,r-$u(r-o,a)];case Oe.Bottom:return[t,r+$u(o-r,a)]}}function ZC({sourceX:e,sourceY:t,sourcePosition:r=Oe.Bottom,targetX:s,targetY:o,targetPosition:a=Oe.Top,curvature:u=.25}){const[c,h]=m1({pos:r,x1:e,y1:t,x2:s,y2:o,c:u}),[m,f]=m1({pos:a,x1:s,y1:o,x2:e,y2:t,c:u}),[g,y,w,N]=XC({sourceX:e,sourceY:t,targetX:s,targetY:o,sourceControlX:c,sourceControlY:h,targetControlX:m,targetControlY:f});return[`M${e},${t} C${c},${h} ${m},${f} ${s},${o}`,g,y,w,N]}const uc=E.memo(({sourceX:e,sourceY:t,targetX:r,targetY:s,sourcePosition:o=Oe.Bottom,targetPosition:a=Oe.Top,label:u,labelStyle:c,labelShowBg:h,labelBgStyle:m,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:w,markerStart:N,pathOptions:b,interactionWidth:_})=>{const[k,S,C]=ZC({sourceX:e,sourceY:t,sourcePosition:o,targetX:r,targetY:s,targetPosition:a,curvature:b==null?void 0:b.curvature});return ce.createElement(ll,{path:k,labelX:S,labelY:C,label:u,labelStyle:c,labelShowBg:h,labelBgStyle:m,labelBgPadding:f,labelBgBorderRadius:g,style:y,markerEnd:w,markerStart:N,interactionWidth:_})});uc.displayName="BezierEdge";const Zy=E.createContext(null),IO=Zy.Provider;Zy.Consumer;const OO=()=>E.useContext(Zy),PO=e=>"id"in e&&"source"in e&&"target"in e,$O=({source:e,sourceHandle:t,target:r,targetHandle:s})=>`reactflow__edge-${e}${t||""}-${r}${s||""}`,wy=(e,t)=>typeof e>"u"?"":typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(s=>`${s}=${e[s]}`).join("&")}`,LO=(e,t)=>t.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)),qO=(e,t)=>{if(!e.source||!e.target)return t;let r;return PO(e)?r={...e}:r={...e,id:$O(e)},LO(r,t)?t:t.concat(r)},xy=({x:e,y:t},[r,s,o],a,[u,c])=>{const h={x:(e-r)/o,y:(t-s)/o};return a?{x:u*Math.round(h.x/u),y:c*Math.round(h.y/c)}:h},JC=({x:e,y:t},[r,s,o])=>({x:e*o+r,y:t*o+s}),pi=(e,t=[0,0])=>{if(!e)return{x:0,y:0,positionAbsolute:{x:0,y:0}};const r=(e.width??0)*t[0],s=(e.height??0)*t[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}},kc=(e,t=[0,0])=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const r=e.reduce((s,o)=>{const{x:a,y:u}=pi(o,t).positionAbsolute;return HC(s,Qa({x:a,y:u,width:o.width||0,height:o.height||0}))},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return GC(r)},ej=(e,t,[r,s,o]=[0,0,1],a=!1,u=!1,c=[0,0])=>{const h={x:(t.x-r)/o,y:(t.y-s)/o,width:t.width/o,height:t.height/o},m=[];return e.forEach(f=>{const{width:g,height:y,selectable:w=!0,hidden:N=!1}=f;if(u&&!w||N)return!1;const{positionAbsolute:b}=pi(f,c),_={x:b.x,y:b.y,width:g||0,height:y||0},k=gy(h,_),S=typeof g>"u"||typeof y>"u"||g===null||y===null,C=a&&k>0,T=(g||0)*(y||0);(S||C||k>=T||f.dragging)&&m.push(f)}),m},tj=(e,t)=>{const r=e.map(s=>s.id);return t.filter(s=>r.includes(s.source)||r.includes(s.target))},nj=(e,t,r,s,o,a=.1)=>{const u=t/(e.width*(1+a)),c=r/(e.height*(1+a)),h=Math.min(u,c),m=Mo(h,s,o),f=e.x+e.width/2,g=e.y+e.height/2,y=t/2-f*m,w=r/2-g*m;return{x:y,y:w,zoom:m}},ci=(e,t=0)=>e.transition().duration(t);function g1(e,t,r,s){return(t[r]||[]).reduce((o,a)=>{var u,c;return`${e.id}-${a.id}-${r}`!==s&&o.push({id:a.id||null,type:r,nodeId:e.id,x:(((u=e.positionAbsolute)==null?void 0:u.x)??0)+a.x+a.width/2,y:(((c=e.positionAbsolute)==null?void 0:c.y)??0)+a.y+a.height/2}),o},[])}function DO(e,t,r,s,o,a){const{x:u,y:c}=Ts(e),m=t.elementsFromPoint(u,c).find(N=>N.classList.contains("react-flow__handle"));if(m){const N=m.getAttribute("data-nodeid");if(N){const b=Jy(void 0,m),_=m.getAttribute("data-handleid"),k=a({nodeId:N,id:_,type:b});if(k){const S=o.find(C=>C.nodeId===N&&C.type===b&&C.id===_);return{handle:{id:_,type:b,nodeId:N,x:(S==null?void 0:S.x)||r.x,y:(S==null?void 0:S.y)||r.y},validHandleResult:k}}}}let f=[],g=1/0;if(o.forEach(N=>{const b=Math.sqrt((N.x-r.x)**2+(N.y-r.y)**2);if(b<=s){const _=a(N);b<=g&&(b<g?f=[{handle:N,validHandleResult:_}]:b===g&&f.push({handle:N,validHandleResult:_}),g=b)}}),!f.length)return{handle:null,validHandleResult:rj()};if(f.length===1)return f[0];const y=f.some(({validHandleResult:N})=>N.isValid),w=f.some(({handle:N})=>N.type==="target");return f.find(({handle:N,validHandleResult:b})=>w?N.type==="target":y?b.isValid:!0)||f[0]}const FO={source:null,target:null,sourceHandle:null,targetHandle:null},rj=()=>({handleDomNode:null,isValid:!1,connection:FO,endHandle:null});function sj(e,t,r,s,o,a,u){const c=o==="target",h=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}"]`),m={...rj(),handleDomNode:h};if(h){const f=Jy(void 0,h),g=h.getAttribute("data-nodeid"),y=h.getAttribute("data-handleid"),w=h.classList.contains("connectable"),N=h.classList.contains("connectableend"),b={source:c?g:r,sourceHandle:c?y:s,target:c?r:g,targetHandle:c?s:y};m.connection=b,w&&N&&(t===gi.Strict?c&&f==="source"||!c&&f==="target":g!==r||y!==s)&&(m.endHandle={nodeId:g,handleId:y,type:f},m.isValid=a(b))}return m}function zO({nodes:e,nodeId:t,handleId:r,handleType:s}){return e.reduce((o,a)=>{if(a[St]){const{handleBounds:u}=a[St];let c=[],h=[];u&&(c=g1(a,u,"source",`${t}-${r}-${s}`),h=g1(a,u,"target",`${t}-${r}-${s}`)),o.push(...c,...h)}return o},[])}function Jy(e,t){return e||(t!=null&&t.classList.contains("target")?"target":t!=null&&t.classList.contains("source")?"source":null)}function Af(e){e==null||e.classList.remove("valid","connecting","react-flow__handle-valid","react-flow__handle-connecting")}function BO(e,t){let r=null;return t?r="valid":e&&!t&&(r="invalid"),r}function ij({event:e,handleId:t,nodeId:r,onConnect:s,isTarget:o,getState:a,setState:u,isValidConnection:c,edgeUpdaterType:h,onReconnectEnd:m}){const f=WC(e.target),{connectionMode:g,domNode:y,autoPanOnConnect:w,connectionRadius:N,onConnectStart:b,panBy:_,getNodes:k,cancelConnection:S}=a();let C=0,T;const{x:M,y:P}=Ts(e),$=f==null?void 0:f.elementFromPoint(M,P),W=Jy(h,$),I=y==null?void 0:y.getBoundingClientRect();if(!I||!W)return;let A,D=Ts(e,I),H=!1,Y=null,j=!1,X=null;const z=zO({nodes:k(),nodeId:r,handleId:t,handleType:W}),ne=()=>{if(!w)return;const[Q,O]=UC(D,I);_({x:Q,y:O}),C=requestAnimationFrame(ne)};u({connectionPosition:D,connectionStatus:null,connectionNodeId:r,connectionHandleId:t,connectionHandleType:W,connectionStartHandle:{nodeId:r,handleId:t,type:W},connectionEndHandle:null}),b==null||b(e,{nodeId:r,handleId:t,handleType:W});function J(Q){const{transform:O}=a();D=Ts(Q,I);const{handle:G,validHandleResult:K}=DO(Q,f,xy(D,O,!1,[1,1]),N,z,L=>sj(L,g,r,t,o?"target":"source",c,f));if(T=G,H||(ne(),H=!0),X=K.handleDomNode,Y=K.connection,j=K.isValid,u({connectionPosition:T&&j?JC({x:T.x,y:T.y},O):D,connectionStatus:BO(!!T,j),connectionEndHandle:K.endHandle}),!T&&!j&&!X)return Af(A);Y.source!==Y.target&&X&&(Af(A),A=X,X.classList.add("connecting","react-flow__handle-connecting"),X.classList.toggle("valid",j),X.classList.toggle("react-flow__handle-valid",j))}function U(Q){var O,G;(T||X)&&Y&&j&&(s==null||s(Y)),(G=(O=a()).onConnectEnd)==null||G.call(O,Q),h&&(m==null||m(Q)),Af(A),S(),cancelAnimationFrame(C),H=!1,j=!1,Y=null,X=null,f.removeEventListener("mousemove",J),f.removeEventListener("mouseup",U),f.removeEventListener("touchmove",J),f.removeEventListener("touchend",U)}f.addEventListener("mousemove",J),f.addEventListener("mouseup",U),f.addEventListener("touchmove",J),f.addEventListener("touchend",U)}const v1=()=>!0,UO=e=>({connectionStartHandle:e.connectionStartHandle,connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName}),WO=(e,t,r)=>s=>{const{connectionStartHandle:o,connectionEndHandle:a,connectionClickStartHandle:u}=s;return{connecting:(o==null?void 0:o.nodeId)===e&&(o==null?void 0:o.handleId)===t&&(o==null?void 0:o.type)===r||(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.handleId)===t&&(a==null?void 0:a.type)===r,clickConnecting:(u==null?void 0:u.nodeId)===e&&(u==null?void 0:u.handleId)===t&&(u==null?void 0:u.type)===r}},oj=E.forwardRef(({type:e="source",position:t=Oe.Top,isValidConnection:r,isConnectable:s=!0,isConnectableStart:o=!0,isConnectableEnd:a=!0,id:u,onConnect:c,children:h,className:m,onMouseDown:f,onTouchStart:g,...y},w)=>{var I,A;const N=u||null,b=e==="target",_=jt(),k=OO(),{connectOnClick:S,noPanClassName:C}=rt(UO,Pt),{connecting:T,clickConnecting:M}=rt(WO(k,N,e),Pt);k||(A=(I=_.getState()).onError)==null||A.call(I,"010",Yr.error010());const P=D=>{const{defaultEdgeOptions:H,onConnect:Y,hasDefaultEdges:j}=_.getState(),X={...H,...D};if(j){const{edges:z,setEdges:ne}=_.getState();ne(qO(X,z))}Y==null||Y(X),c==null||c(X)},$=D=>{if(!k)return;const H=KC(D);o&&(H&&D.button===0||!H)&&ij({event:D,handleId:N,nodeId:k,onConnect:P,isTarget:b,getState:_.getState,setState:_.setState,isValidConnection:r||_.getState().isValidConnection||v1}),H?f==null||f(D):g==null||g(D)},W=D=>{const{onClickConnectStart:H,onClickConnectEnd:Y,connectionClickStartHandle:j,connectionMode:X,isValidConnection:z}=_.getState();if(!k||!j&&!o)return;if(!j){H==null||H(D,{nodeId:k,handleId:N,handleType:e}),_.setState({connectionClickStartHandle:{nodeId:k,type:e,handleId:N}});return}const ne=WC(D.target),J=r||z||v1,{connection:U,isValid:Q}=sj({nodeId:k,id:N,type:e},X,j.nodeId,j.handleId||null,j.type,J,ne);Q&&P(U),Y==null||Y(D),_.setState({connectionClickStartHandle:null})};return ce.createElement("div",{"data-handleid":N,"data-nodeid":k,"data-handlepos":t,"data-id":`${k}-${N}-${e}`,className:Wt(["react-flow__handle",`react-flow__handle-${t}`,"nodrag",C,m,{source:!b,target:b,connectable:s,connectablestart:o,connectableend:a,connecting:M,connectionindicator:s&&(o&&!T||a&&T)}]),onMouseDown:$,onTouchStart:$,onClick:S?W:void 0,ref:w,...y},h)});oj.displayName="Handle";var Io=E.memo(oj);const aj=({data:e,isConnectable:t,targetPosition:r=Oe.Top,sourcePosition:s=Oe.Bottom})=>ce.createElement(ce.Fragment,null,ce.createElement(Io,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label,ce.createElement(Io,{type:"source",position:s,isConnectable:t}));aj.displayName="DefaultNode";var by=E.memo(aj);const lj=({data:e,isConnectable:t,sourcePosition:r=Oe.Bottom})=>ce.createElement(ce.Fragment,null,e==null?void 0:e.label,ce.createElement(Io,{type:"source",position:r,isConnectable:t}));lj.displayName="InputNode";var uj=E.memo(lj);const cj=({data:e,isConnectable:t,targetPosition:r=Oe.Top})=>ce.createElement(ce.Fragment,null,ce.createElement(Io,{type:"target",position:r,isConnectable:t}),e==null?void 0:e.label);cj.displayName="OutputNode";var dj=E.memo(cj);const e0=()=>null;e0.displayName="GroupNode";const HO=e=>({selectedNodes:e.getNodes().filter(t=>t.selected),selectedEdges:e.edges.filter(t=>t.selected).map(t=>({...t}))}),Lu=e=>e.id;function GO(e,t){return Pt(e.selectedNodes.map(Lu),t.selectedNodes.map(Lu))&&Pt(e.selectedEdges.map(Lu),t.selectedEdges.map(Lu))}const fj=E.memo(({onSelectionChange:e})=>{const t=jt(),{selectedNodes:r,selectedEdges:s}=rt(HO,GO);return E.useEffect(()=>{const o={nodes:r,edges:s};e==null||e(o),t.getState().onSelectionChange.forEach(a=>a(o))},[r,s,e]),null});fj.displayName="SelectionListener";const VO=e=>!!e.onSelectionChange;function KO({onSelectionChange:e}){const t=rt(VO);return e||t?ce.createElement(fj,{onSelectionChange:e}):null}const YO=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 mo(e,t){E.useEffect(()=>{typeof e<"u"&&t(e)},[e])}function Ge(e,t,r){E.useEffect(()=>{typeof t<"u"&&r({[e]:t})},[t])}const XO=({nodes:e,edges:t,defaultNodes:r,defaultEdges:s,onConnect:o,onConnectStart:a,onConnectEnd:u,onClickConnectStart:c,onClickConnectEnd:h,nodesDraggable:m,nodesConnectable:f,nodesFocusable:g,edgesFocusable:y,edgesUpdatable:w,elevateNodesOnSelect:N,minZoom:b,maxZoom:_,nodeExtent:k,onNodesChange:S,onEdgesChange:C,elementsSelectable:T,connectionMode:M,snapGrid:P,snapToGrid:$,translateExtent:W,connectOnClick:I,defaultEdgeOptions:A,fitView:D,fitViewOptions:H,onNodesDelete:Y,onEdgesDelete:j,onNodeDrag:X,onNodeDragStart:z,onNodeDragStop:ne,onSelectionDrag:J,onSelectionDragStart:U,onSelectionDragStop:Q,noPanClassName:O,nodeOrigin:G,rfId:K,autoPanOnConnect:L,autoPanOnNodeDrag:q,onError:Z,connectionRadius:se,isValidConnection:fe,nodeDragThreshold:he})=>{const{setNodes:ye,setEdges:Re,setDefaultNodesAndEdges:Ue,setMinZoom:De,setMaxZoom:Ie,setTranslateExtent:ke,setNodeExtent:ue,reset:xe}=rt(YO,Pt),we=jt();return E.useEffect(()=>{const Ke=s==null?void 0:s.map(vt=>({...vt,...A}));return Ue(r,Ke),()=>{xe()}},[]),Ge("defaultEdgeOptions",A,we.setState),Ge("connectionMode",M,we.setState),Ge("onConnect",o,we.setState),Ge("onConnectStart",a,we.setState),Ge("onConnectEnd",u,we.setState),Ge("onClickConnectStart",c,we.setState),Ge("onClickConnectEnd",h,we.setState),Ge("nodesDraggable",m,we.setState),Ge("nodesConnectable",f,we.setState),Ge("nodesFocusable",g,we.setState),Ge("edgesFocusable",y,we.setState),Ge("edgesUpdatable",w,we.setState),Ge("elementsSelectable",T,we.setState),Ge("elevateNodesOnSelect",N,we.setState),Ge("snapToGrid",$,we.setState),Ge("snapGrid",P,we.setState),Ge("onNodesChange",S,we.setState),Ge("onEdgesChange",C,we.setState),Ge("connectOnClick",I,we.setState),Ge("fitViewOnInit",D,we.setState),Ge("fitViewOnInitOptions",H,we.setState),Ge("onNodesDelete",Y,we.setState),Ge("onEdgesDelete",j,we.setState),Ge("onNodeDrag",X,we.setState),Ge("onNodeDragStart",z,we.setState),Ge("onNodeDragStop",ne,we.setState),Ge("onSelectionDrag",J,we.setState),Ge("onSelectionDragStart",U,we.setState),Ge("onSelectionDragStop",Q,we.setState),Ge("noPanClassName",O,we.setState),Ge("nodeOrigin",G,we.setState),Ge("rfId",K,we.setState),Ge("autoPanOnConnect",L,we.setState),Ge("autoPanOnNodeDrag",q,we.setState),Ge("onError",Z,we.setState),Ge("connectionRadius",se,we.setState),Ge("isValidConnection",fe,we.setState),Ge("nodeDragThreshold",he,we.setState),mo(e,ye),mo(t,Re),mo(b,De),mo(_,Ie),mo(W,ke),mo(k,ue),null},y1={display:"none"},QO={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},hj="react-flow__node-desc",pj="react-flow__edge-desc",ZO="react-flow__aria-live",JO=e=>e.ariaLiveMessage;function eP({rfId:e}){const t=rt(JO);return ce.createElement("div",{id:`${ZO}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:QO},t)}function tP({rfId:e,disableKeyboardA11y:t}){return ce.createElement(ce.Fragment,null,ce.createElement("div",{id:`${hj}-${e}`,style:y1},"Press enter or space to select a node.",!t&&"You can then use the arrow keys to move the node around."," Press delete to remove it and escape to cancel."," "),ce.createElement("div",{id:`${pj}-${e}`,style:y1},"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel."),!t&&ce.createElement(eP,{rfId:e}))}var Ja=(e=null,t={actInsideInputWithModifier:!0})=>{const[r,s]=E.useState(!1),o=E.useRef(!1),a=E.useRef(new Set([])),[u,c]=E.useMemo(()=>{if(e!==null){const m=(Array.isArray(e)?e:[e]).filter(g=>typeof g=="string").map(g=>g.split("+")),f=m.reduce((g,y)=>g.concat(...y),[]);return[m,f]}return[[],[]]},[e]);return E.useEffect(()=>{const h=typeof document<"u"?document:null,m=(t==null?void 0:t.target)||h;if(e!==null){const f=w=>{if(o.current=w.ctrlKey||w.metaKey||w.shiftKey,(!o.current||o.current&&!t.actInsideInputWithModifier)&&vy(w))return!1;const b=x1(w.code,c);a.current.add(w[b]),w1(u,a.current,!1)&&(w.preventDefault(),s(!0))},g=w=>{if((!o.current||o.current&&!t.actInsideInputWithModifier)&&vy(w))return!1;const b=x1(w.code,c);w1(u,a.current,!0)?(s(!1),a.current.clear()):a.current.delete(w[b]),w.key==="Meta"&&a.current.clear(),o.current=!1},y=()=>{a.current.clear(),s(!1)};return m==null||m.addEventListener("keydown",f),m==null||m.addEventListener("keyup",g),window.addEventListener("blur",y),()=>{m==null||m.removeEventListener("keydown",f),m==null||m.removeEventListener("keyup",g),window.removeEventListener("blur",y)}}},[e,s]),r};function w1(e,t,r){return e.filter(s=>r||s.length===t.size).some(s=>s.every(o=>t.has(o)))}function x1(e,t){return t.includes(e)?"code":"key"}function mj(e,t,r,s){var c,h;const o=e.parentNode||e.parentId;if(!o)return r;const a=t.get(o),u=pi(a,s);return mj(a,t,{x:(r.x??0)+u.x,y:(r.y??0)+u.y,z:(((c=a[St])==null?void 0:c.z)??0)>(r.z??0)?((h=a[St])==null?void 0:h.z)??0:r.z??0},s)}function gj(e,t,r){e.forEach(s=>{var a;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:h}=mj(s,e,{...s.position,z:((a=s[St])==null?void 0:a.z)??0},t);s.positionAbsolute={x:u,y:c},s[St].z=h,r!=null&&r[s.id]&&(s[St].isParent=!0)}})}function Mf(e,t,r,s){const o=new Map,a={},u=s?1e3:0;return e.forEach(c=>{var w;const h=(Pn(c.zIndex)?c.zIndex:0)+(c.selected?u:0),m=t.get(c.id),f={...c,positionAbsolute:{x:c.position.x,y:c.position.y}},g=c.parentNode||c.parentId;g&&(a[g]=!0);const y=(m==null?void 0:m.type)&&(m==null?void 0:m.type)!==c.type;Object.defineProperty(f,St,{enumerable:!1,value:{handleBounds:y||(w=m==null?void 0:m[St])==null?void 0:w.handleBounds,z:h}}),o.set(c.id,f)}),gj(o,r,a),o}function vj(e,t={}){const{getNodes:r,width:s,height:o,minZoom:a,maxZoom:u,d3Zoom:c,d3Selection:h,fitViewOnInitDone:m,fitViewOnInit:f,nodeOrigin:g}=e(),y=t.initial&&!m&&f;if(c&&h&&(y||!t.initial)){const N=r().filter(_=>{var S;const k=t.includeHiddenNodes?_.width&&_.height:!_.hidden;return(S=t.nodes)!=null&&S.length?k&&t.nodes.some(C=>C.id===_.id):k}),b=N.every(_=>_.width&&_.height);if(N.length>0&&b){const _=kc(N,g),{x:k,y:S,zoom:C}=nj(_,s,o,t.minZoom??a,t.maxZoom??u,t.padding??.1),T=Vr.translate(k,S).scale(C);return typeof t.duration=="number"&&t.duration>0?c.transform(ci(h,t.duration),T):c.transform(h,T),!0}}return!1}function nP(e,t){return e.forEach(r=>{const s=t.get(r.id);s&&t.set(s.id,{...s,[St]:s[St],selected:r.selected})}),new Map(t)}function rP(e,t){return t.map(r=>{const s=e.find(o=>o.id===r.id);return s&&(r.selected=s.selected),r})}function qu({changedNodes:e,changedEdges:t,get:r,set:s}){const{nodeInternals:o,edges:a,onNodesChange:u,onEdgesChange:c,hasDefaultNodes:h,hasDefaultEdges:m}=r();e!=null&&e.length&&(h&&s({nodeInternals:nP(e,o)}),u==null||u(e)),t!=null&&t.length&&(m&&s({edges:rP(t,a)}),c==null||c(t))}const go=()=>{},sP={zoomIn:go,zoomOut:go,zoomTo:go,getZoom:()=>1,setViewport:go,getViewport:()=>({x:0,y:0,zoom:1}),fitView:()=>!1,setCenter:go,fitBounds:go,project:e=>e,screenToFlowPosition:e=>e,flowToScreenPosition:e=>e,viewportInitialized:!1},iP=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection}),oP=()=>{const e=jt(),{d3Zoom:t,d3Selection:r}=rt(iP,Pt);return E.useMemo(()=>r&&t?{zoomIn:o=>t.scaleBy(ci(r,o==null?void 0:o.duration),1.2),zoomOut:o=>t.scaleBy(ci(r,o==null?void 0:o.duration),1/1.2),zoomTo:(o,a)=>t.scaleTo(ci(r,a==null?void 0:a.duration),o),getZoom:()=>e.getState().transform[2],setViewport:(o,a)=>{const[u,c,h]=e.getState().transform,m=Vr.translate(o.x??u,o.y??c).scale(o.zoom??h);t.transform(ci(r,a==null?void 0:a.duration),m)},getViewport:()=>{const[o,a,u]=e.getState().transform;return{x:o,y:a,zoom:u}},fitView:o=>vj(e.getState,o),setCenter:(o,a,u)=>{const{width:c,height:h,maxZoom:m}=e.getState(),f=typeof(u==null?void 0:u.zoom)<"u"?u.zoom:m,g=c/2-o*f,y=h/2-a*f,w=Vr.translate(g,y).scale(f);t.transform(ci(r,u==null?void 0:u.duration),w)},fitBounds:(o,a)=>{const{width:u,height:c,minZoom:h,maxZoom:m}=e.getState(),{x:f,y:g,zoom:y}=nj(o,u,c,h,m,(a==null?void 0:a.padding)??.1),w=Vr.translate(f,g).scale(y);t.transform(ci(r,a==null?void 0:a.duration),w)},project:o=>{const{transform:a,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"),xy(o,a,u,c)},screenToFlowPosition:o=>{const{transform:a,snapToGrid:u,snapGrid:c,domNode:h}=e.getState();if(!h)return o;const{x:m,y:f}=h.getBoundingClientRect(),g={x:o.x-m,y:o.y-f};return xy(g,a,u,c)},flowToScreenPosition:o=>{const{transform:a,domNode:u}=e.getState();if(!u)return o;const{x:c,y:h}=u.getBoundingClientRect(),m=JC(o,a);return{x:m.x+c,y:m.y+h}},viewportInitialized:!0}:sP,[t,r])};function ul(){const e=oP(),t=jt(),r=E.useCallback(()=>t.getState().getNodes().map(b=>({...b})),[]),s=E.useCallback(b=>t.getState().nodeInternals.get(b),[]),o=E.useCallback(()=>{const{edges:b=[]}=t.getState();return b.map(_=>({..._}))},[]),a=E.useCallback(b=>{const{edges:_=[]}=t.getState();return _.find(k=>k.id===b)},[]),u=E.useCallback(b=>{const{getNodes:_,setNodes:k,hasDefaultNodes:S,onNodesChange:C}=t.getState(),T=_(),M=typeof b=="function"?b(T):b;if(S)k(M);else if(C){const P=M.length===0?T.map($=>({type:"remove",id:$.id})):M.map($=>({item:$,type:"reset"}));C(P)}},[]),c=E.useCallback(b=>{const{edges:_=[],setEdges:k,hasDefaultEdges:S,onEdgesChange:C}=t.getState(),T=typeof b=="function"?b(_):b;if(S)k(T);else if(C){const M=T.length===0?_.map(P=>({type:"remove",id:P.id})):T.map(P=>({item:P,type:"reset"}));C(M)}},[]),h=E.useCallback(b=>{const _=Array.isArray(b)?b:[b],{getNodes:k,setNodes:S,hasDefaultNodes:C,onNodesChange:T}=t.getState();if(C){const P=[...k(),..._];S(P)}else if(T){const M=_.map(P=>({item:P,type:"add"}));T(M)}},[]),m=E.useCallback(b=>{const _=Array.isArray(b)?b:[b],{edges:k=[],setEdges:S,hasDefaultEdges:C,onEdgesChange:T}=t.getState();if(C)S([...k,..._]);else if(T){const M=_.map(P=>({item:P,type:"add"}));T(M)}},[]),f=E.useCallback(()=>{const{getNodes:b,edges:_=[],transform:k}=t.getState(),[S,C,T]=k;return{nodes:b().map(M=>({...M})),edges:_.map(M=>({...M})),viewport:{x:S,y:C,zoom:T}}},[]),g=E.useCallback(({nodes:b,edges:_})=>{const{nodeInternals:k,getNodes:S,edges:C,hasDefaultNodes:T,hasDefaultEdges:M,onNodesDelete:P,onEdgesDelete:$,onNodesChange:W,onEdgesChange:I}=t.getState(),A=(b||[]).map(X=>X.id),D=(_||[]).map(X=>X.id),H=S().reduce((X,z)=>{const ne=z.parentNode||z.parentId,J=!A.includes(z.id)&&ne&&X.find(Q=>Q.id===ne);return(typeof z.deletable=="boolean"?z.deletable:!0)&&(A.includes(z.id)||J)&&X.push(z),X},[]),Y=C.filter(X=>typeof X.deletable=="boolean"?X.deletable:!0),j=Y.filter(X=>D.includes(X.id));if(H||j){const X=tj(H,Y),z=[...j,...X],ne=z.reduce((J,U)=>(J.includes(U.id)||J.push(U.id),J),[]);if((M||T)&&(M&&t.setState({edges:C.filter(J=>!ne.includes(J.id))}),T&&(H.forEach(J=>{k.delete(J.id)}),t.setState({nodeInternals:new Map(k)}))),ne.length>0&&($==null||$(z),I&&I(ne.map(J=>({id:J,type:"remove"})))),H.length>0&&(P==null||P(H),W)){const J=H.map(U=>({id:U.id,type:"remove"}));W(J)}}},[]),y=E.useCallback(b=>{const _=EO(b),k=_?null:t.getState().nodeInternals.get(b.id);return!_&&!k?[null,null,_]:[_?b:d1(k),k,_]},[]),w=E.useCallback((b,_=!0,k)=>{const[S,C,T]=y(b);return S?(k||t.getState().getNodes()).filter(M=>{if(!T&&(M.id===C.id||!M.positionAbsolute))return!1;const P=d1(M),$=gy(P,S);return _&&$>0||$>=S.width*S.height}):[]},[]),N=E.useCallback((b,_,k=!0)=>{const[S]=y(b);if(!S)return!1;const C=gy(S,_);return k&&C>0||C>=S.width*S.height},[]);return E.useMemo(()=>({...e,getNodes:r,getNode:s,getEdges:o,getEdge:a,setNodes:u,setEdges:c,addNodes:h,addEdges:m,toObject:f,deleteElements:g,getIntersectingNodes:w,isNodeIntersecting:N}),[e,r,s,o,a,u,c,h,m,f,g,w,N])}const aP={actInsideInputWithModifier:!1};var lP=({deleteKeyCode:e,multiSelectionKeyCode:t})=>{const r=jt(),{deleteElements:s}=ul(),o=Ja(e,aP),a=Ja(t);E.useEffect(()=>{if(o){const{edges:u,getNodes:c}=r.getState(),h=c().filter(f=>f.selected),m=u.filter(f=>f.selected);s({nodes:h,edges:m}),r.setState({nodesSelectionActive:!1})}},[o]),E.useEffect(()=>{r.setState({multiSelectionActive:a})},[a])};function uP(e){const t=jt();E.useEffect(()=>{let r;const s=()=>{var a,u;if(!e.current)return;const o=Vy(e.current);(o.height===0||o.width===0)&&((u=(a=t.getState()).onError)==null||u.call(a,"004",Yr.error004())),t.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 t0={position:"absolute",width:"100%",height:"100%",top:0,left:0},cP=(e,t)=>e.x!==t.x||e.y!==t.y||e.zoom!==t.k,Du=e=>({x:e.x,y:e.y,zoom:e.k}),vo=(e,t)=>e.target.closest(`.${t}`),b1=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),_1=e=>{const t=e.ctrlKey&&ac()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t},dP=e=>({d3Zoom:e.d3Zoom,d3Selection:e.d3Selection,d3ZoomHandler:e.d3ZoomHandler,userSelectionActive:e.userSelectionActive}),fP=({onMove:e,onMoveStart:t,onMoveEnd:r,onPaneContextMenu:s,zoomOnScroll:o=!0,zoomOnPinch:a=!0,panOnScroll:u=!1,panOnScrollSpeed:c=.5,panOnScrollMode:h=fi.Free,zoomOnDoubleClick:m=!0,elementsSelectable:f,panOnDrag:g=!0,defaultViewport:y,translateExtent:w,minZoom:N,maxZoom:b,zoomActivationKeyCode:_,preventScrolling:k=!0,children:S,noWheelClassName:C,noPanClassName:T})=>{const M=E.useRef(),P=jt(),$=E.useRef(!1),W=E.useRef(!1),I=E.useRef(null),A=E.useRef({x:0,y:0,zoom:0}),{d3Zoom:D,d3Selection:H,d3ZoomHandler:Y,userSelectionActive:j}=rt(dP,Pt),X=Ja(_),z=E.useRef(0),ne=E.useRef(!1),J=E.useRef();return uP(I),E.useEffect(()=>{if(I.current){const U=I.current.getBoundingClientRect(),Q=zC().scaleExtent([N,b]).translateExtent(w),O=On(I.current).call(Q),G=Vr.translate(y.x,y.y).scale(Mo(y.zoom,N,b)),K=[[0,0],[U.width,U.height]],L=Q.constrain()(G,K,w);Q.transform(O,L),Q.wheelDelta(_1),P.setState({d3Zoom:Q,d3Selection:O,d3ZoomHandler:O.on("wheel.zoom"),transform:[L.x,L.y,L.k],domNode:I.current.closest(".react-flow")})}},[]),E.useEffect(()=>{H&&D&&(u&&!X&&!j?H.on("wheel.zoom",U=>{if(vo(U,C))return!1;U.preventDefault(),U.stopImmediatePropagation();const Q=H.property("__zoom").k||1;if(U.ctrlKey&&a){const fe=tr(U),he=_1(U),ye=Q*Math.pow(2,he);D.scaleTo(H,ye,fe,U);return}const O=U.deltaMode===1?20:1;let G=h===fi.Vertical?0:U.deltaX*O,K=h===fi.Horizontal?0:U.deltaY*O;!ac()&&U.shiftKey&&h!==fi.Vertical&&(G=U.deltaY*O,K=0),D.translateBy(H,-(G/Q)*c,-(K/Q)*c,{internal:!0});const L=Du(H.property("__zoom")),{onViewportChangeStart:q,onViewportChange:Z,onViewportChangeEnd:se}=P.getState();clearTimeout(J.current),ne.current||(ne.current=!0,t==null||t(U,L),q==null||q(L)),ne.current&&(e==null||e(U,L),Z==null||Z(L),J.current=setTimeout(()=>{r==null||r(U,L),se==null||se(L),ne.current=!1},150))},{passive:!1}):typeof Y<"u"&&H.on("wheel.zoom",function(U,Q){if(!k&&U.type==="wheel"&&!U.ctrlKey||vo(U,C))return null;U.preventDefault(),Y.call(this,U,Q)},{passive:!1}))},[j,u,h,H,D,Y,X,a,k,C,t,e,r]),E.useEffect(()=>{D&&D.on("start",U=>{var G,K;if(!U.sourceEvent||U.sourceEvent.internal)return null;z.current=(G=U.sourceEvent)==null?void 0:G.button;const{onViewportChangeStart:Q}=P.getState(),O=Du(U.transform);$.current=!0,A.current=O,((K=U.sourceEvent)==null?void 0:K.type)==="mousedown"&&P.setState({paneDragging:!0}),Q==null||Q(O),t==null||t(U.sourceEvent,O)})},[D,t]),E.useEffect(()=>{D&&(j&&!$.current?D.on("zoom",null):j||D.on("zoom",U=>{var O;const{onViewportChange:Q}=P.getState();if(P.setState({transform:[U.transform.x,U.transform.y,U.transform.k]}),W.current=!!(s&&b1(g,z.current??0)),(e||Q)&&!((O=U.sourceEvent)!=null&&O.internal)){const G=Du(U.transform);Q==null||Q(G),e==null||e(U.sourceEvent,G)}}))},[j,D,e,g,s]),E.useEffect(()=>{D&&D.on("end",U=>{if(!U.sourceEvent||U.sourceEvent.internal)return null;const{onViewportChangeEnd:Q}=P.getState();if($.current=!1,P.setState({paneDragging:!1}),s&&b1(g,z.current??0)&&!W.current&&s(U.sourceEvent),W.current=!1,(r||Q)&&cP(A.current,U.transform)){const O=Du(U.transform);A.current=O,clearTimeout(M.current),M.current=setTimeout(()=>{Q==null||Q(O),r==null||r(U.sourceEvent,O)},u?150:0)}})},[D,u,g,r,s]),E.useEffect(()=>{D&&D.filter(U=>{const Q=X||o,O=a&&U.ctrlKey;if((g===!0||Array.isArray(g)&&g.includes(1))&&U.button===1&&U.type==="mousedown"&&(vo(U,"react-flow__node")||vo(U,"react-flow__edge")))return!0;if(!g&&!Q&&!u&&!m&&!a||j||!m&&U.type==="dblclick"||vo(U,C)&&U.type==="wheel"||vo(U,T)&&(U.type!=="wheel"||u&&U.type==="wheel"&&!X)||!a&&U.ctrlKey&&U.type==="wheel"||!Q&&!u&&!O&&U.type==="wheel"||!g&&(U.type==="mousedown"||U.type==="touchstart")||Array.isArray(g)&&!g.includes(U.button)&&U.type==="mousedown")return!1;const G=Array.isArray(g)&&g.includes(U.button)||!U.button||U.button<=1;return(!U.ctrlKey||U.type==="wheel")&&G})},[j,D,o,a,u,m,g,f,X]),ce.createElement("div",{className:"react-flow__renderer",ref:I,style:t0},S)},hP=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function pP(){const{userSelectionActive:e,userSelectionRect:t}=rt(hP,Pt);return e&&t?ce.createElement("div",{className:"react-flow__selection react-flow__container",style:{width:t.width,height:t.height,transform:`translate(${t.x}px, ${t.y}px)`}}):null}function k1(e,t){const r=t.parentNode||t.parentId,s=e.find(o=>o.id===r);if(s){const o=t.position.x+t.width-s.width,a=t.position.y+t.height-s.height;if(o>0||a>0||t.position.x<0||t.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),a>0&&(s.style.height+=a),t.position.x<0){const u=Math.abs(t.position.x);s.position.x=s.position.x-u,s.style.width+=u,t.position.x=0}if(t.position.y<0){const u=Math.abs(t.position.y);s.position.y=s.position.y-u,s.style.height+=u,t.position.y=0}s.width=s.style.width,s.height=s.style.height}}}function mP(e,t){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 t.reduce((s,o)=>{const a=e.filter(c=>c.id===o.id);if(a.length===0)return s.push(o),s;const u={...o};for(const c of a)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&&k1(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&&k1(s,u);break}case"remove":return s}return s.push(u),s},r)}function gP(e,t){return mP(e,t)}const Cs=(e,t)=>({id:e,type:"select",selected:t});function _o(e,t){return e.reduce((r,s)=>{const o=t.includes(s.id);return!s.selected&&o?(s.selected=!0,r.push(Cs(s.id,!0))):s.selected&&!o&&(s.selected=!1,r.push(Cs(s.id,!1))),r},[])}const If=(e,t)=>r=>{r.target===t.current&&(e==null||e(r))},vP=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging}),yj=E.memo(({isSelecting:e,selectionMode:t=Za.Full,panOnDrag:r,onSelectionStart:s,onSelectionEnd:o,onPaneClick:a,onPaneContextMenu:u,onPaneScroll:c,onPaneMouseEnter:h,onPaneMouseMove:m,onPaneMouseLeave:f,children:g})=>{const y=E.useRef(null),w=jt(),N=E.useRef(0),b=E.useRef(0),_=E.useRef(),{userSelectionActive:k,elementsSelectable:S,dragging:C}=rt(vP,Pt),T=()=>{w.setState({userSelectionActive:!1,userSelectionRect:null}),N.current=0,b.current=0},M=Y=>{a==null||a(Y),w.getState().resetSelectedElements(),w.setState({nodesSelectionActive:!1})},P=Y=>{if(Array.isArray(r)&&(r!=null&&r.includes(2))){Y.preventDefault();return}u==null||u(Y)},$=c?Y=>c(Y):void 0,W=Y=>{const{resetSelectedElements:j,domNode:X}=w.getState();if(_.current=X==null?void 0:X.getBoundingClientRect(),!S||!e||Y.button!==0||Y.target!==y.current||!_.current)return;const{x:z,y:ne}=Ts(Y,_.current);j(),w.setState({userSelectionRect:{width:0,height:0,startX:z,startY:ne,x:z,y:ne}}),s==null||s(Y)},I=Y=>{const{userSelectionRect:j,nodeInternals:X,edges:z,transform:ne,onNodesChange:J,onEdgesChange:U,nodeOrigin:Q,getNodes:O}=w.getState();if(!e||!_.current||!j)return;w.setState({userSelectionActive:!0,nodesSelectionActive:!1});const G=Ts(Y,_.current),K=j.startX??0,L=j.startY??0,q={...j,x:G.x<K?G.x:K,y:G.y<L?G.y:L,width:Math.abs(G.x-K),height:Math.abs(G.y-L)},Z=O(),se=ej(X,q,ne,t===Za.Partial,!0,Q),fe=tj(se,z).map(ye=>ye.id),he=se.map(ye=>ye.id);if(N.current!==he.length){N.current=he.length;const ye=_o(Z,he);ye.length&&(J==null||J(ye))}if(b.current!==fe.length){b.current=fe.length;const ye=_o(z,fe);ye.length&&(U==null||U(ye))}w.setState({userSelectionRect:q})},A=Y=>{if(Y.button!==0)return;const{userSelectionRect:j}=w.getState();!k&&j&&Y.target===y.current&&(M==null||M(Y)),w.setState({nodesSelectionActive:N.current>0}),T(),o==null||o(Y)},D=Y=>{k&&(w.setState({nodesSelectionActive:N.current>0}),o==null||o(Y)),T()},H=S&&(e||k);return ce.createElement("div",{className:Wt(["react-flow__pane",{dragging:C,selection:e}]),onClick:H?void 0:If(M,y),onContextMenu:If(P,y),onWheel:If($,y),onMouseEnter:H?void 0:h,onMouseDown:H?W:void 0,onMouseMove:H?I:m,onMouseUp:H?A:void 0,onMouseLeave:H?D:f,ref:y,style:t0},g,ce.createElement(pP,null))});yj.displayName="Pane";function wj(e,t){const r=e.parentNode||e.parentId;if(!r)return!1;const s=t.get(r);return s?s.selected?!0:wj(s,t):!1}function S1(e,t,r){let s=e;do{if(s!=null&&s.matches(t))return!0;if(s===r.current)return!1;s=s.parentElement}while(s);return!1}function yP(e,t,r,s){return Array.from(e.values()).filter(o=>(o.selected||o.id===s)&&(!o.parentNode||o.parentId||!wj(o,e))&&(o.draggable||t&&typeof o.draggable>"u")).map(o=>{var a,u;return{id:o.id,position:o.position||{x:0,y:0},positionAbsolute:o.positionAbsolute||{x:0,y:0},distance:{x:r.x-(((a=o.positionAbsolute)==null?void 0:a.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 wP(e,t){return!t||t==="parent"?t:[t[0],[t[1][0]-(e.width||0),t[1][1]-(e.height||0)]]}function xj(e,t,r,s,o=[0,0],a){const u=wP(e,e.extent||s);let c=u;const h=e.parentNode||e.parentId;if(e.extent==="parent"&&!e.expandParent)if(h&&e.width&&e.height){const g=r.get(h),{x:y,y:w}=pi(g,o).positionAbsolute;c=g&&Pn(y)&&Pn(w)&&Pn(g.width)&&Pn(g.height)?[[y+e.width*o[0],w+e.height*o[1]],[y+g.width-e.width+e.width*o[0],w+g.height-e.height+e.height*o[1]]]:c}else a==null||a("005",Yr.error005()),c=u;else if(e.extent&&h&&e.extent!=="parent"){const g=r.get(h),{x:y,y:w}=pi(g,o).positionAbsolute;c=[[e.extent[0][0]+y,e.extent[0][1]+w],[e.extent[1][0]+y,e.extent[1][1]+w]]}let m={x:0,y:0};if(h){const g=r.get(h);m=pi(g,o).positionAbsolute}const f=c&&c!=="parent"?Ky(t,c):t;return{position:{x:f.x-m.x,y:f.y-m.y},positionAbsolute:f}}function Of({nodeId:e,dragItems:t,nodeInternals:r}){const s=t.map(o=>({...r.get(o.id),position:o.position,positionAbsolute:o.positionAbsolute}));return[e?s.find(o=>o.id===e):s[0],s]}const N1=(e,t,r,s)=>{const o=t.querySelectorAll(e);if(!o||!o.length)return null;const a=Array.from(o),u=t.getBoundingClientRect(),c={x:u.width*s[0],y:u.height*s[1]};return a.map(h=>{const m=h.getBoundingClientRect();return{id:h.getAttribute("data-handleid"),position:h.getAttribute("data-handlepos"),x:(m.left-u.left-c.x)/r,y:(m.top-u.top-c.y)/r,...Vy(h)}})};function Pa(e,t,r){return r===void 0?r:s=>{const o=t().nodeInternals.get(e);o&&r(s,{...o})}}function _y({id:e,store:t,unselect:r=!1,nodeRef:s}){const{addSelectedNodes:o,unselectNodesAndEdges:a,multiSelectionActive:u,nodeInternals:c,onError:h}=t.getState(),m=c.get(e);if(!m){h==null||h("012",Yr.error012(e));return}t.setState({nodesSelectionActive:!1}),m.selected?(r||m.selected&&u)&&(a({nodes:[m],edges:[]}),requestAnimationFrame(()=>{var f;return(f=s==null?void 0:s.current)==null?void 0:f.blur()})):o([e])}function xP(){const e=jt();return E.useCallback(({sourceEvent:r})=>{const{transform:s,snapGrid:o,snapToGrid:a}=e.getState(),u=r.touches?r.touches[0].clientX:r.clientX,c=r.touches?r.touches[0].clientY:r.clientY,h={x:(u-s[0])/s[2],y:(c-s[1])/s[2]};return{xSnapped:a?o[0]*Math.round(h.x/o[0]):h.x,ySnapped:a?o[1]*Math.round(h.y/o[1]):h.y,...h}},[])}function Pf(e){return(t,r,s)=>e==null?void 0:e(t,s)}function bj({nodeRef:e,disabled:t=!1,noDragClassName:r,handleSelector:s,nodeId:o,isSelectable:a,selectNodesOnDrag:u}){const c=jt(),[h,m]=E.useState(!1),f=E.useRef([]),g=E.useRef({x:null,y:null}),y=E.useRef(0),w=E.useRef(null),N=E.useRef({x:0,y:0}),b=E.useRef(null),_=E.useRef(!1),k=E.useRef(!1),S=E.useRef(!1),C=xP();return E.useEffect(()=>{if(e!=null&&e.current){const T=On(e.current),M=({x:W,y:I})=>{const{nodeInternals:A,onNodeDrag:D,onSelectionDrag:H,updateNodePositions:Y,nodeExtent:j,snapGrid:X,snapToGrid:z,nodeOrigin:ne,onError:J}=c.getState();g.current={x:W,y:I};let U=!1,Q={x:0,y:0,x2:0,y2:0};if(f.current.length>1&&j){const G=kc(f.current,ne);Q=Qa(G)}if(f.current=f.current.map(G=>{const K={x:W-G.distance.x,y:I-G.distance.y};z&&(K.x=X[0]*Math.round(K.x/X[0]),K.y=X[1]*Math.round(K.y/X[1]));const L=[[j[0][0],j[0][1]],[j[1][0],j[1][1]]];f.current.length>1&&j&&!G.extent&&(L[0][0]=G.positionAbsolute.x-Q.x+j[0][0],L[1][0]=G.positionAbsolute.x+(G.width??0)-Q.x2+j[1][0],L[0][1]=G.positionAbsolute.y-Q.y+j[0][1],L[1][1]=G.positionAbsolute.y+(G.height??0)-Q.y2+j[1][1]);const q=xj(G,K,A,L,ne,J);return U=U||G.position.x!==q.position.x||G.position.y!==q.position.y,G.position=q.position,G.positionAbsolute=q.positionAbsolute,G}),!U)return;Y(f.current,!0,!0),m(!0);const O=o?D:Pf(H);if(O&&b.current){const[G,K]=Of({nodeId:o,dragItems:f.current,nodeInternals:A});O(b.current,G,K)}},P=()=>{if(!w.current)return;const[W,I]=UC(N.current,w.current);if(W!==0||I!==0){const{transform:A,panBy:D}=c.getState();g.current.x=(g.current.x??0)-W/A[2],g.current.y=(g.current.y??0)-I/A[2],D({x:W,y:I})&&M(g.current)}y.current=requestAnimationFrame(P)},$=W=>{var ne;const{nodeInternals:I,multiSelectionActive:A,nodesDraggable:D,unselectNodesAndEdges:H,onNodeDragStart:Y,onSelectionDragStart:j}=c.getState();k.current=!0;const X=o?Y:Pf(j);(!u||!a)&&!A&&o&&((ne=I.get(o))!=null&&ne.selected||H()),o&&a&&u&&_y({id:o,store:c,nodeRef:e});const z=C(W);if(g.current=z,f.current=yP(I,D,z,o),X&&f.current){const[J,U]=Of({nodeId:o,dragItems:f.current,nodeInternals:I});X(W.sourceEvent,J,U)}};if(t)T.on(".drag",null);else{const W=TM().on("start",I=>{const{domNode:A,nodeDragThreshold:D}=c.getState();D===0&&$(I),S.current=!1;const H=C(I);g.current=H,w.current=(A==null?void 0:A.getBoundingClientRect())||null,N.current=Ts(I.sourceEvent,w.current)}).on("drag",I=>{var Y,j;const A=C(I),{autoPanOnNodeDrag:D,nodeDragThreshold:H}=c.getState();if(I.sourceEvent.type==="touchmove"&&I.sourceEvent.touches.length>1&&(S.current=!0),!S.current){if(!_.current&&k.current&&D&&(_.current=!0,P()),!k.current){const X=A.xSnapped-(((Y=g==null?void 0:g.current)==null?void 0:Y.x)??0),z=A.ySnapped-(((j=g==null?void 0:g.current)==null?void 0:j.y)??0);Math.sqrt(X*X+z*z)>H&&$(I)}(g.current.x!==A.xSnapped||g.current.y!==A.ySnapped)&&f.current&&k.current&&(b.current=I.sourceEvent,N.current=Ts(I.sourceEvent,w.current),M(A))}}).on("end",I=>{if(!(!k.current||S.current)&&(m(!1),_.current=!1,k.current=!1,cancelAnimationFrame(y.current),f.current)){const{updateNodePositions:A,nodeInternals:D,onNodeDragStop:H,onSelectionDragStop:Y}=c.getState(),j=o?H:Pf(Y);if(A(f.current,!1,!1),j){const[X,z]=Of({nodeId:o,dragItems:f.current,nodeInternals:D});j(I.sourceEvent,X,z)}}}).filter(I=>{const A=I.target;return!I.button&&(!r||!S1(A,`.${r}`,e))&&(!s||S1(A,s,e))});return T.call(W),()=>{T.on(".drag",null)}}}},[e,t,r,s,a,c,o,u,C]),h}function _j(){const e=jt();return E.useCallback(r=>{const{nodeInternals:s,nodeExtent:o,updateNodePositions:a,getNodes:u,snapToGrid:c,snapGrid:h,onError:m,nodesDraggable:f}=e.getState(),g=u().filter(S=>S.selected&&(S.draggable||f&&typeof S.draggable>"u")),y=c?h[0]:5,w=c?h[1]:5,N=r.isShiftPressed?4:1,b=r.x*y*N,_=r.y*w*N,k=g.map(S=>{if(S.positionAbsolute){const C={x:S.positionAbsolute.x+b,y:S.positionAbsolute.y+_};c&&(C.x=h[0]*Math.round(C.x/h[0]),C.y=h[1]*Math.round(C.y/h[1]));const{positionAbsolute:T,position:M}=xj(S,C,s,o,void 0,m);S.position=M,S.positionAbsolute=T}return S});a(k,!0,!1)},[])}const Co={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}};var $a=e=>{const t=({id:r,type:s,data:o,xPos:a,yPos:u,xPosOrigin:c,yPosOrigin:h,selected:m,onClick:f,onMouseEnter:g,onMouseMove:y,onMouseLeave:w,onContextMenu:N,onDoubleClick:b,style:_,className:k,isDraggable:S,isSelectable:C,isConnectable:T,isFocusable:M,selectNodesOnDrag:P,sourcePosition:$,targetPosition:W,hidden:I,resizeObserver:A,dragHandle:D,zIndex:H,isParent:Y,noDragClassName:j,noPanClassName:X,initialized:z,disableKeyboardA11y:ne,ariaLabel:J,rfId:U,hasHandleBounds:Q})=>{const O=jt(),G=E.useRef(null),K=E.useRef(null),L=E.useRef($),q=E.useRef(W),Z=E.useRef(s),se=C||S||f||g||y||w,fe=_j(),he=Pa(r,O.getState,g),ye=Pa(r,O.getState,y),Re=Pa(r,O.getState,w),Ue=Pa(r,O.getState,N),De=Pa(r,O.getState,b),Ie=xe=>{const{nodeDragThreshold:we}=O.getState();if(C&&(!P||!S||we>0)&&_y({id:r,store:O,nodeRef:G}),f){const Ke=O.getState().nodeInternals.get(r);Ke&&f(xe,{...Ke})}},ke=xe=>{if(!vy(xe)&&!ne)if(VC.includes(xe.key)&&C){const we=xe.key==="Escape";_y({id:r,store:O,unselect:we,nodeRef:G})}else S&&m&&Object.prototype.hasOwnProperty.call(Co,xe.key)&&(O.setState({ariaLiveMessage:`Moved selected node ${xe.key.replace("Arrow","").toLowerCase()}. New position, x: ${~~a}, y: ${~~u}`}),fe({x:Co[xe.key].x,y:Co[xe.key].y,isShiftPressed:xe.shiftKey}))};E.useEffect(()=>()=>{K.current&&(A==null||A.unobserve(K.current),K.current=null)},[]),E.useEffect(()=>{if(G.current&&!I){const xe=G.current;(!z||!Q||K.current!==xe)&&(K.current&&(A==null||A.unobserve(K.current)),A==null||A.observe(xe),K.current=xe)}},[I,z,Q]),E.useEffect(()=>{const xe=Z.current!==s,we=L.current!==$,Ke=q.current!==W;G.current&&(xe||we||Ke)&&(xe&&(Z.current=s),we&&(L.current=$),Ke&&(q.current=W),O.getState().updateNodeDimensions([{id:r,nodeElement:G.current,forceUpdate:!0}]))},[r,s,$,W]);const ue=bj({nodeRef:G,disabled:I||!S,noDragClassName:j,handleSelector:D,nodeId:r,isSelectable:C,selectNodesOnDrag:P});return I?null:ce.createElement("div",{className:Wt(["react-flow__node",`react-flow__node-${s}`,{[X]:S},k,{selected:m,selectable:C,parent:Y,dragging:ue}]),ref:G,style:{zIndex:H,transform:`translate(${c}px,${h}px)`,pointerEvents:se?"all":"none",visibility:z?"visible":"hidden",..._},"data-id":r,"data-testid":`rf__node-${r}`,onMouseEnter:he,onMouseMove:ye,onMouseLeave:Re,onContextMenu:Ue,onClick:Ie,onDoubleClick:De,onKeyDown:M?ke:void 0,tabIndex:M?0:void 0,role:M?"button":void 0,"aria-describedby":ne?void 0:`${hj}-${U}`,"aria-label":J},ce.createElement(IO,{value:r},ce.createElement(e,{id:r,data:o,type:s,xPos:a,yPos:u,selected:m,isConnectable:T,sourcePosition:$,targetPosition:W,dragging:ue,dragHandle:D,zIndex:H})))};return t.displayName="NodeWrapper",E.memo(t)};const bP=e=>{const t=e.getNodes().filter(r=>r.selected);return{...kc(t,e.nodeOrigin),transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`,userSelectionActive:e.userSelectionActive}};function _P({onSelectionContextMenu:e,noPanClassName:t,disableKeyboardA11y:r}){const s=jt(),{width:o,height:a,x:u,y:c,transformString:h,userSelectionActive:m}=rt(bP,Pt),f=_j(),g=E.useRef(null);if(E.useEffect(()=>{var N;r||(N=g.current)==null||N.focus({preventScroll:!0})},[r]),bj({nodeRef:g}),m||!o||!a)return null;const y=e?N=>{const b=s.getState().getNodes().filter(_=>_.selected);e(N,b)}:void 0,w=N=>{Object.prototype.hasOwnProperty.call(Co,N.key)&&f({x:Co[N.key].x,y:Co[N.key].y,isShiftPressed:N.shiftKey})};return ce.createElement("div",{className:Wt(["react-flow__nodesselection","react-flow__container",t]),style:{transform:h}},ce.createElement("div",{ref:g,className:"react-flow__nodesselection-rect",onContextMenu:y,tabIndex:r?void 0:-1,onKeyDown:r?void 0:w,style:{width:o,height:a,top:c,left:u}}))}var kP=E.memo(_P);const SP=e=>e.nodesSelectionActive,kj=({children:e,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:a,onPaneScroll:u,deleteKeyCode:c,onMove:h,onMoveStart:m,onMoveEnd:f,selectionKeyCode:g,selectionOnDrag:y,selectionMode:w,onSelectionStart:N,onSelectionEnd:b,multiSelectionKeyCode:_,panActivationKeyCode:k,zoomActivationKeyCode:S,elementsSelectable:C,zoomOnScroll:T,zoomOnPinch:M,panOnScroll:P,panOnScrollSpeed:$,panOnScrollMode:W,zoomOnDoubleClick:I,panOnDrag:A,defaultViewport:D,translateExtent:H,minZoom:Y,maxZoom:j,preventScrolling:X,onSelectionContextMenu:z,noWheelClassName:ne,noPanClassName:J,disableKeyboardA11y:U})=>{const Q=rt(SP),O=Ja(g),G=Ja(k),K=G||A,L=G||P,q=O||y&&K!==!0;return lP({deleteKeyCode:c,multiSelectionKeyCode:_}),ce.createElement(fP,{onMove:h,onMoveStart:m,onMoveEnd:f,onPaneContextMenu:a,elementsSelectable:C,zoomOnScroll:T,zoomOnPinch:M,panOnScroll:L,panOnScrollSpeed:$,panOnScrollMode:W,zoomOnDoubleClick:I,panOnDrag:!O&&K,defaultViewport:D,translateExtent:H,minZoom:Y,maxZoom:j,zoomActivationKeyCode:S,preventScrolling:X,noWheelClassName:ne,noPanClassName:J},ce.createElement(yj,{onSelectionStart:N,onSelectionEnd:b,onPaneClick:t,onPaneMouseEnter:r,onPaneMouseMove:s,onPaneMouseLeave:o,onPaneContextMenu:a,onPaneScroll:u,panOnDrag:K,isSelecting:!!q,selectionMode:w},e,Q&&ce.createElement(kP,{onSelectionContextMenu:z,noPanClassName:J,disableKeyboardA11y:U})))};kj.displayName="FlowRenderer";var NP=E.memo(kj);function EP(e){return rt(E.useCallback(r=>e?ej(r.nodeInternals,{x:0,y:0,width:r.width,height:r.height},r.transform,!0):r.getNodes(),[e]))}function CP(e){const t={input:$a(e.input||uj),default:$a(e.default||by),output:$a(e.output||dj),group:$a(e.group||e0)},r={},s=Object.keys(e).filter(o=>!["input","default","output","group"].includes(o)).reduce((o,a)=>(o[a]=$a(e[a]||by),o),r);return{...t,...s}}const jP=({x:e,y:t,width:r,height:s,origin:o})=>!r||!s?{x:e,y:t}:o[0]<0||o[1]<0||o[0]>1||o[1]>1?{x:e,y:t}:{x:e-r*o[0],y:t-s*o[1]},TP=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,updateNodeDimensions:e.updateNodeDimensions,onError:e.onError}),Sj=e=>{const{nodesDraggable:t,nodesConnectable:r,nodesFocusable:s,elementsSelectable:o,updateNodeDimensions:a,onError:u}=rt(TP,Pt),c=EP(e.onlyRenderVisibleElements),h=E.useRef(),m=E.useMemo(()=>{if(typeof ResizeObserver>"u")return null;const f=new ResizeObserver(g=>{const y=g.map(w=>({id:w.target.getAttribute("data-id"),nodeElement:w.target,forceUpdate:!0}));a(y)});return h.current=f,f},[]);return E.useEffect(()=>()=>{var f;(f=h==null?void 0:h.current)==null||f.disconnect()},[]),ce.createElement("div",{className:"react-flow__nodes",style:t0},c.map(f=>{var M,P,$;let g=f.type||"default";e.nodeTypes[g]||(u==null||u("003",Yr.error003(g)),g="default");const y=e.nodeTypes[g]||e.nodeTypes.default,w=!!(f.draggable||t&&typeof f.draggable>"u"),N=!!(f.selectable||o&&typeof f.selectable>"u"),b=!!(f.connectable||r&&typeof f.connectable>"u"),_=!!(f.focusable||s&&typeof f.focusable>"u"),k=e.nodeExtent?Ky(f.positionAbsolute,e.nodeExtent):f.positionAbsolute,S=(k==null?void 0:k.x)??0,C=(k==null?void 0:k.y)??0,T=jP({x:S,y:C,width:f.width??0,height:f.height??0,origin:e.nodeOrigin});return ce.createElement(y,{key:f.id,id:f.id,className:f.className,style:f.style,type:g,data:f.data,sourcePosition:f.sourcePosition||Oe.Bottom,targetPosition:f.targetPosition||Oe.Top,hidden:f.hidden,xPos:S,yPos:C,xPosOrigin:T.x,yPosOrigin:T.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:w,isSelectable:N,isConnectable:b,isFocusable:_,resizeObserver:m,dragHandle:f.dragHandle,zIndex:((M=f[St])==null?void 0:M.z)??0,isParent:!!((P=f[St])!=null&&P.isParent),noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,initialized:!!f.width&&!!f.height,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,ariaLabel:f.ariaLabel,hasHandleBounds:!!(($=f[St])!=null&&$.handleBounds)})}))};Sj.displayName="NodeRenderer";var RP=E.memo(Sj);const AP=(e,t,r)=>r===Oe.Left?e-t:r===Oe.Right?e+t:e,MP=(e,t,r)=>r===Oe.Top?e-t:r===Oe.Bottom?e+t:e,E1="react-flow__edgeupdater",C1=({position:e,centerX:t,centerY:r,radius:s=10,onMouseDown:o,onMouseEnter:a,onMouseOut:u,type:c})=>ce.createElement("circle",{onMouseDown:o,onMouseEnter:a,onMouseOut:u,className:Wt([E1,`${E1}-${c}`]),cx:AP(t,s,e),cy:MP(r,s,e),r:s,stroke:"transparent",fill:"transparent"}),IP=()=>!0;var yo=e=>{const t=({id:r,className:s,type:o,data:a,onClick:u,onEdgeDoubleClick:c,selected:h,animated:m,label:f,labelStyle:g,labelShowBg:y,labelBgStyle:w,labelBgPadding:N,labelBgBorderRadius:b,style:_,source:k,target:S,sourceX:C,sourceY:T,targetX:M,targetY:P,sourcePosition:$,targetPosition:W,elementsSelectable:I,hidden:A,sourceHandleId:D,targetHandleId:H,onContextMenu:Y,onMouseEnter:j,onMouseMove:X,onMouseLeave:z,reconnectRadius:ne,onReconnect:J,onReconnectStart:U,onReconnectEnd:Q,markerEnd:O,markerStart:G,rfId:K,ariaLabel:L,isFocusable:q,isReconnectable:Z,pathOptions:se,interactionWidth:fe,disableKeyboardA11y:he})=>{const ye=E.useRef(null),[Re,Ue]=E.useState(!1),[De,Ie]=E.useState(!1),ke=jt(),ue=E.useMemo(()=>`url('#${wy(G,K)}')`,[G,K]),xe=E.useMemo(()=>`url('#${wy(O,K)}')`,[O,K]);if(A)return null;const we=Pe=>{var je;const{edges:qe,addSelectedEdges:Ne,unselectNodesAndEdges:We,multiSelectionActive:Nt}=ke.getState(),et=qe.find(yt=>yt.id===r);et&&(I&&(ke.setState({nodesSelectionActive:!1}),et.selected&&Nt?(We({nodes:[],edges:[et]}),(je=ye.current)==null||je.blur()):Ne([r])),u&&u(Pe,et))},Ke=Oa(r,ke.getState,c),vt=Oa(r,ke.getState,Y),ut=Oa(r,ke.getState,j),st=Oa(r,ke.getState,X),Be=Oa(r,ke.getState,z),tt=(Pe,qe)=>{if(Pe.button!==0)return;const{edges:Ne,isValidConnection:We}=ke.getState(),Nt=qe?S:k,et=(qe?H:D)||null,je=qe?"target":"source",yt=We||IP,at=qe,_t=Ne.find(kn=>kn.id===r);Ie(!0),U==null||U(Pe,_t,je);const _n=kn=>{Ie(!1),Q==null||Q(kn,_t,je)};ij({event:Pe,handleId:et,nodeId:Nt,onConnect:kn=>J==null?void 0:J(_t,kn),isTarget:at,getState:ke.getState,setState:ke.setState,isValidConnection:yt,edgeUpdaterType:je,onReconnectEnd:_n})},Ye=Pe=>tt(Pe,!0),bt=Pe=>tt(Pe,!1),Me=()=>Ue(!0),it=()=>Ue(!1),Rt=!I&&!u,oe=Pe=>{var qe;if(!he&&VC.includes(Pe.key)&&I){const{unselectNodesAndEdges:Ne,addSelectedEdges:We,edges:Nt}=ke.getState();Pe.key==="Escape"?((qe=ye.current)==null||qe.blur(),Ne({edges:[Nt.find(je=>je.id===r)]})):We([r])}};return ce.createElement("g",{className:Wt(["react-flow__edge",`react-flow__edge-${o}`,s,{selected:h,animated:m,inactive:Rt,updating:Re}]),onClick:we,onDoubleClick:Ke,onContextMenu:vt,onMouseEnter:ut,onMouseMove:st,onMouseLeave:Be,onKeyDown:q?oe:void 0,tabIndex:q?0:void 0,role:q?"button":"img","data-testid":`rf__edge-${r}`,"aria-label":L===null?void 0:L||`Edge from ${k} to ${S}`,"aria-describedby":q?`${pj}-${K}`:void 0,ref:ye},!De&&ce.createElement(e,{id:r,source:k,target:S,selected:h,animated:m,label:f,labelStyle:g,labelShowBg:y,labelBgStyle:w,labelBgPadding:N,labelBgBorderRadius:b,data:a,style:_,sourceX:C,sourceY:T,targetX:M,targetY:P,sourcePosition:$,targetPosition:W,sourceHandleId:D,targetHandleId:H,markerStart:ue,markerEnd:xe,pathOptions:se,interactionWidth:fe}),Z&&ce.createElement(ce.Fragment,null,(Z==="source"||Z===!0)&&ce.createElement(C1,{position:$,centerX:C,centerY:T,radius:ne,onMouseDown:Ye,onMouseEnter:Me,onMouseOut:it,type:"source"}),(Z==="target"||Z===!0)&&ce.createElement(C1,{position:W,centerX:M,centerY:P,radius:ne,onMouseDown:bt,onMouseEnter:Me,onMouseOut:it,type:"target"})))};return t.displayName="EdgeWrapper",E.memo(t)};function OP(e){const t={default:yo(e.default||uc),straight:yo(e.bezier||Qy),step:yo(e.step||Xy),smoothstep:yo(e.step||_c),simplebezier:yo(e.simplebezier||Yy)},r={},s=Object.keys(e).filter(o=>!["default","bezier"].includes(o)).reduce((o,a)=>(o[a]=yo(e[a]||uc),o),r);return{...t,...s}}function j1(e,t,r=null){const s=((r==null?void 0:r.x)||0)+t.x,o=((r==null?void 0:r.y)||0)+t.y,a=(r==null?void 0:r.width)||t.width,u=(r==null?void 0:r.height)||t.height;switch(e){case Oe.Top:return{x:s+a/2,y:o};case Oe.Right:return{x:s+a,y:o+u/2};case Oe.Bottom:return{x:s+a/2,y:o+u};case Oe.Left:return{x:s,y:o+u/2}}}function T1(e,t){return e?e.length===1||!t?e[0]:t&&e.find(r=>r.id===t)||null:null}const PP=(e,t,r,s,o,a)=>{const u=j1(r,e,t),c=j1(a,s,o);return{sourceX:u.x,sourceY:u.y,targetX:c.x,targetY:c.y}};function $P({sourcePos:e,targetPos:t,sourceWidth:r,sourceHeight:s,targetWidth:o,targetHeight:a,width:u,height:c,transform:h}){const m={x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x+r,t.x+o),y2:Math.max(e.y+s,t.y+a)};m.x===m.x2&&(m.x2+=1),m.y===m.y2&&(m.y2+=1);const f=Qa({x:(0-h[0])/h[2],y:(0-h[1])/h[2],width:u/h[2],height:c/h[2]}),g=Math.max(0,Math.min(f.x2,m.x2)-Math.max(f.x,m.x)),y=Math.max(0,Math.min(f.y2,m.y2)-Math.max(f.y,m.y));return Math.ceil(g*y)>0}function R1(e){var s,o,a,u,c;const t=((s=e==null?void 0:e[St])==null?void 0:s.handleBounds)||null,r=t&&(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((a=e==null?void 0:e.positionAbsolute)==null?void 0:a.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},t,!!r]}const LP=[{level:0,isMaxLevel:!0,edges:[]}];function qP(e,t,r=!1){let s=-1;const o=e.reduce((u,c)=>{var f,g;const h=Pn(c.zIndex);let m=h?c.zIndex:0;if(r){const y=t.get(c.target),w=t.get(c.source),N=c.selected||(y==null?void 0:y.selected)||(w==null?void 0:w.selected),b=Math.max(((f=w==null?void 0:w[St])==null?void 0:f.z)||0,((g=y==null?void 0:y[St])==null?void 0:g.z)||0,1e3);m=(h?c.zIndex:0)+(N?b:0)}return u[m]?u[m].push(c):u[m]=[c],s=m>s?m:s,u},{}),a=Object.entries(o).map(([u,c])=>{const h=+u;return{edges:c,level:h,isMaxLevel:h===s}});return a.length===0?LP:a}function DP(e,t,r){const s=rt(E.useCallback(o=>e?o.edges.filter(a=>{const u=t.get(a.source),c=t.get(a.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)&&$P({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,t]));return qP(s,t,r)}const FP=({color:e="none",strokeWidth:t=1})=>ce.createElement("polyline",{style:{stroke:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",fill:"none",points:"-5,-4 0,0 -5,4"}),zP=({color:e="none",strokeWidth:t=1})=>ce.createElement("polyline",{style:{stroke:e,fill:e,strokeWidth:t},strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"}),A1={[lc.Arrow]:FP,[lc.ArrowClosed]:zP};function BP(e){const t=jt();return E.useMemo(()=>{var o,a;return Object.prototype.hasOwnProperty.call(A1,e)?A1[e]:((a=(o=t.getState()).onError)==null||a.call(o,"009",Yr.error009(e)),null)},[e])}const UP=({id:e,type:t,color:r,width:s=12.5,height:o=12.5,markerUnits:a="strokeWidth",strokeWidth:u,orient:c="auto-start-reverse"})=>{const h=BP(t);return h?ce.createElement("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${s}`,markerHeight:`${o}`,viewBox:"-10 -10 20 20",markerUnits:a,orient:c,refX:"0",refY:"0"},ce.createElement(h,{color:r,strokeWidth:u})):null},WP=({defaultColor:e,rfId:t})=>r=>{const s=[];return r.edges.reduce((o,a)=>([a.markerStart,a.markerEnd].forEach(u=>{if(u&&typeof u=="object"){const c=wy(u,t);s.includes(c)||(o.push({id:c,color:u.color||e,...u}),s.push(c))}}),o),[]).sort((o,a)=>o.id.localeCompare(a.id))},Nj=({defaultColor:e,rfId:t})=>{const r=rt(E.useCallback(WP({defaultColor:e,rfId:t}),[e,t]),(s,o)=>!(s.length!==o.length||s.some((a,u)=>a.id!==o[u].id)));return ce.createElement("defs",null,r.map(s=>ce.createElement(UP,{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})))};Nj.displayName="MarkerDefinitions";var HP=E.memo(Nj);const GP=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}),Ej=({defaultMarkerColor:e,onlyRenderVisibleElements:t,elevateEdgesOnSelect:r,rfId:s,edgeTypes:o,noPanClassName:a,onEdgeContextMenu:u,onEdgeMouseEnter:c,onEdgeMouseMove:h,onEdgeMouseLeave:m,onEdgeClick:f,onEdgeDoubleClick:g,onReconnect:y,onReconnectStart:w,onReconnectEnd:N,reconnectRadius:b,children:_,disableKeyboardA11y:k})=>{const{edgesFocusable:S,edgesUpdatable:C,elementsSelectable:T,width:M,height:P,connectionMode:$,nodeInternals:W,onError:I}=rt(GP,Pt),A=DP(t,W,r);return M?ce.createElement(ce.Fragment,null,A.map(({level:D,edges:H,isMaxLevel:Y})=>ce.createElement("svg",{key:D,style:{zIndex:D},width:M,height:P,className:"react-flow__edges react-flow__container"},Y&&ce.createElement(HP,{defaultColor:e,rfId:s}),ce.createElement("g",null,H.map(j=>{const[X,z,ne]=R1(W.get(j.source)),[J,U,Q]=R1(W.get(j.target));if(!ne||!Q)return null;let O=j.type||"default";o[O]||(I==null||I("011",Yr.error011(O)),O="default");const G=o[O]||o.default,K=$===gi.Strict?U.target:(U.target??[]).concat(U.source??[]),L=T1(z.source,j.sourceHandle),q=T1(K,j.targetHandle),Z=(L==null?void 0:L.position)||Oe.Bottom,se=(q==null?void 0:q.position)||Oe.Top,fe=!!(j.focusable||S&&typeof j.focusable>"u"),he=j.reconnectable||j.updatable,ye=typeof y<"u"&&(he||C&&typeof he>"u");if(!L||!q)return I==null||I("008",Yr.error008(L,j)),null;const{sourceX:Re,sourceY:Ue,targetX:De,targetY:Ie}=PP(X,L,Z,J,q,se);return ce.createElement(G,{key:j.id,id:j.id,className:Wt([j.className,a]),type:O,data:j.data,selected:!!j.selected,animated:!!j.animated,hidden:!!j.hidden,label:j.label,labelStyle:j.labelStyle,labelShowBg:j.labelShowBg,labelBgStyle:j.labelBgStyle,labelBgPadding:j.labelBgPadding,labelBgBorderRadius:j.labelBgBorderRadius,style:j.style,source:j.source,target:j.target,sourceHandleId:j.sourceHandle,targetHandleId:j.targetHandle,markerEnd:j.markerEnd,markerStart:j.markerStart,sourceX:Re,sourceY:Ue,targetX:De,targetY:Ie,sourcePosition:Z,targetPosition:se,elementsSelectable:T,onContextMenu:u,onMouseEnter:c,onMouseMove:h,onMouseLeave:m,onClick:f,onEdgeDoubleClick:g,onReconnect:y,onReconnectStart:w,onReconnectEnd:N,reconnectRadius:b,rfId:s,ariaLabel:j.ariaLabel,isFocusable:fe,isReconnectable:ye,pathOptions:"pathOptions"in j?j.pathOptions:void 0,interactionWidth:j.interactionWidth,disableKeyboardA11y:k})})))),_):null};Ej.displayName="EdgeRenderer";var VP=E.memo(Ej);const KP=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function YP({children:e}){const t=rt(KP);return ce.createElement("div",{className:"react-flow__viewport react-flow__container",style:{transform:t}},e)}function XP(e){const t=ul(),r=E.useRef(!1);E.useEffect(()=>{!r.current&&t.viewportInitialized&&e&&(setTimeout(()=>e(t),1),r.current=!0)},[e,t.viewportInitialized])}const QP={[Oe.Left]:Oe.Right,[Oe.Right]:Oe.Left,[Oe.Top]:Oe.Bottom,[Oe.Bottom]:Oe.Top},Cj=({nodeId:e,handleType:t,style:r,type:s=js.Bezier,CustomComponent:o,connectionStatus:a})=>{var P,$,W;const{fromNode:u,handleId:c,toX:h,toY:m,connectionMode:f}=rt(E.useCallback(I=>({fromNode:I.nodeInternals.get(e),handleId:I.connectionHandleId,toX:(I.connectionPosition.x-I.transform[0])/I.transform[2],toY:(I.connectionPosition.y-I.transform[1])/I.transform[2],connectionMode:I.connectionMode}),[e]),Pt),g=(P=u==null?void 0:u[St])==null?void 0:P.handleBounds;let y=g==null?void 0:g[t];if(f===gi.Loose&&(y=y||(g==null?void 0:g[t==="source"?"target":"source"])),!u||!y)return null;const w=c?y.find(I=>I.id===c):y[0],N=w?w.x+w.width/2:(u.width??0)/2,b=w?w.y+w.height/2:u.height??0,_=((($=u.positionAbsolute)==null?void 0:$.x)??0)+N,k=(((W=u.positionAbsolute)==null?void 0:W.y)??0)+b,S=w==null?void 0:w.position,C=S?QP[S]:null;if(!S||!C)return null;if(o)return ce.createElement(o,{connectionLineType:s,connectionLineStyle:r,fromNode:u,fromHandle:w,fromX:_,fromY:k,toX:h,toY:m,fromPosition:S,toPosition:C,connectionStatus:a});let T="";const M={sourceX:_,sourceY:k,sourcePosition:S,targetX:h,targetY:m,targetPosition:C};return s===js.Bezier?[T]=ZC(M):s===js.Step?[T]=yy({...M,borderRadius:0}):s===js.SmoothStep?[T]=yy(M):s===js.SimpleBezier?[T]=QC(M):T=`M${_},${k} ${h},${m}`,ce.createElement("path",{d:T,fill:"none",className:"react-flow__connection-path",style:r})};Cj.displayName="ConnectionLine";const ZP=e=>({nodeId:e.connectionNodeId,handleType:e.connectionHandleType,nodesConnectable:e.nodesConnectable,connectionStatus:e.connectionStatus,width:e.width,height:e.height});function JP({containerStyle:e,style:t,type:r,component:s}){const{nodeId:o,handleType:a,nodesConnectable:u,width:c,height:h,connectionStatus:m}=rt(ZP,Pt);return!(o&&a&&c&&u)?null:ce.createElement("svg",{style:e,width:c,height:h,className:"react-flow__edges react-flow__connectionline react-flow__container"},ce.createElement("g",{className:Wt(["react-flow__connection",m])},ce.createElement(Cj,{nodeId:o,handleType:a,style:t,type:r,CustomComponent:s,connectionStatus:m})))}function M1(e,t){return E.useRef(null),jt(),E.useMemo(()=>t(e),[e])}const jj=({nodeTypes:e,edgeTypes:t,onMove:r,onMoveStart:s,onMoveEnd:o,onInit:a,onNodeClick:u,onEdgeClick:c,onNodeDoubleClick:h,onEdgeDoubleClick:m,onNodeMouseEnter:f,onNodeMouseMove:g,onNodeMouseLeave:y,onNodeContextMenu:w,onSelectionContextMenu:N,onSelectionStart:b,onSelectionEnd:_,connectionLineType:k,connectionLineStyle:S,connectionLineComponent:C,connectionLineContainerStyle:T,selectionKeyCode:M,selectionOnDrag:P,selectionMode:$,multiSelectionKeyCode:W,panActivationKeyCode:I,zoomActivationKeyCode:A,deleteKeyCode:D,onlyRenderVisibleElements:H,elementsSelectable:Y,selectNodesOnDrag:j,defaultViewport:X,translateExtent:z,minZoom:ne,maxZoom:J,preventScrolling:U,defaultMarkerColor:Q,zoomOnScroll:O,zoomOnPinch:G,panOnScroll:K,panOnScrollSpeed:L,panOnScrollMode:q,zoomOnDoubleClick:Z,panOnDrag:se,onPaneClick:fe,onPaneMouseEnter:he,onPaneMouseMove:ye,onPaneMouseLeave:Re,onPaneScroll:Ue,onPaneContextMenu:De,onEdgeContextMenu:Ie,onEdgeMouseEnter:ke,onEdgeMouseMove:ue,onEdgeMouseLeave:xe,onReconnect:we,onReconnectStart:Ke,onReconnectEnd:vt,reconnectRadius:ut,noDragClassName:st,noWheelClassName:Be,noPanClassName:tt,elevateEdgesOnSelect:Ye,disableKeyboardA11y:bt,nodeOrigin:Me,nodeExtent:it,rfId:Rt})=>{const oe=M1(e,CP),Pe=M1(t,OP);return XP(a),ce.createElement(NP,{onPaneClick:fe,onPaneMouseEnter:he,onPaneMouseMove:ye,onPaneMouseLeave:Re,onPaneContextMenu:De,onPaneScroll:Ue,deleteKeyCode:D,selectionKeyCode:M,selectionOnDrag:P,selectionMode:$,onSelectionStart:b,onSelectionEnd:_,multiSelectionKeyCode:W,panActivationKeyCode:I,zoomActivationKeyCode:A,elementsSelectable:Y,onMove:r,onMoveStart:s,onMoveEnd:o,zoomOnScroll:O,zoomOnPinch:G,zoomOnDoubleClick:Z,panOnScroll:K,panOnScrollSpeed:L,panOnScrollMode:q,panOnDrag:se,defaultViewport:X,translateExtent:z,minZoom:ne,maxZoom:J,onSelectionContextMenu:N,preventScrolling:U,noDragClassName:st,noWheelClassName:Be,noPanClassName:tt,disableKeyboardA11y:bt},ce.createElement(YP,null,ce.createElement(VP,{edgeTypes:Pe,onEdgeClick:c,onEdgeDoubleClick:m,onlyRenderVisibleElements:H,onEdgeContextMenu:Ie,onEdgeMouseEnter:ke,onEdgeMouseMove:ue,onEdgeMouseLeave:xe,onReconnect:we,onReconnectStart:Ke,onReconnectEnd:vt,reconnectRadius:ut,defaultMarkerColor:Q,noPanClassName:tt,elevateEdgesOnSelect:!!Ye,disableKeyboardA11y:bt,rfId:Rt},ce.createElement(JP,{style:S,type:k,component:C,containerStyle:T})),ce.createElement("div",{className:"react-flow__edgelabel-renderer"}),ce.createElement(RP,{nodeTypes:oe,onNodeClick:u,onNodeDoubleClick:h,onNodeMouseEnter:f,onNodeMouseMove:g,onNodeMouseLeave:y,onNodeContextMenu:w,selectNodesOnDrag:j,onlyRenderVisibleElements:H,noPanClassName:tt,noDragClassName:st,disableKeyboardA11y:bt,nodeOrigin:Me,nodeExtent:it,rfId:Rt})))};jj.displayName="GraphView";var e$=E.memo(jj);const ky=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Ns={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:ky,nodeExtent:ky,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionNodeId:null,connectionHandleId:null,connectionHandleType:"source",connectionPosition:{x:0,y:0},connectionStatus:null,connectionMode:gi.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:CO,isValidConnection:void 0},t$=()=>zA((e,t)=>({...Ns,setNodes:r=>{const{nodeInternals:s,nodeOrigin:o,elevateNodesOnSelect:a}=t();e({nodeInternals:Mf(r,s,o,a)})},getNodes:()=>Array.from(t().nodeInternals.values()),setEdges:r=>{const{defaultEdgeOptions:s={}}=t();e({edges:r.map(o=>({...s,...o}))})},setDefaultNodesAndEdges:(r,s)=>{const o=typeof r<"u",a=typeof s<"u",u=o?Mf(r,new Map,t().nodeOrigin,t().elevateNodesOnSelect):new Map;e({nodeInternals:u,edges:a?s:[],hasDefaultNodes:o,hasDefaultEdges:a})},updateNodeDimensions:r=>{const{onNodesChange:s,nodeInternals:o,fitViewOnInit:a,fitViewOnInitDone:u,fitViewOnInitOptions:c,domNode:h,nodeOrigin:m}=t(),f=h==null?void 0:h.querySelector(".react-flow__viewport");if(!f)return;const g=window.getComputedStyle(f),{m22:y}=new window.DOMMatrixReadOnly(g.transform),w=r.reduce((b,_)=>{const k=o.get(_.id);if(k!=null&&k.hidden)o.set(k.id,{...k,[St]:{...k[St],handleBounds:void 0}});else if(k){const S=Vy(_.nodeElement);!!(S.width&&S.height&&(k.width!==S.width||k.height!==S.height||_.forceUpdate))&&(o.set(k.id,{...k,[St]:{...k[St],handleBounds:{source:N1(".source",_.nodeElement,y,m),target:N1(".target",_.nodeElement,y,m)}},...S}),b.push({id:k.id,type:"dimensions",dimensions:S}))}return b},[]);gj(o,m);const N=u||a&&!u&&vj(t,{initial:!0,...c});e({nodeInternals:new Map(o),fitViewOnInitDone:N}),(w==null?void 0:w.length)>0&&(s==null||s(w))},updateNodePositions:(r,s=!0,o=!1)=>{const{triggerNodeChanges:a}=t(),u=r.map(c=>{const h={id:c.id,type:"position",dragging:o};return s&&(h.positionAbsolute=c.positionAbsolute,h.position=c.position),h});a(u)},triggerNodeChanges:r=>{const{onNodesChange:s,nodeInternals:o,hasDefaultNodes:a,nodeOrigin:u,getNodes:c,elevateNodesOnSelect:h}=t();if(r!=null&&r.length){if(a){const m=gP(r,c()),f=Mf(m,o,u,h);e({nodeInternals:f})}s==null||s(r)}},addSelectedNodes:r=>{const{multiSelectionActive:s,edges:o,getNodes:a}=t();let u,c=null;s?u=r.map(h=>Cs(h,!0)):(u=_o(a(),r),c=_o(o,[])),qu({changedNodes:u,changedEdges:c,get:t,set:e})},addSelectedEdges:r=>{const{multiSelectionActive:s,edges:o,getNodes:a}=t();let u,c=null;s?u=r.map(h=>Cs(h,!0)):(u=_o(o,r),c=_o(a(),[])),qu({changedNodes:c,changedEdges:u,get:t,set:e})},unselectNodesAndEdges:({nodes:r,edges:s}={})=>{const{edges:o,getNodes:a}=t(),u=r||a(),c=s||o,h=u.map(f=>(f.selected=!1,Cs(f.id,!1))),m=c.map(f=>Cs(f.id,!1));qu({changedNodes:h,changedEdges:m,get:t,set:e})},setMinZoom:r=>{const{d3Zoom:s,maxZoom:o}=t();s==null||s.scaleExtent([r,o]),e({minZoom:r})},setMaxZoom:r=>{const{d3Zoom:s,minZoom:o}=t();s==null||s.scaleExtent([o,r]),e({maxZoom:r})},setTranslateExtent:r=>{var s;(s=t().d3Zoom)==null||s.translateExtent(r),e({translateExtent:r})},resetSelectedElements:()=>{const{edges:r,getNodes:s}=t(),a=s().filter(c=>c.selected).map(c=>Cs(c.id,!1)),u=r.filter(c=>c.selected).map(c=>Cs(c.id,!1));qu({changedNodes:a,changedEdges:u,get:t,set:e})},setNodeExtent:r=>{const{nodeInternals:s}=t();s.forEach(o=>{o.positionAbsolute=Ky(o.position,r)}),e({nodeExtent:r,nodeInternals:new Map(s)})},panBy:r=>{const{transform:s,width:o,height:a,d3Zoom:u,d3Selection:c,translateExtent:h}=t();if(!u||!c||!r.x&&!r.y)return!1;const m=Vr.translate(s[0]+r.x,s[1]+r.y).scale(s[2]),f=[[0,0],[o,a]],g=u==null?void 0:u.constrain()(m,f,h);return u.transform(c,g),s[0]!==g.x||s[1]!==g.y||s[2]!==g.k},cancelConnection:()=>e({connectionNodeId:Ns.connectionNodeId,connectionHandleId:Ns.connectionHandleId,connectionHandleType:Ns.connectionHandleType,connectionStatus:Ns.connectionStatus,connectionStartHandle:Ns.connectionStartHandle,connectionEndHandle:Ns.connectionEndHandle}),reset:()=>e({...Ns})}),Object.is),n0=({children:e})=>{const t=E.useRef(null);return t.current||(t.current=t$()),ce.createElement(xO,{value:t.current},e)};n0.displayName="ReactFlowProvider";const Tj=({children:e})=>E.useContext(bc)?ce.createElement(ce.Fragment,null,e):ce.createElement(n0,null,e);Tj.displayName="ReactFlowWrapper";const n$={input:uj,default:by,output:dj,group:e0},r$={default:uc,straight:Qy,step:Xy,smoothstep:_c,simplebezier:Yy},s$=[0,0],i$=[15,15],o$={x:0,y:0,zoom:1},a$={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0},Rj=E.forwardRef(({nodes:e,edges:t,defaultNodes:r,defaultEdges:s,className:o,nodeTypes:a=n$,edgeTypes:u=r$,onNodeClick:c,onEdgeClick:h,onInit:m,onMove:f,onMoveStart:g,onMoveEnd:y,onConnect:w,onConnectStart:N,onConnectEnd:b,onClickConnectStart:_,onClickConnectEnd:k,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:T,onNodeContextMenu:M,onNodeDoubleClick:P,onNodeDragStart:$,onNodeDrag:W,onNodeDragStop:I,onNodesDelete:A,onEdgesDelete:D,onSelectionChange:H,onSelectionDragStart:Y,onSelectionDrag:j,onSelectionDragStop:X,onSelectionContextMenu:z,onSelectionStart:ne,onSelectionEnd:J,connectionMode:U=gi.Strict,connectionLineType:Q=js.Bezier,connectionLineStyle:O,connectionLineComponent:G,connectionLineContainerStyle:K,deleteKeyCode:L="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:Z=!1,selectionMode:se=Za.Full,panActivationKeyCode:fe="Space",multiSelectionKeyCode:he=ac()?"Meta":"Control",zoomActivationKeyCode:ye=ac()?"Meta":"Control",snapToGrid:Re=!1,snapGrid:Ue=i$,onlyRenderVisibleElements:De=!1,selectNodesOnDrag:Ie=!0,nodesDraggable:ke,nodesConnectable:ue,nodesFocusable:xe,nodeOrigin:we=s$,edgesFocusable:Ke,edgesUpdatable:vt,elementsSelectable:ut,defaultViewport:st=o$,minZoom:Be=.5,maxZoom:tt=2,translateExtent:Ye=ky,preventScrolling:bt=!0,nodeExtent:Me,defaultMarkerColor:it="#b1b1b7",zoomOnScroll:Rt=!0,zoomOnPinch:oe=!0,panOnScroll:Pe=!1,panOnScrollSpeed:qe=.5,panOnScrollMode:Ne=fi.Free,zoomOnDoubleClick:We=!0,panOnDrag:Nt=!0,onPaneClick:et,onPaneMouseEnter:je,onPaneMouseMove:yt,onPaneMouseLeave:at,onPaneScroll:_t,onPaneContextMenu:_n,children:qn,onEdgeContextMenu:kn,onEdgeDoubleClick:_i,onEdgeMouseEnter:pn,onEdgeMouseMove:ki,onEdgeMouseLeave:Si,onEdgeUpdate:zt,onEdgeUpdateStart:Er,onEdgeUpdateEnd:Dn,onReconnect:Ms,onReconnectStart:Cr,onReconnectEnd:Ho,reconnectRadius:cr=10,edgeUpdaterRadius:jr=10,onNodesChange:dr,onEdgesChange:Zr,noDragClassName:Ni="nodrag",noWheelClassName:Ei="nowheel",noPanClassName:Ci="nopan",fitView:Sn=!1,fitViewOptions:ji,connectOnClick:Tr=!0,attributionPosition:Ti,proOptions:Fn,defaultEdgeOptions:Ri,elevateNodesOnSelect:Is=!0,elevateEdgesOnSelect:Os=!1,disableKeyboardA11y:Ai=!1,autoPanOnConnect:Mi=!0,autoPanOnNodeDrag:nt=!0,connectionRadius:Go=20,isValidConnection:Jr,onError:Ht,style:zn,id:Ii,nodeDragThreshold:es,...ht},rn)=>{const Bn=Ii||"1";return ce.createElement("div",{...ht,style:{...zn,...a$},ref:rn,className:Wt(["react-flow",o]),"data-testid":"rf__wrapper",id:Ii},ce.createElement(Tj,null,ce.createElement(e$,{onInit:m,onMove:f,onMoveStart:g,onMoveEnd:y,onNodeClick:c,onEdgeClick:h,onNodeMouseEnter:S,onNodeMouseMove:C,onNodeMouseLeave:T,onNodeContextMenu:M,onNodeDoubleClick:P,nodeTypes:a,edgeTypes:u,connectionLineType:Q,connectionLineStyle:O,connectionLineComponent:G,connectionLineContainerStyle:K,selectionKeyCode:q,selectionOnDrag:Z,selectionMode:se,deleteKeyCode:L,multiSelectionKeyCode:he,panActivationKeyCode:fe,zoomActivationKeyCode:ye,onlyRenderVisibleElements:De,selectNodesOnDrag:Ie,defaultViewport:st,translateExtent:Ye,minZoom:Be,maxZoom:tt,preventScrolling:bt,zoomOnScroll:Rt,zoomOnPinch:oe,zoomOnDoubleClick:We,panOnScroll:Pe,panOnScrollSpeed:qe,panOnScrollMode:Ne,panOnDrag:Nt,onPaneClick:et,onPaneMouseEnter:je,onPaneMouseMove:yt,onPaneMouseLeave:at,onPaneScroll:_t,onPaneContextMenu:_n,onSelectionContextMenu:z,onSelectionStart:ne,onSelectionEnd:J,onEdgeContextMenu:kn,onEdgeDoubleClick:_i,onEdgeMouseEnter:pn,onEdgeMouseMove:ki,onEdgeMouseLeave:Si,onReconnect:Ms??zt,onReconnectStart:Cr??Er,onReconnectEnd:Ho??Dn,reconnectRadius:cr??jr,defaultMarkerColor:it,noDragClassName:Ni,noWheelClassName:Ei,noPanClassName:Ci,elevateEdgesOnSelect:Os,rfId:Bn,disableKeyboardA11y:Ai,nodeOrigin:we,nodeExtent:Me}),ce.createElement(XO,{nodes:e,edges:t,defaultNodes:r,defaultEdges:s,onConnect:w,onConnectStart:N,onConnectEnd:b,onClickConnectStart:_,onClickConnectEnd:k,nodesDraggable:ke,nodesConnectable:ue,nodesFocusable:xe,edgesFocusable:Ke,edgesUpdatable:vt,elementsSelectable:ut,elevateNodesOnSelect:Is,minZoom:Be,maxZoom:tt,nodeExtent:Me,onNodesChange:dr,onEdgesChange:Zr,snapToGrid:Re,snapGrid:Ue,connectionMode:U,translateExtent:Ye,connectOnClick:Tr,defaultEdgeOptions:Ri,fitView:Sn,fitViewOptions:ji,onNodesDelete:A,onEdgesDelete:D,onNodeDragStart:$,onNodeDrag:W,onNodeDragStop:I,onSelectionDrag:j,onSelectionDragStart:Y,onSelectionDragStop:X,noPanClassName:Ci,nodeOrigin:we,rfId:Bn,autoPanOnConnect:Mi,autoPanOnNodeDrag:nt,onError:Ht,connectionRadius:Go,isValidConnection:Jr,nodeDragThreshold:es}),ce.createElement(KO,{onSelectionChange:H}),qn,ce.createElement(_O,{proOptions:Fn,position:Ti}),ce.createElement(tP,{rfId:Bn,disableKeyboardA11y:Ai})))});Rj.displayName="ReactFlow";const l$=e=>({x:e.transform[0],y:e.transform[1],zoom:e.transform[2]});function Aj(){return rt(l$,Pt)}const Mj=({id:e,x:t,y:r,width:s,height:o,style:a,color:u,strokeColor:c,strokeWidth:h,className:m,borderRadius:f,shapeRendering:g,onClick:y,selected:w})=>{const{background:N,backgroundColor:b}=a||{},_=u||N||b;return ce.createElement("rect",{className:Wt(["react-flow__minimap-node",{selected:w},m]),x:t,y:r,rx:f,ry:f,width:s,height:o,fill:_,stroke:c,strokeWidth:h,shapeRendering:g,onClick:y?k=>y(k,e):void 0})};Mj.displayName="MiniMapNode";var u$=E.memo(Mj);const c$=e=>e.nodeOrigin,d$=e=>e.getNodes().filter(t=>!t.hidden&&t.width&&t.height),$f=e=>e instanceof Function?e:()=>e;function f$({nodeStrokeColor:e="transparent",nodeColor:t="#e2e2e2",nodeClassName:r="",nodeBorderRadius:s=5,nodeStrokeWidth:o=2,nodeComponent:a=u$,onClick:u}){const c=rt(d$,Pt),h=rt(c$),m=$f(t),f=$f(e),g=$f(r),y=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return ce.createElement(ce.Fragment,null,c.map(w=>{const{x:N,y:b}=pi(w,h).positionAbsolute;return ce.createElement(a,{key:w.id,x:N,y:b,width:w.width,height:w.height,style:w.style,selected:w.selected,className:g(w),color:m(w),borderRadius:s,strokeColor:f(w),strokeWidth:o,shapeRendering:y,onClick:u,id:w.id})}))}var h$=E.memo(f$);const p$=200,m$=150,g$=e=>{const t=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:t.length>0?NO(kc(t,e.nodeOrigin),r):r,rfId:e.rfId}},v$="react-flow__minimap-desc";function Ij({style:e,className:t,nodeStrokeColor:r="transparent",nodeColor:s="#e2e2e2",nodeClassName:o="",nodeBorderRadius:a=5,nodeStrokeWidth:u=2,nodeComponent:c,maskColor:h="rgb(240, 240, 240, 0.6)",maskStrokeColor:m="none",maskStrokeWidth:f=1,position:g="bottom-right",onClick:y,onNodeClick:w,pannable:N=!1,zoomable:b=!1,ariaLabel:_="React Flow mini map",inversePan:k=!1,zoomStep:S=10,offsetScale:C=5}){const T=jt(),M=E.useRef(null),{boundingRect:P,viewBB:$,rfId:W}=rt(g$,Pt),I=(e==null?void 0:e.width)??p$,A=(e==null?void 0:e.height)??m$,D=P.width/I,H=P.height/A,Y=Math.max(D,H),j=Y*I,X=Y*A,z=C*Y,ne=P.x-(j-P.width)/2-z,J=P.y-(X-P.height)/2-z,U=j+z*2,Q=X+z*2,O=`${v$}-${W}`,G=E.useRef(0);G.current=Y,E.useEffect(()=>{if(M.current){const q=On(M.current),Z=he=>{const{transform:ye,d3Selection:Re,d3Zoom:Ue}=T.getState();if(he.sourceEvent.type!=="wheel"||!Re||!Ue)return;const De=-he.sourceEvent.deltaY*(he.sourceEvent.deltaMode===1?.05:he.sourceEvent.deltaMode?1:.002)*S,Ie=ye[2]*Math.pow(2,De);Ue.scaleTo(Re,Ie)},se=he=>{const{transform:ye,d3Selection:Re,d3Zoom:Ue,translateExtent:De,width:Ie,height:ke}=T.getState();if(he.sourceEvent.type!=="mousemove"||!Re||!Ue)return;const ue=G.current*Math.max(1,ye[2])*(k?-1:1),xe={x:ye[0]-he.sourceEvent.movementX*ue,y:ye[1]-he.sourceEvent.movementY*ue},we=[[0,0],[Ie,ke]],Ke=Vr.translate(xe.x,xe.y).scale(ye[2]),vt=Ue.constrain()(Ke,we,De);Ue.transform(Re,vt)},fe=zC().on("zoom",N?se:null).on("zoom.wheel",b?Z:null);return q.call(fe),()=>{q.on("zoom",null)}}},[N,b,k,S]);const K=y?q=>{const Z=tr(q);y(q,{x:Z[0],y:Z[1]})}:void 0,L=w?(q,Z)=>{const se=T.getState().nodeInternals.get(Z);w(q,se)}:void 0;return ce.createElement(Gy,{position:g,style:e,className:Wt(["react-flow__minimap",t]),"data-testid":"rf__minimap"},ce.createElement("svg",{width:I,height:A,viewBox:`${ne} ${J} ${U} ${Q}`,role:"img","aria-labelledby":O,ref:M,onClick:K},_&&ce.createElement("title",{id:O},_),ce.createElement(h$,{onClick:L,nodeColor:s,nodeStrokeColor:r,nodeBorderRadius:a,nodeClassName:o,nodeStrokeWidth:u,nodeComponent:c}),ce.createElement("path",{className:"react-flow__minimap-mask",d:`M${ne-z},${J-z}h${U+z*2}v${Q+z*2}h${-U-z*2}z
|
|
57
|
+
M${$.x},${$.y}h${$.width}v${$.height}h${-$.width}z`,fill:h,fillRule:"evenodd",stroke:m,strokeWidth:f,pointerEvents:"none"})))}Ij.displayName="MiniMap";var y$=E.memo(Ij);function w$(){return ce.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32"},ce.createElement("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"}))}function x$(){return ce.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5"},ce.createElement("path",{d:"M0 0h32v4.2H0z"}))}function b$(){return ce.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30"},ce.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 _$(){return ce.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ce.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 k$(){return ce.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32"},ce.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 _r=({children:e,className:t,...r})=>ce.createElement("button",{type:"button",className:Wt(["react-flow__controls-button",t]),...r},e);_r.displayName="ControlButton";const S$=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom}),Oj=({style:e,showZoom:t=!0,showFitView:r=!0,showInteractive:s=!0,fitViewOptions:o,onZoomIn:a,onZoomOut:u,onFitView:c,onInteractiveChange:h,className:m,children:f,position:g="bottom-left"})=>{const y=jt(),[w,N]=E.useState(!1),{isInteractive:b,minZoomReached:_,maxZoomReached:k}=rt(S$,Pt),{zoomIn:S,zoomOut:C,fitView:T}=ul();if(E.useEffect(()=>{N(!0)},[]),!w)return null;const M=()=>{S(),a==null||a()},P=()=>{C(),u==null||u()},$=()=>{T(o),c==null||c()},W=()=>{y.setState({nodesDraggable:!b,nodesConnectable:!b,elementsSelectable:!b}),h==null||h(!b)};return ce.createElement(Gy,{className:Wt(["react-flow__controls",m]),position:g,style:e,"data-testid":"rf__controls"},t&&ce.createElement(ce.Fragment,null,ce.createElement(_r,{onClick:M,className:"react-flow__controls-zoomin",title:"zoom in","aria-label":"zoom in",disabled:k},ce.createElement(w$,null)),ce.createElement(_r,{onClick:P,className:"react-flow__controls-zoomout",title:"zoom out","aria-label":"zoom out",disabled:_},ce.createElement(x$,null))),r&&ce.createElement(_r,{className:"react-flow__controls-fitview",onClick:$,title:"fit view","aria-label":"fit view"},ce.createElement(b$,null)),s&&ce.createElement(_r,{className:"react-flow__controls-interactive",onClick:W,title:"toggle interactivity","aria-label":"toggle interactivity"},b?ce.createElement(k$,null):ce.createElement(_$,null)),f)};Oj.displayName="Controls";var N$=E.memo(Oj),ir;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(ir||(ir={}));function E$({color:e,dimensions:t,lineWidth:r}){return ce.createElement("path",{stroke:e,strokeWidth:r,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`})}function C$({color:e,radius:t}){return ce.createElement("circle",{cx:t,cy:t,r:t,fill:e})}const j$={[ir.Dots]:"#91919a",[ir.Lines]:"#eee",[ir.Cross]:"#e2e2e2"},T$={[ir.Dots]:1,[ir.Lines]:1,[ir.Cross]:6},R$=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function Pj({id:e,variant:t=ir.Dots,gap:r=20,size:s,lineWidth:o=1,offset:a=2,color:u,style:c,className:h}){const m=E.useRef(null),{transform:f,patternId:g}=rt(R$,Pt),y=u||j$[t],w=s||T$[t],N=t===ir.Dots,b=t===ir.Cross,_=Array.isArray(r)?r:[r,r],k=[_[0]*f[2]||1,_[1]*f[2]||1],S=w*f[2],C=b?[S,S]:k,T=N?[S/a,S/a]:[C[0]/a,C[1]/a];return ce.createElement("svg",{className:Wt(["react-flow__background",h]),style:{...c,position:"absolute",width:"100%",height:"100%",top:0,left:0},ref:m,"data-testid":"rf__background"},ce.createElement("pattern",{id:g+e,x:f[0]%k[0],y:f[1]%k[1],width:k[0],height:k[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${T[0]},-${T[1]})`},N?ce.createElement(C$,{color:y,radius:S/a}):ce.createElement(E$,{dimensions:C,color:y,lineWidth:o})),ce.createElement("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${g+e})`}))}Pj.displayName="Background";var A$=E.memo(Pj);const M$=["us-gov","global","apac","us","eu","jp","au"],I$=new RegExp(`^(?:(?:${M$.join("|")})\\.)?anthropic\\.`,"i");function Sc(e){return e.replace(I$,"")}function $j(){return{inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheCreateTokens:0}}function r0(e){const t=e.cache_creation,r=t&&typeof t=="object"?t: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 O$(e){const t=r0(e),r={inputTokens:Number(e.input_tokens??0),outputTokens:Number(e.output_tokens??0),cacheReadTokens:Number(e.cache_read_input_tokens??e.cached_input_tokens??0),cacheCreateTokens:Number(e.cache_creation_input_tokens??e.cache_write_input_tokens??0),cacheCreate1hTokens:t.cacheCreate1hTokens,cacheCreate5mTokens:t.cacheCreate5mTokens};return typeof e.reasoning_output_tokens=="number"&&(r.reasoningOutputTokens=Number(e.reasoning_output_tokens)),r}function P$(e){if(!e||typeof e!="object"||Array.isArray(e))return;const t={};for(const[r,s]of Object.entries(e))!r||!s||typeof s!="object"||(t[r]=O$(s));return Object.keys(t).length?t:void 0}function Lj(e,t=0){if(!e||typeof e!="object"||t>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),...r0(r)};for(const s of Object.values(r)){const o=Lj(s,t+1);if(o)return o}return null}const $$=/^(?:claude[-_]|gpt[-_]|o\d|codex[-_])/i;function qj(e,t=0){if(!e||typeof e!="object"||t>6)return null;const r=e;if(typeof r.model=="string"&&$$.test(Sc(r.model)))return r.model;for(const s of Object.values(r)){const o=qj(s,t+1);if(o)return o}return null}function Sy(){return{agents:new Map,toolIndex:new Map,toolOwner:new Map,activeSubagentStack:new Map,lastSeq:0,seqEpoch:null,totalEvents:0,revision:0}}function Rs(e){if(!e)return;const t=e.replace(/\\/g,"/").split("/").filter(Boolean);return t[t.length-1]}function I1(){return{msgsUser:0,msgsAssistant:0,toolUses:0,toolResults:0,systemReminders:0,currentContextTokens:0,memoryFiles:[]}}function cl(e,t){return`${e}::${t}`}function cc(e){return e.agent_type??e.subagent_type??"subagent"}function Ha(e){return e.agent_id?e.agent_id:e.parent_tool_use_id?e.parent_tool_use_id:null}function ko(e,t,r,s){const o=t;let a=e.agents.get(o);return a||(a={id:o,sessionId:t,label:"session",kind:"root",state:"active",startedAt:r,lastEventAt:r,tools:[],prompts:[],toolCount:0,childCount:0,synthetic:s,usage:$j()},e.agents.set(o,a),a)}function Dj(e,t,r,s){const o=cl(t,r),a=e.agents.get(o);if(!a)return null;!a.cwd&&s.cwd&&(a.cwd=s.cwd,a.cwdBasename=Rs(s.cwd));const u=cc(s);return u&&(a.label==="subagent"||!a.label)&&(a.label=u),a}function L$(e,t,r){const s=t.session_id??"unknown",o=Ha(t);if(o){const h=Dj(e,s,o,t);if(h)return h}const a=e.activeSubagentStack.get(s),u=a&&a.length>0?a[a.length-1]:null;if(u){const h=e.agents.get(cl(s,u));if(h)return!h.cwd&&t.cwd&&(h.cwd=t.cwd,h.cwdBasename=Rs(t.cwd)),h}const c=ko(e,s,r,t.hook_event_name!=="SessionStart");return!c.cwd&&t.cwd&&(c.cwd=t.cwd,c.cwdBasename=Rs(t.cwd)),c.label==="session"&&t.cwd&&(c.label=Rs(t.cwd)??"session"),c}function q$(e,t,r,s,o){const a=cl(t,r),u=ko(e,t,o,!0);let c=e.agents.get(a);if(c){!c.cwd&&s.cwd&&(c.cwd=s.cwd,c.cwdBasename=Rs(s.cwd));const h=cc(s);return h&&(c.label==="subagent"||!c.label)&&(c.label=h),c}return c={id:a,sessionId:t,label:cc(s),kind:"subagent",parentId:u.id,state:"active",startedAt:o,tools:[],prompts:[],cwd:s.cwd,cwdBasename:Rs(s.cwd),toolCount:0,childCount:0,usage:$j()},e.agents.set(a,c),u.childCount+=1,c}function D$(e,t,r){const s=e.activeSubagentStack.get(t)??[];s.includes(r)||(s.push(r),e.activeSubagentStack.set(t,s))}function F$(e,t,r){const s=e.activeSubagentStack.get(t);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(t)}}function Fu(e,t=80){if(e==null)return"";if(typeof e=="string")return e.length>t?e.slice(0,t-1)+"…":e;try{const r=JSON.stringify(e);return r.length>t?r.slice(0,t-1)+"…":r}catch{return String(e)}}const O1=200,z$=25;function B$(e,t){const r=t.tools;if(r.length>O1){const s=r.splice(0,r.length-O1);for(const o of s)e.toolIndex.get(o.id)===o&&(e.toolIndex.delete(o.id),e.toolOwner.delete(o.id))}for(let s=r.length-z$-1;s>=0;s--){const o=r[s];if(o.trimmed)break;o.input=void 0,o.response=void 0,o.trimmed=!0}}function U$(e,t,r){const s=e.toolIndex.get(r);if(s)return s;for(let o=t.tools.length-1;o>=0;o--)if(t.tools[o].id===r)return t.tools[o];return null}const P1=2e3;function W$(e,t,r){for(let s=e.prompts.length-1;s>=0;s--){const o=e.prompts[s];if(o.at<t-P1)return!1;if(o.text===r&&o.at<=t+P1)return!0}return!1}function Fj(e,t){for(const r of t.tools)e.toolIndex.get(r.id)===r&&e.toolIndex.delete(r.id),e.toolOwner.get(r.id)===t.id&&e.toolOwner.delete(r.id)}function dl(e,t){return t&&(e.revision+=1),t}function H$(e,t,r,s){if(e.agents.size<=r)return!1;const o=m=>m.state==="done"&&m.endedAt!=null&&t-m.endedAt>s,a=[],u=new Map;for(const[m,f]of e.agents){if(f.parentId!=null){const g=u.get(f.parentId);g?g.push(m):u.set(f.parentId,[m])}o(f)&&a.push({id:m,endedAt:f.endedAt})}if(a.length===0)return!1;a.sort((m,f)=>m.endedAt-f.endedAt);let c=0;const h=m=>{const f=e.agents.get(m);f&&(Fj(e,f),e.agents.delete(m),c++)};for(const m of a){if(e.agents.size<=r)break;if(!e.agents.has(m.id))continue;const f=(u.get(m.id)??[]).map(g=>e.agents.get(g)).filter(g=>g!=null);if(!f.some(g=>!o(g))){for(const g of f)h(g.id);h(m.id)}}return dl(e,c>0)}function G$(e,t,r,s){const o=new Map;for(const[m,f]of e.agents){let g=o.get(f.sessionId);g||(g={ids:[],endedAt:0,live:!1,closed:!1},o.set(f.sessionId,g)),g.ids.push(m),f.kind==="root"&&f.closedAt!=null&&(g.closed=!0),f.state==="done"&&f.endedAt!=null?g.endedAt=Math.max(g.endedAt,f.endedAt):g.live=!0}const a=[...o.values()].filter(m=>!m.live&&m.endedAt>0&&t-m.endedAt>s).sort((m,f)=>m.closed===f.closed?m.endedAt-f.endedAt:m.closed?-1:1);let c=[...o.values()].filter(m=>!m.live).length-r;if(c<=0)return!1;let h=!1;for(const m of a){if(c<=0)break;for(const f of m.ids){const g=e.agents.get(f);g&&Fj(e,g),e.agents.delete(f)}c--,h=!0}return dl(e,h)}function V$(e,t){const r=t==null?void 0:t.payload,s=r==null?void 0:r.hook_event_name;if(s!=="PostToolUse"&&s!=="PostToolUseFailure")return!1;const o=r==null?void 0:r.tool_use_id;return typeof o=="string"&&o.length>0&&e.toolIndex.has(o)}function K$(e){let t=!1;for(const r of e.agents.values())for(const s of r.tools)s.endedAt!=null||s.outcomeGap||(s.outcomeGap=!0,t=!0);return dl(e,t)}function Y$(e,t,r){let s=!1;for(const o of e.agents.values()){if(o.provider==="codex")continue;const a=e.agents.get(o.sessionId),u=(a==null?void 0:a.lastEventAt)??(a==null?void 0:a.startedAt);for(const c of o.tools){const h=Math.max(c.startedAt,u??c.startedAt);c.endedAt==null&&t-h>r&&(c.endedAt=h,c.ok=!1,c.errorPreview=c.outcomeGap?"no result reached the deck — events were dropped while the deck was paused":"session ended before this call returned",e.toolIndex.delete(c.id),e.toolOwner.delete(c.id),s=!0)}}return dl(e,s)}const $1=90*6e4;function X$(e,t,r){let s=!1;for(const o of e.agents.values()){if(o.kind!=="root")continue;const a=o.lastEventAt??o.startedAt;if(!(t-a<=r)){o.waiting&&(o.waiting=null,s=!0),o.closedAt==null&&(o.closedAt=a),o.state==="active"&&(o.state="done",o.endedAt=a,o.reaped=!0,s=!0);for(const u of e.agents.values())u.sessionId!==o.sessionId||u.kind==="root"||u.state!=="active"||(u.state="done",u.endedAt=a,s=!0);e.activeSubagentStack.delete(o.sessionId)}}return dl(e,s)}function Q$(e){return e==="permission_prompt"?"permission":e==="idle_prompt"?"idle":null}const Z$=new Set(["Notification","ModelObserved","ContextObserved","UsageObserved","SessionNamed"]);function J$(e,t){let r=null;for(const s of e.toolIndex.values()){const o=s.agentId?e.agents.get(s.agentId):void 0;!o||o.sessionId!==t||(!r||s.startedAt>r.startedAt)&&(r=s)}return r==null?void 0:r.explicitSubagentId}function eL(e,t,r,s,o){const a=r==="permission"?J$(e,t):void 0;return a?{kind:r,message:s,since:o,subagentId:a}:{kind:r,message:s,since:o}}function tL(e,t,r){if(e.kind!=="permission")return!0;const s=Ha(t);return s==null?!0:e.subagentId!=null&&cl(r,s)===e.subagentId}function L1(e,t){const r=t.epoch??null;if(r!==null&&r!==e.seqEpoch)e.seqEpoch=r,e.lastSeq=0;else if(t.seq<=e.lastSeq)return e;const s=t.payload??{},o=t.receivedAt,a=s.hook_event_name??"Unknown";if(a==="__clear")return{...Sy(),lastSeq:t.seq,seqEpoch:e.seqEpoch,revision:e.revision+1};e.totalEvents+=1,e.lastSeq=t.seq,e.revision+=1;const u=s.session_id??"unknown";if(!Z$.has(a)){const f=e.agents.get(u);f!=null&&f.waiting&&tL(f.waiting,s,u)&&(f.waiting=null)}const c=e.agents.get(u);if(c&&o>(c.lastEventAt??0)&&(c.lastEventAt=o,c.reaped&&(c.reaped=!1,c.state="active",c.endedAt=void 0,c.closedAt=void 0)),typeof s.model_context_window=="number"&&s.model_context_window>0){const f=e.agents.get(u);f&&(f.contextWindow=s.model_context_window)}if(typeof s.approval_policy=="string"&&s.approval_policy){const f=e.agents.get(u);f&&(f.approvalPolicy=s.approval_policy)}if(typeof s.context_tokens=="number"&&s.context_tokens>=0){const f=e.agents.get(u);f&&(f.context={...f.context??I1(),currentContextTokens:s.context_tokens})}if(a==="ModelObserved"){const f=typeof s.model=="string"?s.model:null;if(f){const y=e.agents.get(u);y&&(y.model=f)}const g=s.subagentModels;if(g&&typeof g=="object")for(const[y,w]of Object.entries(g)){if(typeof w!="string")continue;const N=`${u}::${y}`,b=e.agents.get(N);b&&(b.model=w)}return e}if(a==="ContextObserved"){const f=s.context??null;if(f){const g=e.agents.get(u);if(g){const y=g.context??I1(),w=(b,_)=>typeof f[b]=="number"?f[b]:_,N=Array.isArray(f.memoryFiles)?f.memoryFiles:Array.isArray(f.claudeMdFiles)?f.claudeMdFiles:null;g.context={msgsUser:w("msgsUser",y.msgsUser),msgsAssistant:w("msgsAssistant",y.msgsAssistant),toolUses:w("toolUses",y.toolUses),toolResults:w("toolResults",y.toolResults),systemReminders:w("systemReminders",y.systemReminders),currentContextTokens:w("currentContextTokens",y.currentContextTokens),memoryFiles:N??y.memoryFiles}}}return e}if(a==="SessionNamed"){const f=e.agents.get(u);if(f){const g=typeof s.sessionName=="string"?s.sessionName.trim():"",y=typeof s.sessionTitle=="string"?s.sessionTitle.trim():"";g&&(f.sessionName=g),y&&(f.sessionTitle=y);const w=f.sessionName??"";f.sessionTitle&&w&&f.sessionTitle.toLowerCase()===w.toLowerCase()&&(f.sessionTitle=void 0)}return e}if(a==="UsageObserved"){const f=s.usage??null;if(f){const g=e.agents.get(u);if(g){g.usage.inputTokens=Number(f.input_tokens??0),g.usage.outputTokens=Number(f.output_tokens??0),g.usage.cacheReadTokens=Number(f.cache_read_input_tokens??f.cached_input_tokens??0),g.usage.cacheCreateTokens=Number(f.cache_creation_input_tokens??f.cache_write_input_tokens??0);const y=r0(f);g.usage.cacheCreate1hTokens=y.cacheCreate1hTokens,g.usage.cacheCreate5mTokens=y.cacheCreate5mTokens,typeof f.reasoning_output_tokens=="number"&&(g.usage.reasoningOutputTokens=Number(f.reasoning_output_tokens)),g.usageByModel=P$(s.usageByModel)}}return e}const h=L$(e,s,o);h.provider||(h.provider=s.provider==="codex"?"codex":"claude");const m=qj(s);switch(m&&(h.model=m),a){case"SessionStart":{const f=ko(e,u,o,!1);f.synthetic=!1,f.state="active",f.closedAt=void 0,f.startedAt=f.startedAt||o,!f.cwd&&s.cwd&&(f.cwd=s.cwd,f.cwdBasename=Rs(s.cwd)),f.label==="session"&&s.cwd&&(f.label=Rs(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 f=ko(e,u,o,!1);f.state="active",f.endedAt=void 0,f.closedAt=void 0,f.exitAt=void 0;const g=(typeof s.prompt=="string"?s.prompt:typeof s.message=="string"?s.message:"")??"";g&&!W$(f,o,g)&&(f.prompts.push({at:o,text:g}),f.firstPrompt||(f.firstPrompt=Fu(g,120)));break}case"PreToolUse":{const f=s.tool_use_id?U$(e,h,s.tool_use_id):null;if(f){s.tool_name&&f.name==="?"&&(f.name=s.tool_name),f.endedAt==null&&!f.trimmed&&s.tool_input!==void 0&&(f.input=s.tool_input,f.inputPreview=Fu(s.tool_input));break}const g=s.tool_use_id??`${h.id}:${h.toolCount}`,y=Ha(s),w={id:g,name:s.tool_name??"?",input:s.tool_input,inputPreview:Fu(s.tool_input),agentId:h.id,explicitSubagentId:y?cl(u,y):void 0,startedAt:o};h.tools.push(w),h.toolCount+=1,h.state="active",e.toolIndex.set(g,w),e.toolOwner.set(g,h.id),B$(e,h);break}case"PostToolUse":case"PostToolUseFailure":{const f=s.tool_use_id;if(!f)break;let g=e.toolIndex.get(f),y=!1;if(!g)for(const N of e.agents.values()){const b=N.tools.find(_=>_.id===f);if(b){g=b,y=!0;break}}if(!g||g.outcomeApplied)break;g.outcomeApplied=!0,g.outcomeGap=void 0,g.endedAt=o,g.ok=a==="PostToolUse",g.trimmed||(g.response=s.tool_response),a==="PostToolUseFailure"?g.errorPreview=Fu(s.tool_response):y&&(g.errorPreview=void 0);const w=Lj(s.tool_response);w&&(g.usage=w),e.toolIndex.delete(f),e.toolOwner.delete(f);break}case"SubagentStart":{const f=Ha(s);if(!f)break;const g=q$(e,u,f,s,o);g.state="active",g.startedAt=g.startedAt||o,g.exitAt=void 0,g.endedAt=void 0;const y=cc(s);y&&(g.label=y),D$(e,u,f);break}case"SubagentStop":{const f=Ha(s);if(!f)break;const g=Dj(e,u,f,s);if(!g)break;g.state="done",g.endedAt=o,F$(e,u,f);break}case"Stop":case"SessionEnd":{const f=ko(e,u,o,!1);f.state="done",f.endedAt=o,a==="SessionEnd"&&(f.closedAt=o),e.activeSubagentStack.delete(u);break}case"Notification":{const f=Q$(s.notification_type);if(!f)break;const g=ko(e,u,o,!1),y=typeof s.message=="string"?s.message:"",w=g.waiting;g.waiting=w&&w.kind===f&&w.message===y?{...w,since:Math.min(w.since,o)}:eL(e,u,f,y,o);break}}return e}function s0(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t^e.charCodeAt(r);return Math.abs(t)%360}const nL=Date.UTC(2026,8,1);function rL(e){return e<nL?{input:2,output:10,cacheRead:.2,cacheWrite:2.5,cacheWrite1h:4}:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}}const sL=[{match:/^claude[-_](fable|mythos)[-_]5\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:10,output:50,cacheRead:1,cacheWrite:12.5,cacheWrite1h:20}},{match:/^claude[-_]opus[-_]5\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,cacheWrite1h:10}},{match:/^claude[-_]sonnet[-_]5\b(?![-_.]\d{1,7}(?!\d))/i,rates:rL},{match:/^claude[-_]opus[-_]4[-_.](?:5|6|7|8)\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:5,output:25,cacheRead:.5,cacheWrite:6.25,cacheWrite1h:10}},{match:/^claude[-_]opus[-_]4(?:[-_.]1)?\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:15,output:75,cacheRead:1.5,cacheWrite:18.75,cacheWrite1h:30}},{match:/^claude[-_]sonnet[-_]4[-_.](?:5|6)\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}},{match:/^claude[-_]sonnet[-_]4\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:3,output:15,cacheRead:.3,cacheWrite:3.75,cacheWrite1h:6}},{match:/^claude[-_]haiku[-_]4[-_.]5\b(?![-_.]\d{1,7}(?!\d))/i,rates:{input:1,output:5,cacheRead:.1,cacheWrite:1.25,cacheWrite1h:2}},{match:/^claude[-_]haiku[-_]3[-_.]5\b(?![-_.]\d{1,7}(?!\d))/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:/^gpt[-_]5[-_.]1[-_]codex[-_]mini/i,rates:{input:.25,output:2,cacheRead:.025,cacheWrite:0}},{match:/^gpt[-_]5[-_.]1(?!\d)/i,rates:{input:1.25,output:10,cacheRead:.125,cacheWrite:0}},{match:/^gpt[-_]5[-_]pro\b/i,rates:{input:15,output:120,cacheRead:15,cacheWrite:0}},{match:/^gpt[-_]5[-_]mini/i,rates:{input:.25,output:2,cacheRead:.025,cacheWrite:0}},{match:/^gpt[-_]5[-_]nano/i,rates:{input:.05,output:.4,cacheRead:.005,cacheWrite:0}},{match:/^gpt[-_]5(?![-_.]\d)/i,rates:{input:1.25,output:10,cacheRead:.125,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[-_]mini/i,rates:{input:1.1,output:4.4,cacheRead:.55,cacheWrite:0}},{match:/^o1\b/i,rates:{input:15,output:60,cacheRead:7.5,cacheWrite:0}},{match:/^o3[-_]deep[-_]research/i,rates:{input:10,output:40,cacheRead:2.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[-_]deep[-_]research/i,rates:{input:2,output:8,cacheRead:.5,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 iL(e){return e?/^(?:gpt[-_]|codex[-_]|o\d)/i.test(e):!1}function Do(e,t=Date.now()){if(!e)return null;const r=Sc(e);for(const s of sL)if(s.match.test(r))return typeof s.rates=="function"?s.rates(t):s.rates;return null}function zj(e,t){const r=Math.max(0,e.cacheCreate1hTokens??0),s=Math.max(0,e.cacheCreate5mTokens??0),o=Math.max(0,e.cacheCreateTokens-r-s),a=s+o,u=t.cacheWrite1h??t.cacheWrite;return{tokens5m:a,tokens1h:r,usd5m:a*t.cacheWrite/1e6,usd1h:r*u/1e6}}function Bj(e,t,r=Date.now()){if(!iL(t))return e.inputTokens;const s=Do(t,r),o=((s==null?void 0:s.cacheWrite)??0)>0?Math.max(0,e.cacheCreateTokens):0;return Math.max(0,e.inputTokens-e.cacheReadTokens-o)}function i0(e,t,r=Date.now()){const s=Do(t,r);if(!s)return{input:0,output:0,cacheRead:0,cacheWrite:0,total:0};const o=Bj(e,t,r)*s.input/1e6,a=e.outputTokens*s.output/1e6,u=e.cacheReadTokens*s.cacheRead/1e6,c=zj(e,s),h=c.usd5m+c.usd1h;return{input:o,output:a,cacheRead:u,cacheWrite:h,total:o+a+u+h}}const q1=2e5,oL=1e6,aL=[/\[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],lL=[{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 uL(e){if(!e)return q1;const t=Sc(e);for(const r of aL)if(r.test(t))return oL;for(const r of lL)if(r.match.test(t))return r.window;return q1}function Uj(e,t){return typeof e=="number"&&e>0?e:uL(t)}const ec="not priced";function Ve(e){if(e<=0)return"—";if(e<.005)return"<1¢";if(e<1){const t=(e*100).toFixed(e<.1?1:0);if(Number(t)<100)return`${t}¢`}return e<100?`$${e.toFixed(2)}`:e<1e4?`$${e.toFixed(0)}`:`$${(e/1e3).toFixed(1)}k`}function dc(e,t){if(e<=0||t<10)return null;const r=e/t,s=r*60;return s>=.01?`${Ve(s)}/min`:`${Ve(r*3600)}/hr`}function cL(e,t){const r={inputTokens:e.inputTokens+t.inputTokens,outputTokens:e.outputTokens+t.outputTokens,cacheReadTokens:e.cacheReadTokens+t.cacheReadTokens,cacheCreateTokens:e.cacheCreateTokens+t.cacheCreateTokens};return(e.cacheCreate1hTokens!==void 0||e.cacheCreate5mTokens!==void 0||t.cacheCreate1hTokens!==void 0||t.cacheCreate5mTokens!==void 0)&&(r.cacheCreate1hTokens=(e.cacheCreate1hTokens??0)+(t.cacheCreate1hTokens??0),r.cacheCreate5mTokens=(e.cacheCreate5mTokens??0)+(t.cacheCreate5mTokens??0)),(e.reasoningOutputTokens!==void 0||t.reasoningOutputTokens!==void 0)&&(r.reasoningOutputTokens=(e.reasoningOutputTokens??0)+(t.reasoningOutputTokens??0)),r}function dL(e,t){let r=0,s=0,o=0,a=0,u=0,c=0;for(const g of t)r+=g.inputTokens,s+=g.outputTokens,o+=g.cacheReadTokens,a+=g.cacheCreateTokens,u+=g.cacheCreate1hTokens??0,c+=g.cacheCreate5mTokens??0;const h=(g,y)=>Math.max(0,g-y),m={inputTokens:h(e.inputTokens,r),outputTokens:h(e.outputTokens,s),cacheReadTokens:h(e.cacheReadTokens,o),cacheCreateTokens:h(e.cacheCreateTokens,a)};return(e.cacheCreate1hTokens!==void 0||e.cacheCreate5mTokens!==void 0)&&(m.cacheCreate1hTokens=h(e.cacheCreate1hTokens??0,u),m.cacheCreate5mTokens=h(e.cacheCreate5mTokens??0,c)),m.inputTokens+m.outputTokens+m.cacheReadTokens+m.cacheCreateTokens>0?m:null}function fl(e){const t=e.usageByModel,r=t?Object.keys(t):[];if(!t||r.length===0)return[{model:e.model,usage:e.usage}];const s=r.map(a=>({model:a,usage:t[a]})),o=dL(e.usage,s.map(a=>a.usage));if(o){const a=s.findIndex(u=>u.model===e.model);a>=0?s[a]={model:s[a].model,usage:cL(s[a].usage,o)}:s.push({model:e.model,usage:o})}return s}function xn(e,t=Date.now()){const r={input:0,output:0,cacheRead:0,cacheWrite:0,total:0};for(const s of fl(e)){const o=i0(s.usage,s.model,t);r.input+=o.input,r.output+=o.output,r.cacheRead+=o.cacheRead,r.cacheWrite+=o.cacheWrite,r.total+=o.total}return r}function Ny(e,t=Date.now()){let r=0;for(const s of fl(e))Do(s.model,t)==null&&(r+=s.usage.inputTokens+s.usage.outputTokens);return r}function Wj(e){const t=[];for(const r of fl(e)){if(!r.model||t.includes(r.model))continue;const s=r.usage;s.inputTokens+s.outputTokens+s.cacheReadTokens+s.cacheCreateTokens<=0||t.push(r.model)}return t}function Hj(e){return Wj(e).filter(t=>t!==e.model)}const fL=new Set(["untrusted","on-request","on-failure"]);function hL(e){return typeof e!="string"||!e?null:fL.has(e)?!0:e==="never"?!1:null}function pL(e){if(e.provider!=="codex"||e.kind!=="root"||e.waiting||e.state!=="active")return null;const t=hL(e.approvalPolicy);return t===!1?null:{label:"approvals not visible",detail:`${t===!0?`This session's approval policy is "${e.approvalPolicy}", so Codex can stop and ask you to approve a command.`:"This session's approval policy has not been read yet, so it may be able to stop and ask you to approve a command."}
|
|
58
|
+
|
|
59
|
+
Codex writes no approval request to its rollout files, which are the only thing this deck can read — so when it does ask, this card, the sidebar, the topbar count, the tab title and the favicon will all stay silent. Check the terminal.`}}function D1(e){return e[0].toUpperCase()+e.slice(1).toLowerCase()}function vi(e){const t=Sc(e).replace(/[-_]\d{8}(?!\d)/,""),r=t.match(/^claude[-_](opus|sonnet|haiku|fable|mythos)[-_](\d+(?:[-_.]\d+)*)/i);if(r){const o=D1(r[1]),a=r[2].replace(/[-_]/g,".");return`${o} ${a}`}const s=t.match(/^gpt[-_](\d+(?:[-_.]\d+)*)((?:[-_][A-Za-z0-9.]+)*)$/i);if(s){const o=s[1].replace(/[-_]/g,"."),a=s[2].split(/[-_]/).filter(Boolean).map(D1);return[`GPT-${o}`,...a].join(" ")}return e}function Ot(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 fc(e,t,r){const s=(t??r)-e;if(s<1e3)return`${Math.max(0,s)}ms`;const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const a=Math.floor(o/60),u=o%60;return`${a}m ${String(u).padStart(2,"0")}s`}function Gj(e,t){if(e.endedAt==null)return t;const r=e.endedAt-e.startedAt;return r<1e3?`${r}ms`:`${(r/1e3).toFixed(2)}s`}function Vj(e,t){const r=typeof e=="string"?e.trim():"",s=typeof t=="string"?t.trim():"";return{face:r||s||void 0,tooltip:s||r||void 0}}const mL=1,Kj=-1;function gL(){const e=[];let t=0;function r(){let s;for(const o of e)(!s||o.layer>s.layer||o.layer===s.layer&&o.seq>s.seq)&&(s=o);return s}return{push(s,o=0){const a={dismiss:s,layer:o,seq:t++};return e.push(a),()=>{const u=e.indexOf(a);u!==-1&&e.splice(u,1)}},dismissTop(){const s=r();return s?(s.dismiss(),!0):!1},isTop(s){const o=r();return o!=null&&o.dismiss===s},depth(){return e.length},topIsPanel(){const s=r();return s!=null&&s.layer===Kj}}}const jo=gL();function vL(e){return e.overlayOpen&&!e.panelOnTop?"dismiss":e.typing?"blur":e.overlayOpen?"dismiss":"clear-selection"}function F1(e){return String(e.tagName??"").toUpperCase()==="BODY"}function yL(e,t){return!e||!e.isConnected||F1(e)?!1:t==null||F1(t)}const z1="a[href], button, input, select, textarea, [tabindex]";function wL(e){return!e||e.disabled||e.rendered===!1?!1:(e.tabIndex??0)>=0}function xL(e){if(!e||!e.overflowing||e.hasFocusable)return!1;const t=String(e.overflow??"").toLowerCase();return t==="auto"||t==="scroll"}function bL({count:e,index:t,shiftKey:r}){return e<=0?{kind:"hold"}:t<0||t>=e?{kind:"focus",index:r?e-1:0}:!r&&t===e-1?{kind:"focus",index:0}:r&&t===0?{kind:"focus",index:e-1}:{kind:"allow"}}function o0(e){return e.ctrlKey||e.metaKey||e.altKey}const _L=new Set(["button","checkbox","color","file","image","radio","range","reset","submit"]),kL=new Set(["INPUT","TEXTAREA","SELECT","OPTION","BUTTON","SUMMARY","A"]),SL=new Set(["button","checkbox","combobox","link","listbox","menu","menubar","menuitem","menuitemcheckbox","menuitemradio","option","radio","searchbox","slider","spinbutton","switch","tab","textbox","treeitem"]);function Yj(e){return typeof e.tagName=="string"?e.tagName.toUpperCase():""}function a0(e){if(!e)return!1;if(e.isContentEditable)return!0;const t=Yj(e);return t==="TEXTAREA"?!0:t!=="INPUT"?!1:!_L.has(String(e.type??"text").toLowerCase())}function NL(e){if(!e)return!1;if(a0(e)||kL.has(Yj(e)))return!0;const t=typeof e.role=="string"?e.role.trim().toLowerCase():"";return t!==""&&t.split(/\s+/).some(r=>SL.has(r))}function EL({key:e,modalOpen:t,sheetOpen:r}){return t?!(e==="?"&&r):!1}function Xj(e){return e?Array.from(e.querySelectorAll("*")).filter(t=>{if(t.matches(z1))return wL({disabled:t.disabled,tabIndex:t.tabIndex,rendered:t.getClientRects().length>0});const r=t.scrollHeight>t.clientHeight;return r&&xL({overflowing:r,overflow:getComputedStyle(t).overflowY,hasFocusable:t.querySelector(z1)!=null})}):[]}function CL(e,t){const r=Xj(e);if(!t||!e.contains(t)||r.includes(t))return r;const s=r.findIndex(o=>(t.compareDocumentPosition(o)&Node.DOCUMENT_POSITION_FOLLOWING)!==0);return s===-1?[...r,t]:[...r.slice(0,s),t,...r.slice(s)]}function lr(e,t={}){const{focusRef:r,layer:s}=t,o=E.useRef(null),a=E.useRef(e);a.current=e;const u=E.useRef(null);u.current===null&&(u.current=()=>a.current());const c=u.current;return E.useEffect(()=>jo.push(c,s),[c,s]),E.useEffect(()=>{var m;const h=document.activeElement;return(m=(r==null?void 0:r.current)??Xj(o.current)[0])==null||m.focus(),()=>{yL(h,document.activeElement)&&h.focus()}},[]),E.useEffect(()=>{const h=m=>{var b;if(m.key!=="Tab"||o0(m))return;const f=o.current;if(!f)return;const g=document.activeElement;if(!(g!=null&&f.contains(g))&&!jo.isTop(c))return;const w=CL(f,g),N=bL({count:w.length,index:g?w.indexOf(g):-1,shiftKey:m.shiftKey});N.kind!=="allow"&&(m.preventDefault(),N.kind==="focus"&&((b=w[N.index])==null||b.focus()))};return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[c]),o}function jL(e){return e==="codex"?{subtitle:"reported by the Codex CLI — as of its most recent request",windowScope:"last request",compositionCounted:!1,compositionUncounted:"Not counted for Codex — the deck reconstructs the session from its rollout file and skips whatever was written before it attached, so a message and tool-call breakdown here would be short by an unknown amount. The window figure above is the CLI's own and is unaffected.",memoryHeading:"AGENTS.md files in scope",memoryEmpty:"No AGENTS.md files found on the path from cwd to the filesystem root, or in $CODEX_HOME."}:{subtitle:"approximation — CC's /context isn't hook-exposed",windowScope:"current turn",compositionCounted:!0,compositionUncounted:"",memoryHeading:"CLAUDE.md files in scope",memoryEmpty:"No CLAUDE.md files found on the path from cwd to ~/.claude."}}function In(e){return e.toLocaleString()}function TL(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(2)} MB`}const RL=60;function AL(e,t=RL){if(e.length<=t)return e;const r=e.slice(e.length-(t-1)),s=r.search(/[/\\]/);return"…"+(s===-1?r:r.slice(s))}function ML({agent:e,onClose:t}){var y;const r=E.useRef(null),s=lr(t,{focusRef:r}),o=e.context,a=e.usage,u=(o==null?void 0:o.currentContextTokens)??0,c=Uj(e.contextWindow,e.model),h=Math.min(100,u/c*100),m=xn(e),f=a.inputTokens+a.cacheReadTokens+a.cacheCreateTokens,g=jL(e.provider);return d.jsx("div",{className:"ctx-modal-backdrop",onClick:t,role:"presentation",children:d.jsxs("div",{ref:s,className:"ctx-modal",onClick:w=>w.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Context breakdown",children:[d.jsxs("header",{className:"ctx-modal-head",children:[d.jsxs("div",{children:[d.jsxs("div",{className:"ctx-modal-title",children:["Context · ",e.label]}),d.jsx("div",{className:"ctx-modal-sub",children:g.subtitle})]}),d.jsx("button",{type:"button",ref:r,className:"glyph-btn ctx-modal-close",onClick:t,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]}),d.jsxs("section",{className:"ctx-window-row",children:[d.jsx("div",{className:"ctx-window-bar",role:"progressbar","aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":Math.round(h),children:d.jsx("div",{className:"ctx-window-fill",style:{width:`${h}%`}})}),d.jsxs("div",{className:"ctx-window-meta",children:[d.jsxs("span",{className:"ctx-window-pct",children:[h.toFixed(1),"%"]}),d.jsxs("span",{children:[In(u)," / ",In(c)," tok (",g.windowScope,")"]})]})]}),d.jsx("h3",{className:"ctx-section-title",children:"Cumulative usage · whole session"}),d.jsxs("div",{className:"ctx-grid",children:[d.jsx(er,{label:"input tokens",val:In(a.inputTokens)}),d.jsx(er,{label:"output tokens",val:In(a.outputTokens)}),d.jsx(er,{label:"cache reads",val:In(a.cacheReadTokens)}),d.jsx(er,{label:"cache writes",val:In(a.cacheCreateTokens)}),d.jsx(er,{label:"cumulative total",val:In(f)}),d.jsx(er,{label:"estimated cost",val:Ve(m.total),accent:!0})]}),d.jsx("h3",{className:"ctx-section-title",children:"Transcript composition"}),g.compositionCounted?d.jsxs("div",{className:"ctx-grid",children:[d.jsx(er,{label:"user messages",val:In((o==null?void 0:o.msgsUser)??0)}),d.jsx(er,{label:"assistant messages",val:In((o==null?void 0:o.msgsAssistant)??0)}),d.jsx(er,{label:"tool uses",val:In((o==null?void 0:o.toolUses)??0)}),d.jsx(er,{label:"tool results",val:In((o==null?void 0:o.toolResults)??0)}),d.jsx(er,{label:"system-reminders",val:In((o==null?void 0:o.systemReminders)??0)})]}):d.jsx("div",{className:"ctx-empty",children:g.compositionUncounted}),d.jsx("h3",{className:"ctx-section-title",children:g.memoryHeading}),(((y=o==null?void 0:o.memoryFiles)==null?void 0:y.length)??0)===0?d.jsx("div",{className:"ctx-empty",children:g.memoryEmpty}):d.jsx("ul",{className:"ctx-md-list",children:o.memoryFiles.map(w=>d.jsxs("li",{children:[d.jsx("span",{className:"ctx-md-path",title:w.path,children:AL(w.path)}),d.jsx("span",{className:"ctx-md-size",children:TL(w.bytes)})]},w.path))})]})})}function er({label:e,val:t,accent:r}){return d.jsxs("div",{className:`ctx-row${r?" accent":""}`,children:[d.jsx("span",{className:"ctx-row-label",children:e}),d.jsx("span",{className:"ctx-row-val",children:t})]})}function IL({currentContextTokens:e,modelId:t,contextWindow:r,size:s=26,onClick:o,title:a}){const u=Uj(r,t),c=Math.min(1,e/u),h=s/2-3,m=s/2,f=2*Math.PI*h,g=f*c,y=c>.9?"var(--err)":c>.7?"var(--inflight)":"var(--accent)";return d.jsx("button",{type:"button",className:"ctx-donut",onClick:o,title:a??`context: ${e.toLocaleString()} / ${u.toLocaleString()} (${(c*100).toFixed(1)}%)`,"aria-label":"Show context breakdown",children:d.jsxs("svg",{width:s,height:s,viewBox:`0 0 ${s} ${s}`,children:[d.jsx("circle",{cx:m,cy:m,r:h,stroke:"var(--line)",strokeWidth:"2.5",fill:"none"}),d.jsx("circle",{cx:m,cy:m,r:h,stroke:y,strokeWidth:"2.5",fill:"none",strokeDasharray:`${g} ${f-g}`,strokeDashoffset:f/4,strokeLinecap:"round",style:{transition:"var(--ctx-arc-transition)"}}),d.jsx("text",{x:m,y:m+3,textAnchor:"middle",fontSize:"8",fill:"var(--text)",fontWeight:"600",children:Math.round(c*100)})]})})}function B1(e,t){const r=Do(t);if(!r)return`model: ${t}
|
|
60
|
+
no published rate in this build — the tokens are counted, the dollars are not`;const s=f=>f.toLocaleString(),o=f=>`$${f}/MTok`,a=i0(e,t),u=zj(e,r),c=u.tokens1h>0?[`cache w5m${s(u.tokens5m).padStart(14)} × ${o(r.cacheWrite).padEnd(11)} = ${Ve(u.usd5m)}`,`cache w1h${s(u.tokens1h).padStart(14)} × ${o(r.cacheWrite1h??r.cacheWrite).padEnd(11)} = ${Ve(u.usd1h)}`]:[`cache w ${s(u.tokens5m).padStart(14)} × ${o(r.cacheWrite).padEnd(11)} = ${Ve(u.usd5m)}`],h=Bj(e,t),m=h===e.inputTokens?"input":"uncached";return[`model: ${t}`,`${m.padEnd(9)}${s(h).padStart(14)} × ${o(r.input).padEnd(11)} = ${Ve(a.input)}`,`output ${s(e.outputTokens).padStart(14)} × ${o(r.output).padEnd(11)} = ${Ve(a.output)}`,`cache r ${s(e.cacheReadTokens).padStart(14)} × ${o(r.cacheRead).padEnd(11)} = ${Ve(a.cacheRead)}`,...c,"─────────────────────────────────────────",`total = ${Ve(a.total)}`].join(`
|
|
61
|
+
`)}function U1(e){const t=fl(e);return t.length<=1?B1(e.usage,e.model):[...t.map(r=>B1(r.usage,r.model)),"═════════════════════════════════════════",`all models = ${Ve(xn(e).total)}`].join(`
|
|
62
|
+
`)}function OL({data:e,selected:t}){var y;const r=e.now??Date.now(),s=["agent-node",`state-${e.state}`,e.synthetic?"synthetic":"",t?"selected":""].filter(Boolean).join(" "),o=e.tools.filter(w=>!w.endedAt).length,a=s0(e.sessionId),u=((y=e.context)==null?void 0:y.currentContextTokens)??0,c=e.kind==="root"&&u>0,h=e.sessionTitle?e.cwd?`${e.cwd}
|
|
63
|
+
${e.sessionTitle}`:e.sessionTitle:e.cwd,m=Hj(e),f=m.length>0?`${e.model}
|
|
64
|
+
spend on this card also covers:
|
|
65
|
+
${m.join(`
|
|
66
|
+
`)}`:e.model,g=Vj(e.sessionName,e.sessionTitle);return d.jsxs("div",{className:s,style:{"--session-hue":a},children:[d.jsx("span",{className:"accent-stripe"}),d.jsx(Io,{type:"target",position:Oe.Left,style:{background:"transparent",border:"none"}}),d.jsxs("div",{className:"head",children:[d.jsxs("div",{className:"title",children:[d.jsx(PL,{state:e.state}),d.jsx("span",{className:"label",title:h,children:e.label}),e.synthetic&&d.jsx("span",{className:"synth-tag",title:"No SessionStart captured — synthesised",children:"?"})]}),d.jsxs("div",{className:"head-right",children:[c&&e.onOpenContext&&d.jsx(IL,{currentContextTokens:u,modelId:e.model,contextWindow:e.contextWindow,onClick:()=>e.onOpenContext(e.sessionId)}),d.jsx("div",{className:"time",title:`Started ${new Date(e.startedAt).toLocaleTimeString()}`,children:fc(e.startedAt,e.endedAt,r)})]})]}),d.jsxs("div",{className:"sub",children:[e.kind==="root"?"session":"subagent",e.childCount>0&&d.jsxs("span",{className:"spawn-badge",title:`${e.childCount} subagents spawned`,children:["→ ",e.childCount]}),e.cwdBasename&&e.kind==="subagent"?` · ${e.cwdBasename}`:"",e.model?d.jsxs("span",{className:"model-chip",title:f,children:[vi(e.model),m.length>0?` +${m.length}`:""]}):e.provider==="codex"?d.jsx("span",{className:"model-chip",title:"OpenAI Codex — no model reported yet",children:"Codex"}):null]}),e.kind==="root"&&g.face&&d.jsx("div",{className:"session-name",title:g.tooltip,children:g.face}),e.waiting&&d.jsx(LL,{waiting:e.waiting,now:r}),(()=>{const w=pL(e);return w?d.jsxs("div",{className:"approval-blind-row",title:w.detail,children:[d.jsx("span",{className:"approval-blind-dot","aria-hidden":!0}),d.jsx("span",{className:"approval-blind-said",children:w.label})]}):null})(),e.tools.length>0&&d.jsx(qL,{tools:e.tools,now:r}),d.jsxs("div",{className:"meta",children:[d.jsxs("span",{children:[d.jsx("b",{children:e.toolCount})," tools"]}),o>0&&d.jsxs("span",{className:"inflight-meta",children:[d.jsx("b",{children:o})," in-flight"]}),e.usage.inputTokens+e.usage.outputTokens>0&&d.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:[d.jsx("b",{children:Ot(e.usage.inputTokens+e.usage.outputTokens)})," tok"]}),e.model&&(()=>{const w=Do(e.model),N=xn(e),b=Ny(e);if(!w&&N.total<=0)return e.usage.inputTokens+e.usage.outputTokens<=0?null:d.jsx("span",{className:"cost-unpriced",title:U1(e),children:ec});if(N.total<=0)return null;const _=Math.max(0,((e.endedAt??r)-e.startedAt)/1e3),k=e.state==="active"?dc(N.total,_):null,S=U1(e)+(k?`
|
|
67
|
+
burn: ${k}`:"");return d.jsxs("span",{className:"cost-meta",title:S,children:[d.jsxs("b",{children:[Ve(N.total),b>0?"+":""]}),k&&d.jsx("span",{className:"cost-rate",children:k})]})})()]}),d.jsx(Io,{type:"source",position:Oe.Right,style:{background:"transparent",border:"none"}})]})}function l0(e){return e==="active"?"live":e==="done"?"done":"err"}function PL({state:e}){return d.jsx("span",{className:`state-pill state-${e}`,children:l0(e)})}function Nc(e){return e.message?e.message:e.kind==="permission"?"Needs your permission":"Waiting for your input"}function $L(e){return e.kind==="permission"?Nc(e):"Your turn"}function LL({waiting:e,now:t}){const r=e.kind==="permission",s=Nc(e);return d.jsxs("div",{className:r?"waiting-row permission":"waiting-row idle",title:`${s}
|
|
68
|
+
Blocked for ${fc(e.since,void 0,t)} — the answer goes in the terminal, not here.`,children:[r?d.jsx("span",{className:"ap-pulse","aria-hidden":!0}):d.jsx("span",{className:"waiting-dot","aria-hidden":!0}),d.jsx("span",{className:"waiting-said",children:$L(e)}),d.jsx("b",{children:fc(e.since,void 0,t)})]})}function qL({tools:e,now:t}){const a=new Array(24).fill(0);let u=0;for(const y of e){const w=t-y.startedAt;if(w<0||w>=6e4)continue;const N=23-Math.floor(w/2500);N>=0&&N<24&&(a[N]+=1,u+=1)}const c=Math.max(1,...a),h=132,m=14,f=h/24,g=c/(2500/1e3);return d.jsxs("div",{className:"tool-spark-row",title:`${u} tool calls in last 60s · peak ${g.toFixed(1)}/s`,children:[d.jsx("svg",{className:"tool-spark",width:h,height:m,viewBox:`0 0 ${h} ${m}`,"aria-hidden":!0,children:a.map((y,w)=>{const N=y===0?1.5:Math.max(1.5,y/c*m),b=w===23&&y>0,k=`tool-spark-bar${y>0?" active":""}${b?" latest":""}`;return d.jsx("rect",{x:w*f+.4,y:m-N,width:Math.max(.5,f-1),height:N,rx:.8,className:k},w)})}),d.jsx("span",{className:"tool-spark-label",children:"60s"})]})}function W1(e){if(e==null)return"(none)";if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}function DL({tool:e,onClose:t}){const r=lr(t),s=e.endedAt==null?"inflight":e.ok===!1?"err":"done";return d.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:d.jsxs("div",{ref:r,className:"modal",onClick:o=>o.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"tool-modal-title",children:[d.jsxs("header",{className:"modal-head",children:[d.jsxs("div",{className:"modal-title",children:[d.jsx("span",{className:`status-dot ${s}`,"aria-hidden":!0}),d.jsx("span",{id:"tool-modal-title",className:"modal-tool-name",children:e.name}),d.jsxs("span",{className:"modal-tool-id",title:e.id,children:[e.id.slice(0,12),"…"]})]}),d.jsxs("div",{className:"modal-actions",children:[d.jsx("span",{className:"modal-dur",children:Gj(e,"in-flight…")}),d.jsx("button",{className:"glyph-btn",onClick:t,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),d.jsxs("section",{className:"modal-body",children:[e.trimmed&&d.jsx("div",{className:"modal-section",children:d.jsx("p",{className:"modal-note",children:"Full payloads for this call were released to keep memory bounded — only the previews below are still held."})}),d.jsxs("div",{className:"modal-section",children:[d.jsx("h4",{children:"Input"}),d.jsx("pre",{children:W1(e.input??e.inputPreview)})]}),d.jsxs("div",{className:"modal-section",children:[d.jsxs("h4",{children:["Response ",s==="err"&&d.jsx("span",{className:"err-tag",children:"error"})]}),d.jsx("pre",{children:e.endedAt==null?"(waiting…)":W1(e.response??e.errorPreview)})]})]})]})})}const zu=18,H1=26,FL=12;function zL(e){return BL(e.nodeInternals.values())}function BL(e){const t=new Map;for(const o of e){if(o.type!=="agent")continue;const a=o.data;if(!(a!=null&&a.sessionId)||a.exitAt!=null||o.width==null||o.height==null)continue;const u=o.position.x,c=o.position.y,h=u+o.width,m=c+o.height,f=t.get(a.sessionId);f?(f.minX=Math.min(f.minX,u),f.minY=Math.min(f.minY,c),f.maxX=Math.max(f.maxX,h),f.maxY=Math.max(f.maxY,m),a.kind==="root"&&(f.label=V1(a)??f.label),a.kind==="root"&&(f.name=K1(a))):t.set(a.sessionId,{minX:u,minY:c,maxX:h,maxY:m,label:V1(a)??a.sessionId,name:K1(a)})}const r=new Map;for(const o of t.values())r.set(o.label,(r.get(o.label)??0)+1);const s=[];for(const[o,a]of t){const u=(r.get(a.label)??0)>1;s.push({sessionId:o,...GL(a.label,a.name,o,u),x:a.minX-zu,y:a.minY-zu-H1,w:a.maxX-a.minX+zu*2,h:a.maxY-a.minY+zu*2+H1})}return s}const Ey=" · ",UL=32,WL=/[\u1100-\u115F\u2E80-\u303E\u3041-\u33FF\u3400-\u4DBF\u4E00-\u9FFF\uA000-\uA4CF\uAC00-\uD7A3\uF900-\uFAFF\uFE30-\uFE6F\uFF00-\uFF60\uFFE0-\uFFE6]/;function G1(e){return WL.test(e)?2:1}function HL(e,t=UL){const r=[...e];let s=0;for(const u of r)s+=G1(u);if(s<=t)return e;const o=[];let a=0;for(const u of r){const c=G1(u);if(a+c>t-1)break;o.push(u),a+=c}for(;o.length&&/[\s\-_.:/]/.test(o[o.length-1]);)o.pop();return`${o.join("")}…`}function GL(e,t,r,s){const o=(t==null?void 0:t.trim())??"",a=s?VL(r):void 0,u=[e,o||void 0,a].filter(Boolean);return{label:e,name:o?HL(o):void 0,shortId:a,fullLabel:u.join(Ey)}}function VL(e){const t=e.match(/[a-zA-Z0-9]{4}/);return t?t[0]:e.slice(0,4)}function V1(e){if(e.kind==="root")return e.label}function K1(e){if(e.kind==="root")return Vj(e.sessionName,e.sessionTitle).face}function KL(){const{x:e,y:t,zoom:r}=Aj(),s=ul(),o=rt(zL,YL);if(o.length<=1)return null;const a=c=>{try{const h=s.getNodes().filter(m=>{const f=m.data;return(f==null?void 0:f.sessionId)===c});if(h.length===0)return;s.fitView({padding:.3,duration:500,nodes:h})}catch{}},u={transform:`translate(${e}px, ${t}px) scale(${r})`};return d.jsx("div",{className:"session-clusters",style:u,children:o.map(c=>{const h=s0(c.sessionId),m={position:"absolute",left:c.x,top:c.y,width:c.w,height:c.h,"--session-hue":h},f={position:"absolute",left:c.x+16,top:c.y-FL,transform:`scale(${Math.min(1,r)/(r||1)})`,transformOrigin:"left top","--session-hue":h};return d.jsxs(ce.Fragment,{children:[d.jsx("div",{className:"cluster-card",style:m,"aria-hidden":!0}),d.jsxs("button",{type:"button",className:"cluster-label",style:f,title:`Fit view to ${c.fullLabel}
|
|
69
|
+
drag the wrapper to move the whole session`,onClick:()=>a(c.sessionId),children:[c.label,c.name?d.jsxs(d.Fragment,{children:[Ey,d.jsx("span",{className:"cluster-label-name",children:c.name})]}):null,c.shortId?Ey+c.shortId:null]})]},c.sessionId)})})}function YL(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){const s=e[r],o=t[r];if(s.sessionId!==o.sessionId||s.label!==o.label||s.name!==o.name||s.shortId!==o.shortId||s.fullLabel!==o.fullLabel||s.x!==o.x||s.y!==o.y||s.w!==o.w||s.h!==o.h)return!1}return!0}function XL({data:e}){return d.jsx("div",{className:"session-group-handle",style:{width:(e==null?void 0:e.w)??0,height:(e==null?void 0:e.h)??0}})}const hl={exec:{category:"shell",emoji:"⚡",label:"Shell",shell:!0},shell:{category:"shell",emoji:"⚡",label:"Shell",shell:!0},exec_command:{category:"shell",emoji:"⚡",label:"Shell",shell:!0},shell_command:{category:"shell",emoji:"⚡",label:"Shell",shell:!0},write_stdin:{category:"shell",emoji:"💻",label:"stdin",shell:!0},wait:{category:"shell",emoji:"⏳",label:"wait",shell:!0},apply_patch:{category:"file",emoji:"🩹",label:"Edit"},update_plan:{category:"task",emoji:"📋",label:"Plan"},run:{category:"web",emoji:"🌐",label:"Web"}},QL=Object.fromEntries(Object.entries(hl).map(([e,t])=>[e,t.category])),ZL=Object.fromEntries(Object.entries(hl).map(([e,t])=>[e,t.emoji])),JL=Object.fromEntries(Object.entries(hl).map(([e,t])=>[e,t.label])),e3=new Set(Object.keys(hl)),t3=new Set(Object.entries(hl).filter(([,e])=>e.shell).map(([e])=>e)),Y1={Read:"file",Write:"file",Edit:"file",MultiEdit:"file",Glob:"file",Grep:"file",LS:"file",NotebookEdit:"file",Bash:"shell",PowerShell:"shell",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",...QL};function Qj(e){return e.startsWith("mcp__")?"mcp":Object.hasOwn(Y1,e)?Y1[e]:"other"}const n3=/\btools\.exec_command\s*\(\s*\{[^{}]*?\bcmd\s*:\s*(["'`])((?:\\.|(?!\1)[^\\])*)\1/,r3=/\btools\.([A-Za-z_$][\w$]*)\s*\(/;function s3(e){if(typeof e!="string"||!e)return null;const t=n3.exec(e);if(t){const s=i3(t[2]);if(s.trim())return s}const r=r3.exec(e);return r?r[1]:null}function i3(e){return e.replace(/\\(["'`\\nrt])/g,(t,r)=>r==="n"?`
|
|
70
|
+
`:r==="r"?"\r":r==="t"?" ":r)}const Zj=600,o3=4,a3=36,Cy=16,l3=60,u3=6,X1=220,Q1=96,c3=28,Z1={Read:"📖",Write:"💾",Edit:"✏️",MultiEdit:"🔧",Glob:"🗺️",Grep:"🔎",Bash:"⚡",PowerShell:"💻",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:"📡",...ZL};function J1(e){return e.startsWith("mcp__")?"🔌":Object.hasOwn(Z1,e)?Z1[e]:"✨"}const eb={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 Jj(e){if(!e)return null;let t=e.trim();if(!t)return null;const r=t.match(/^(?:bash|sh|zsh|fish|powershell|pwsh)(?:\.exe)?\s+(?:-c|-Command|-NoProfile|-NonInteractive|\s)+["']([^"']+)["']/i);if(r)return Jj(r[1]);for(;;){const a=t.match(/^([A-Z_][A-Z0-9_]*=\S*)\s+/);if(!a)break;t=t.slice(a[0].length)}t=t.replace(/^sudo(?:\s+-\S+)*\s+/,""),t=t.replace(/^(?:time|nohup|xargs)\s+/,"");const s=t.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 d3(e){if(typeof e=="string")return e;if(!e||typeof e!="object")return null;const t=e;if(typeof t.script=="string"){const r=s3(t.script);if(r)return r}if(typeof t.cmd=="string")return t.cmd;if(typeof t.command=="string")return t.command;if(Array.isArray(t.command)&&t.command.every(r=>typeof r=="string")){const r=t.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 t.script=="string"?t.script:null}const f3=new Set(["Bash","PowerShell",...t3]),h3=e3;function p3(e,t){return h3.has(e)||e.startsWith("mcp__")?Math.max(Q1,34+t.length*7.5):Q1}function m3(e,t){if(!f3.has(e))return null;const r=d3(t);if(!r)return null;const s=Jj(r);return s?{emoji:Object.hasOwn(eb,s)?eb[s]:"⚙️",label:s,category:"shell",detail:r}:null}const g3=new Set(["Read","Write","Edit","MultiEdit","NotebookEdit","LS","Glob","apply_patch"]),tb={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:"🗄️"},nb={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 v3(e){const r=e.replace(/\\/g,"/").replace(/\/+$/,""),s=r.lastIndexOf("/");return s>=0?r.slice(s+1):r}function y3(e){const t=e.toLowerCase();if(Object.hasOwn(nb,t))return nb[t];if(t.startsWith("dockerfile."))return"🐳";if(/\.(test|spec)\.[a-z]+$/.test(t))return"🧪";const r=t.lastIndexOf(".");if(r>0&&r<t.length-1){const s=t.slice(r+1);if(Object.hasOwn(tb,s))return tb[s]}return"📄"}function w3(e,t){if(!t||typeof t!="object")return null;const r=t;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 x3(e,t){if(!g3.has(e))return null;const r=w3(e,t);if(!r)return null;const s=v3(r);return s?{emoji:e==="LS"?"📂":y3(s),label:s,category:"file",detail:r}:null}const rb={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 u0(e){if(!e.startsWith("mcp__"))return null;const t=e.slice(5),r=t.indexOf("__");return r<=0?{server:t,method:""}:{server:t.slice(0,r),method:t.slice(r+2)}}function b3(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t^e.charCodeAt(r);return Math.abs(t)%360}function eT(e){const t=e.toLowerCase();return Object.hasOwn(rb,t)?rb[t]:void 0}function _3(e,t){const r=u0(e);if(!r)return null;const{server:s,method:o}=r;if(!o)return null;const a=eT(s);return{emoji:(a==null?void 0:a.emoji)??"🔌",label:o,category:"mcp",detail:a?`${a.name} · ${o}`:`${s} · ${o}`}}function k3(e,t){return m3(e,t)??x3(e,t)??_3(e)}const sb=JL;function tT(e){const t=u0(e);if(t){const s=eT(t.server);return s?{emoji:s.emoji,label:s.name}:{emoji:"🔌",label:t.server,hue:b3(t.server)}}const r=Object.hasOwn(sb,e)?sb[e]:"";return r?{emoji:J1(e),label:r}:{emoji:J1(e),label:e}}function S3(e){let t=null,r="";for(const s of e){const o=u0(s);if(o){if(!o.server)return null;if(t===null)t=o.server,r=s;else if(o.server!==t)return null}}return t===null?null:tT(r)}function N3(e){return e.endedAt==null?"inflight":e.ok===!1?"err":"done"}function E3(e,t,r){if(r==null)return 1;const s=t-r;return s<0?1:Math.max(0,1-s/Zj)}function C3(e,t){const r=[],s=new Set;for(let o=e.length-1;o>=0&&r.length<t;o--){const a=e[o];s.has(a.id)||(s.add(a.id),r.push(a))}return r.reverse()}function j3(e,t,r,s,o,a){const u=[];for(const c of e.values()){if(!t.has(c.id)||c.exitAt!=null&&a-c.exitAt>Zj)continue;const h=s.get(c.id)??r.get(c.id);if(!h)continue;const m=C3(c.tools,o3);if(m.length===0)continue;const f=c.exitAt??null,g=o.get(c.id),y=Math.max((g==null?void 0:g.width)??X1,X1),w=(g==null?void 0:g.height)??130,N=h.x,b=h.y,_=N+y,k=b+w/2;m.forEach((S,C)=>{const T=C*a3,M=N+y+l3,P=b+u3+T,$=E3(S,a,f),W=S.inputPreview??"",I=N3(S),A=$<.999,D=tT(S.name);u.push({id:`${c.id}::${S.id}`,toolId:S.id,agentId:c.id,toolName:S.name,name:D.label,emoji:D.emoji,status:I,category:Qj(S.name),mcpHue:D.hue,inputPreview:W,fade:$,fading:A,worldX:M,worldY:P,anchorX:_,anchorY:k,spawnDx:_-M,spawnDy:k-(P+Cy)});const H=k3(S.name,S.input);if(H){const Y=p3(S.name,D.label),j=M+Y+c3,X=P,z=M+Y,ne=P+Cy;u.push({id:`sub:${c.id}::${S.id}`,toolId:S.id,agentId:c.id,toolName:S.name,name:H.label,emoji:H.emoji,isSub:!0,status:I,category:H.category,inputPreview:H.detail??W,fade:$,fading:A,worldX:j,worldY:X,anchorX:z,anchorY:ne,spawnDx:z-j,spawnDy:0})}})}return u}function T3({agents:e,visibleAgentIds:t,positions:r,pinned:s,measured:o,spotlight:a,hiddenCategories:u,now:c,onOpenTool:h}){const m=j3(e,t,r,s,o,c),f=u&&u.size>0?m.filter(g=>!u.has(g.category)):m;return d.jsx(R3,{bursts:f,spotlight:a,onOpenTool:h})}function R3({bursts:e,spotlight:t,onOpenTool:r}){const{x:s,y:o,zoom:a}=Aj();return d.jsxs("div",{className:"tool-bursts-layer","aria-hidden":!0,children:[d.jsx("svg",{className:"tool-bursts-svg",children:e.map(u=>{const c=u.anchorX*a+s,h=u.anchorY*a+o,m=(u.worldX+6)*a+s,f=(u.worldY+Cy)*a+o,g=c+(m-c)*.55,y=t!=null&&!t.has(u.agentId),w=u.fade*(y?.14:1);return d.jsx("path",{d:`M ${c} ${h} Q ${g} ${h}, ${m} ${f}`,className:`tool-conn status-${u.status}${u.fading?" fading":""}`,opacity:w},`l:${u.id}`)})}),e.map(u=>{const c=u.worldX*a+s,h=u.worldY*a+o,m={left:`${c}px`,top:`${h}px`,transform:`scale(${a})`,transformOrigin:"left top","--spawn-dx":`${u.spawnDx}px`,"--spawn-dy":`${u.spawnDy}px`},f=u.isSub?`${u.toolName} · ${u.name}`:u.toolName,g=u.inputPreview?`${f} · ${u.inputPreview}`:f,y=r!=null,w=u.mcpHue!=null?{"--mcp-hue":u.mcpHue}:{},b=t!=null&&!t.has(u.agentId)?" dim":"";return d.jsx("div",{className:"tool-burst-wrap",style:m,children:d.jsxs("div",{className:`tool-burst cat-${u.category}${u.mcpHue!=null?" mcp-hue":""} status-${u.status}${u.fading?" fading":""}${y?" clickable":""}${u.isSub?" sub":""}${b}`,style:w,title:g,onClick:y?()=>r(u.toolId):void 0,children:[d.jsx("span",{className:"tb-emoji",children:u.emoji}),d.jsx("span",{className:"tb-name",children:u.name}),u.status==="inflight"&&d.jsx("span",{className:"tb-spin"}),u.status==="done"&&d.jsx("span",{className:"tb-mark done",children:"✓"}),u.status==="err"&&d.jsx("span",{className:"tb-mark err",children:"×"})]})},u.id)})]})}function nT(e){const t={input:0,output:0,cacheRead:0,cacheWrite:0,total:0};let r=0,s=0,o=0,a=0;for(const u of e){const c=xn(u);t.input+=c.input,t.output+=c.output,t.cacheRead+=c.cacheRead,t.cacheWrite+=c.cacheWrite,t.total+=c.total,r+=u.usage.inputTokens,s+=u.usage.outputTokens,o+=u.usage.cacheReadTokens,a+=u.usage.cacheCreateTokens}return{cost:t,inputTokens:r,outputTokens:s,cacheReadTokens:o,cacheCreateTokens:a,sum:r+s}}const A3="spend on this board",M3="on this board",I3="board tokens",O3="board cost",hc=`Everything on the board right now, and only that.
|
|
71
|
+
Finished sessions are evicted from the canvas a couple of minutes after they end, and their tokens and dollars leave with them — so this figure falls on its own.
|
|
72
|
+
Press H for the totals ccusage reads off the logs on disk, which do not forget.`,rT="session spend";function c0({cost:e,size:t="md"}){const r=e.total;if(r<=0)return null;const s=(a,u,c)=>{if(a<=0)return null;const h=a/r*100;return d.jsx("span",{className:`cb-seg ${u}`,style:{width:`${h}%`},title:`${c}: ${Ve(a)} (${h.toFixed(0)}%)`},u)},o=t==="lg";return d.jsxs("div",{className:o?"cost-bar cost-bar-lg":"cost-bar",role:"img","aria-label":"Cost breakdown",children:[s(e.input,"cb-input","input"),s(e.output,"cb-output","output"),s(e.cacheRead,"cb-cache-r","cache read"),s(e.cacheWrite,"cb-cache-w","cache write")]})}function P3({state:e,sessionId:t,onClose:r}){const s=E.useMemo(()=>$3(e,t),[e,t]),o=E.useRef(null),a=lr(r,{focusRef:o});return s?d.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:d.jsxs("div",{ref:a,className:"modal session-summary",onClick:u=>u.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"ss-title",children:[d.jsxs("div",{className:"modal-head",children:[d.jsxs("div",{className:"modal-title",children:[d.jsx("span",{className:"state-pill state-done","aria-hidden":!0,children:"done"}),d.jsx("span",{id:"ss-title",className:"modal-tool-name",title:s.cwd??s.sessionId,children:s.label}),d.jsxs("span",{className:"modal-tool-id",children:["· ",s.sessionId.slice(0,8)]})]}),d.jsxs("div",{className:"modal-actions",children:[d.jsx("span",{className:"modal-dur",title:"Total wall time",children:s.durationLabel}),d.jsx("button",{type:"button",ref:o,className:"glyph-btn",onClick:r,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),d.jsxs("div",{className:"modal-body",children:[d.jsxs("section",{className:"ss-hero",children:[d.jsxs("div",{className:"ss-hero-left",children:[d.jsx("div",{className:"ss-cost-label",children:rT}),d.jsx("div",{className:"ss-cost",children:Ve(s.cost.total)}),s.modelChips.length>0&&d.jsx("div",{className:"ss-models",children:s.modelChips.map(u=>d.jsx("span",{className:"model-chip",title:u,children:vi(u)},u))})]}),d.jsx("div",{className:"ss-hero-right",children:s.cost.total>0&&d.jsxs(d.Fragment,{children:[d.jsx(c0,{cost:s.cost,size:"lg"}),d.jsxs("div",{className:"ss-cost-legend",children:[d.jsxs("span",{className:"ssl ssl-in",children:["input ",d.jsx("b",{children:Ve(s.cost.input)})]}),d.jsxs("span",{className:"ssl ssl-out",children:["output ",d.jsx("b",{children:Ve(s.cost.output)})]}),d.jsxs("span",{className:"ssl ssl-cr",children:["cache r ",d.jsx("b",{children:Ve(s.cost.cacheRead)})]}),d.jsxs("span",{className:"ssl ssl-cw",children:["cache w ",d.jsx("b",{children:Ve(s.cost.cacheWrite)})]})]})]})})]}),d.jsxs("section",{className:"ss-stats",children:[d.jsx(wo,{label:"agents",value:s.agentCount}),d.jsx(wo,{label:"subagents",value:s.subagentCount}),d.jsx(wo,{label:"tool calls",value:s.toolCount}),d.jsx(wo,{label:"prompts",value:s.promptCount}),d.jsx(wo,{label:"tokens",value:s.tokensSum.toLocaleString()}),s.errCount>0&&d.jsx(wo,{label:"errors",value:s.errCount,tone:"err"})]}),s.topTools.length>0&&d.jsxs("section",{className:"modal-section",children:[d.jsx("h4",{children:"Most-used tools"}),d.jsx("div",{className:"ss-top-tools",children:s.topTools.map(([u,c])=>d.jsxs("div",{className:"ss-tt",children:[d.jsx("span",{className:"ss-tt-name",children:u}),d.jsx("span",{className:"ss-tt-bar",children:d.jsx("span",{className:"ss-tt-bar-fill",style:{width:`${c/s.topTools[0][1]*100}%`}})}),d.jsx("span",{className:"ss-tt-count",children:c})]},u))})]}),s.firstPrompt&&d.jsxs("section",{className:"modal-section",children:[d.jsx("h4",{children:"Opening prompt"}),d.jsx("div",{className:"ss-prompt",children:s.firstPrompt})]})]})]})}):null}function wo({label:e,value:t,tone:r}){return d.jsxs("div",{className:`ss-stat${r?` tone-${r}`:""}`,children:[d.jsx("div",{className:"ss-stat-value",children:t}),d.jsx("div",{className:"ss-stat-label",children:e})]})}function $3(e,t){const r=e.agents.get(t);if(!r)return null;const s=[];for(const C of e.agents.values())C.sessionId===t&&s.push(C);if(s.length===0)return null;const o={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},a=new Set,u=new Map;let c=0,h=0,m=0,f=0,g=0,y,w=1/0,N=0;for(const C of s){const T=xn(C);o.input+=T.input,o.output+=T.output,o.cacheRead+=T.cacheRead,o.cacheWrite+=T.cacheWrite,o.total+=T.total;for(const M of Wj(C))a.add(M);C.model&&a.add(C.model),C.kind==="subagent"&&g++,h+=C.prompts.length,!y&&C.prompts.length>0&&(y=C.prompts[0].text),m+=C.usage.inputTokens+C.usage.outputTokens,c+=C.toolCount,w=Math.min(w,C.startedAt),N=Math.max(N,C.endedAt??Date.now());for(const M of C.tools)u.set(M.name,(u.get(M.name)??0)+1),M.ok===!1&&f++}const b=Math.max(0,N-w),_=Math.floor(b/1e3),k=_<60?`${_}s`:_<3600?`${Math.floor(_/60)}m ${String(_%60).padStart(2,"0")}s`:`${Math.floor(_/3600)}h ${Math.floor(_%3600/60)}m`,S=Array.from(u.entries()).sort((C,T)=>T[1]-C[1]).slice(0,5);return{sessionId:t,label:r.label||r.cwdBasename||"session",cwd:r.cwd,durationLabel:k,cost:o,modelChips:Array.from(a),agentCount:s.length,subagentCount:g,toolCount:c,promptCount:h,tokensSum:m,errCount:f,topTools:S,firstPrompt:y}}function d0(e){return(e==null?void 0:e.kind)==="permission"}function L3(e){const t=[];for(const r of e)r.kind==="root"&&d0(r.waiting)&&t.push({id:r.id,label:r.label,waiting:r.waiting});return t.sort((r,s)=>r.waiting.since-s.waiting.since)}function q3(e){const t=new Set;for(const r of e)r.state==="active"&&t.add(r.sessionId);return t.size}function ib(e){return e.waiting?d0(e.waiting)?0:1:e.state==="active"?2:3}function D3(e,t){const r=[];for(const s of e.agents.values()){if(s.kind!=="root")continue;let o=s.toolCount,a=xn(s).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,a+=xn(c).total;const h=c.endedAt??c.startedAt;h>u&&(u=h)}r.push({sessionId:s.sessionId,label:s.label||s.cwdBasename||"session",cwdBasename:s.cwdBasename,state:s.state,waiting:s.waiting,modelId:s.model,toolCount:o,cost:a,startedAt:s.startedAt,lastActivity:u})}return r.sort((s,o)=>{const a=ib(s),u=ib(o);return a!==u?a-u:s.waiting&&o.waiting?s.waiting.since-o.waiting.since:o.lastActivity-s.lastActivity}),r}function ob(e,t,r){const s=(t??r)-e;if(s<1e3)return"<1s";const o=Math.floor(s/1e3);if(o<60)return`${o}s`;const a=Math.floor(o/60);return a<60?`${a}m`:`${Math.floor(a/60)}h ${a%60}m`}function F3({state:e,now:t,selectedIds:r,onSelect:s,onClose:o}){const a=E.useMemo(()=>D3(e),[e,e.revision,t]),u=a.filter(h=>h.state==="active").length,c=a.filter(h=>d0(h.waiting)).length;return d.jsxs("aside",{className:"session-list",id:"session-list","aria-label":"Sessions",children:[d.jsxs("div",{className:"sl-header",children:[d.jsxs("h2",{children:["Sessions ",d.jsx("span",{className:"sl-count",children:a.length})]}),c>0&&d.jsxs("span",{className:"sl-waiting-count",children:[c," waiting"]}),u>0&&d.jsxs("span",{className:"sl-live-count",children:[u," live"]}),d.jsx("button",{className:"glyph-btn sl-close",onClick:o,title:"Hide sidebar (L)","aria-label":"Hide session list",children:"‹"})]}),d.jsxs("div",{className:"sl-rows",children:[a.length===0&&d.jsx("div",{className:"sl-empty",children:"No sessions yet."}),a.map(h=>{const m=r.has(h.sessionId);return d.jsxs("button",{type:"button",className:`sl-row state-${h.state}${m?" selected":""}`,onClick:()=>s(h.sessionId),title:`Focus ${h.label}`,children:[d.jsx("span",{className:`sl-dot state-${h.state}`,"aria-hidden":!0}),d.jsx("span",{className:"vis-hidden",children:l0(h.state)}),d.jsxs("div",{className:"sl-row-body",children:[d.jsxs("div",{className:"sl-row-head",children:[d.jsx("span",{className:"sl-label",children:h.label}),h.modelId&&d.jsx("span",{className:"model-chip",title:h.modelId,children:vi(h.modelId)})]}),d.jsxs("div",{className:"sl-row-meta",children:[d.jsxs("span",{title:"tool calls",children:[d.jsx("b",{children:h.toolCount})," tools"]}),h.cost>0&&d.jsx("span",{className:"sl-cost",title:rT,children:d.jsx("b",{children:Ve(h.cost)})}),h.waiting?d.jsxs("span",{className:"sl-waiting",title:`${Nc(h.waiting)}
|
|
73
|
+
Blocked since ${new Date(h.waiting.since).toLocaleTimeString()} · started ${new Date(h.startedAt).toLocaleString()}`,children:["waiting ",ob(h.waiting.since,void 0,t)]}):d.jsx("span",{className:"sl-elapsed",title:`Started ${new Date(h.startedAt).toLocaleString()}`,children:ob(h.startedAt,h.state==="active"?void 0:h.lastActivity,t)})]})]})]},h.sessionId)})]})]})}const Ft="ccdeck";function sT(e){const t=Math.max(0,e);return t<60?"just now":t<3600?`${Math.floor(t/60)}m ago`:t<86400?`${Math.floor(t/3600)}h ago`:`${Math.floor(t/86400)}d ago`}function jy(e){return sT(Math.floor(e/1e3))}function iT(e,t){const r=e-t;if(r<=0)return null;const s=Math.floor(r/86400),o=Math.floor(r%86400/3600),a=Math.floor(r%3600/60);return s>0?`${s}d ${o}h`:o>0?`${o}h ${a}m`:`${a}m`}function z3(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function B3(e,t,r){const s=new Date(e),o=jy(t-e);return{label:z3(s,new Date(t))?o:`${o} · ${s.toLocaleDateString(r,{month:"short",day:"numeric"})}`,title:s.toLocaleString(r,{dateStyle:"medium",timeStyle:"medium"})}}function oT(e,t){return{disabled:e!=null&&e!==t,busy:e===t}}function aT(e){return e==null}const Ty="self";function rr(e,t=!1){const r=oT(e?Ty:null,Ty);return{disabled:t||r.disabled,"aria-busy":r.busy}}function sr(e){return aT(e?Ty:null)}function U3(e){return[...e==null?[]:[`#ap-more-${e}`],".accounts-panel .ap-refresh"]}function W3(e){return e==null||e==="BODY"||e==="HTML"}function ab(e,t){if(!e)return null;const r=t-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 H3(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"}const Lf="__unknown__";function G3(e,t,r,s){const o=Math.max(0,t-s),a=Math.max(0,r-o);if(a<120)return null;const u=Math.min(100,a/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 h=100-e,m=a>0?e/a:0,f=m>0?h/m: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),w=Math.floor(f%3600/60);g.runsOutIn=y>0?`${y}h ${w}m`:`${w}m`}return g}return{label:`${Math.round(-c)}% reserve`,color:"var(--ok)",expectedPct:u,isDeficit:!1}}function ui({pct:e,label:t,reset:r,resetAt:s,windowSec:o,limitReached:a,nowSec:u}){const c=Math.min(100,Math.max(0,e)),m=a||c>=90?"var(--err)":c>=70?"var(--warn)":"var(--accent)",f=c===0?"< 1%":`${c}%`,g=c===0?2:c,y=s?iT(s,u):null,w=s&&o?G3(c,s,o,u):null;return d.jsxs("div",{className:"qb-row",children:[d.jsxs("div",{className:"qb-meta",children:[d.jsxs("span",{className:"qb-label",children:[t,a&&d.jsx("span",{className:"qb-limit-badge",title:"Rate limit reached",children:"⛔"})]}),d.jsx("span",{className:"qb-pct",style:{color:m},children:f})]}),d.jsxs("div",{className:"qb-track",children:[d.jsx("div",{className:"qb-fill",style:{width:`${g}%`,background:m,opacity:c===0?.4:1}}),w&&d.jsx("div",{className:"qb-pace-marker",style:{left:`${w.expectedPct}%`,background:w.isDeficit?"var(--err)":"var(--ok)"},title:`To last until reset, stay near ${Math.round(w.expectedPct)}% by now`})]}),d.jsxs("div",{className:"qb-reset-row",children:[y?d.jsxs("span",{className:"qb-reset",children:["resets in ",y]}):r?d.jsxs("span",{className:"qb-reset",children:["resets ",r]}):null,w&&d.jsx("span",{className:"qb-pace",style:{color:w.color},children:w.runsOutIn?`runs out in ${w.runsOutIn}`:w.label})]})]})}const V3=6e4;function K3(e){const[t,r]=E.useState(null),[s,o]=E.useState(!1),a=E.useRef(null),u=E.useRef(!1),c=async(m=!1)=>{if(!(m&&!sr(u.current))){m&&(u.current=!0,o(!0));try{const g=await fetch(m?"/api/quota?refresh=1":"/api/quota");g.ok&&r(await g.json())}catch{}finally{m&&(u.current=!1,o(!1))}}};return E.useEffect(()=>{if(e)return c(!0),a.current=window.setInterval(()=>c(!1),V3),()=>{a.current!=null&&window.clearInterval(a.current)}},[e]),{quota:t,loading:s,refresh:()=>{e&&c(!0)}}}function Y3(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.";case"untrusted_base_url":return"chatgpt_base_url in ~/.codex/config.toml is not an https OpenAI host, so the token was not sent.";default:return"ChatGPT API unreachable — click ↻ to retry."}}const lT=6e4;function X3(e){const[t,r]=E.useState(null),[s,o]=E.useState(!1),a=E.useRef(null),u=E.useRef(!1),c=async(m=!1)=>{if(!(m&&!sr(u.current))){m&&(u.current=!0,o(!0));try{const g=await fetch(m?"/api/codex-quota?refresh=1":"/api/codex-quota");g.ok&&r(await g.json())}catch{}finally{m&&(u.current=!1,o(!1))}}};return E.useEffect(()=>{if(e)return c(!0),a.current=window.setInterval(()=>c(!1),lT),()=>{a.current!=null&&window.clearInterval(a.current)}},[e]),{data:t,loading:s,refresh:()=>{e&&c(!0)}}}function Q3(e){const[t,r]=E.useState(null),s=E.useRef(null),o=async()=>{try{const a=await fetch("/api/codex-usage");a.ok&&r(await a.json())}catch{}};return E.useEffect(()=>{if(e)return o(),s.current=window.setInterval(o,lT),()=>{s.current!=null&&window.clearInterval(s.current)}},[e]),{data:t}}function Z3({state:e,now:t,providers:r,onClose:s}){var H,Y;const{quota:o,loading:a,refresh:u}=K3(r.claude),{data:c,loading:h,refresh:m}=X3(r.codex),{data:f}=Q3(r.codex),[g,y]=E.useState(()=>Math.floor(Date.now()/1e3));E.useEffect(()=>{const j=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(j)},[]);const{byModel:w,totalCost:N,totalTokens:b,burnRate:_}=E.useMemo(()=>{const j=new Map;for(const Q of e.agents.values())for(const O of fl(Q)){const G=O.model??Lf,K=i0(O.usage,O.model),L=j.get(G);L?(L.inputTokens+=O.usage.inputTokens,L.outputTokens+=O.usage.outputTokens,L.cacheReadTokens+=O.usage.cacheReadTokens,L.cacheCreateTokens+=O.usage.cacheCreateTokens,L.cost.total+=K.total,L.cost.input+=K.input,L.cost.output+=K.output,L.cost.cacheRead+=K.cacheRead,L.cost.cacheWrite+=K.cacheWrite,L.agentCount++):j.set(G,{model:G,inputTokens:O.usage.inputTokens,outputTokens:O.usage.outputTokens,cacheReadTokens:O.usage.cacheReadTokens,cacheCreateTokens:O.usage.cacheCreateTokens,cost:{...K},agentCount:1,priced:Do(O.model)!=null})}const X=Array.from(j.values()).sort((Q,O)=>O.cost.total-Q.cost.total||O.inputTokens+O.outputTokens-(Q.inputTokens+Q.outputTokens));let z=0,ne=0;for(const Q of e.agents.values()){if(Q.state!=="active")continue;const O=xn(Q);z+=O.total,ne=Math.max(ne,((Q.endedAt??t)-Q.startedAt)/1e3)}const J=ne>0?dc(z,ne):null,U=nT(e.agents.values());return{byModel:X,totalCost:U.cost,totalTokens:U,burnRate:J}},[e,e.revision,t]),k=E.useMemo(()=>{const j=[];for(const X of e.agents.values()){if(X.kind!=="root")continue;let z=xn(X).total,ne=X.usage.inputTokens,J=X.usage.outputTokens,U=Ny(X);for(const Q of e.agents.values())Q.sessionId!==X.sessionId||Q.kind==="root"||(z+=xn(Q).total,ne+=Q.usage.inputTokens,J+=Q.usage.outputTokens,U+=Ny(Q));j.push({sessionId:X.sessionId,label:X.label||X.cwdBasename||"session",state:X.state,cost:z,inputTokens:ne,outputTokens:J,unpricedTokens:U})}return j.sort((X,z)=>z.cost-X.cost||z.inputTokens+z.outputTokens-(X.inputTokens+X.outputTokens)).slice(0,12)},[e,e.revision]),S=N.total>0,C=b.sum,T=w.filter(j=>j.cost.total>0||j.inputTokens+j.outputTokens>0),M=k.filter(j=>j.cost>0||j.inputTokens+j.outputTokens>0),P=T.some(j=>!j.priced),$=a||h,W=ab(o==null?void 0:o.fetchedAt,g),I=ab(c==null?void 0:c.fetchedAt,g),A=()=>{u(),m()},D=r.claude&&r.codex?"Refresh Claude + Codex quota":r.codex?"Refresh Codex quota":"Refresh Claude quota";return d.jsxs("aside",{className:"usage-panel",id:"usage-panel","aria-label":"Usage",children:[d.jsxs("div",{className:"up-header",children:[d.jsx("h2",{children:"Usage"}),_&&d.jsx("span",{className:"up-rate",children:_}),d.jsxs("div",{className:"up-header-right",children:[(r.claude||r.codex)&&d.jsx("button",{type:"button",className:"glyph-btn up-refresh-btn",onClick:A,...rr($),"aria-label":D,title:D,children:$?"…":"↻"}),d.jsx("button",{type:"button",className:"glyph-btn up-close",onClick:s,"aria-label":"Close usage panel",title:"Close (U)",children:"×"})]})]}),r.claude&&d.jsxs("section",{className:"up-section up-quota-section",children:[d.jsxs("h3",{className:"up-section-title",children:["Claude quota",W&&!a&&d.jsx("span",{className:"up-section-age",title:H3(o==null?void 0:o.source),children:W})]}),o!=null&&o.ok?d.jsxs("div",{className:"up-quota-bars",children:[o.session5hPct!=null&&d.jsx(ui,{label:"5-hour window",pct:o.session5hPct,reset:o.session5hReset,resetAt:o.session5hResetAt,windowSec:o.session5hWindowSec,nowSec:g}),o.week7dPct!=null&&d.jsx(ui,{label:"7-day window",pct:o.week7dPct,reset:o.week7dReset,resetAt:o.week7dResetAt,windowSec:o.week7dWindowSec,nowSec:g}),o.weekSonnetPct!=null&&d.jsx(ui,{label:"Sonnet (7d)",pct:o.weekSonnetPct,nowSec:g}),o.weekOpusPct!=null&&d.jsx(ui,{label:"Opus (7d)",pct:o.weekOpusPct,nowSec:g})]}):(o==null?void 0:o.ok)===!1?d.jsxs("div",{className:"up-quota-na",children:[d.jsx("span",{children:"Quota unavailable."}),d.jsxs("span",{className:"up-quota-hint",children:["Run ",d.jsx("code",{children:"/usage"})," in a claude session, then click ↻"]})]}):d.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"})]}),r.codex&&d.jsxs("section",{className:"up-section up-quota-section",children:[d.jsxs("h3",{className:"up-section-title",children:["Codex quota",(c==null?void 0:c.ok)&&c.planLabel&&d.jsx("span",{className:"up-plan-badge",children:c.planLabel}),I&&!h&&d.jsx("span",{className:"up-section-age",title:"Fetched from the Codex usage endpoint",children:I})]}),c!=null&&c.ok?d.jsxs("div",{className:"up-quota-bars",children:[(H=c.windows)==null?void 0:H.map(j=>d.jsx(ui,{label:j.label,pct:j.pct,reset:j.reset??void 0,resetAt:j.resetAt??void 0,windowSec:j.windowSec??void 0,limitReached:c.limitReached&&j.pct>=100,nowSec:g},j.id)),(Y=c.extraWindows)==null?void 0:Y.map(j=>d.jsx(ui,{label:j.label,pct:j.pct,reset:j.reset??void 0,resetAt:j.resetAt??void 0,windowSec:j.windowSec??void 0,nowSec:g},j.id)),c.creditLimit&&d.jsx(ui,{label:`spend cap · $${Math.round(c.creditLimit.used)} of $${Math.round(c.creditLimit.limit)}`,pct:c.creditLimit.usedPct,reset:c.creditLimit.reset??void 0,resetAt:c.creditLimit.resetAt??void 0,limitReached:c.spendControlReached,nowSec:g}),c.creditsBalance&&!c.creditsUnlimited&&d.jsxs("div",{className:"up-quota-sub up-credits",children:["credits: $",c.creditsBalance,c.overageReached&&" · overage limit reached"]}),c.creditsUnlimited&&d.jsx("div",{className:"up-quota-sub up-credits",children:"credits: unlimited"}),c.resetCredits&&c.resetCredits.availableCount>0&&d.jsxs("div",{className:"up-quota-sub up-reset-credits",title:`Redeem in the Codex CLI or ChatGPT — ${Ft} only reports them`,children:[c.resetCredits.availableCount," rate-limit reset",c.resetCredits.availableCount!==1?"s":""," available",c.resetCredits.nextExpiryAt&&` · expires ${new Date(c.resetCredits.nextExpiryAt).toLocaleDateString("en-US",{month:"short",day:"numeric"})}`]}),c.promo&&d.jsx("div",{className:"up-quota-sub",children:c.promo}),c.partial&&d.jsx("div",{className:"up-quota-sub up-quota-hint",children:"Partial data — OpenAI returned limits this build doesn't recognise."})]}):(c==null?void 0:c.ok)===!1?d.jsxs("div",{className:"up-quota-na",children:[d.jsx("span",{children:"Quota unavailable."}),d.jsx("span",{className:"up-quota-hint",children:Y3(c.reason)})]}):d.jsx("div",{className:"up-quota-na up-quota-loading",children:"Checking…"}),(f==null?void 0:f.ok)&&f.window7d&&f.window7d.sessionCount>0&&d.jsxs("div",{className:"up-quota-sub",title:`Counted from the rollout files under CODEX_HOME — no network, no account${f.window5h?`
|
|
74
|
+
last 5h: ${Ot(f.window5h.totalTokens)} tokens · ${f.window5h.sessionCount} session${f.window5h.sessionCount!==1?"s":""}`:""}`,children:[Ot(f.window7d.totalTokens)," tokens · ",f.window7d.sessionCount," session",f.window7d.sessionCount!==1?"s":""," (7d)"]})]}),C>0?d.jsxs(d.Fragment,{children:[S&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"up-total",title:hc,children:[d.jsx("span",{className:"up-total-value",children:Ve(N.total)}),d.jsx("span",{className:"up-total-label",children:A3})]}),d.jsx(c0,{cost:N})]}),d.jsxs("div",{className:"up-tokens-row",title:hc,children:[d.jsxs("span",{className:"up-tok",children:[d.jsx("span",{className:"up-k",children:"in"}),Ot(b.inputTokens)]}),d.jsxs("span",{className:"up-tok",children:[d.jsx("span",{className:"up-k",children:"out"}),Ot(b.outputTokens)]}),b.cacheReadTokens>0&&d.jsxs("span",{className:"up-tok",children:[d.jsx("span",{className:"up-k",children:"cache r"}),Ot(b.cacheReadTokens)]}),b.cacheCreateTokens>0&&d.jsxs("span",{className:"up-tok",children:[d.jsx("span",{className:"up-k",children:"cache c"}),Ot(b.cacheCreateTokens)]}),!S&&d.jsx("span",{className:"up-tok up-scope",children:M3})]}),T.length>0&&d.jsxs("section",{className:"up-section",children:[d.jsx("h3",{className:"up-section-title",children:"By model"}),d.jsxs("table",{className:"up-table",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{children:"Model"}),d.jsx("th",{children:"Tokens"}),d.jsx("th",{children:"Cost"})]})}),d.jsx("tbody",{children:T.map(j=>d.jsxs("tr",{children:[d.jsx("td",{className:"up-model-name",title:j.model===Lf?"no model reported yet":j.model,children:j.model===Lf?"unknown":vi(j.model)}),d.jsx("td",{className:"up-num",children:Ot(j.inputTokens+j.outputTokens)}),j.priced?d.jsx("td",{className:"up-num up-cost-val",children:Ve(j.cost.total)}):d.jsx("td",{className:"up-num up-unpriced",children:ec})]},j.model))})]})]}),M.length>0&&d.jsxs("section",{className:"up-section",children:[d.jsx("h3",{className:"up-section-title",children:"By session"}),d.jsx("div",{className:"up-sessions",children:M.map(j=>d.jsxs("div",{className:"up-session-row",children:[d.jsx("span",{className:`sl-dot state-${j.state}`,"aria-hidden":!0}),d.jsx("span",{className:"vis-hidden",children:l0(j.state)}),d.jsx("span",{className:"up-session-label",children:j.label}),d.jsx("span",{className:"up-session-tokens",children:Ot(j.inputTokens+j.outputTokens)}),j.cost>0?d.jsxs("span",{className:"up-session-cost",title:j.unpricedTokens>0?`${Ot(j.unpricedTokens)} tokens in this session are on an unpriced model, so this is a floor`:void 0,children:[Ve(j.cost),j.unpricedTokens>0?"+":""]}):d.jsx("span",{className:"up-session-cost up-unpriced",children:ec})]},j.sessionId))})]}),P&&d.jsxs("div",{className:"up-hint",children:["“",ec,"” means this build holds no published rate for that model — those tokens are counted above and their dollars are not."]})]}):d.jsxs("div",{className:"up-empty",children:["No usage data yet.",d.jsx("br",{}),"Start a Claude Code or Codex session."]})]})}const J3="1",lb="agent-dag.schema",e4=["agent-dag.layout","agent-dag.viewport"];function Ec(e){if(typeof window>"u")return null;try{return window.localStorage.getItem(e)}catch{return null}}function t4(e,t=J3){let r=null;try{r=e.getItem(lb)}catch{return[]}if(r===t)return[];const s=[];if(r!==null)for(const o of e4)try{e.getItem(o)!==null&&(e.removeItem(o),s.push(o))}catch{}try{e.setItem(lb,t)}catch{}return s}const n4=3e3,r4=4e3,qf=20,La=36,xo=8,uT="agent-dag.systemPanelOpen";function s4(){return Ec(uT)==="1"}function i4(e){if(!(typeof window>"u"))try{window.localStorage.setItem(uT,e?"1":"0")}catch{}}function el(e){return e>=1024**3?`${(e/1024**3).toFixed(1)} GB`:e>=1024**2?`${Math.round(e/1024**2)} MB`:`${Math.round(e/1024)} KB`}function o4(e){const t=Math.floor(e/86400),r=Math.floor(e%86400/3600),s=Math.floor(e%3600/60);return t>0?`${t}d ${r}h`:r>0?`${r}h ${s}m`:`${s}m`}function a4(){const[e,t]=E.useState(null),r=E.useRef(null);return E.useEffect(()=>{let s=!0;const o=async()=>{if(document.visibilityState!=="hidden")try{const h=await fetch("/api/system");if(!h.ok)return;const m=await h.json();s&&(m!=null&&m.ok)&&t(m)}catch{}},a=()=>{r.current==null&&(o(),r.current=window.setInterval(o,n4))},u=()=>{r.current!=null&&(window.clearInterval(r.current),r.current=null)},c=()=>{if(document.visibilityState==="hidden"){u();return}a(),o()};return a(),document.addEventListener("visibilitychange",c),()=>{s=!1,u(),document.removeEventListener("visibilitychange",c)}},[]),e}function l4(e){const[t,r]=E.useState(null);return E.useEffect(()=>{let s=!0;const o=async()=>{if(document.visibilityState!=="hidden")try{const u=await fetch("/api/system/processes");if(!u.ok)return;const c=await u.json();s&&(c!=null&&c.ok)&&r(c.procs??[])}catch{}};o();const a=window.setInterval(o,r4);return()=>{s=!1,window.clearInterval(a)}},[e]),t}function u4({usageOpen:e=!1}){const t=a4(),[r,s]=E.useState(s4);E.useEffect(()=>{i4(r)},[r]);const o=E.useRef(null),a=E.useRef(null);if(E.useEffect(()=>{if(r)return jo.push(()=>{var k,S;const _=((k=a.current)==null?void 0:k.contains(document.activeElement))??!1;s(!1),_&&((S=o.current)==null||S.focus())},Kj)},[r]),!t||t.cpu==null||!t.memory)return d.jsx("span",{className:"sysmeter idle",title:"Sampling this machine…",children:d.jsx("span",{className:"sm-box","aria-hidden":!0,children:d.jsxs("span",{className:"sm-graphic",children:[d.jsx("svg",{className:"sm-spark",width:La,height:xo,viewBox:`0 0 ${La} ${xo}`}),d.jsx("span",{className:"sm-ram"})]})})});const{cpu:u,cpuHistory:c,cores:h,memory:m,loadavg:f}=t,g=m.usedPct>=90,y=c.slice(-qf),w=qf-y.length,N=La/qf,b=[`CPU ${u.toFixed(0)}% of ${h} cores`,f?`load ${f[0]} · ${f[1]} · ${f[2]} (1m · 5m · 15m)`:null,`Memory ${el(m.total-m.available)} of ${el(m.total)} used`,"","Click for detail. This machine, not this session."].filter(_=>_!==null).join(`
|
|
75
|
+
`);return d.jsxs("span",{className:"sysmeter-wrap",children:[d.jsxs("button",{type:"button",ref:o,className:"sysmeter",title:b,"aria-label":"Toggle machine detail","aria-expanded":r,"aria-controls":r?"system-panel":void 0,onClick:()=>s(_=>!_),children:[d.jsxs("span",{className:"sm-box","aria-hidden":!0,children:[d.jsxs("span",{className:"sm-graphic",children:[d.jsx("svg",{className:"sm-spark",width:La,height:xo,viewBox:`0 0 ${La} ${xo}`,children:y.map((_,k)=>{const S=w+k,C=Math.max(1,_/100*xo),T=.32+.68*((k+1)/y.length);return d.jsx("rect",{x:S*N,y:xo-C,width:Math.max(.8,N-.7),height:C,rx:.5,fill:"var(--accent)",opacity:T},S)})}),d.jsx("span",{className:"sm-ram",children:d.jsx("span",{className:`sm-ram-fill${g?" warn":""}`,style:{transform:`scaleX(${Math.max(2,m.usedPct)/100})`}})})]}),d.jsxs("span",{className:"sm-read",children:[d.jsx("b",{children:u.toFixed(0)}),d.jsx("i",{children:"·"}),d.jsx("b",{children:m.usedPct.toFixed(0)})]})]}),d.jsxs("span",{className:"sm-sr",children:["CPU ",u.toFixed(0)," percent, memory ",m.usedPct.toFixed(0)," percent used"]})]}),r&&d.jsx(c4,{sys:t,usageOpen:e,panelRef:a,onClose:()=>{var _;s(!1),(_=o.current)==null||_.focus()}})]})}function c4({sys:e,usageOpen:t,panelRef:r,onClose:s}){const o=l4(!0),{memory:a,swap:u,perCore:c,loadavg:h,cores:m,uptimeSec:f,platform:g}=e,y=a?a.total-a.available:0,w=g==="win32"?"Commit":"Swap",N=u&&u.total>0?u.used/u.total*100:0;return d.jsxs("aside",{ref:r,className:`sysdetail${t?" shifted":""}`,id:"system-panel","aria-label":"Machine detail",children:[d.jsxs("div",{className:"sd-head",children:[d.jsx("span",{className:"sd-title",children:"This machine"}),d.jsxs("span",{className:"sd-sub",children:["up ",o4(f)," · ",m," cores"]}),d.jsx("button",{type:"button",className:"glyph-btn sd-close",onClick:s,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]}),c&&c.length>0&&d.jsxs("div",{className:"sd-section",role:"group","aria-label":"Cores",children:[d.jsx("div",{className:"sd-h","aria-hidden":!0,children:"Cores"}),d.jsx("div",{className:"sd-cores",style:{"--n":c.length},children:c.map((b,_)=>d.jsx("span",{className:"sd-core",title:`core ${_+1}: ${b}%`,children:d.jsx("span",{className:"sd-core-fill",style:{transform:`scaleY(${Math.max(2,b)/100})`}})},_))})]}),d.jsxs("div",{className:"sd-section",role:"group","aria-label":"Memory",children:[d.jsx("div",{className:"sd-h","aria-hidden":!0,children:"Memory"}),a&&d.jsx(ub,{label:"Physical",used:y,total:a.total,pct:a.usedPct,note:`${el(a.available)} available`}),u&&u.total>0&&d.jsx(ub,{label:w,used:u.used,total:u.total,pct:N,note:N>=50?"paging to disk":void 0})]}),h&&d.jsxs("div",{className:"sd-section",role:"group","aria-label":"Load average",children:[d.jsx("div",{className:"sd-h","aria-hidden":!0,children:"Load average"}),d.jsx("div",{className:"sd-load",children:h.map((b,_)=>d.jsxs("span",{className:`sd-load-item${b>m?" over":""}`,children:[d.jsx("b",{children:b.toFixed(2)}),d.jsx("span",{children:["1m","5m","15m"][_]})]},_))}),d.jsx("div",{className:"sd-note",children:h[0]>m?`${(h[0]/m).toFixed(1)}× more work queued than cores to run it`:`within ${m} cores`})]}),d.jsxs("div",{className:"sd-section",role:"group","aria-label":"Busiest processes",children:[d.jsx("div",{className:"sd-h","aria-hidden":!0,children:"Busiest processes"}),o==null?d.jsx("div",{className:"sd-note",children:"reading…"}):o.length===0?d.jsx("div",{className:"sd-note",children:"Could not read the process list on this platform."}):d.jsxs("table",{className:"sd-procs",children:[d.jsx("thead",{children:d.jsxs("tr",{children:[d.jsx("th",{children:"cpu"}),d.jsx("th",{children:"mem"}),d.jsx("th",{children:"process"})]})}),d.jsx("tbody",{children:o.map(b=>d.jsxs("tr",{children:[d.jsx("td",{className:"sd-num",children:b.cpu==null?"—":b.cpu.toFixed(0)}),d.jsx("td",{className:"sd-num sd-dim",children:b.mem.toFixed(1)}),d.jsx("td",{className:"sd-proc-name",title:`pid ${b.pid}`,children:b.name})]},b.pid))})]})]})]})}function ub({label:e,used:t,total:r,pct:s,note:o}){const a=s>=90;return d.jsxs("div",{className:"sd-row",children:[d.jsxs("div",{className:"sd-row-head",children:[d.jsx("span",{className:"sd-row-label",children:e}),d.jsxs("span",{className:"sd-row-val",children:[d.jsx("b",{children:el(t)})," of ",el(r)]})]}),d.jsx("span",{className:"sd-track",children:d.jsx("span",{className:`sd-fill${a?" warn":""}`,style:{transform:`scaleX(${Math.max(1,Math.min(100,s))/100})`}})}),o&&d.jsx("div",{className:"sd-note",children:o})]})}const cb=18,d4=1100,bo=(e,t)=>{const r=Math.sin(e*12.9898+t*78.233)*43758.5453;return r-Math.floor(r)},f4=Array.from({length:cb},(e,t)=>{const r=-72+144*t/(cb-1)+(bo(t,1)-.5)*9,s=(r-90)*(Math.PI/180),o=(54+32*Math.cos(r*Math.PI/180))*(.74+bo(t,2)*.52);return{dx:Math.cos(s)*o,dy:Math.sin(s)*o,rot:(t%2?1:-1)*(100+bo(t,3)*260),delay:Math.round(bo(t,4)*90),dur:760+Math.round(bo(t,5)*260),scale:.8+bo(t,6)*.45,hue:t%4,round:t%3===0}});function db({anchor:e,lifetimeMs:t=d4}){var a;const[r,s]=E.useState(null),o=typeof window<"u"&&((a=window.matchMedia)==null?void 0:a.call(window,"(prefers-reduced-motion: reduce)").matches);return E.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 h=window.setTimeout(()=>s(null),t);return()=>window.clearTimeout(h)},[e,t,o]),o||!r?null:wO.createPortal(d.jsx("div",{className:"confetti",style:{left:`${r.x}px`,top:`${r.y}px`},"aria-hidden":!0,children:f4.map((u,c)=>d.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 cT=new Set(["awaiting_url","awaiting_code","registering"]);function h4(e){return e!=null&&cT.has(e)}function dT(e){return e!=null&&e!=="done"&&!cT.has(e)}const p4="the sign-in ended before it finished — the deck restarted, or it was cancelled in another tab",m4="the sign-in did not complete";function g4({state:e,serverError:t,localError:r}){const s=e==="idle";return{title:s?"Sign-in ended":"Sign-in failed",message:r||t||(s?p4:m4)}}const v4="done";function y4(){let e=!1;return{shouldAnnounce(t){return t!==v4?(e=!1,!1):e?!1:(e=!0,!0)}}}function f0(e,t){return t&&Object.hasOwn(e,t)?e[t]:void 0}const w4={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 ${Ft}`,expired:"that share has expired — make a new one",import_failed:"claude-swap refused the import",unreadable_export:"claude-swap wrote something this deck could not read — try again, and upgrade it if this repeats",mixed_versions:"claude-swap changed format part-way through — try again",nothing_to_share:"none of those accounts could be exported",too_many:"that is more accounts than one share can carry",not_in_bundle:"that account is not in this share",bad_value:"an alias can only use letters, numbers, spaces, dots, dashes and underscores, up to 64 characters, and cannot start with a dash",bad_email:"that does not look like an email address — it cannot contain spaces or start with a dash"},x4={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"},b4=`claude-swap could not read the login keychain — start ${Ft} from a Terminal window rather than a background service`;function Ry(e,t){if((e==null?void 0:e.reason)!=="no_cswap"&&/keychain/i.test(Oo(e)))return b4;const r=f0(x4,e==null?void 0:e.reason);return r||(e==null?void 0:e.reason)||t}function Oo(e){return((e==null?void 0:e.output)||(e==null?void 0:e.detail)||(e==null?void 0:e.error)||"").trim()}const _4={no_install:"ccusage is not installed, and AGENTS_DECK_NO_INSTALL=1 forbids fetching it — unset that variable and restart the deck, or install ccusage yourself so it is on this deck's PATH",bad_override:"AGENTS_DECK_CCUSAGE names a file that is not there — correct it to the full path of your ccusage, or unset it to let the deck find its own",timeout:"ccusage took more than 90 seconds and was stopped — a narrower range usually finishes",bad_output:"ccusage ran but printed no usage data — try again, and run ccusage daily --json in a terminal if it keeps happening",run_failed:"ccusage could not report usage — try again",bad_range:"that date range is not a YYYYMMDD date — reopen the modal and pick one of the presets",unreachable:"the deck did not answer — check it is still running, then try again"},k4="ccusage could not be started — npx is not on this deck's PATH. Install Node's npm/npx, or put ccusage on PATH yourself";function S4(e){return/\bnpx\b/i.test(e)&&/(command not found|not found|not recognized|ENOENT)/i.test(e)}const N4="ccusage could not be started — the deck launched npx and Node could not load the npm script it points at. An older deck asked cmd.exe for a bare npx.cmd, which made the shim look for that script under the deck's working directory instead of beside itself; update the deck and reopen this modal",E4="ccusage could not be started — the copy npx fetched will not load: Node could not resolve a file inside it. That copy is in npx's own cache, which the deck never rewrites, so clear it with `npm cache clean --force` and reopen this modal",C4=e=>/\b(?:ERR_)?MODULE_NOT_FOUND\b|cannot find (?:module|package)/i.test(e),j4=/node_modules[\\/]npm[\\/]bin[\\/]|\bnpm-prefix\.js\b|\bnp[mx][-.][\w.-]*cli\.js\b/i,T4=/[\\/]_npx[\\/]/i,R4=`the copy of ccusage ${Ft} installed for itself`;function A4(e){const t=String((e==null?void 0:e.install)??"").replace(/\s+/g," ").trim();return t.length>240?`${t.slice(0,239)}…`:t}function M4(e,t){const r=I4(e,t),s=A4(e);switch(e==null?void 0:e.stage){case"npx":return s?`ccusage failed on both of its paths. The managed install failed first — ${s} — and the deck then fell back to npx, where ${qa(r)}`:`there is no managed copy of ccusage on this machine, and the npx fallback failed: ${qa(r)}`;case"managed":return`${R4} failed to run: ${qa(r)}`;case"path":return e.bin?`the ccusage this deck found at ${e.bin} failed to run: ${qa(r)}`:`the ccusage this deck found on your PATH failed to run: ${qa(r)}`;default:return r}}const qa=e=>/^[A-Z][a-z]/.test(e)?e[0].toLowerCase()+e.slice(1):e;function I4(e,t){const r=Oo(e);if(C4(r)){if(T4.test(r))return E4;if(j4.test(r))return N4}if(S4(r))return k4;const s=f0(_4,e==null?void 0:e.reason);return s||(e==null?void 0:e.reason)||t}function So(e,t){if(e!=null&&e.detail)return e.detail;if(e!=null&&e.error&&dT(e.state))return e.error;const r=f0(w4,e==null?void 0:e.reason);return r||(e!=null&&e.error?e.error:(e==null?void 0:e.reason)||t)}function O4(e,t,r){if(r<=0||o0(e))return{kind:"pass"};const s=t>=0&&t<r?t:-1;switch(e.key){case"ArrowRight":return{kind:"select",index:s===-1?0:(s+1)%r};case"ArrowLeft":return{kind:"select",index:s===-1?r-1:(s-1+r)%r};case"Home":return{kind:"select",index:0};case"End":return{kind:"select",index:r-1};default:return{kind:"pass"}}}function fT(e,t){const r=Math.round(e/1e3)-t;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 P4(e){const t=new Map;for(const r of e){const s=(r.email??"").trim().toLowerCase();s&&t.set(s,(t.get(s)??0)+1)}return e.map(r=>{const s=(r.email??"").trim(),o=r.alias||s||`account ${r.num}`,a=[];return r.alias&&s&&a.push(s),s&&(t.get(s.toLowerCase())??0)>1&&a.push(r.org||`slot ${r.num}`),{num:r.num,label:o,sub:a.length?a.join(" · "):null}})}function $4(e){return e<=0?"Nothing picked yet.":e===1?"1 account — its sign-in token will be on your clipboard.":`${e} accounts — ${e} sign-in tokens will be on your clipboard.`}function L4(e){switch(e){case"imported":return"imported";case"healed":return"dead token replaced";case"updated":return"updated";case"present":return"already here";default:return"not imported"}}function q4(e){const t=e.length;if(!t)return"Nothing to import.";const r=m=>e.filter(f=>f.state===m).length,s=[],o=r("imported");o&&s.push(`${o} of ${t} imported`);const a=r("healed");a&&s.push(`${a} had a dead token replaced`);const u=r("updated");u&&s.push(`${u} updated`);const c=r("present");c&&s.push(`${c} already here`);const h=r("failed");return h&&s.push(`${h} did not arrive`),`${s.join(", ")}.`}const D4=1500,Bu=[{id:"login",label:"Sign in"},{id:"paste",label:"Paste a share"}],fb="aa-panel",hb=e=>`aa-tab-${e}`;async function Da(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const Ay=ce.forwardRef((e,t)=>d.jsxs("svg",{className:"aa-mark",viewBox:"0 0 44 44","aria-hidden":!0,ref:t,children:[d.jsx("circle",{className:"aa-mark-ring",cx:"22",cy:"22",r:"20"}),d.jsx("path",{className:"aa-mark-tick",d:"M13.5 22.5 L19.5 28.5 L31 17"})]}));Ay.displayName="SuccessMark";function F4({onClose:e,onChanged:t}){const[r,s]=E.useState("login"),[o,a]=E.useState(null),[u,c]=E.useState(""),[h,m]=E.useState(""),[f,g]=E.useState(!1),[y,w]=E.useState(null),[N,b]=E.useState(null),[_,k]=E.useState(null),[S,C]=E.useState(null),T=E.useRef(""),M=E.useRef(!1),P=E.useRef(!1),$=E.useRef(null),W=E.useRef(null),I=E.useRef(null),A=E.useRef(null),D=E.useRef([]),H=E.useRef(!1),Y=E.useCallback(()=>{M.current&&Da({action:"login-cancel"}).catch(()=>{}),e()},[e]),j=lr(Y,{focusRef:I}),X=E.useCallback(async()=>{if(!sr(P.current))return;P.current=!0,g(!0),w(null),M.current=!0;const q=await Da({action:"login"}).catch(()=>null);if(P.current=!1,g(!1),!(q!=null&&q.ok)){w(So(q,"could not start the sign-in"));return}a(q)},[]);E.useEffect(()=>{if(!h4(o==null?void 0:o.state))return;const q=window.setInterval(async()=>{try{const Z=await fetch("/api/claude-accounts/login");Z.ok&&a(await Z.json())}catch{}},D4);return()=>window.clearInterval(q)},[o]);const z=E.useRef(t);z.current=t;const ne=E.useState(y4)[0];E.useEffect(()=>{var q;(o==null?void 0:o.state)==="awaiting_code"&&((q=$.current)==null||q.focus()),ne.shouldAnnounce(o==null?void 0:o.state)&&z.current()},[o==null?void 0:o.state,ne]),E.useEffect(()=>{var q;r==="paste"&&!H.current&&((q=W.current)==null||q.focus()),H.current=!1},[r]);const J=E.useCallback(q=>{var se;const Z=O4(q,Bu.findIndex(fe=>fe.id===r),Bu.length);Z.kind!=="pass"&&(q.preventDefault(),H.current=!0,s(Bu[Z.index].id),(se=D.current[Z.index])==null||se.focus())},[r]),U=E.useCallback(async()=>{var Z;if(!sr(P.current))return;P.current=!0,g(!0),w(null);const q=await Da({action:"login-code",code:u}).catch(()=>null);if(P.current=!1,g(!1),!(q!=null&&q.ok)){w(So(q,"the code was not accepted")),q!=null&&q.state&&a(q),(Z=$.current)==null||Z.select();return}c(""),a(q)},[u,o]),Q=E.useCallback(async()=>{if(!sr(P.current))return;P.current=!0,g(!0),w(null);const q=await Da({action:"import",blob:h}).catch(()=>null);if(P.current=!1,g(!1),!(q!=null&&q.ok)){w(So(q,"the import failed"));return}T.current=h,m(""),C(null),b(q.results??[]),t()},[h,t]),O=E.useCallback(async q=>{const Z=`${q.email}|${q.org??""}`;if(!sr(P.current)||!T.current)return;P.current=!0,g(!0),k(Z),C(null);const se=await Da({action:"import",blob:T.current,force:!0,only:{email:q.email,org:q.org??""}}).catch(()=>null);if(P.current=!1,g(!1),k(null),!(se!=null&&se.ok)){C({key:Z,text:So(se,"that account could not be updated")});return}const fe=(se.results??[])[0];fe&&b(he=>he&&he.map(ye=>`${ye.email}|${ye.org??""}`===Z?fe:ye)),t()},[t]),G=(o==null?void 0:o.state)==="done"?o.account:null,K=dT(o==null?void 0:o.state)||!!(y&&M.current&&!f),L=g4({state:o==null?void 0:o.state,serverError:o==null?void 0:o.error,localError:y});return d.jsx("div",{className:"modal-backdrop",onClick:Y,role:"presentation",children:d.jsxs("div",{ref:j,className:"modal aa-modal",onClick:q=>q.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Add a Claude account",children:[d.jsxs("header",{className:"modal-head",children:[d.jsx("div",{className:"modal-title",children:d.jsx("span",{className:"aa-tabs",role:"tablist","aria-label":"How to add the account",onKeyDown:J,children:Bu.map((q,Z)=>d.jsx("button",{type:"button",role:"tab",id:hb(q.id),ref:se=>{D.current[Z]=se},"aria-selected":r===q.id,"aria-controls":fb,tabIndex:r===q.id?0:-1,className:`aa-tab${r===q.id?" on":""}`,onClick:()=>{H.current=!1,s(q.id)},children:q.label},q.id))})}),d.jsx("div",{className:"modal-actions",children:d.jsx("button",{type:"button",className:"glyph-btn",onClick:Y,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),d.jsx("section",{className:"modal-body aa-body",id:fb,role:"tabpanel","aria-labelledby":hb(r),children:r==="login"?G?d.jsxs("div",{className:"aa-done",children:[d.jsx(Ay,{ref:A}),d.jsx(db,{anchor:A}),d.jsx("h4",{children:G.added?`Account ${G.num} added`:"Credentials refreshed"}),d.jsxs("p",{className:"aa-note",children:[d.jsx("strong",{children:G.email}),G.added?" is in the rotation. The account you were using is still active.":" was already managed, so its stored credentials were replaced."]}),d.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"?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"aa-step",children:[d.jsx("h4",{children:"1 · Approve in the browser"}),d.jsx("p",{className:"aa-note",children:"A tab should have opened. If not, use this link:"}),d.jsx("a",{className:"aa-link",href:o.url??"#",target:"_blank",rel:"noreferrer noopener",children:o.url})]}),d.jsxs("div",{className:"aa-step",children:[d.jsx("h4",{children:"2 · Paste a code, if the page shows one"}),d.jsx("p",{className:"aa-note",children:"It usually finishes on its own — if the page says you are all set, there is nothing to do here."}),d.jsxs("div",{className:"aa-field",children:[d.jsx("input",{ref:$,type:"text",value:u,onChange:q=>c(q.target.value),onKeyDown:q=>{q.key==="Enter"&&u.trim()&&!f&&U()},placeholder:"paste the code here",spellCheck:!1,autoComplete:"off","aria-label":"Sign-in code",disabled:o.state==="registering"}),d.jsx("button",{type:"button",className:"btn primary",...rr(f,!u.trim()||o.state==="registering"),onClick:U,children:o.state==="registering"?"registering…":"Continue"})]}),(y||o.error)&&d.jsx("p",{className:"aa-err",children:y??o.error}),d.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."})]})]}):K?d.jsxs("div",{className:"aa-step",children:[d.jsx("h4",{children:L.title}),d.jsx("p",{className:"aa-err",children:L.message}),d.jsx("button",{type:"button",className:"btn",onClick:()=>{M.current=!1,a(null),w(null),X()},children:"Try again"})]}):f||M.current?d.jsx("div",{className:"aa-step",children:d.jsx("p",{className:"aa-note",children:"Asking the claude CLI for a sign-in link…"})}):d.jsxs("div",{className:"aa-step aa-primer",children:[d.jsx("h4",{children:"Sign in to Anthropic"}),d.jsx("p",{className:"aa-note",children:"Opens a browser tab where you approve the sign-in. It normally completes by itself; only if the page hands you a code does it need pasting back here. claude-swap records the account when it completes, and the account you are using now stays active."}),d.jsx("div",{className:"aa-actions",children:d.jsx("button",{type:"button",ref:I,className:"btn primary",onClick:X,children:"Open the sign-in page"})})]}):N?(()=>{const q=N.filter(Z=>Z.state==="imported").length;return d.jsxs("div",{className:"aa-done",children:[d.jsx(Ay,{ref:A}),q>0&&d.jsx(db,{anchor:A}),d.jsx("h4",{children:q4(N)}),N.length>0&&d.jsx("ul",{className:"aa-results",children:N.map(Z=>{const se=`${Z.email}|${Z.org??""}`;return d.jsxs("li",{className:`aa-result ${Z.state}`,children:[d.jsx("span",{className:"aa-result-who",children:Z.email||(Z.num?`slot ${Z.num}`:"an account")}),d.jsx("span",{className:"aa-result-what",children:L4(Z.state)}),Z.state==="present"&&d.jsx("button",{type:"button",className:"aa-result-fix","aria-busy":_===se,title:`Overwrite the stored login for ${Z.email} with the one in this share. Do this when that account has stopped working here; if it works, leave it.`,onClick:()=>O(Z),children:_===se?"updating…":"update anyway"}),(S==null?void 0:S.key)===se&&d.jsx("span",{className:"aa-result-err",children:S.text})]},se)})}),d.jsxs("p",{className:"aa-note",children:["Nothing changed on the deck you copied this from. An account already here is left as it is, unless its stored login was dead or you pressed",d.jsx("strong",{children:" update anyway"}),"."]}),d.jsxs("div",{className:"aa-actions",children:[d.jsx("button",{type:"button",className:"btn primary",onClick:e,children:"Done"}),d.jsx("button",{type:"button",className:"btn",onClick:()=>{T.current="",C(null),b(null)},children:"Import another"})]})]})})():d.jsxs("div",{className:"aa-step",children:[d.jsx("h4",{children:"Paste an account shared from another deck"}),d.jsxs("div",{className:"aa-field",children:[d.jsx("input",{ref:W,type:"text",value:h,onChange:q=>m(q.target.value),onKeyDown:q=>{q.key==="Enter"&&h.trim()&&!f&&Q()},placeholder:"ccdeck1:…",spellCheck:!1,autoComplete:"off","aria-label":"Shared account"}),d.jsx("button",{type:"button",className:"btn primary",...rr(f,!h.trim()),onClick:Q,children:f?"importing…":"Import"})]}),y&&d.jsx("p",{className:"aa-err",children:y}),d.jsxs("p",{className:"aa-note",children:["Use ",d.jsx("strong",{children:"share"})," on one account in the other deck, or ",d.jsx("strong",{children:"↗"})," above its list to send several at once. A share carries a live login for every account in it and expires ten minutes after it is made."]})]})})]})})}async function z4(e){return(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json().catch(()=>null)}const B4=1800;function U4({accounts:e,onClose:t,copyText:r}){const[s,o]=E.useState([]),[a,u]=E.useState(null),[c,h]=E.useState(!1),[m,f]=E.useState(null),[g,y]=E.useState(!1),[w,N]=E.useState(()=>Math.floor(Date.now()/1e3)),b=E.useRef(null),_=E.useRef(!1),k=lr(t,{focusRef:b});E.useEffect(()=>{if(!a)return;N(Math.floor(Date.now()/1e3));const A=window.setInterval(()=>N(Math.floor(Date.now()/1e3)),1e3);return()=>window.clearInterval(A)},[a]);const S=P4(e),C=e.filter(A=>!s.includes(A.num)).map(A=>A.num),T=C.length===e.length,M=A=>o(D=>D.includes(A)?D.filter(H=>H!==A):[...D,A]),P=E.useCallback(async()=>{if(!sr(_.current)||!C.length)return;_.current=!0,h(!0),f(null),y(!1);const A=await z4({action:"share",accounts:C}).catch(()=>null);if(_.current=!1,h(!1),!(A!=null&&A.ok)){f(So(A,"the share could not be made"));return}u({blob:A.blob,expiresAt:A.expiresAt,shared:A.shared??[],failed:A.failed??[]})},[e,C]),$=a?fT(a.expiresAt,w):null,W=($==null?void 0:$.tone)==="gone",I=(a==null?void 0:a.shared.length)??0;return d.jsx("div",{className:"modal-backdrop",onClick:t,role:"presentation",children:d.jsxs("div",{ref:k,className:"modal sa-modal",onClick:A=>A.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Share accounts with another deck",children:[d.jsxs("header",{className:"modal-head",children:[d.jsx("div",{className:"modal-title",children:d.jsx("h3",{children:"Share accounts"})}),d.jsx("div",{className:"modal-actions",children:d.jsx("button",{type:"button",className:"glyph-btn",onClick:t,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),d.jsx("section",{className:"modal-body sa-body",children:a?d.jsxs("div",{className:"sa-step",children:[d.jsx("h4",{children:W?"This share has expired":I===1?"1 account, ready to paste":`${I} accounts, ready to paste`}),d.jsx("code",{className:`ap-share-blob${W?" sa-dead":""}`,children:a.blob}),d.jsxs("div",{className:"ap-share-foot",children:[d.jsx("button",{type:"button",className:"ap-manage-btn",ref:b,onClick:async()=>{if(W){u(null),P();return}await r(a.blob)&&(y(!0),window.setTimeout(()=>y(!1),B4))},children:W?"make a new share":g?"copied":`copy ${I===1?"the share":"all "+I}`}),d.jsxs("span",{className:"ap-manage-hint",title:"This text is the sign-in for every account in it. It is base64 of plain JSON — the expiry inside it is not signed, so anyone holding a copy can change it, and the logins themselves are in there in the clear either way. The countdown only says how long another deck's import dialog will still accept it. If a copy escapes, sign those accounts out and back in.",children:[d.jsx("span",{className:"ap-share-warn",children:I===1?"this is the password":`this is ${I} passwords`})," · ",d.jsx("span",{className:`ap-share-expiry ${$==null?void 0:$.tone}`,children:$==null?void 0:$.text})]})]}),a.failed.length>0&&d.jsxs("div",{className:"sa-failed",role:"alert",children:[d.jsx("p",{className:"sa-failed-head",children:a.failed.length===1?"One account is not in this bundle:":`${a.failed.length} accounts are not in this bundle:`}),d.jsx("ul",{className:"sa-list",children:a.failed.map(A=>{var H;const D=!!(A.email&&((H=A.detail)!=null&&H.includes(A.email)));return d.jsxs("li",{children:[!D&&d.jsx("span",{className:"sa-who",children:A.email||`account ${A.num}`}),d.jsx("span",{className:"sa-why",children:A.detail||"could not be exported"})]},`${A.num}-${A.email}`)})})]}),d.jsx("p",{className:"sa-note",children:W?d.jsx(d.Fragment,{children:"Another deck will refuse this text now. Make a new one — the same accounts are still picked."}):d.jsxs(d.Fragment,{children:["Paste it into the other deck with ",d.jsx("strong",{children:"+"})," → ",d.jsx("strong",{children:"Paste a share"}),". Accounts it already holds are left exactly as they are."]})}),d.jsxs("div",{className:"sa-actions",children:[d.jsx("button",{type:"button",className:"btn",onClick:()=>{u(null),y(!1)},children:"Pick again"}),d.jsx("button",{type:"button",className:"btn primary",onClick:t,children:"Done"})]})]}):e.length===0?d.jsxs("div",{className:"sa-step",children:[d.jsx("h4",{children:"Nothing to share"}),d.jsxs("p",{className:"sa-note",children:["This deck is not holding any accounts right now. Sign one in with ",d.jsx("strong",{children:"+"}),", or wait — the panel is still reading the store."]}),d.jsx("div",{className:"sa-actions",children:d.jsx("button",{type:"button",className:"btn primary",ref:b,onClick:t,children:"Close"})})]}):d.jsxs("div",{className:"sa-step",children:[d.jsxs("h4",{children:["Which accounts go to the other ",Ft,"?"]}),d.jsx("p",{className:`sa-count${C.length?"":" empty"}`,children:$4(C.length)}),d.jsx("ul",{className:"sa-list sa-pick",children:S.map(A=>d.jsx("li",{children:d.jsxs("label",{className:"sa-row",children:[d.jsx("input",{type:"checkbox",checked:C.includes(A.num),onChange:()=>M(A.num)}),d.jsx("span",{className:"sa-who",children:A.label}),A.sub&&d.jsx("span",{className:"sa-sub",children:A.sub})]})},A.num))}),m&&d.jsx("p",{className:"aa-err",children:m}),d.jsxs("div",{className:"sa-actions",children:[d.jsx("button",{type:"button",className:"btn",onClick:()=>o(T?e.map(A=>A.num):[]),children:T?"Clear all":"Select all"}),d.jsx("button",{type:"button",className:"btn primary",ref:b,...rr(c,!C.length),onClick:P,children:c?"making the share…":C.length===0?"Share":C.length===1?"Share 1 account":`Share ${C.length} accounts`})]})]})})]})})}function W4(e,t){const r=new Set(e),s=e.length?Math.max(...e):0;return[...new Set([...e,s+1])].sort((o,a)=>o-a).map(o=>{const a=o===t?"here":r.has(o)?"swap":"free";return{slot:o,kind:a,label:a==="here"?`slot ${o}`:`slot ${o} · ${a}`}})}function H4(e,t,r){if(!(r!=null&&r.ok))return null;const s=Number.isInteger(r.to)?r.to:null;if(s==null)return{menuFor:null,confirmRemove:null,shareFor:null,swapNote:null};const o=r.swapped===!0&&s!==t;return{menuFor:e.menuFor===t?s:o&&e.menuFor===s?t:e.menuFor,confirmRemove:null,shareFor:null,swapNote:o?{at:s,displaced:t}:null}}function G4(e,t,r){return t!=null&&e.some(s=>s.slot===t)?t:r}function V4(e,t,r){var o;const s=((o=e.find(a=>a.slot===t))==null?void 0:o.kind)??"here";return s==="swap"?{label:"swap",done:"swapped",sends:!0,swaps:!0,title:`Send this account to slot ${t}. That slot is taken, so the two accounts trade places and the one standing there moves to slot ${r}.`}:s==="free"?{label:"move",done:"moved",sends:!0,swaps:!1,title:`Send this account to slot ${t}. That slot is empty, so no other account moves.`}:{label:"move",done:"here",sends:!1,swaps:!1,title:`This account already holds slot ${r}.`}}function K4(e,t){return{label:"save",done:"saved",sends:e!==t,swaps:!1,title:`Switch the active account out once it passes ${e}% of its limit.`}}function pb(e){return typeof e.id=="string"&&e.id.startsWith("scoped-")}function mb(e){const t=e.filter(c=>!pb(c)),r=e.filter(c=>pb(c)),s=t.length?t:r,o=t.length?r:[],a=s.reduce((c,h)=>c&&c.pct>=h.pct?c:h,null);let u=null;for(const c of o)a&&c.pct<=a.pct||(!u||c.pct>u.pct)&&(u=c);return{shown:s,rest:o,fuller:u,peak:u??a}}function Y4(e,t,r){return e<1?null:t?"fewer":r?`${r.label} ${Math.round(r.pct)}%`:`${e} more`}function X4(e,t,r,s){const o=e==null?"No usage has been collected for this account yet.":`${Math.round(e)}% left on ${t??"the window that runs out first"}, which is the one that runs out first.`,a=r===1?"the other window":`the other ${r} windows`;return`${o} ${s?"Hide":"Show"} ${a}.`}const Q4="\0";function h0(e){const t=typeof e.email=="string"?e.email.trim():"";if(!t)return`slot:${e.num}`;const r=typeof e.org=="string"?e.org.trim():"";return`acct:${t}${Q4}${r}`}function Z4(e,t){const r=h0(t);return e.includes(r)?e.filter(s=>s!==r):[...e,r]}function J4(e,t){if(!Array.isArray(t))return e;const r=new Set(t.map(h0)),s=e.filter(o=>r.has(o));return s.length===e.length?e:s}const eq=64;function tq(e,t){const r=e.trim();return{alias:r,commit:r!==(t??"").trim()}}const nq=Object.freeze({text:"couldn't reach the deck server",reload:!0});async function gb(e){return e.ok?{ok:!0,status:e.status,body:null}:{ok:!1,status:e.status,body:await e.json().catch(()=>null)}}function rq(e){const t=e.find(s=>!s.ok);if(!t)return null;const r=Oo(t.body);return{text:Ry(t.body,`the deck server answered ${t.status}`),...r?{raw:r}:{},reload:!0}}function vb(e,t){return t?e!=null&&e.reload&&e.text===t.text&&e.raw===t.raw?e:t:e!=null&&e.reload?null:e}const yb=15e3,sq=8e3,Df=1800,iq=3e4,oq=[70,80,85,90,95];function wb(e,t){return sT(t-Math.floor(e/1e3))}function aq(e,t){if(!e)return"";const r=Math.floor(e/1e3)-t;return r<=0?" · due":r<60?` · next in ${r}s`:` · next in ${Math.round(r/60)}m`}function lq(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 xb({lane:e,nowSec:t}){const r=Math.min(100,Math.max(0,e.pct)),s=r>=90?"var(--err)":r>=70?"var(--warn)":"var(--accent)",o=e.resetAt?iT(e.resetAt,t):null;return d.jsxs("div",{className:"ap-lane",children:[d.jsx("span",{className:"ap-lane-label",children:e.label}),d.jsx("div",{className:"ap-lane-track",children:d.jsx("div",{className:"ap-lane-fill",style:{width:`${r===0?1.5:r}%`,background:s,opacity:r===0?.4:1}})}),d.jsxs("span",{className:"ap-lane-pct",style:{color:s},children:[r,"%"]}),d.jsx("span",{className:"ap-lane-reset",children:o?`resets ${o}`:""})]})}async function bb(e){var r;let t=!1;try{t=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{t=!1}if(t)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(),t=document.execCommand("copy"),s.remove()}catch{t=!1}return t}function uq({onClose:e}){var Ye,bt,Me,it,Rt;const[t,r]=E.useState(null),[s,o]=E.useState(null),[a,u]=E.useState(null),[c,h]=E.useState(!1),[m,f]=E.useState(null),[g,y]=E.useState(()=>Math.floor(Date.now()/1e3)),w=E.useRef(null),[N,b]=E.useState(null),[_,k]=E.useState(!1),[S,C]=E.useState(""),[T,M]=E.useState(null),[P,$]=E.useState(null),[W,I]=E.useState(null),[A,D]=E.useState(!1),[H,Y]=E.useState(!1),[j,X]=E.useState(null),[z,ne]=E.useState(null),[J,U]=E.useState(null),[Q,O]=E.useState(null),[G,K]=E.useState(!1),[L,q]=E.useState([]),Z=E.useRef(null),se=E.useCallback(oe=>aT(Z.current)?(Z.current=oe,u(oe),!0):!1,[]),fe=E.useCallback(()=>{Z.current=null,u(null)},[]),he=(oe,Pe=!1)=>{const qe=oT(a,oe);return{disabled:qe.disabled,"aria-busy":qe.busy||Pe}},ye=E.useCallback(oe=>{window.requestAnimationFrame(()=>{var Pe;if(W3(((Pe=document.activeElement)==null?void 0:Pe.tagName)??null))for(const qe of U3(oe)){const Ne=document.querySelector(qe);if(Ne){Ne.focus();return}}})},[]),Re=E.useCallback(async(oe=!1)=>{oe&&h(!0);const Pe=new AbortController,qe=window.setTimeout(()=>Pe.abort(),iq);try{const[Ne,We]=await Promise.all([fetch(`/api/claude-accounts${oe?"?refresh=1":""}`,{signal:Pe.signal}),fetch("/api/cswap-auto",{signal:Pe.signal})]);if(Ne.ok){const et=await Ne.json();r(et),q(je=>J4(je,et.accounts))}We.ok&&o(await We.json());const Nt=rq([await gb(Ne),await gb(We)]);f(et=>vb(et,Nt))}catch{f(Ne=>vb(Ne,nq))}finally{window.clearTimeout(qe),oe&&h(!1)}},[]),Ue=E.useCallback(async(oe,Pe)=>{if(!se(Pe))return null;f(null);try{const Ne=await(await fetch("/api/cswap-auto",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(oe)})).json().catch(()=>null);return Ne!=null&&Ne.ok||f({text:Ry(Ne,"command failed"),raw:Oo(Ne)}),Ne}catch{return f({text:"server unreachable"}),null}finally{fe()}},[se,fe]),De=E.useCallback(async(oe,Pe)=>{if(!se(Pe))return null;f(null);try{const Ne=await(await fetch("/api/claude-accounts/admin",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(oe)})).json().catch(()=>null);return Ne!=null&&Ne.ok||f({text:So(Ne,"command failed")}),Ne}catch{return f({text:"server unreachable"}),null}finally{fe()}},[se,fe]);E.useEffect(()=>(Re(!0),w.current=window.setInterval(()=>Re(!1),yb),()=>{w.current!=null&&window.clearInterval(w.current)}),[Re]),E.useEffect(()=>{const oe=window.setInterval(()=>y(Math.floor(Date.now()/1e3)),3e4);return()=>window.clearInterval(oe)},[]);const Ie=((Ye=s==null?void 0:s.settings["autoswitch.threshold"])==null?void 0:Ye.value)??"90",ke=Q??Ie,ue=K4(ke,Ie),xe=(bt=t==null?void 0:t.accounts)==null?void 0:bt.find(oe=>oe.active),we=((Me=mb((xe==null?void 0:xe.lanes)??[]).peak)==null?void 0:Me.pct)??null,Ke=we!=null&&we>=Number(Ie)-15,vt=async oe=>{if(se(`switch-${oe}`)){f(null);try{const qe=await(await fetch("/api/claude-accounts/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({account:oe})})).json().catch(()=>null);qe!=null&&qe.ok||f({text:Ry(qe,"the switch failed"),raw:Oo(qe)}),await Re(!0)}catch{f({text:"server unreachable"})}finally{fe(),ye(oe)}}},ut=async(oe,Pe)=>{const{commit:qe,alias:Ne}=tq(S,Pe);if(qe){const We=await De({action:"alias",account:oe,alias:Ne},`alias-${oe}`);if(await Re(!0),!(We!=null&&We.ok))return;C(Ne)}M(oe),window.setTimeout(()=>M(We=>We===oe?null:We),Df)},st=async(oe,Pe)=>{const qe=await De({action:"move",account:oe,slot:Pe},`move-${oe}`),Ne=H4({menuFor:N,shareFor:(W==null?void 0:W.num)??null},oe,qe);if(await Re(!0),Ne){b(Ne.menuFor),$(Ne.confirmRemove),Ne.shareFor==null&&(I(null),Y(!1)),X(Ne.swapNote);const We=Ne.swapNote;We&&window.setTimeout(()=>X(Nt=>Nt===We?null:Nt),sq),ne(null),ye(Ne.menuFor)}return qe},Be=async(oe,Pe,qe)=>{if(qe.sends){const Ne=await st(oe,Pe);if(!(Ne!=null&&Ne.ok))return}U(oe),window.setTimeout(()=>U(Ne=>Ne===oe?null:Ne),Df)},tt=async(oe,Pe)=>{if(Pe.sends){const qe=await Ue({action:"setting",key:"autoswitch.threshold",value:oe},"threshold");if(await Re(!0),!(qe!=null&&qe.ok))return;O(null)}K(!0),window.setTimeout(()=>K(!1),Df)};return d.jsxs("aside",{className:"accounts-panel",id:"accounts-panel","aria-label":"Claude accounts",children:[d.jsxs("div",{className:"ap-header",children:[d.jsx("h2",{children:"Accounts"}),d.jsxs("div",{className:"ap-header-right",children:[d.jsx("button",{type:"button",className:"glyph-btn ap-add",onClick:()=>k(!0),"aria-label":"Add an account",title:"Sign in to another Claude account, or paste one shared from another deck",children:"+"}),(((it=t==null?void 0:t.accounts)==null?void 0:it.length)??0)>0&&d.jsx("button",{type:"button",className:"glyph-btn ap-share-set",onClick:()=>D(!0),"aria-label":"Share accounts with another deck",title:`Copy several accounts to another ${Ft} in one paste. The text carries a live login for each one — treat it as those passwords.`,children:"↗"}),d.jsx("button",{type:"button",className:"glyph-btn ap-refresh",onClick:()=>Re(!0),...he("reload",c),"aria-label":"Reload accounts",title:"Reload from claude-swap",children:c?"…":"↻"}),d.jsx("button",{type:"button",className:"glyph-btn",onClick:e,"aria-label":"Close accounts panel",title:"Close (A)",children:"×"})]})]}),t==null?m?d.jsxs("div",{className:"ap-empty",role:"alert",children:[d.jsx("span",{title:m.raw||void 0,children:m.text}),d.jsxs("span",{className:"ap-hint",children:["No accounts have arrived, so there is nothing to show yet. The panel keeps trying every ",yb/1e3," seconds."]}),d.jsx("button",{type:"button",className:"ap-fix",disabled:c,onClick:()=>Re(!0),children:c?"trying…":"try again"})]}):d.jsx("div",{className:"ap-empty",children:"Checking…"}):t.ok?d.jsxs(d.Fragment,{children:[(Rt=t.accounts)==null?void 0:Rt.map(oe=>{const{shown:Pe,rest:qe,fuller:Ne,peak:We}=mb(oe.lanes),Nt=L.includes(h0(oe)),et=Y4(qe.length,Nt,Ne);return d.jsxs("div",{className:`ap-account${oe.active?" active":""}`,children:[d.jsxs("div",{className:"ap-account-head",children:[d.jsx("span",{className:"ap-num",children:oe.num}),oe.alias&&d.jsx("span",{className:"ap-alias",title:oe.alias,children:oe.alias}),d.jsx("span",{className:"ap-email",title:oe.email??void 0,children:oe.email}),d.jsx("button",{type:"button",id:`ap-more-${oe.num}`,className:`ap-more${N===oe.num?" on":""}`,"aria-label":`Manage account ${oe.num}`,"aria-expanded":N===oe.num,"aria-controls":N===oe.num?`ap-manage-${oe.num}`:void 0,title:"Share, rename, move, remove",onClick:()=>{b(N===oe.num?null:oe.num),C(oe.alias??""),$(null),I(null),Y(!1),X(null),M(null),ne(null),U(null)},children:"⋯"}),oe.active&&d.jsx("span",{className:"ap-badge-active",children:"active"}),oe.disabled&&d.jsx("span",{className:"ap-badge-held",children:"held out"}),!oe.active&&!oe.disabled&&d.jsx("button",{type:"button",className:"ap-manage-btn ap-switch",...he(`switch-${oe.num}`),onClick:()=>vt(oe.num),title:`Switch to ${oe.alias??oe.email}`,children:a===`switch-${oe.num}`?"…":"switch"})]}),d.jsx("div",{className:"ap-lanes",id:`ap-lanes-${oe.num}`,children:Pe.length?d.jsxs(d.Fragment,{children:[Pe.map(je=>d.jsx(xb,{lane:je,nowSec:g},je.id)),Nt&&qe.map(je=>d.jsx(xb,{lane:je,nowSec:g},je.id))]}):d.jsx("div",{className:"ap-hint",children:"No usage recorded yet."})}),d.jsxs("div",{className:"ap-meta",children:[oe.staleCopy&&d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"ap-stale-copy",title:"The deck can still see this account — its live usage is being read — but claude-swap's own stored copy of the login was rejected, so these numbers stopped updating. Resume re-captures the copy from the login you already have.",children:"numbers paused"}),d.jsx("button",{type:"button",className:"ap-fix",...he("recapture"),onClick:async()=>{const je=await De({action:"recapture"},"recapture");je!=null&&je.ok&&Re(!0)},title:"Re-capture this account's stored credentials from the login you already have. No sign-in, no switch.",children:a==="recapture"?"resuming…":"resume"})]}),oe.error&&(()=>{const je=lq(oe.error);return d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"ap-err",title:je.hint,children:je.text}),je.fixable&&d.jsx("button",{type:"button",className:"ap-fix",onClick:()=>k(!0),title:"Open the sign-in dialog. Signing in as this account replaces its stored login in place.",children:"sign in again"})]})})(),et&&d.jsx("button",{type:"button",className:"ap-lanes-more","aria-expanded":Nt,"aria-controls":`ap-lanes-${oe.num}`,title:X4(oe.headroom,(We==null?void 0:We.label)??null,qe.length,Nt),onClick:()=>q(je=>Z4(je,oe)),children:et}),(((s==null?void 0:s.enabled)||(s==null?void 0:s.external))&&!oe.active||oe.disabled)&&d.jsx("button",{type:"button",className:"ap-rotate",...he(`rot-${oe.num}`),onClick:()=>Ue({action:"account",account:oe.num,enabled:oe.disabled},`rot-${oe.num}`).then(()=>Re(!0)),title:oe.disabled?"Return this account to auto-rotation":"Hold this account out of auto-rotation",children:oe.disabled?"put back":"hold out"}),oe.fetchedAt?d.jsxs("span",{className:`ap-age${oe.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 ",wb(oe.fetchedAt,g),aq(oe.nextAt,g)]}):d.jsx("span",{className:"ap-age ap-stale",title:"claude-swap has not read this account yet",children:"never collected"})]}),N===oe.num&&d.jsxs("div",{className:"ap-manage",id:`ap-manage-${oe.num}`,role:"group","aria-label":`Manage account ${oe.num}`,children:[d.jsxs("div",{className:"ap-manage-name",children:[d.jsx("label",{className:"vis-hidden",htmlFor:`ap-alias-${oe.num}`,children:"Alias"}),d.jsx("input",{id:`ap-alias-${oe.num}`,className:"ap-manage-input",type:"text",value:S,onChange:je=>C(je.target.value),onKeyDown:je=>{je.key==="Enter"&&ut(oe.num,oe.alias)},maxLength:eq,placeholder:"e.g. work",spellCheck:!1,autoFocus:!0}),d.jsx("button",{type:"button",className:"ap-manage-btn",...he(`alias-${oe.num}`),onClick:()=>ut(oe.num,oe.alias),title:"A short name to show instead of the email",children:T===oe.num?"saved":"save"})]}),(()=>{const je=W4((t.accounts??[]).map(_t=>_t.num),oe.num),yt=G4(je,z,oe.num),at=V4(je,yt,oe.num);return d.jsxs("div",{className:"ap-manage-slot",children:[d.jsx("label",{className:"vis-hidden",htmlFor:`ap-slot-${oe.num}`,children:"Slot"}),d.jsx("span",{className:"ap-field",children:d.jsx("select",{id:`ap-slot-${oe.num}`,value:String(yt),...he(`move-${oe.num}`),onChange:_t=>ne(Number(_t.target.value)),children:je.map(_t=>d.jsx("option",{value:_t.slot,children:_t.label},_t.slot))})}),d.jsx("button",{type:"button",className:"ap-manage-btn",...he(`move-${oe.num}`),title:at.title,onClick:()=>Be(oe.num,yt,at),children:J===oe.num?at.done:at.label})]})})(),d.jsxs("div",{className:"ap-manage-acts",children:[d.jsx("button",{type:"button",className:"ap-manage-btn",...he(`share-${oe.num}`),title:`Copy this account to another ${Ft}. Anyone who has the text can use the account — treat it as the password. The other deck stops accepting it after 10 minutes; that does not make an escaped copy safe.`,onClick:async()=>{Y(!1);const je=await De({action:"share",account:oe.num},`share-${oe.num}`);je!=null&&je.ok&&I({num:oe.num,blob:je.blob,expiresAt:je.expiresAt})},children:"share"}),d.jsx("button",{type:"button",className:`ap-manage-btn danger${P===oe.num?" armed":""}`,...he(`rm-${oe.num}`),title:P===oe.num?"This deletes the stored credentials for this account":"Remove this account from claude-swap",onClick:()=>{if(P!==oe.num){$(oe.num),window.setTimeout(()=>$(je=>je===oe.num?null:je),4e3);return}$(null),De({action:"remove",account:oe.num},`rm-${oe.num}`).then(()=>{b(null),Re(!0),ye(null)})},children:P===oe.num?"confirm":"remove"})]}),(j==null?void 0:j.at)===oe.num&&(()=>{var at;const je=(at=t.accounts)==null?void 0:at.find(_t=>_t.num===j.displaced),yt=(je==null?void 0:je.alias)??(je==null?void 0:je.email)??"the account that was there";return d.jsxs("span",{className:"ap-manage-hint ap-manage-swap",title:`Slot ${j.at} was taken, so the two accounts traded places: ${yt} now holds slot ${j.displaced}.`,children:["swapped with slot ",j.displaced]})})(),(W==null?void 0:W.num)===oe.num&&(()=>{const je=fT(W.expiresAt,g),yt=je.tone==="gone";return d.jsxs("div",{className:`ap-share${yt?" expired":""}`,children:[d.jsx("code",{className:"ap-share-blob",children:W.blob}),d.jsxs("div",{className:"ap-share-foot",children:[d.jsx("button",{type:"button",className:"ap-manage-btn",...he(`share-${oe.num}`),onClick:async()=>{if(yt){Y(!1);const at=await De({action:"share",account:oe.num},`share-${oe.num}`);at!=null&&at.ok&&I({num:oe.num,blob:at.blob,expiresAt:at.expiresAt});return}await bb(W.blob)&&(Y(!0),window.setTimeout(()=>Y(!1),1800))},children:yt?"make a new share":H?"copied":"copy"}),d.jsxs("span",{className:"ap-manage-hint",title:"This text is the account's password. It is base64 of plain JSON — the expiry inside it is not signed, so anyone holding a copy can change it, and the login itself is in there in the clear either way. The countdown only says how long another deck's import dialog will still accept it. If a copy escapes, sign the account out and back in.",children:[d.jsx("span",{className:"ap-share-warn",children:"this is the password"})," · ",d.jsx("span",{className:`ap-share-expiry ${je.tone}`,children:je.text})]})]})]})})()]})]},oe.num)}),(s==null?void 0:s.ok)&&d.jsxs("div",{className:"ap-auto",children:[d.jsxs("div",{className:"ap-auto-head",children:[d.jsx("h3",{className:"ap-auto-title",children:"Auto-switch"}),d.jsxs("span",{className:"ap-auto-ctl",children:[we!=null&&d.jsxs("span",{className:`ap-auto-now${Ke?" near":""}`,children:[Math.round(we),"%"]}),d.jsx("span",{className:"ap-field",title:"Switch once the active account passes this much of its limit",children:d.jsx("select",{"aria-label":"Switch threshold",value:ke,...he("threshold"),onChange:oe=>O(oe.target.value),children:oq.map(oe=>d.jsxs("option",{value:oe,children:[oe,"%"]},oe))})}),d.jsx("button",{type:"button",className:"ap-manage-btn",...he("threshold"),title:ue.title,onClick:()=>tt(ke,ue),children:G?ue.done:ue.label}),d.jsxs("button",{type:"button",className:`ap-auto-state${s.enabled?" live":""}`,role:"switch","aria-checked":s.enabled,"aria-label":"Auto-switch",...he("enable"),onClick:()=>Ue({action:"enable",enabled:!s.enabled},"enable").then(()=>Re(!0)),title:s.enabled?"Stop switching accounts automatically":"Switch accounts automatically when the active one nears its limit",children:[d.jsx("i",{className:s.enabled?"ap-pulse":"ap-dot","aria-hidden":!0}),s.enabled?"on":"off"]})]})]}),s.external&&d.jsxs("p",{className:"ap-auto-note",children:[d.jsx("i",{className:"ap-pulse","aria-hidden":!0})," A ",d.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&&d.jsx("div",{className:"ap-auto-foot",children:d.jsxs("span",{className:"ap-auto-result",children:["checked ",wb(s.lastTick.at,g)]})})]}),m&&d.jsxs("div",{className:"ap-failure",role:"alert",children:[d.jsx("span",{className:"ap-failure-text",title:m.raw||void 0,children:m.text}),d.jsx("button",{type:"button",className:"ap-failure-x",onClick:()=>f(null),"aria-label":"Dismiss this message",title:"Dismiss",children:"×"})]}),d.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:"These numbers only update while this panel is open."})]}):d.jsx("div",{className:"ap-empty",children:t.reason==="no_cswap"?d.jsxs(d.Fragment,{children:[d.jsx("span",{children:"claude-swap isn't installed."}),d.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."}),t.hint&&d.jsx("code",{className:"ap-cmd",children:t.hint}),d.jsxs("span",{className:"ap-hint",children:["Then add an account with the ",d.jsx("strong",{children:"+"})," button above."]})]}):t.reason==="no_accounts"?d.jsxs(d.Fragment,{children:[d.jsx("span",{children:"No accounts added yet."}),d.jsxs("span",{className:"ap-hint",children:["claude-swap is installed but has nothing in its store. Use the ",d.jsx("strong",{children:"+"})," above to sign one in, or to paste one shared from another deck."]})]}):d.jsxs(d.Fragment,{children:[d.jsx("span",{children:"Couldn't read the account store."}),d.jsxs("span",{className:"ap-hint",children:["claude-swap is installed, but its store could not be read",t.reason?` (${t.reason})`:"","."]})]})}),_&&d.jsx(F4,{onClose:()=>k(!1),onChanged:()=>Re(!0)}),A&&d.jsx(U4,{accounts:((t==null?void 0:t.accounts)??[]).map(oe=>({num:oe.num,email:oe.email,alias:oe.alias,org:oe.org})),onClose:()=>D(!1),copyText:bb})]})}const cq=3e4;function dq({bundle:e,running:t,lastTried:r}){return!t||e===t?!1:r!==t}function fq({bundle:e,running:t,pending:r,lastTried:s}){return t?dq({bundle:e,running:t,lastTried:s})?"reload":r==null||r&&r!==t?"wait":"confirm":"wait"}function hq(e){return!e||e.state!=="failed"?null:`${typeof e.at=="number"?e.at:0}:${e.error??""}`}function pq({asked:e,reported:t}){return t?t!==e:!1}function mq(e){const t=e.thresholdMs??cq;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>=t}}function gq(e,t){return e==="confirmation"?t.confirmOpen?"clear":"ignore":t.modalOpen||t.confirmOpen?"ignore":"confirm"}function vq(e){if(!e||typeof e!="object")return null;const t=e;if(typeof t.decks!="number"||typeof t.mine!="boolean")return null;const r=t.owner&&typeof t.owner=="object"?t.owner.port:null;return{path:typeof t.path=="string"&&t.path!==""?t.path:null,decks:t.decks,mine:t.mine,ownerPort:typeof r=="number"?r:null}}function yq(e){return e<=0?null:e===1?"the one agent":`all ${e} agents`}function wq(e,t){const r=yq(e),s=r?`removes ${r} on the canvas`:null,o=c=>`This ${s?`${s} and ${c}`:c}`;if(!t)return{note:`${o("deletes the event log on disk")} — the file a restarted deck replays to rebuild what you see, and the file every deck on this machine shares unless one was told otherwise. Layout, pins and selection go with it. This cannot be undone.`,confirm:"Clear everything"};if(!t.path)return{note:`${o("leaves nothing on disk — this deck keeps no event log")}. Layout, pins and selection go with it. This cannot be undone.`,confirm:"Clear everything"};if(!t.mine){const c=t.ownerPort===null?"another running deck owns that file":`the deck on port ${t.ownerPort} owns that file`,h=t.decks>2?`, one of ${t.decks} decks sharing it`:"";return{note:`${o(`leaves the event log alone: ${c}${h}`)}. Clearing here empties this canvas only — restart this deck and the log replays back onto it. Layout, pins and selection go with it.`,confirm:"Clear this canvas"}}if(t.decks<=1)return{note:`${o("deletes this deck's event log")} — the file a restarted deck replays to rebuild what you see. Layout, pins and selection go with it. This cannot be undone.`,confirm:"Clear everything"};const a=t.decks-1,u=a===1?"That deck keeps what is on its canvas until it restarts, and then it is gone there too.":"Those decks keep what is on their canvases until they restart, and then it is gone there too.";return{note:`${o(`deletes the event log ${a===1?"1 other running deck shares":`${a} other running decks share`} with this one`)} — every session recorded in it, not just the ones drawn here. ${u} This cannot be undone.`,confirm:"Clear everything"}}function xq({agentCount:e,onConfirm:t,onCancel:r}){const s=E.useRef(null),o=lr(r,{focusRef:s,layer:mL}),[a,u]=E.useState(null);E.useEffect(()=>{let m=!1;return fetch("/api/clear").then(f=>f.ok?f.json():null).then(f=>{m||u(vq(f))}).catch(()=>{}),()=>{m=!0}},[]);const{note:c,confirm:h}=wq(e,a);return d.jsx("div",{className:"modal-backdrop",onClick:r,role:"presentation",children:d.jsxs("div",{ref:o,className:"modal clear-confirm",onClick:m=>m.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"clear-confirm-title",children:[d.jsxs("header",{className:"modal-head",children:[d.jsxs("div",{className:"modal-title",children:[d.jsx("span",{className:"status-dot err","aria-hidden":!0}),d.jsx("span",{id:"clear-confirm-title",className:"modal-tool-name",children:"Clear the deck?"})]}),d.jsx("div",{className:"modal-actions",children:d.jsx("button",{type:"button",className:"glyph-btn",onClick:r,"aria-label":"Cancel (Esc)",title:"Cancel (Esc)",children:"×"})})]}),d.jsxs("section",{className:"modal-body",children:[d.jsx("p",{className:"modal-note",children:c}),d.jsxs("div",{className:"cc-actions",children:[d.jsx("button",{type:"button",ref:s,className:"btn",onClick:r,children:"Cancel"}),d.jsx("button",{type:"button",className:"btn danger",onClick:t,children:h})]})]})]})})}const bq="One-key shortcuts run when nothing on the page has focus. A focused control keeps its own keys — this sheet included, which takes the keyboard while it is open — so Esc is the way back to the canvas.",_q=[{title:"Canvas",rows:[{cap:"Space",action:"pause or resume the stream",binds:[" "]},{cap:"J",action:"next agent",binds:["j","J"]},{cap:"K",action:"previous agent",binds:["k","K"]},{cap:"F",action:"fit every agent on screen",binds:["f","F"]},{cap:"R",action:"re-arrange the canvas and drop the pins",binds:["r","R"]},{cap:"C",action:"clear the canvas and the event log — asks first",binds:["c","C"]}]},{title:"Panels and dialogs",rows:[{cap:"U",action:"usage panel",binds:["u","U"]},{cap:"L",action:"session list",binds:["l","L"]},{cap:"H",action:"usage history",binds:["h","H"]},{cap:"A",action:"Claude accounts, where Claude Code is installed",binds:["a","A"]},{cap:"?",action:"this sheet",binds:["?"]}]},{title:"Settings",rows:[{cap:"M",action:"sound on or off",binds:["m","M"]},{cap:"T",action:"light or dark theme",binds:["t","T"]}]},{title:"Focus and selection",rows:[{cap:"Tab",action:"reach the agent cards",binds:[]},{cap:"Enter",action:"select the focused card",binds:["Enter"]},{cap:"Shift + Enter",action:"add the focused card to the selection",binds:["Enter"]},{cap:"Esc",action:"close what is open, deselect, release focus",binds:["Escape"]}]},{title:"Mouse",rows:[{cap:"drag",action:"move a node, and pin it where you dropped it",binds:[]},{cap:"shift-click",action:"add an agent to the selection",binds:[]},{cap:"click",action:"the topbar speaker opens volume and sound settings",binds:[]}]}];function kq({onClose:e}){const t=lr(e);return d.jsx("div",{className:"modal-backdrop",onClick:e,role:"presentation",children:d.jsxs("div",{ref:t,className:"modal key-help",onClick:r=>r.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"key-help-title",children:[d.jsxs("header",{className:"modal-head",children:[d.jsx("div",{className:"modal-title",children:d.jsx("span",{id:"key-help-title",className:"modal-tool-name",children:"Keyboard shortcuts"})}),d.jsx("div",{className:"modal-actions",children:d.jsx("button",{type:"button",className:"glyph-btn",onClick:e,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),d.jsxs("section",{className:"modal-body",children:[d.jsx("p",{className:"modal-note",children:bq}),d.jsx("div",{className:"shortcuts",children:_q.map(r=>d.jsxs(E.Fragment,{children:[d.jsx("h3",{className:"kh-group",children:r.title}),r.rows.map(s=>d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:s.cap}),d.jsx("span",{children:s.action})]},`${r.title}:${s.cap}:${s.action}`))]},r.title))})]})]})})}const Sq=["done","needs-input"],Nq=[{id:"two",label:"Two notes",notes:[{at:0,hz:740,ms:90},{at:.085,hz:440,ms:150}]},{id:"arc",label:"Descent",notes:[{at:0,hz:988,ms:80},{at:.07,hz:659,ms:80},{at:.14,hz:440,ms:160}]},{id:"tap",label:"Double tap",notes:[{at:0,hz:740,ms:55},{at:.055,hz:740,ms:55},{at:.165,hz:440,ms:150}]},{id:"chord",label:"Chord",trim:.7,notes:[{at:0,hz:988,ms:110},{at:0,hz:740,ms:110},{at:.1,hz:440,ms:170}]},{id:"bell",label:"Bell",type:"triangle",notes:[{at:0,hz:740,ms:120},{at:.11,hz:440,ms:260}]},{id:"blip",label:"Blip",type:"square",trim:.7,notes:[{at:0,hz:740,ms:55},{at:.06,hz:440,ms:90}]}],Eq=[{id:"two",label:"Two notes",notes:[{at:0,hz:440,ms:90},{at:.085,hz:740,ms:150}]},{id:"arc",label:"Ascent",notes:[{at:0,hz:440,ms:80},{at:.07,hz:659,ms:80},{at:.14,hz:988,ms:160}]},{id:"tap",label:"Double tap",notes:[{at:0,hz:440,ms:55},{at:.055,hz:440,ms:55},{at:.165,hz:740,ms:150}]},{id:"chord",label:"Chord",trim:.7,notes:[{at:0,hz:440,ms:110},{at:.1,hz:740,ms:170},{at:.1,hz:988,ms:170}]},{id:"bell",label:"Bell",type:"triangle",notes:[{at:0,hz:440,ms:120},{at:.11,hz:740,ms:260}]},{id:"blip",label:"Blip",type:"square",trim:.7,notes:[{at:0,hz:440,ms:55},{at:.06,hz:740,ms:90}]}],p0={done:Nq,"needs-input":Eq},Po="two";function My(e,t){const r=p0[e];return r.find(s=>s.id===t)??r.find(s=>s.id===Po)??r[0]}function hT(e,t){return p0[e].some(s=>s.id===t)?t:Po}My("done",Po).notes,My("needs-input",Po).notes;const _b=.04,Cq=.24,pT=0,m0=100,Iy=5,tl=50;function nl(e){if(!Number.isFinite(e))return tl;const t=Math.round(e/Iy)*Iy;return Math.min(m0,Math.max(pT,t))}function jq(e){if(e==null)return tl;const t=e.trim();return/^-?\d+(\.\d+)?$/.test(t)?nl(Number(t)):tl}function Tq(e){const t=nl(e),r=_b+(Cq-_b)*(t/m0);return Math.round(r*1e4)/1e4}function Rq(e,t){const r=t.trim,s=typeof r=="number"&&Number.isFinite(r)&&r>0&&r<=1?r:1;return Math.round(Tq(e)*s*1e4)/1e4}const Aq=160,Mq="agent-dag.soundLevel.done",Iq="agent-dag.soundLevel.needs-input",Oq="agent-dag.soundFigure.done",Pq="agent-dag.soundFigure.needs-input",mT={done:Mq,"needs-input":Iq},gT={done:Oq,"needs-input":Pq},Oy={done:{level:tl,figure:Po},"needs-input":{level:tl,figure:Po}};function $q(e){const t=r=>({level:jq(e(mT[r])),figure:hT(r,e(gT[r]))});return{done:t("done"),"needs-input":t("needs-input")}}const Lq={Stop:"done",Notification:"needs-input"};function qq(e,t){var s;if(t)return null;const r=(s=e==null?void 0:e.payload)==null?void 0:s.hook_event_name;return typeof r!="string"?null:Lq[r]??null}function Dq(e={enabled:()=>!0}){const t=e.ctor??(typeof window<"u"?window.AudioContext??window.webkitAudioContext??null:null);let r=null,s=!1;const o=()=>e.enabled()?s&&(r==null?void 0:r.state)==="running"?"ready":"locked":"off",a=()=>{var h;return(h=e.onState)==null?void 0:h.call(e,o())};function u(){var h;if(!(!t||s))try{r=r??new t,(h=r.resume)==null||h.call(r).then(a,()=>{}),s=!0,a()}catch{}}function c(h,m=!1){var N;if(!m&&!e.enabled()||!r||r.state!=="running")return!1;const f=(((N=e.prefs)==null?void 0:N.call(e))??Oy)[h]??Oy[h],g=My(h,f.figure),y=Rq(f.level,g),w=r.currentTime;for(const b of g.notes){const _=r.createOscillator(),k=r.createGain();_.type=g.type??"sine",_.frequency.value=b.hz;const S=w+b.at,C=S+b.ms/1e3;k.gain.setValueAtTime(1e-4,S),k.gain.exponentialRampToValueAtTime(y,S+.012),k.gain.exponentialRampToValueAtTime(1e-4,C),_.connect(k).connect(r.destination),_.start(S),_.stop(C+.02)}return!0}return{unlock:u,play:c,state:o,get context(){return r}}}const kb={done:"Turn finished","needs-input":"Claude is asking"},Fq={done:"Every finished turn, on both CLIs.","needs-input":"Claude Code only — Codex has no such event."};function zq({onClose:e,soundOn:t,onToggleSound:r,prefs:s,onLevel:o,onFigure:a,onPreview:u,openerRef:c}){const h=lr(e),m=E.useRef(e);return m.current=e,E.useEffect(()=>{const f=g=>{var w,N;const y=g.target;y&&((w=h.current)!=null&&w.contains(y)||(N=c.current)!=null&&N.contains(y)||m.current())};return window.addEventListener("pointerdown",f,!0),()=>window.removeEventListener("pointerdown",f,!0)},[h,c]),d.jsxs("div",{ref:h,id:"sound-menu",className:"sound-menu",role:"dialog","aria-label":"Sound settings",children:[d.jsxs("button",{type:"button",className:"btn sm-switch",onClick:r,"aria-pressed":t,children:[d.jsx("span",{className:"sm-switch-label",children:"Sound"}),d.jsx("span",{className:"sm-switch-state",children:t?"on":"off"})]}),Sq.map(f=>{const g=s[f],y=`sm-level-${f}`,w=`sm-figure-${f}`;return d.jsxs("section",{className:"sm-tone","aria-labelledby":`sm-name-${f}`,children:[d.jsxs("div",{className:"sm-tone-head",children:[d.jsx("h3",{className:"sm-tone-name",id:`sm-name-${f}`,children:kb[f]}),d.jsxs("button",{type:"button",className:"btn sm-hear",onClick:()=>u(f),"aria-label":`Hear the ${kb[f].toLowerCase()} tone`,children:[d.jsx("svg",{width:"11",height:"11",viewBox:"0 0 12 12",fill:"currentColor","aria-hidden":!0,children:d.jsx("path",{d:"M3 1.6v8.8l7-4.4z"})}),"Hear it"]})]}),d.jsxs("div",{className:"sm-row",children:[d.jsx("label",{htmlFor:y,children:"Volume"}),d.jsx("input",{id:y,type:"range",min:pT,max:m0,step:Iy,value:g.level,onChange:N=>o(f,Number(N.target.value))}),d.jsxs("span",{className:"sm-read",children:[g.level,"%"]})]}),d.jsxs("div",{className:"sm-row",children:[d.jsx("label",{htmlFor:w,children:"Sound"}),d.jsx("select",{id:w,className:"sm-select",value:g.figure,onChange:N=>a(f,N.target.value),children:p0[f].map(N=>d.jsx("option",{value:N.id,children:N.label},N.id))})]}),d.jsx("p",{className:"sm-note",children:Fq[f]})]},f)}),d.jsx("p",{className:"sm-foot",children:"M turns the sound on and off from anywhere."})]})}const Bq={"//":["What a user would NOTICE. One key per version that has something to say,","and no key at all for a version that has nothing — which is most of them.","","The rule this file exists to serve: before every release, ask 'what would a","user notice?' and write the answer here. 'Nothing user-visible' is a valid","and expected answer, and it is spelled by adding no key. A release with no","key shows no modal, and that silence is what keeps the modal worth reading","on the day it is not silent.","","What belongs here: something that changed on the user's machine or under","their hands — a hook written to or removed from settings.json, a default","that flipped, a control that moved or went away, a stored preference that","changed meaning. What does not: bounds, races, assertions that could not","fire, anything that is invisible when it is correct.","","Write it for the person running the deck, not for the person reading the","diff. `title` is the sentence they scan; `body` is what they need in order","to act on it, or to stop worrying about it.","","Keys are versions exactly as package.json spells them. A key that is not a","version, or an entry missing either field, fails the suite rather than","being quietly dropped — see src/web/__tests__/release-notes-file.test.ts.","Ordering here is for humans; the deck sorts by version itself.","","A title may open with an emoji, and if it does, put exactly ONE space after","it. Not two: the dialog gives a leading emoji its own optical gap, because","a colour glyph is drawn edge to edge inside its advance and one word space","after one reads as none. A second space here would be a lie in the data","about a defect in the type, and the suite refuses both it and no space at","all."],"1.48.0":[{title:"👁 Browser Watch — see what a program opened while you were away",body:`There is a new eye in the top bar. It watches the browsers on this machine and tells you when a program — an extension, an agent, a command — opened pages while nobody was touching the browser.
|
|
76
|
+
|
|
77
|
+
Usually that is your own agent doing what you asked, and the panel says so rather than crying intrusion. What it gives you is the evidence: which pages, in which browser, at what time, with every address written out in full.
|
|
78
|
+
|
|
79
|
+
It is off until you switch it on, and nothing leaves this machine. It reads a copy of the browser's own history and only pages newer than the moment the deck started — never anything from before, never cookies, never saved passwords. Open ⚙ inside the panel and "What Browser Watch can access" says exactly what it reads, keeps and sends.
|
|
80
|
+
|
|
81
|
+
When it finds something the eye turns amber with a count. You can dismiss a finding once you have looked at it and it stays gone, while the log file on disk keeps the record. On a Mac it can also close the tab it found, or quit the browser.`},{title:"🔑 Move all your accounts to another machine in one paste",body:`Sharing accounts between two decks used to be one account at a time, and step four of six is where people stop — leaving the second deck half set up with nothing saying so.
|
|
82
|
+
|
|
83
|
+
Pick the accounts you want, copy one blob, paste it into the other deck. The import adds what is missing, leaves what already works alone, heals an account whose token has died, and tells you which of those happened to each one.
|
|
84
|
+
|
|
85
|
+
The blob carries real credentials, so it expires ten minutes after you make it and the deck refuses an expired one before it unwraps anything.`}],"1.47.0":[{title:"🔌 The top bar goes quiet when everything is fine",body:`The green "live" pill used to sit up there permanently to tell you nothing was broken. It is gone while things are working.
|
|
86
|
+
|
|
87
|
+
You will still see a pill when it matters: amber when you pause the canvas, with how many events are waiting, and red when the deck loses its connection to the server. No pill means all is well.`},{title:"🔴 The browser tab tells you when the connection drops",body:`The little icon in the tab has always shown what your sessions are doing — grey when it is quiet, blue when something is working, amber when a session is waiting on you.
|
|
88
|
+
|
|
89
|
+
It could not say the one thing that matters most: that the deck has stopped hearing from the server. Until now it just kept showing whatever it had last seen. It turns into a broken red ring instead, so you can spot it from another tab without switching over.`}],"1.46.0":[{title:"🔊 Pick a volume and a sound for each of the two tones",body:`Click the speaker in the top bar and a small menu opens. There are two tones — one when a turn finishes, one when Claude is waiting for you — and each has its own volume and its own sound, six to choose from. Press "Hear it" to try one straight away, without waiting for a real turn.
|
|
90
|
+
|
|
91
|
+
The two lists are separate on purpose, so you can never end up with both tones sounding the same. A finish tone always falls; an asking tone always rises. That is how you tell them apart without looking at the screen.
|
|
92
|
+
|
|
93
|
+
M still turns the sound on and off from anywhere.`},{title:"✨ This box is new",body:`After an update, the deck tells you what changed — once, and only when there is something worth telling. Most updates have nothing to say and you will see nothing at all.
|
|
94
|
+
|
|
95
|
+
Click the version at the top of the deck to read it again whenever you like.`}],"1.45.0":[{title:"🔕 The deck no longer puts anything in your settings.json",body:"It used to add a hook there so Claude Code would play a sound when a turn ended. That entry is removed the first time you start this version, and any sound hook you wrote yourself is put back exactly where you had it. Nothing else in that file is touched. The deck makes the sound itself now — which is also why you finally hear one when a Codex turn ends, not just a Claude one."}]},g0="agent-dag.releaseNotesSeen";function Sb(e){return e.split(/[.\-+]/).map(t=>parseInt(t,10)).map(t=>Number.isNaN(t)?0:t)}function $o(e,t){const r=Sb(e),s=Sb(t);for(let o=0;o<Math.max(r.length,s.length);o++){const a=(r[o]??0)-(s[o]??0);if(a!==0)return a<0?-1:1}return 0}function Lo(e){return typeof e=="string"&&/^\d+\.\d+\.\d+/.test(e)}function Uq(e){if(!e||typeof e!="object")return!1;const{title:t,body:r}=e;return typeof t=="string"&&t.trim()!==""&&typeof r=="string"&&r.trim()!==""}function Wq(e){if(!e||typeof e!="object")return[];const t=[];for(const[r,s]of Object.entries(e)){if(!Lo(r)||!Array.isArray(s))continue;const o=s.filter(Uq);o.length&&t.push({version:r,notes:o})}return t.sort((r,s)=>$o(s.version,r.version))}const Nb=Wq(Bq);function vT(e,t,r){return e.filter(s=>$o(s.version,r)<=0&&(t===null||$o(s.version,t)>0))}function Hq(e,t){return e.filter(r=>$o(r.version,t)===0)}function Gq(e){if(!e.length)return"";const t=e[0].version,r=e[e.length-1].version;return t===r?`v${t}`:`v${r} – v${t}`}function Vq({since:e,running:t,entries:r,firstRun:s}){if(!r.length)return"Nothing in this build has anything to report yet. Most releases do not, which is the point.";if(e!==null){const u=r.length===1?"one release":`${r.length} releases`;return`You were last caught up at v${e}. Since then ${u} changed something you would notice. Clicking the version in the topbar brings this back.`}if(s&&Lo(t))return`The deck has not run in this browser before, so this is what v${t} — the release you have — changed. Earlier releases are not repeated here; clicking the version in the topbar brings all of them back.`;const o=r[0].version;if(!Lo(t))return"Everything this build has to say, newest first. Most releases have nothing here, which is why the deck stays quiet about them.";const a=$o(o,t);return a<0?`v${t} — the release you are running — changed nothing you would notice, which most releases do not. Below is the last release that did, and everything before it, newest first.`:a>0?"Everything this build has to say, newest first. Most releases have nothing here, which is why the deck stays quiet about them.":`You are running v${t}, and this is what it changed — and everything before it, newest first. Most releases have nothing here, which is why the deck stays quiet about them.`}const Kq=new RegExp("^(?:\\p{Extended_Pictographic}|\\p{Emoji_Modifier}|\\p{Regional_Indicator}|[\\u200D\\uFE0F])+(?= \\S)","u");function Yq(e){const t=Kq.exec(e);return t?{icon:t[0],rest:e.slice(t[0].length)}:{icon:null,rest:e}}function Xq(){if(typeof window>"u")return null;try{return window.localStorage}catch{return null}}function Qq(e){if(!e)return null;let t=null;try{t=e.getItem(g0)}catch{return null}return Lo(t)?t:null}function Zq(e){if(!e)return!1;try{return e.getItem(g0),!0}catch{return!1}}function Jq(e,t){if(!e)return!1;try{return e.setItem(g0,t),!0}catch{return!1}}function eD({stored:e,running:t,notes:r,remembers:s=!0}){if(!Lo(t))return{show:[],record:null,reason:"no-version"};if(!Lo(e)){if(!s)return{show:[],record:t,reason:"cannot-remember"};const u=Hq(r,t);return u.length?{show:u,record:t,reason:"welcome"}:{show:[],record:t,reason:"first-run"}}const o=$o(e,t);if(o===0)return{show:[],record:null,reason:"seen"};if(o>0)return{show:[],record:null,reason:"ahead"};const a=vT(r,e,t);return a.length?{show:a,record:t,reason:"new-notes"}:{show:[],record:t,reason:"nothing-new"}}function tD({entries:e,since:t,running:r,firstRun:s,onClose:o}){const a=lr(o),u=Gq(e);return d.jsx("div",{className:"modal-backdrop",onClick:o,role:"presentation",children:d.jsxs("div",{ref:a,className:"modal release-notes",onClick:c=>c.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"release-notes-title",children:[d.jsxs("header",{className:"modal-head",children:[d.jsxs("div",{className:"modal-title",children:[d.jsx("span",{id:"release-notes-title",className:"modal-tool-name",children:"What's new"}),u&&d.jsx("span",{className:"modal-tool-id",children:u})]}),d.jsx("div",{className:"modal-actions",children:d.jsx("button",{type:"button",className:"glyph-btn",onClick:o,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})})]}),d.jsxs("section",{className:"modal-body",children:[d.jsx("p",{className:"modal-note",children:Vq({since:t,running:r,firstRun:s,entries:e})}),e.map(c=>d.jsxs("section",{className:"modal-section",children:[d.jsxs("h3",{className:"rn-version",children:["v",c.version]}),d.jsx("ul",{className:"rn-notes",children:c.notes.map((h,m)=>{const{icon:f,rest:g}=Yq(h.title);return d.jsxs("li",{className:"rn-note",children:[d.jsxs("p",{className:"rn-note-title",children:[f&&d.jsx("span",{className:"rn-note-icon",children:f}),g]}),d.jsx("p",{className:"rn-note-body",children:h.body})]},m)})})]},c.version))]})]})})}function nD(e){return e.slice().sort((t,r)=>t.y-r.y||t.x-r.x)}function rD(e,t,r){var u;if(e.length===0)return null;const s=nD(e),o=t?s.findIndex(c=>c.id===t):-1,a=o===-1?r===1?0:s.length-1:(o+r+s.length)%s.length;return((u=s[a])==null?void 0:u.id)??null}const sD=new Set(["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Escape","Delete","Backspace"]);function iD(e,t){return t==null?{kind:"deck",nodeId:null}:e.key==="Enter"||e.key===" "?{kind:"activate",nodeId:t,additive:e.shiftKey}:sD.has(e.key)?{kind:"node",nodeId:t}:{kind:"deck",nodeId:t}}const oD=new Set(["","BODY","HTML","#DOCUMENT"]);function aD(e){return!e||a0(e)?!1:!oD.has(String(e.tagName??"").toUpperCase())}function Uu(e,t){if(t.size!==0)for(const r of Array.from(e.keys()))t.has(r)||e.delete(r)}function lD(e,t){let r=!1;for(const o of e)if(!t.has(o)){r=!0;break}if(!r)return e;const s=new Set;for(const o of e)t.has(o)&&s.add(o);return s}function uD(e){const t=new Set;for(const r of e)t.add(r.id),t.add(`group:${r.sessionId}`);return t}function cD(e,t){if(!t||!e.agents.get(t))return null;const s=new Set([t]);let o=t;for(;o;){const u=e.agents.get(o);if(!(u!=null&&u.parentId)||s.has(u.parentId))break;s.add(u.parentId),o=u.parentId}let a=!0;for(;a;){a=!1;for(const u of e.agents.values())u.parentId&&s.has(u.parentId)&&!s.has(u.id)&&(s.add(u.id),a=!0)}return s}function dD(e,t){const r=new Set;for(const s of t){const o=cD(e,s);if(o)for(const a of o)r.add(a)}return r.size>0?r:null}function yT(e,t,r){return!t.has(e)||r.has(e)}function fD(e,t,r,s){return!t.has(e)&&yT(e,r,s)}function hD(e,t,r){const s={x:0,y:0};return t.set(e,s),r.add(e),s}function pD(e,t,r,s){r.set(e,t),s.delete(e)}const mD=40,gD=120;function vD(e,t){let r=null,s=0,o=Number.NEGATIVE_INFINITY;const a=()=>{r=null,o=t.now(),e()},u=()=>{r!=null&&(t.clearTimeout(r),r=null)},c=(h,m,f)=>{if(r!=null){if(s<=h)return;u()}const g=Math.min(f,Math.max(0,h-m));s=h,r=t.setTimeout(a,g)};return{live(h=mD){const m=t.now(),f=Math.max(o+h,m);if(f<=m){u(),a();return}c(f,m,h)},replay(h=gD){u(),s=t.now()+h,r=t.setTimeout(a,h)},flush(){u(),a()},cancel(){u()}}}const yD=1e3;function wD(e={}){const t=Math.max(1,Math.floor(e.limit??yD)),r=e.protect;let s=!1,o=[],a=new Set,u=0,c=0,h=null;return{get paused(){return s},get size(){return o.length},get dropped(){return u},get overflowed(){return u>0},get through(){return c},accept(m){const f=typeof(m==null?void 0:m.seq)=="number"?m.seq:null,g=(m==null?void 0:m.epoch)??null,y=g!==null&&g!==h;y&&(h=g,c=0);const w=f!==null&&!y&&f<=c;if(f!==null&&f>c&&(c=f),!s)return!0;if(w)return!1;if(o.push(m),r!=null&&r(m)&&a.add(m),o.length>t){let N=0;if(a.size<o.length)for(;a.has(o[N]);)N++;const[b]=o.splice(N,1);a.delete(b),u++}return!1},setPaused(m){if(s=m,m)return[];const f=o;return o=[],a=new Set,u=0,f}}}const wT="agent-dag.theme";function xD(e){return e==="light"?"light":"dark"}function bD(){return xD(Ec(wT))}function _D({waiting:e,running:t,connected:r=!0}){return{title:e>0?`(${e}) ${Ft}`:Ft,icon:r?e>0?"waiting":t>0?"running":"idle":"offline"}}const Wu={offline:"#e05252",waiting:"#c97d12",running:"#2a90d4",idle:"#7e828c"};function Hu(e,t){const o=u=>`<circle cx="16" cy="16" r="12" fill="none" stroke="${e}" stroke-width="5"${u}/>`;return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32">${t==="waiting"?`<circle cx="16" cy="16" r="14.5" fill="${e}"/>`:t==="offline"?o(` stroke-dasharray="${56.5485.toFixed(2)} ${18.8495.toFixed(2)}" transform="rotate(-58 16 16)"`):o("")+(t==="running"?`<circle cx="16" cy="16" r="5" fill="${e}"/>`:"")}</svg>`}const kD=Object.freeze({offline:`data:image/svg+xml,${encodeURIComponent(Hu(Wu.offline,"offline"))}`,waiting:`data:image/svg+xml,${encodeURIComponent(Hu(Wu.waiting,"waiting"))}`,running:`data:image/svg+xml,${encodeURIComponent(Hu(Wu.running,"running"))}`,idle:`data:image/svg+xml,${encodeURIComponent(Hu(Wu.idle,"idle"))}`}),SD="No sessions are waiting for you.";function ND(e){if(e.length===0)return"";const[t,...r]=e;if(r.length===0)return`${t.label} is waiting for your permission.`;const s=`${r.length} more session${r.length===1?"":"s"}`;return`${t.label} and ${s} are waiting for your permission.`}function ED(e,t){return t!==""?t:e===""?"":SD}function CD(){let e=0;return{begin(){const t=++e;return()=>t===e},cancel(){e++}}}function jD(e,t=new Date){return new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate()-(e-1))).toISOString().slice(0,10).replace(/-/g,"")}function TD(e){return!e.answer||e.answer.range!==e.want?{phase:"busy",stale:!1}:e.answer.ok?{phase:e.answer.days>0?"chart":"empty",stale:e.loading}:{phase:"error",stale:e.loading}}function RD(e){return e.claude&&e.codex?"Claude Code and Codex":e.claude?"Claude Code":e.codex?"Codex":null}const Eb={claude:"Claude Code",codex:"Codex",opencode:"OpenCode",openclaw:"OpenClaw",copilot:"GitHub Copilot",pi:"pi-agent"};function v0(e){const t=e.toLowerCase();return Object.hasOwn(Eb,t)?Eb[t]:t?t[0].toUpperCase()+t.slice(1):""}function AD(e){return e.length<=1?e[0]??"":`${e.slice(0,-1).join(", ")} and ${e[e.length-1]}`}function MD(e,t=[]){const r=t.length?AD(t.map(v0)):RD(e);return r?`via ccusage · local ${r} logs`:"via ccusage · local agent logs"}function ID(e){const t=e.claude?{provider:"claude",watching:!0,spans:[{text:"Claude Code sends its events through a hook in "},{text:"~/.claude/settings.json",code:!0},{text:" — or in "},{text:"$CLAUDE_CONFIG_DIR/settings.json",code:!0},{text:" when you have that set — which the deck installs on first run."}]}:{provider:"claude",watching:!1,spans:[{text:"Claude Code capture is off: no Claude Code was found on this machine, or the deck was started with "},{text:"--no-claude",code:!0},{text:"."}]},r=e.codex?{provider:"codex",watching:!0,spans:[{text:"Codex installs nothing and needs no trust prompt — the deck reads "},{text:"~/.codex/sessions/",code:!0},{text:" itself, so an empty canvas means no rollout has been written there yet, or that "},{text:"$CODEX_HOME",code:!0},{text:" points at a different tree."}]}:{provider:"codex",watching:!1,spans:[{text:"Codex capture is off: no "},{text:"~/.codex/",code:!0},{text:" was found — set "},{text:"$CODEX_HOME",code:!0},{text:" if yours lives elsewhere — or the deck was started with "},{text:"--no-codex",code:!0},{text:"."}]};return[t,r]}function OD(e,t){const r=t.prefs??Oy,s=nl(r.done.level),o=nl(r["needs-input"].level),a=s===o?`${s}%`:`${s}% and ${o}%`,u=t.on?`Sound: on at ${a} — a tone when a turn finishes, another when Claude asks for you (M)`:"Sound: off — press M, or use the switch in here, for a tone when a turn finishes (M)",c=e.codex?`
|
|
96
|
+
|
|
97
|
+
Both CLIs get the finish tone. The second tone — Claude is waiting for you — has no Codex equivalent to fire on, so it only ever plays for Claude Code.`:"",h=t.on&&t.locked?`
|
|
98
|
+
|
|
99
|
+
Waiting for a click: this browser plays no sound until the page has been used at least once. Anything you press unlocks it.`:"";return u+c+h+`
|
|
100
|
+
|
|
101
|
+
Click to set the volume and the sound of each tone, and to hear either one.`}function xT(e){const t=new Map;for(const r of e)for(const s of r.agents??[]){if(!s||typeof s.agent!="string"||s.agent==="")continue;const o=t.get(s.agent)??{id:s.agent,cost:0,tokens:0};o.cost+=Number.isFinite(s.totalCost)?s.totalCost:0,o.tokens+=Number.isFinite(s.totalTokens)?s.totalTokens:0,t.set(s.agent,o)}return[...t.values()].sort((r,s)=>s.cost-r.cost||r.id.localeCompare(s.id))}function PD(e){const t=xT([{agents:e}]);return t.length<2?null:t.map(r=>`${v0(r.id)} ${Ve(r.cost)}`).join(" · ")}function Cb(e){switch(e.toLowerCase()){case"claude":return"var(--usage-purple)";case"codex":return"var(--usage-orange)";case"gemini":return"var(--usage-indigo)";case"copilot":return"var(--usage-green)";default:return"var(--usage-zinc)"}}function $D(e,t){if(!(t>0)||!(e>0))return"0%";const r=e/t*100;return r<.1?"<0.1%":`${r.toFixed(1)}%`}function Gu(e){const t=e.toLowerCase();return t.includes("opus")?"var(--usage-purple)":t.includes("sonnet")?"var(--usage-blue)":t.includes("haiku")?"var(--usage-green)":t.includes("gpt-5")||t.includes("gpt5")?"var(--usage-amber)":t.includes("gpt")?"var(--usage-red)":t.includes("gemini")?"var(--usage-indigo)":t.includes("codex")?"var(--usage-orange)":"var(--usage-zinc)"}const LD=[7,14,30,90];function qD(e){const[t,r]=E.useState(null),[s,o]=E.useState(!1),a=E.useState(CD)[0],u=E.useRef(!1),c=(h=!1)=>{if(h&&!sr(u.current))return;const m=a.begin();u.current=h;const f=e;o(!0);const y=`/api/ccusage?since=${jD(f)}${h?"&refresh=1":""}`;fetch(y).then(w=>w.json()).then(w=>{m()&&r({range:f,resp:w})}).catch(()=>{m()&&r({range:f,resp:{ok:!1,reason:"unreachable"}})}).finally(()=>{m()&&(u.current=!1,o(!1))})};return E.useEffect(()=>(c(!1),()=>a.cancel()),[e]),{landed:t,loading:s,reload:()=>c(!0)}}function DD({onClose:e,providers:t}){var W;const[r,s]=E.useState(30),[o,a]=E.useState(null),{landed:u,loading:c,reload:h}=qD(r),m=E.useRef(null),f=lr(e,{focusRef:m}),g=TD({loading:c,want:r,answer:u&&{range:u.range,ok:u.resp.ok===!0,days:((W=u.resp.days)==null?void 0:W.length)??0}}),y=g.phase==="chart"?u.resp.days??[]:[],w=E.useMemo(()=>y.reduce((I,A)=>Math.max(I,A.totalCost),0),[y]),N=E.useRef(null);E.useLayoutEffect(()=>{const I=N.current;I&&(I.scrollLeft=I.scrollWidth)},[y]);const{totalCost:b,totalTok:_,inOut:k,cacheRead:S,modelCosts:C}=E.useMemo(()=>{let I=0,A=0,D=0,H=0;const Y=new Map;for(const j of y){I+=j.totalCost,A+=j.totalTokens,D+=j.inputTokens+j.outputTokens,H+=j.cacheReadTokens;for(const X of j.modelBreakdowns)Y.set(X.modelName,(Y.get(X.modelName)??0)+X.cost)}return{totalCost:I,totalTok:A,inOut:D,cacheRead:H,modelCosts:Y}},[y]),T=E.useMemo(()=>Array.from(C.entries()).sort((I,A)=>A[1]-I[1]),[C]),M=E.useMemo(()=>xT(y),[y]),P=M.length>1,$=o?y.find(I=>I.period===o)??null:null;return d.jsx("div",{className:"uh-backdrop",onClick:e,role:"presentation",children:d.jsxs("div",{ref:f,className:"uh-modal",onClick:I=>I.stopPropagation(),role:"dialog","aria-modal":"true","aria-label":"Usage history",children:[d.jsxs("header",{className:"uh-head",children:[d.jsxs("div",{className:"uh-titlewrap",children:[d.jsx("div",{className:"uh-title",children:"Usage history"}),d.jsx("div",{className:"uh-sub",children:MD(t,M.map(I=>I.id))})]}),d.jsx("div",{className:"uh-range",role:"group","aria-label":"Range",children:LD.map(I=>d.jsxs("button",{type:"button","aria-pressed":r===I,className:"uh-range-btn",onClick:()=>{s(I),a(null)},children:[I,"d"]},I))}),d.jsx("button",{className:"glyph-btn uh-reload",onClick:h,...rr(c),title:"Re-run ccusage","aria-label":"Reload",children:c?"…":"↻"}),d.jsx("button",{ref:m,className:"glyph-btn uh-close",onClick:e,"aria-label":"Close",children:"×"})]}),g.phase==="busy"?d.jsx("div",{className:"uh-status","aria-busy":"true",children:u?"running ccusage…":"running ccusage… (first run downloads the package)"}):g.phase==="error"?d.jsxs("div",{className:"uh-status uh-err",title:Oo(u.resp)||void 0,children:[M4(u.resp,"ccusage did not report usage"),d.jsx("div",{children:d.jsx("button",{className:"btn uh-retry",onClick:h,...rr(c),children:c?"trying…":"Try again"})})]}):g.phase==="empty"?d.jsx("div",{className:`uh-status${g.stale?" uh-stale":""}`,"aria-busy":g.stale||void 0,children:"no usage in this range"}):d.jsxs("div",{className:g.stale?"uh-stale":void 0,"aria-busy":g.stale||void 0,children:[d.jsxs("div",{className:"uh-totals",children:[d.jsx(Vu,{label:"total cost",val:Ve(b),accent:!0}),d.jsx(Vu,{label:"tokens",val:Ot(_)}),d.jsx(Vu,{label:"input+output",val:Ot(k)}),d.jsx(Vu,{label:"cache reads",val:Ot(S)})]}),P&&d.jsxs("div",{className:"uh-agents",role:"group","aria-label":"Cost by CLI",children:[d.jsx("div",{className:"uh-agent-bar","aria-hidden":"true",children:M.map(I=>d.jsx("span",{className:"uh-agent-seg",style:{width:`${b>0?I.cost/b*100:0}%`,background:Cb(I.id)}},I.id))}),d.jsx("div",{className:"uh-agent-keys",children:M.map(I=>d.jsxs("span",{className:"uh-agent-key",title:`${I.id} · ${Ot(I.tokens)} tokens`,children:[d.jsx("span",{className:"uh-legend-dot",style:{background:Cb(I.id)}}),v0(I.id),d.jsx("span",{className:"uh-agent-cost",children:Ve(I.cost)}),d.jsx("span",{className:"uh-agent-share",children:$D(I.cost,b)})]},I.id))})]}),d.jsx("div",{ref:N,className:"uh-chart",role:"group","aria-label":"Daily cost by model",children:y.map(I=>{const A=w>0?I.totalCost/w*100:0,D=I.period===o,H=`${I.period}, ${Ve(I.totalCost)}`;return d.jsxs("button",{className:`uh-bar-col${D?" sel":""}`,onClick:()=>a(D?null:I.period),"aria-pressed":D,"aria-label":H,title:`${I.period} · ${Ve(I.totalCost)}`,style:{flexBasis:`${100/y.length}%`},children:[d.jsx("div",{className:"uh-bar",style:{height:`${Math.max(A,I.totalCost>0?2:0)}%`},children:I.modelBreakdowns.slice().sort((Y,j)=>j.cost-Y.cost).map(Y=>{const j=I.totalCost>0?Y.cost/I.totalCost*100:0;return d.jsx("div",{className:"uh-bar-seg",style:{height:`${j}%`,background:Gu(Y.modelName)}},Y.modelName)})}),d.jsx("span",{className:"uh-bar-label",children:I.period.slice(5)})]},I.period)})}),d.jsx("div",{className:"uh-legend",children:T.map(([I,A])=>d.jsxs("span",{className:"uh-legend-item",title:I,children:[d.jsx("span",{className:"uh-legend-dot",style:{background:Gu(I)}}),vi(I)," ",d.jsx("span",{className:"uh-legend-cost",children:Ve(A)})]},I))}),$&&d.jsxs("div",{className:"uh-detail",children:[d.jsxs("div",{className:"uh-detail-head",children:[d.jsx("span",{className:"uh-detail-date",children:$.period}),d.jsx("span",{className:"uh-detail-cost",children:Ve($.totalCost)}),(()=>{var D,H;const A=PD($.agents)??((H=(D=$.metadata)==null?void 0:D.agents)!=null&&H.length?$.metadata.agents.join(" · "):null);return A?d.jsx("span",{className:"uh-detail-agents",title:A,children:A}):null})()]}),d.jsxs("div",{className:"uh-detail-mini",children:[d.jsx(Ku,{label:"input",val:Ot($.inputTokens)}),d.jsx(Ku,{label:"output",val:Ot($.outputTokens)}),d.jsx(Ku,{label:"cache write",val:Ot($.cacheCreationTokens)}),d.jsx(Ku,{label:"cache read",val:Ot($.cacheReadTokens)})]}),d.jsx("div",{className:"uh-detail-models",children:$.modelBreakdowns.slice().sort((I,A)=>A.cost-I.cost).map(I=>{const A=$.totalCost>0?I.cost/$.totalCost*100:0;return d.jsxs("div",{className:"uh-model-row",title:I.modelName,children:[d.jsxs("span",{className:"uh-model-name",children:[d.jsx("span",{className:"uh-legend-dot",style:{background:Gu(I.modelName)}}),d.jsx("span",{className:"uh-model-label",children:vi(I.modelName)})]}),d.jsx("span",{className:"uh-model-bar",children:d.jsx("span",{className:"uh-model-bar-fill",style:{width:`${A}%`,background:Gu(I.modelName)}})}),d.jsx("span",{className:"uh-model-cost",children:Ve(I.cost)})]},I.modelName)})})]})]})]})})}function Vu({label:e,val:t,accent:r}){return d.jsxs("div",{className:"uh-stat",children:[d.jsx("span",{className:`uh-stat-val${r?" accent":""}`,children:t}),d.jsx("span",{className:"uh-stat-label",children:e})]})}function Ku({label:e,val:t}){return d.jsxs("div",{className:"uh-ministat",children:[d.jsx("span",{className:"uh-ministat-val",children:t}),d.jsx("span",{className:"uh-ministat-label",children:e})]})}function FD(e){const t=/^#?([0-9a-f]{6})$/i.exec((e??"").trim());if(!t)return!1;const r=parseInt(t[1],16),s=[r>>16&255,r>>8&255,r&255].map(o=>{const a=o/255;return a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4)});return .2126*s[0]+.7152*s[1]+.0722*s[2]>.5}const jb=1e4,zD=12e3;function BD({browsers:e,findings:t,watching:r,palette:s,now:o=()=>Date.now()}){const a=E.useRef(null),u=E.useRef(null);return u.current={browsers:e,findings:t,watching:r},E.useEffect(()=>{var w;const c=a.current;if(!c)return;const h=c.getContext("2d");if(!h)return;const m=((w=window.matchMedia)==null?void 0:w.call(window,"(prefers-reduced-motion: reduce)").matches)??!1;let f=0,g=!1;const y=()=>{var ne;if(g)return;const N=u.current;if(!N)return;const{browsers:b,findings:_,watching:k}=N,S=s["--accent"]||"#7dd3fc",C=s["--line"]||"#1f2229",T=s["--text-dim"]||"#6e727c",M=FD(s["--bg"]),P=M?42:26,$=M?.85:.65,W=o(),I=Math.min(window.devicePixelRatio||1,2),A=c.clientWidth,D=c.clientHeight;(c.width!==A*I||c.height!==D*I)&&(c.width=A*I,c.height=D*I),h.setTransform(I,0,0,I,0,0),h.clearRect(0,0,A,D);const H=A/2,Y=D/2,j=Math.min(A,D)/2-6;h.strokeStyle=C,h.lineWidth=1,h.globalAlpha=M?1:.9;for(const J of[.4,.7,1])h.beginPath(),h.arc(H,Y,j*J,0,Math.PI*2),h.stroke();h.beginPath(),h.moveTo(H-j,Y),h.lineTo(H+j,Y),h.moveTo(H,Y-j),h.lineTo(H,Y+j),h.stroke(),h.globalAlpha=1;const z=(k&&!m?W%jb/jb:0)*Math.PI*2-Math.PI/2;if(k){const J=(ne=h.createConicGradient)==null?void 0:ne.call(h,z-.85,H,Y);J&&(J.addColorStop(0,"transparent"),J.addColorStop(.85/(Math.PI*2),`color-mix(in srgb, ${S} ${P}%, transparent)`),J.addColorStop(1,"transparent"),h.fillStyle=J,h.beginPath(),h.moveTo(H,Y),h.arc(H,Y,j,z-.85,z),h.closePath(),h.fill()),h.strokeStyle=S,h.globalAlpha=$,h.beginPath(),h.moveTo(H,Y),h.lineTo(H+Math.cos(z)*j,Y+Math.sin(z)*j),h.stroke(),h.globalAlpha=1}b.forEach((J,U)=>{const Q=U/Math.max(b.length,1)*Math.PI*2-Math.PI/2,O=J.lastReadMs===null?1:Math.min(1,(W-J.lastReadMs)/12e4),G=j*(.42+O*.5),K=H+Math.cos(Q)*G,L=Y+Math.sin(Q)*G,q=Math.abs((z-Q+Math.PI*3)%(Math.PI*2)-Math.PI),Z=k?Math.max(0,1-q/.55):0;h.beginPath(),h.arc(K,L,3+Z*1.6,0,Math.PI*2),h.fillStyle=J.running?S:T,h.globalAlpha=J.running?.55+Z*.45:.35,h.fill(),h.globalAlpha=1});for(const J of _){const U=(W-J.atMs)/zD;if(U<0||U>1)continue;const O=Math.max(0,b.findIndex(L=>L.key===J.browser))/Math.max(b.length,1)*Math.PI*2-Math.PI/2,G=H+Math.cos(O)*j*.6,K=Y+Math.sin(O)*j*.6;h.beginPath(),h.arc(G,K,4+U*22,0,Math.PI*2),h.strokeStyle=S,h.globalAlpha=(1-U)*.8,h.lineWidth=1.5,h.stroke(),h.globalAlpha=1}f=requestAnimationFrame(y)};return y(),()=>{g=!0,cancelAnimationFrame(f)}},[o,s]),d.jsx("canvas",{ref:a,className:"bw-radar",role:"img","aria-label":r?`Watching ${e.length} browser${e.length===1?"":"s"}`:"Not watching"})}const Tb="agent-dag.browserWatch.seenMs";function UD(e,t){return e.filter(r=>r.startMs>t)}function WD(e,t,r){if(e===null)return null;const s=e+t-r;return s>0?s:null}function HD(e){const t=Math.ceil(e/1e3),r=Math.floor(t/60),s=t%60;return r>0?`${r}m ${s}s`:`${s}s`}function bT(e){return(e??[]).filter(t=>t.installed&&t.profiles>0)}function Rb(e,t){return t?{kind:"saving",word:"Saving",detail:""}:e.settings.enabled?{kind:"on",word:"Watching",detail:""}:{kind:"off",word:"Paused",detail:"nothing new is recorded"}}function GD(e,t){return e.map(r=>({key:r.key,name:r.name,running:r.running,visits:t.filter(s=>s.browser===r.key).reduce((s,o)=>s+o.programVisits,0)}))}function VD(e,t){if(e===null)return null;const r=Math.max(0,Math.round((t-e)/1e3));if(r<5)return"just now";if(r<60)return`${r} sec ago`;const s=Math.round(r/60);return s<60?`${s} min ago`:`${Math.round(s/60)} hr ago`}function KD(e){const t=e.profiles.filter(s=>s.degraded);if(t.length>0){const s=t[0],o=t.length-1;return{kind:"unreadable",text:`${s.name}/${s.profile} could not be read — ${s.reason??"no reason given"}`+(o>0?`, and ${o} more`:"")+". The watch continues on the profiles it can read."}}const r=bT(e.browsers);return r.length===0?{kind:"no-profiles",text:"No browser on this machine has a profile to read. Open one of the browsers below once and it will be watched from then on."}:r.some(s=>s.running)?null:{kind:"none-running",text:"No watched browser is running, so nothing can be navigated right now. Their history is still read, and anything found while they were open is still here."}}function YD(e){const t=r=>new Date(r).toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1});return e.count===1||e.endMs-e.startMs<6e4?t(e.startMs):`${t(e.startMs)} → ${t(e.endMs)}`}function XD(e){return new Date(e).toLocaleDateString(void 0,{weekday:"short",day:"numeric",month:"short"})}function Ab(e){const t=Math.round((e.endMs-e.startMs)/6e4);return t<1?"":`${t} min`}function QD({onClose:e,onSeen:t,onWatching:r,palette:s}){const o=lr(e),[a,u]=E.useState(null),[c,h]=E.useState(null),[m,f]=E.useState(!1),g=E.useRef(!1),[y,w]=E.useState(null),[N,b]=E.useState(null),[_,k]=E.useState(!1),[S,C]=E.useState(!1),[T,M]=E.useState(!1),[P,$]=E.useState(!1),[W,I]=E.useState(!1),[A,D]=E.useState(!1),[H,Y]=E.useState(()=>Date.now());E.useEffect(()=>{const K=setInterval(()=>Y(Date.now()),1e3);return()=>clearInterval(K)},[]);const j=E.useCallback(async K=>{var L;if(!(K&&!sr(g.current))){g.current=K,f(!0);try{const q=await fetch(`/api/browser-watch${K?"?refresh=1":""}`);if(!q.ok)throw new Error(`the deck answered ${q.status}`);const Z=await q.json();u(Z),w(se=>{var fe;return se===null?((fe=Z==null?void 0:Z.settings)==null?void 0:fe.quietMinutes)??15:se}),r(((L=Z==null?void 0:Z.settings)==null?void 0:L.enabled)===!0),h(null)}catch(q){h(q instanceof Error?q.message:String(q))}finally{g.current=!1,f(!1)}}},[r]);E.useEffect(()=>{j(!1)},[j]),E.useEffect(()=>{const K=setInterval(()=>{j(!1)},1e4);return()=>clearInterval(K)},[j]);const X=E.useCallback(async K=>{try{await fetch("/api/browser-watch/dismiss",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({host:K.host,startMs:K.startMs})})}finally{await j(!1)}},[j]),z=E.useCallback(async K=>{k(!0);try{const L=await fetch("/api/browser-watch",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(K)});if(!L.ok)throw new Error(`the deck answered ${L.status}`);await j(!1)}catch(L){h(L instanceof Error?L.message:String(L))}finally{k(!1)}},[j]);E.useEffect(()=>()=>t(Date.now()),[t]);const ne=E.useMemo(()=>{const K=[];for(const L of(a==null?void 0:a.episodes)??[]){const q=XD(L.startMs),Z=K[K.length-1];Z&&Z.label===q?Z.episodes.push(L):K.push({label:q,episodes:[L]})}return K},[a]),J=bT(a==null?void 0:a.browsers);J.filter(K=>K.running).map(K=>K.name);const U=((a==null?void 0:a.browsers)??[]).filter(K=>!(K.installed&&K.profiles>0)),Q=a?KD(a):null,O=J.reduce((K,L)=>K+L.profiles,0),G=a?WD(a.coverage.lastHumanMs,a.coverage.quietMs,H):null;return((a==null?void 0:a.profiles)??[]).reduce((K,L)=>L.lastWrittenMs!==null&&(K===null||L.lastWrittenMs>K)?L.lastWrittenMs:K,null),d.jsx("div",{className:"modal-backdrop",onClick:e,role:"presentation",children:d.jsxs("div",{ref:o,className:"modal bw-modal",onClick:K=>K.stopPropagation(),role:"dialog","aria-modal":"true","aria-labelledby":"bw-title",children:[d.jsxs("header",{className:"modal-head",children:[d.jsxs("div",{className:"modal-title",children:[d.jsx("span",{className:"modal-tool-name",id:"bw-title",children:"Browser watch"}),d.jsx("span",{className:"modal-tool-id",children:a?`${O} ${O===1?"profile":"profiles"} · local only`:"local only"})]}),d.jsxs("div",{className:"modal-actions",children:[d.jsx("button",{className:"glyph-btn",onClick:()=>void j(!0),...rr(m),"aria-label":"Re-read every profile now",title:"Re-read every profile now",children:m?"…":"↻"}),d.jsx("button",{className:"glyph-btn",onClick:e,"aria-label":"Close (Esc)",title:"Close (Esc)",children:"×"})]})]}),d.jsxs("div",{className:"modal-body bw-body",children:[!a&&!c&&d.jsxs("div",{className:"bw-loading",children:[d.jsx("span",{className:"bw-loading-bar","aria-hidden":!0}),d.jsx("p",{children:"Reading each browser's history. The first look copies the file, which takes a moment."})]}),c&&d.jsx("div",{className:"bw-state",children:d.jsxs("div",{className:"bw-row err",children:[d.jsx("span",{className:"bw-dot","aria-hidden":!0}),d.jsx("span",{className:"bw-row-label",children:"Could not read"}),d.jsx("span",{className:"bw-row-detail",children:c})]})}),a&&Q&&d.jsx("p",{className:`bw-trouble ${Q.kind}`,role:"status",children:Q.text}),a&&d.jsxs("div",{className:"bw-work",children:[d.jsxs("aside",{className:"bw-side",children:[d.jsxs("section",{className:"bw-sec",children:[d.jsxs("h4",{className:"bw-sec-head",children:["Activity overview",d.jsx("button",{className:"bw-help",onClick:()=>$(K=>!K),"aria-expanded":P,"aria-label":"What the sweep and the dots mean",children:"?"})]}),d.jsxs("div",{className:"bw-glance",children:[d.jsx(BD,{browsers:J.map(K=>{var L;return{key:K.key,name:K.name,running:K.running,lastReadMs:((L=a.profiles.find(q=>q.browser===K.key))==null?void 0:L.lastWrittenMs)??null}}),findings:a.episodes.slice(0,6).map(K=>({browser:K.browser??null,atMs:K.endMs})),watching:a.settings.enabled,palette:s}),d.jsx("ul",{className:"bw-counts",children:GD(J,a.profiles).map(K=>d.jsxs("li",{children:[d.jsx("span",{className:"bw-count-n",children:K.visits.toLocaleString("en-US")}),d.jsx("span",{className:"bw-count-of",children:K.name})]},K.key))})]}),d.jsx("p",{className:"bw-since",children:"Pages a program opened, since this deck started"}),a.coverage.checkedMs>0&&d.jsxs("p",{className:"bw-since",children:["Last checked ",VD(a.coverage.checkedMs,H),a.coverage.checks>0&&d.jsxs(d.Fragment,{children:[" · ",a.coverage.checks.toLocaleString("en-US")," ",a.coverage.checks===1?"check":"checks"]})]}),G!==null&&d.jsxs("p",{className:"bw-gate",children:["You are browsing — a program page would count in ",HD(G)]}),P&&d.jsxs("dl",{className:"bw-key",children:[d.jsx("dt",{children:"Sweep"}),d.jsx("dd",{children:"one poll of every watched profile"}),d.jsx("dt",{children:"Dot"}),d.jsx("dd",{children:"a browser, further out the longer since it last wrote history"}),d.jsx("dt",{children:"Ring"}),d.jsx("dd",{children:"a finding, leaving the browser it came from"})]})]}),d.jsxs("section",{className:"bw-sec",children:[d.jsxs("h4",{className:"bw-sec-head",children:["Watched profiles",d.jsx("button",{className:"bw-help",onClick:()=>I(K=>!K),"aria-expanded":W,"aria-label":"What running, idle and connected to Anthropic mean",children:"?"})]}),W&&d.jsxs("dl",{className:"bw-key",children:[d.jsx("dt",{children:"Running"}),d.jsx("dd",{children:"the browser has a process on this machine right now"}),d.jsx("dt",{children:"Connected"}),d.jsx("dd",{children:"an open connection to an address Anthropic's relay uses — which it shares with claude.ai, so an open tab looks the same as an agent channel"})]}),d.jsx("ul",{className:"bw-profiles",children:J.map(K=>d.jsxs("li",{children:[d.jsx("span",{className:`bw-prof-dot${K.running?" on":""}`,"aria-hidden":!0}),d.jsx("span",{className:"bw-prof-name",children:K.name}),d.jsx("span",{className:"bw-prof-state",children:K.running?"running":"idle"}),K.running&&K.relay.state==="live"&&d.jsx("span",{className:"bw-relay",children:"connected to Anthropic"})]},K.key))}),U.length>0&&d.jsxs(d.Fragment,{children:[d.jsxs("button",{className:"bw-why bw-rest-head",onClick:()=>D(K=>!K),"aria-expanded":A,children:[d.jsx("span",{className:"bw-chev","aria-hidden":!0,children:A?"▾":"▸"})," ",U.length," not watched"]}),A&&d.jsxs("p",{className:"bw-rest",children:[U.map(K=>K.name).join(", ")," — not installed, or installed and never opened, so there is no history to read."]})]})]})]}),d.jsxs("div",{className:"bw-main",children:[d.jsxs("section",{className:"bw-findings",children:[d.jsxs("h4",{className:"bw-sec-head bw-head-row",children:["Findings",a.episodes.length>0&&d.jsxs("span",{className:"bw-feed-count",children:[a.episodes.length," ",a.episodes.length===1?"episode":"episodes"]})]}),d.jsx("div",{className:"bw-eps",children:ne.length===0?d.jsxs("div",{className:"bw-empty",children:[d.jsx("p",{className:"bw-empty-head",children:"Nothing found yet"}),d.jsxs("p",{className:"bw-empty-note",children:["An episode lands here when a program opens pages in a browser nobody has touched for"," ",a.settings.quietMinutes," ",a.settings.quietMinutes===1?"minute":"minutes",". On most machines that is rare, so an empty list is the ordinary result rather than a sign something is wrong."]}),!a.settings.enabled&&d.jsx("p",{className:"bw-empty-note",children:"Watching is off, so this shows only what this deck has seen since it started. Anything an earlier run recorded comes back when you switch it on."})]}):ne.map(K=>d.jsxs("div",{className:"bw-day",children:[d.jsx("h4",{className:"bw-sec-head",children:K.label}),K.episodes.map(L=>{const q=`${L.host}-${L.startMs}`,Z=N===q;return d.jsxs("div",{className:`bw-ep${Z?" open":""}`,children:[d.jsxs("div",{className:"bw-ep-row",children:[d.jsxs("button",{className:"bw-ep-head",onClick:()=>b(Z?null:q),"aria-expanded":Z,children:[d.jsx("span",{className:"bw-chev","aria-hidden":!0,children:Z?"▾":"▸"}),d.jsx("span",{className:"bw-ep-host",children:L.host}),d.jsxs("span",{className:"bw-ep-meta",children:[YD(L),Ab(L)&&d.jsxs(d.Fragment,{children:[" · ",Ab(L)]})]}),d.jsxs("span",{className:"bw-ep-count",children:[L.count," ",L.count===1?"page":"pages"]})]}),d.jsx("button",{className:"glyph-btn bw-ep-x",onClick:()=>void X(L),"aria-label":`Dismiss ${L.host}`,title:"Dismiss — it leaves this list for good, and stays in the log file",children:"×"})]}),Z&&d.jsx("ul",{className:"bw-urls",children:L.urls.map((se,fe)=>d.jsxs("li",{children:[d.jsx("span",{className:"bw-url-time",children:new Date(se.timeMs).toLocaleTimeString("en-GB",{hour:"2-digit",minute:"2-digit",hour12:!1})}),d.jsx("span",{className:"bw-url",children:se.url})]},`${se.url}-${se.timeMs}-${fe}`))})]},q)})]},K.label))})]}),d.jsxs("section",{className:"bw-feed",children:[d.jsxs("h4",{className:"bw-sec-head bw-head-row",children:["Live activity",d.jsxs("span",{className:"bw-feed-count",children:[a.log.length," ",a.log.length===1?"event":"events"]})]}),d.jsx("p",{className:"bw-since bw-feed-note",children:"Pages you opened yourself — counted to run the rule, never written down. Addresses appear under Findings, and only for pages a program opened."}),d.jsx("div",{className:"bw-log","aria-live":"polite","aria-relevant":"additions",children:a.log.length===0?d.jsx("p",{className:"bw-note",children:"The deck writes a line here each time it looks at a profile."}):a.log.map(K=>d.jsxs("div",{className:`bw-log-line ${K.level}${K.parts?"":" sys"}`,children:[d.jsx("span",{className:"bw-log-time",children:new Date(K.atMs).toLocaleTimeString("en-GB",{hour12:!1})}),K.parts?d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"bw-log-browser",children:K.parts.browser}),d.jsx("span",{className:"bw-log-profile",title:K.parts.profile,children:K.parts.profile}),d.jsxs("span",{className:"bw-log-value",children:[K.parts.value,K.parts.flagged>0&&d.jsxs("span",{className:"bw-log-flag",children:[" · ",K.parts.flagged," flagged"]})]})]}):d.jsx("span",{className:"bw-log-sys",children:K.text})]},`${K.atMs}-${K.level}-${K.text}`))})]})]})]}),a&&S&&d.jsxs("div",{className:"bw-settings",children:[d.jsxs("label",{title:"A program opening a page counts as a finding only if nobody had touched the browser for this long. Shorter catches more and reports more of your own work; longer is quieter.",children:[d.jsx("span",{children:"Nobody browsing for"}),d.jsxs("select",{value:y??a.settings.quietMinutes,onChange:K=>{w(Number(K.target.value)),z({quietMinutes:Number(K.target.value)})},children:[d.jsx("option",{value:1,children:"1 min"}),d.jsx("option",{value:5,children:"5 min"}),d.jsx("option",{value:15,children:"15 min"}),d.jsx("option",{value:30,children:"30 min"}),d.jsx("option",{value:60,children:"60 min"})]})]}),d.jsxs("label",{children:[d.jsx("span",{children:"When it finds one"}),d.jsx("select",{value:a.settings.reaction,onChange:K=>void z({reaction:K.target.value}),disabled:!a.settings.enabled,title:a.settings.enabled?"What to do besides writing it down.":"Turn watching on to arm a reaction.",children:(a.reactions??["notify"]).map(K=>d.jsx("option",{value:K,children:K==="notify"?"notify me":K==="close-tab"?"close the tab":"quit the browser"},K))})]}),d.jsxs("div",{className:"bw-settings-note",children:[d.jsxs("p",{children:["Chrome marks a navigation that came from an extension or a command rather than from a click. These are the ones that happened while nobody had touched the browser for the time above. ",d.jsx("strong",{children:"Usually that is your own agent doing what you asked."})]}),d.jsxs("button",{className:"bw-why",onClick:()=>M(K=>!K),"aria-expanded":T,children:[d.jsx("span",{className:"bw-chev","aria-hidden":!0,children:T?"▾":"▸"})," What Browser Watch can access"]}),T&&d.jsxs("dl",{className:"bw-access",children:[d.jsx("dt",{children:"Reads"}),d.jsxs("dd",{children:["A copy of each browser's own history database — the live file is locked while the browser holds it. Only rows newer than the moment this deck started:"," ",new Date(a.coverage.startedMs).toLocaleString(),"."]}),d.jsx("dt",{children:"Keeps"}),d.jsxs("dd",{children:["Only while the switch is on, and only the episodes it flagged — never your ordinary browsing. In ",d.jsx("code",{className:"bw-path",children:a.coverage.logPath}),", with every address written in full so you can check it yourself."]}),d.jsx("dt",{children:"Sends"}),d.jsx("dd",{children:"Nothing. No part of this reads or writes over the network; the deck serves on 127.0.0.1 and this panel talks only to it."}),d.jsx("dt",{children:"Never reads"}),d.jsx("dd",{children:"Anything from before this deck started, cookies, saved passwords, page contents, or any browser profile with no history file."})]})]})]}),a&&d.jsxs("footer",{className:"bw-status",children:[d.jsx("span",{className:`bw-mode-dot${a.settings.enabled?" on":""}`,"aria-hidden":!0}),d.jsx("span",{className:"bw-mode-word",children:Rb(a,_).word},Rb(a,_).kind),d.jsx("span",{className:"bw-status-text",children:a.coverage.archived===0?a.settings.enabled?"No episodes recorded yet":"No episodes on disk":`${a.coverage.archived} ${a.coverage.archived===1?"episode":"episodes"} on disk`}),d.jsx("button",{className:`glyph-btn bw-gear${S?" on":""}`,onClick:()=>C(K=>!K),"aria-expanded":S,"aria-label":"Settings",title:"Settings",children:d.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.3","aria-hidden":!0,children:[d.jsx("circle",{cx:"7",cy:"7",r:"2.1"}),d.jsx("path",{d:"M7 1.2v1.6M7 11.2v1.6M1.2 7h1.6M11.2 7h1.6M2.9 2.9l1.1 1.1M10 10l1.1 1.1M11.1 2.9L10 4M4 10l-1.1 1.1"})]})}),d.jsxs("label",{className:"bw-switch",htmlFor:"bw-enabled",children:[d.jsx("span",{className:"bw-switch-label",id:"bw-enabled-label",children:"Watch browser activity"}),d.jsx("button",{id:"bw-enabled",type:"button",role:"switch","aria-checked":a.settings.enabled,"aria-labelledby":"bw-enabled-label",className:"bw-toggle",onClick:()=>void z({enabled:!a.settings.enabled}),title:a.settings.enabled?"On — every episode it finds is written down, so the list outlives the browsing history being cleared":"Off — showing only what this deck has seen since it started. Anything an earlier run archived is hidden until you switch back on, and nothing new is kept",children:d.jsx("span",{className:"bw-toggle-knob"})})]})]})]})]})})}function y0(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 Ff,Mb;function ZD(){if(Mb)return Ff;Mb=1;function e(){this.__data__=[],this.size=0}return Ff=e,Ff}var zf,Ib;function Fo(){if(Ib)return zf;Ib=1;function e(t,r){return t===r||t!==t&&r!==r}return zf=e,zf}var Bf,Ob;function Cc(){if(Ob)return Bf;Ob=1;var e=Fo();function t(r,s){for(var o=r.length;o--;)if(e(r[o][0],s))return o;return-1}return Bf=t,Bf}var Uf,Pb;function JD(){if(Pb)return Uf;Pb=1;var e=Cc(),t=Array.prototype,r=t.splice;function s(o){var a=this.__data__,u=e(a,o);if(u<0)return!1;var c=a.length-1;return u==c?a.pop():r.call(a,u,1),--this.size,!0}return Uf=s,Uf}var Wf,$b;function e5(){if($b)return Wf;$b=1;var e=Cc();function t(r){var s=this.__data__,o=e(s,r);return o<0?void 0:s[o][1]}return Wf=t,Wf}var Hf,Lb;function t5(){if(Lb)return Hf;Lb=1;var e=Cc();function t(r){return e(this.__data__,r)>-1}return Hf=t,Hf}var Gf,qb;function n5(){if(qb)return Gf;qb=1;var e=Cc();function t(r,s){var o=this.__data__,a=e(o,r);return a<0?(++this.size,o.push([r,s])):o[a][1]=s,this}return Gf=t,Gf}var Vf,Db;function jc(){if(Db)return Vf;Db=1;var e=ZD(),t=JD(),r=e5(),s=t5(),o=n5();function a(u){var c=-1,h=u==null?0:u.length;for(this.clear();++c<h;){var m=u[c];this.set(m[0],m[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=r,a.prototype.has=s,a.prototype.set=o,Vf=a,Vf}var Kf,Fb;function r5(){if(Fb)return Kf;Fb=1;var e=jc();function t(){this.__data__=new e,this.size=0}return Kf=t,Kf}var Yf,zb;function s5(){if(zb)return Yf;zb=1;function e(t){var r=this.__data__,s=r.delete(t);return this.size=r.size,s}return Yf=e,Yf}var Xf,Bb;function i5(){if(Bb)return Xf;Bb=1;function e(t){return this.__data__.get(t)}return Xf=e,Xf}var Qf,Ub;function o5(){if(Ub)return Qf;Ub=1;function e(t){return this.__data__.has(t)}return Qf=e,Qf}var Zf,Wb;function _T(){if(Wb)return Zf;Wb=1;var e=typeof Tu=="object"&&Tu&&Tu.Object===Object&&Tu;return Zf=e,Zf}var Jf,Hb;function ur(){if(Hb)return Jf;Hb=1;var e=_T(),t=typeof self=="object"&&self&&self.Object===Object&&self,r=e||t||Function("return this")();return Jf=r,Jf}var eh,Gb;function zo(){if(Gb)return eh;Gb=1;var e=ur(),t=e.Symbol;return eh=t,eh}var th,Vb;function a5(){if(Vb)return th;Vb=1;var e=zo(),t=Object.prototype,r=t.hasOwnProperty,s=t.toString,o=e?e.toStringTag:void 0;function a(u){var c=r.call(u,o),h=u[o];try{u[o]=void 0;var m=!0}catch{}var f=s.call(u);return m&&(c?u[o]=h:delete u[o]),f}return th=a,th}var nh,Kb;function l5(){if(Kb)return nh;Kb=1;var e=Object.prototype,t=e.toString;function r(s){return t.call(s)}return nh=r,nh}var rh,Yb;function yi(){if(Yb)return rh;Yb=1;var e=zo(),t=a5(),r=l5(),s="[object Null]",o="[object Undefined]",a=e?e.toStringTag:void 0;function u(c){return c==null?c===void 0?o:s:a&&a in Object(c)?t(c):r(c)}return rh=u,rh}var sh,Xb;function $n(){if(Xb)return sh;Xb=1;function e(t){var r=typeof t;return t!=null&&(r=="object"||r=="function")}return sh=e,sh}var ih,Qb;function pl(){if(Qb)return ih;Qb=1;var e=yi(),t=$n(),r="[object AsyncFunction]",s="[object Function]",o="[object GeneratorFunction]",a="[object Proxy]";function u(c){if(!t(c))return!1;var h=e(c);return h==s||h==o||h==r||h==a}return ih=u,ih}var oh,Zb;function u5(){if(Zb)return oh;Zb=1;var e=ur(),t=e["__core-js_shared__"];return oh=t,oh}var ah,Jb;function c5(){if(Jb)return ah;Jb=1;var e=u5(),t=(function(){var s=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return s?"Symbol(src)_1."+s:""})();function r(s){return!!t&&t in s}return ah=r,ah}var lh,e_;function kT(){if(e_)return lh;e_=1;var e=Function.prototype,t=e.toString;function r(s){if(s!=null){try{return t.call(s)}catch{}try{return s+""}catch{}}return""}return lh=r,lh}var uh,t_;function d5(){if(t_)return uh;t_=1;var e=pl(),t=c5(),r=$n(),s=kT(),o=/[\\^$.*+?()[\]{}|]/g,a=/^\[object .+?Constructor\]$/,u=Function.prototype,c=Object.prototype,h=u.toString,m=c.hasOwnProperty,f=RegExp("^"+h.call(m).replace(o,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function g(y){if(!r(y)||t(y))return!1;var w=e(y)?f:a;return w.test(s(y))}return uh=g,uh}var ch,n_;function f5(){if(n_)return ch;n_=1;function e(t,r){return t==null?void 0:t[r]}return ch=e,ch}var dh,r_;function wi(){if(r_)return dh;r_=1;var e=d5(),t=f5();function r(s,o){var a=t(s,o);return e(a)?a:void 0}return dh=r,dh}var fh,s_;function w0(){if(s_)return fh;s_=1;var e=wi(),t=ur(),r=e(t,"Map");return fh=r,fh}var hh,i_;function Tc(){if(i_)return hh;i_=1;var e=wi(),t=e(Object,"create");return hh=t,hh}var ph,o_;function h5(){if(o_)return ph;o_=1;var e=Tc();function t(){this.__data__=e?e(null):{},this.size=0}return ph=t,ph}var mh,a_;function p5(){if(a_)return mh;a_=1;function e(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}return mh=e,mh}var gh,l_;function m5(){if(l_)return gh;l_=1;var e=Tc(),t="__lodash_hash_undefined__",r=Object.prototype,s=r.hasOwnProperty;function o(a){var u=this.__data__;if(e){var c=u[a];return c===t?void 0:c}return s.call(u,a)?u[a]:void 0}return gh=o,gh}var vh,u_;function g5(){if(u_)return vh;u_=1;var e=Tc(),t=Object.prototype,r=t.hasOwnProperty;function s(o){var a=this.__data__;return e?a[o]!==void 0:r.call(a,o)}return vh=s,vh}var yh,c_;function v5(){if(c_)return yh;c_=1;var e=Tc(),t="__lodash_hash_undefined__";function r(s,o){var a=this.__data__;return this.size+=this.has(s)?0:1,a[s]=e&&o===void 0?t:o,this}return yh=r,yh}var wh,d_;function y5(){if(d_)return wh;d_=1;var e=h5(),t=p5(),r=m5(),s=g5(),o=v5();function a(u){var c=-1,h=u==null?0:u.length;for(this.clear();++c<h;){var m=u[c];this.set(m[0],m[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=r,a.prototype.has=s,a.prototype.set=o,wh=a,wh}var xh,f_;function w5(){if(f_)return xh;f_=1;var e=y5(),t=jc(),r=w0();function s(){this.size=0,this.__data__={hash:new e,map:new(r||t),string:new e}}return xh=s,xh}var bh,h_;function x5(){if(h_)return bh;h_=1;function e(t){var r=typeof t;return r=="string"||r=="number"||r=="symbol"||r=="boolean"?t!=="__proto__":t===null}return bh=e,bh}var _h,p_;function Rc(){if(p_)return _h;p_=1;var e=x5();function t(r,s){var o=r.__data__;return e(s)?o[typeof s=="string"?"string":"hash"]:o.map}return _h=t,_h}var kh,m_;function b5(){if(m_)return kh;m_=1;var e=Rc();function t(r){var s=e(this,r).delete(r);return this.size-=s?1:0,s}return kh=t,kh}var Sh,g_;function _5(){if(g_)return Sh;g_=1;var e=Rc();function t(r){return e(this,r).get(r)}return Sh=t,Sh}var Nh,v_;function k5(){if(v_)return Nh;v_=1;var e=Rc();function t(r){return e(this,r).has(r)}return Nh=t,Nh}var Eh,y_;function S5(){if(y_)return Eh;y_=1;var e=Rc();function t(r,s){var o=e(this,r),a=o.size;return o.set(r,s),this.size+=o.size==a?0:1,this}return Eh=t,Eh}var Ch,w_;function x0(){if(w_)return Ch;w_=1;var e=w5(),t=b5(),r=_5(),s=k5(),o=S5();function a(u){var c=-1,h=u==null?0:u.length;for(this.clear();++c<h;){var m=u[c];this.set(m[0],m[1])}}return a.prototype.clear=e,a.prototype.delete=t,a.prototype.get=r,a.prototype.has=s,a.prototype.set=o,Ch=a,Ch}var jh,x_;function N5(){if(x_)return jh;x_=1;var e=jc(),t=w0(),r=x0(),s=200;function o(a,u){var c=this.__data__;if(c instanceof e){var h=c.__data__;if(!t||h.length<s-1)return h.push([a,u]),this.size=++c.size,this;c=this.__data__=new r(h)}return c.set(a,u),this.size=c.size,this}return jh=o,jh}var Th,b_;function Ac(){if(b_)return Th;b_=1;var e=jc(),t=r5(),r=s5(),s=i5(),o=o5(),a=N5();function u(c){var h=this.__data__=new e(c);this.size=h.size}return u.prototype.clear=t,u.prototype.delete=r,u.prototype.get=s,u.prototype.has=o,u.prototype.set=a,Th=u,Th}var Rh,__;function b0(){if(__)return Rh;__=1;function e(t,r){for(var s=-1,o=t==null?0:t.length;++s<o&&r(t[s],s,t)!==!1;);return t}return Rh=e,Rh}var Ah,k_;function ST(){if(k_)return Ah;k_=1;var e=wi(),t=(function(){try{var r=e(Object,"defineProperty");return r({},"",{}),r}catch{}})();return Ah=t,Ah}var Mh,S_;function Mc(){if(S_)return Mh;S_=1;var e=ST();function t(r,s,o){s=="__proto__"&&e?e(r,s,{configurable:!0,enumerable:!0,value:o,writable:!0}):r[s]=o}return Mh=t,Mh}var Ih,N_;function Ic(){if(N_)return Ih;N_=1;var e=Mc(),t=Fo(),r=Object.prototype,s=r.hasOwnProperty;function o(a,u,c){var h=a[u];(!(s.call(a,u)&&t(h,c))||c===void 0&&!(u in a))&&e(a,u,c)}return Ih=o,Ih}var Oh,E_;function ml(){if(E_)return Oh;E_=1;var e=Ic(),t=Mc();function r(s,o,a,u){var c=!a;a||(a={});for(var h=-1,m=o.length;++h<m;){var f=o[h],g=u?u(a[f],s[f],f,a,s):void 0;g===void 0&&(g=s[f]),c?t(a,f,g):e(a,f,g)}return a}return Oh=r,Oh}var Ph,C_;function E5(){if(C_)return Ph;C_=1;function e(t,r){for(var s=-1,o=Array(t);++s<t;)o[s]=r(s);return o}return Ph=e,Ph}var $h,j_;function Nr(){if(j_)return $h;j_=1;function e(t){return t!=null&&typeof t=="object"}return $h=e,$h}var Lh,T_;function C5(){if(T_)return Lh;T_=1;var e=yi(),t=Nr(),r="[object Arguments]";function s(o){return t(o)&&e(o)==r}return Lh=s,Lh}var qh,R_;function gl(){if(R_)return qh;R_=1;var e=C5(),t=Nr(),r=Object.prototype,s=r.hasOwnProperty,o=r.propertyIsEnumerable,a=e((function(){return arguments})())?e:function(u){return t(u)&&s.call(u,"callee")&&!o.call(u,"callee")};return qh=a,qh}var Dh,A_;function Tt(){if(A_)return Dh;A_=1;var e=Array.isArray;return Dh=e,Dh}var Ba={exports:{}},Fh,M_;function j5(){if(M_)return Fh;M_=1;function e(){return!1}return Fh=e,Fh}Ba.exports;var I_;function Bo(){return I_||(I_=1,(function(e,t){var r=ur(),s=j5(),o=t&&!t.nodeType&&t,a=o&&!0&&e&&!e.nodeType&&e,u=a&&a.exports===o,c=u?r.Buffer:void 0,h=c?c.isBuffer:void 0,m=h||s;e.exports=m})(Ba,Ba.exports)),Ba.exports}var zh,O_;function Oc(){if(O_)return zh;O_=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function r(s,o){var a=typeof s;return o=o??e,!!o&&(a=="number"||a!="symbol"&&t.test(s))&&s>-1&&s%1==0&&s<o}return zh=r,zh}var Bh,P_;function _0(){if(P_)return Bh;P_=1;var e=9007199254740991;function t(r){return typeof r=="number"&&r>-1&&r%1==0&&r<=e}return Bh=t,Bh}var Uh,$_;function T5(){if($_)return Uh;$_=1;var e=yi(),t=_0(),r=Nr(),s="[object Arguments]",o="[object Array]",a="[object Boolean]",u="[object Date]",c="[object Error]",h="[object Function]",m="[object Map]",f="[object Number]",g="[object Object]",y="[object RegExp]",w="[object Set]",N="[object String]",b="[object WeakMap]",_="[object ArrayBuffer]",k="[object DataView]",S="[object Float32Array]",C="[object Float64Array]",T="[object Int8Array]",M="[object Int16Array]",P="[object Int32Array]",$="[object Uint8Array]",W="[object Uint8ClampedArray]",I="[object Uint16Array]",A="[object Uint32Array]",D={};D[S]=D[C]=D[T]=D[M]=D[P]=D[$]=D[W]=D[I]=D[A]=!0,D[s]=D[o]=D[_]=D[a]=D[k]=D[u]=D[c]=D[h]=D[m]=D[f]=D[g]=D[y]=D[w]=D[N]=D[b]=!1;function H(Y){return r(Y)&&t(Y.length)&&!!D[e(Y)]}return Uh=H,Uh}var Wh,L_;function Pc(){if(L_)return Wh;L_=1;function e(t){return function(r){return t(r)}}return Wh=e,Wh}var Ua={exports:{}};Ua.exports;var q_;function k0(){return q_||(q_=1,(function(e,t){var r=_T(),s=t&&!t.nodeType&&t,o=s&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===s,u=a&&r.process,c=(function(){try{var h=o&&o.require&&o.require("util").types;return h||u&&u.binding&&u.binding("util")}catch{}})();e.exports=c})(Ua,Ua.exports)),Ua.exports}var Hh,D_;function vl(){if(D_)return Hh;D_=1;var e=T5(),t=Pc(),r=k0(),s=r&&r.isTypedArray,o=s?t(s):e;return Hh=o,Hh}var Gh,F_;function NT(){if(F_)return Gh;F_=1;var e=E5(),t=gl(),r=Tt(),s=Bo(),o=Oc(),a=vl(),u=Object.prototype,c=u.hasOwnProperty;function h(m,f){var g=r(m),y=!g&&t(m),w=!g&&!y&&s(m),N=!g&&!y&&!w&&a(m),b=g||y||w||N,_=b?e(m.length,String):[],k=_.length;for(var S in m)(f||c.call(m,S))&&!(b&&(S=="length"||w&&(S=="offset"||S=="parent")||N&&(S=="buffer"||S=="byteLength"||S=="byteOffset")||o(S,k)))&&_.push(S);return _}return Gh=h,Gh}var Vh,z_;function $c(){if(z_)return Vh;z_=1;var e=Object.prototype;function t(r){var s=r&&r.constructor,o=typeof s=="function"&&s.prototype||e;return r===o}return Vh=t,Vh}var Kh,B_;function ET(){if(B_)return Kh;B_=1;function e(t,r){return function(s){return t(r(s))}}return Kh=e,Kh}var Yh,U_;function R5(){if(U_)return Yh;U_=1;var e=ET(),t=e(Object.keys,Object);return Yh=t,Yh}var Xh,W_;function S0(){if(W_)return Xh;W_=1;var e=$c(),t=R5(),r=Object.prototype,s=r.hasOwnProperty;function o(a){if(!e(a))return t(a);var u=[];for(var c in Object(a))s.call(a,c)&&c!="constructor"&&u.push(c);return u}return Xh=o,Xh}var Qh,H_;function Xr(){if(H_)return Qh;H_=1;var e=pl(),t=_0();function r(s){return s!=null&&t(s.length)&&!e(s)}return Qh=r,Qh}var Zh,G_;function As(){if(G_)return Zh;G_=1;var e=NT(),t=S0(),r=Xr();function s(o){return r(o)?e(o):t(o)}return Zh=s,Zh}var Jh,V_;function A5(){if(V_)return Jh;V_=1;var e=ml(),t=As();function r(s,o){return s&&e(o,t(o),s)}return Jh=r,Jh}var ep,K_;function M5(){if(K_)return ep;K_=1;function e(t){var r=[];if(t!=null)for(var s in Object(t))r.push(s);return r}return ep=e,ep}var tp,Y_;function I5(){if(Y_)return tp;Y_=1;var e=$n(),t=$c(),r=M5(),s=Object.prototype,o=s.hasOwnProperty;function a(u){if(!e(u))return r(u);var c=t(u),h=[];for(var m in u)m=="constructor"&&(c||!o.call(u,m))||h.push(m);return h}return tp=a,tp}var np,X_;function xi(){if(X_)return np;X_=1;var e=NT(),t=I5(),r=Xr();function s(o){return r(o)?e(o,!0):t(o)}return np=s,np}var rp,Q_;function O5(){if(Q_)return rp;Q_=1;var e=ml(),t=xi();function r(s,o){return s&&e(o,t(o),s)}return rp=r,rp}var Wa={exports:{}};Wa.exports;var Z_;function CT(){return Z_||(Z_=1,(function(e,t){var r=ur(),s=t&&!t.nodeType&&t,o=s&&!0&&e&&!e.nodeType&&e,a=o&&o.exports===s,u=a?r.Buffer:void 0,c=u?u.allocUnsafe:void 0;function h(m,f){if(f)return m.slice();var g=m.length,y=c?c(g):new m.constructor(g);return m.copy(y),y}e.exports=h})(Wa,Wa.exports)),Wa.exports}var sp,J_;function jT(){if(J_)return sp;J_=1;function e(t,r){var s=-1,o=t.length;for(r||(r=Array(o));++s<o;)r[s]=t[s];return r}return sp=e,sp}var ip,ek;function TT(){if(ek)return ip;ek=1;function e(t,r){for(var s=-1,o=t==null?0:t.length,a=0,u=[];++s<o;){var c=t[s];r(c,s,t)&&(u[a++]=c)}return u}return ip=e,ip}var op,tk;function RT(){if(tk)return op;tk=1;function e(){return[]}return op=e,op}var ap,nk;function N0(){if(nk)return ap;nk=1;var e=TT(),t=RT(),r=Object.prototype,s=r.propertyIsEnumerable,o=Object.getOwnPropertySymbols,a=o?function(u){return u==null?[]:(u=Object(u),e(o(u),function(c){return s.call(u,c)}))}:t;return ap=a,ap}var lp,rk;function P5(){if(rk)return lp;rk=1;var e=ml(),t=N0();function r(s,o){return e(s,t(s),o)}return lp=r,lp}var up,sk;function E0(){if(sk)return up;sk=1;function e(t,r){for(var s=-1,o=r.length,a=t.length;++s<o;)t[a+s]=r[s];return t}return up=e,up}var cp,ik;function Lc(){if(ik)return cp;ik=1;var e=ET(),t=e(Object.getPrototypeOf,Object);return cp=t,cp}var dp,ok;function AT(){if(ok)return dp;ok=1;var e=E0(),t=Lc(),r=N0(),s=RT(),o=Object.getOwnPropertySymbols,a=o?function(u){for(var c=[];u;)e(c,r(u)),u=t(u);return c}:s;return dp=a,dp}var fp,ak;function $5(){if(ak)return fp;ak=1;var e=ml(),t=AT();function r(s,o){return e(s,t(s),o)}return fp=r,fp}var hp,lk;function MT(){if(lk)return hp;lk=1;var e=E0(),t=Tt();function r(s,o,a){var u=o(s);return t(s)?u:e(u,a(s))}return hp=r,hp}var pp,uk;function IT(){if(uk)return pp;uk=1;var e=MT(),t=N0(),r=As();function s(o){return e(o,r,t)}return pp=s,pp}var mp,ck;function L5(){if(ck)return mp;ck=1;var e=MT(),t=AT(),r=xi();function s(o){return e(o,r,t)}return mp=s,mp}var gp,dk;function q5(){if(dk)return gp;dk=1;var e=wi(),t=ur(),r=e(t,"DataView");return gp=r,gp}var vp,fk;function D5(){if(fk)return vp;fk=1;var e=wi(),t=ur(),r=e(t,"Promise");return vp=r,vp}var yp,hk;function OT(){if(hk)return yp;hk=1;var e=wi(),t=ur(),r=e(t,"Set");return yp=r,yp}var wp,pk;function F5(){if(pk)return wp;pk=1;var e=wi(),t=ur(),r=e(t,"WeakMap");return wp=r,wp}var xp,mk;function Uo(){if(mk)return xp;mk=1;var e=q5(),t=w0(),r=D5(),s=OT(),o=F5(),a=yi(),u=kT(),c="[object Map]",h="[object Object]",m="[object Promise]",f="[object Set]",g="[object WeakMap]",y="[object DataView]",w=u(e),N=u(t),b=u(r),_=u(s),k=u(o),S=a;return(e&&S(new e(new ArrayBuffer(1)))!=y||t&&S(new t)!=c||r&&S(r.resolve())!=m||s&&S(new s)!=f||o&&S(new o)!=g)&&(S=function(C){var T=a(C),M=T==h?C.constructor:void 0,P=M?u(M):"";if(P)switch(P){case w:return y;case N:return c;case b:return m;case _:return f;case k:return g}return T}),xp=S,xp}var bp,gk;function z5(){if(gk)return bp;gk=1;var e=Object.prototype,t=e.hasOwnProperty;function r(s){var o=s.length,a=new s.constructor(o);return o&&typeof s[0]=="string"&&t.call(s,"index")&&(a.index=s.index,a.input=s.input),a}return bp=r,bp}var _p,vk;function PT(){if(vk)return _p;vk=1;var e=ur(),t=e.Uint8Array;return _p=t,_p}var kp,yk;function C0(){if(yk)return kp;yk=1;var e=PT();function t(r){var s=new r.constructor(r.byteLength);return new e(s).set(new e(r)),s}return kp=t,kp}var Sp,wk;function B5(){if(wk)return Sp;wk=1;var e=C0();function t(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.byteLength)}return Sp=t,Sp}var Np,xk;function U5(){if(xk)return Np;xk=1;var e=/\w*$/;function t(r){var s=new r.constructor(r.source,e.exec(r));return s.lastIndex=r.lastIndex,s}return Np=t,Np}var Ep,bk;function W5(){if(bk)return Ep;bk=1;var e=zo(),t=e?e.prototype:void 0,r=t?t.valueOf:void 0;function s(o){return r?Object(r.call(o)):{}}return Ep=s,Ep}var Cp,_k;function $T(){if(_k)return Cp;_k=1;var e=C0();function t(r,s){var o=s?e(r.buffer):r.buffer;return new r.constructor(o,r.byteOffset,r.length)}return Cp=t,Cp}var jp,kk;function H5(){if(kk)return jp;kk=1;var e=C0(),t=B5(),r=U5(),s=W5(),o=$T(),a="[object Boolean]",u="[object Date]",c="[object Map]",h="[object Number]",m="[object RegExp]",f="[object Set]",g="[object String]",y="[object Symbol]",w="[object ArrayBuffer]",N="[object DataView]",b="[object Float32Array]",_="[object Float64Array]",k="[object Int8Array]",S="[object Int16Array]",C="[object Int32Array]",T="[object Uint8Array]",M="[object Uint8ClampedArray]",P="[object Uint16Array]",$="[object Uint32Array]";function W(I,A,D){var H=I.constructor;switch(A){case w:return e(I);case a:case u:return new H(+I);case N:return t(I,D);case b:case _:case k:case S:case C:case T:case M:case P:case $:return o(I,D);case c:return new H;case h:case g:return new H(I);case m:return r(I);case f:return new H;case y:return s(I)}}return jp=W,jp}var Tp,Sk;function LT(){if(Sk)return Tp;Sk=1;var e=$n(),t=Object.create,r=(function(){function s(){}return function(o){if(!e(o))return{};if(t)return t(o);s.prototype=o;var a=new s;return s.prototype=void 0,a}})();return Tp=r,Tp}var Rp,Nk;function qT(){if(Nk)return Rp;Nk=1;var e=LT(),t=Lc(),r=$c();function s(o){return typeof o.constructor=="function"&&!r(o)?e(t(o)):{}}return Rp=s,Rp}var Ap,Ek;function G5(){if(Ek)return Ap;Ek=1;var e=Uo(),t=Nr(),r="[object Map]";function s(o){return t(o)&&e(o)==r}return Ap=s,Ap}var Mp,Ck;function V5(){if(Ck)return Mp;Ck=1;var e=G5(),t=Pc(),r=k0(),s=r&&r.isMap,o=s?t(s):e;return Mp=o,Mp}var Ip,jk;function K5(){if(jk)return Ip;jk=1;var e=Uo(),t=Nr(),r="[object Set]";function s(o){return t(o)&&e(o)==r}return Ip=s,Ip}var Op,Tk;function Y5(){if(Tk)return Op;Tk=1;var e=K5(),t=Pc(),r=k0(),s=r&&r.isSet,o=s?t(s):e;return Op=o,Op}var Pp,Rk;function DT(){if(Rk)return Pp;Rk=1;var e=Ac(),t=b0(),r=Ic(),s=A5(),o=O5(),a=CT(),u=jT(),c=P5(),h=$5(),m=IT(),f=L5(),g=Uo(),y=z5(),w=H5(),N=qT(),b=Tt(),_=Bo(),k=V5(),S=$n(),C=Y5(),T=As(),M=xi(),P=1,$=2,W=4,I="[object Arguments]",A="[object Array]",D="[object Boolean]",H="[object Date]",Y="[object Error]",j="[object Function]",X="[object GeneratorFunction]",z="[object Map]",ne="[object Number]",J="[object Object]",U="[object RegExp]",Q="[object Set]",O="[object String]",G="[object Symbol]",K="[object WeakMap]",L="[object ArrayBuffer]",q="[object DataView]",Z="[object Float32Array]",se="[object Float64Array]",fe="[object Int8Array]",he="[object Int16Array]",ye="[object Int32Array]",Re="[object Uint8Array]",Ue="[object Uint8ClampedArray]",De="[object Uint16Array]",Ie="[object Uint32Array]",ke={};ke[I]=ke[A]=ke[L]=ke[q]=ke[D]=ke[H]=ke[Z]=ke[se]=ke[fe]=ke[he]=ke[ye]=ke[z]=ke[ne]=ke[J]=ke[U]=ke[Q]=ke[O]=ke[G]=ke[Re]=ke[Ue]=ke[De]=ke[Ie]=!0,ke[Y]=ke[j]=ke[K]=!1;function ue(xe,we,Ke,vt,ut,st){var Be,tt=we&P,Ye=we&$,bt=we&W;if(Ke&&(Be=ut?Ke(xe,vt,ut,st):Ke(xe)),Be!==void 0)return Be;if(!S(xe))return xe;var Me=b(xe);if(Me){if(Be=y(xe),!tt)return u(xe,Be)}else{var it=g(xe),Rt=it==j||it==X;if(_(xe))return a(xe,tt);if(it==J||it==I||Rt&&!ut){if(Be=Ye||Rt?{}:N(xe),!tt)return Ye?h(xe,o(Be,xe)):c(xe,s(Be,xe))}else{if(!ke[it])return ut?xe:{};Be=w(xe,it,tt)}}st||(st=new e);var oe=st.get(xe);if(oe)return oe;st.set(xe,Be),C(xe)?xe.forEach(function(Ne){Be.add(ue(Ne,we,Ke,Ne,xe,st))}):k(xe)&&xe.forEach(function(Ne,We){Be.set(We,ue(Ne,we,Ke,We,xe,st))});var Pe=bt?Ye?f:m:Ye?M:T,qe=Me?void 0:Pe(xe);return t(qe||xe,function(Ne,We){qe&&(We=Ne,Ne=xe[We]),r(Be,We,ue(Ne,we,Ke,We,xe,st))}),Be}return Pp=ue,Pp}var $p,Ak;function X5(){if(Ak)return $p;Ak=1;var e=DT(),t=4;function r(s){return e(s,t)}return $p=r,$p}var Lp,Mk;function j0(){if(Mk)return Lp;Mk=1;function e(t){return function(){return t}}return Lp=e,Lp}var qp,Ik;function Q5(){if(Ik)return qp;Ik=1;function e(t){return function(r,s,o){for(var a=-1,u=Object(r),c=o(r),h=c.length;h--;){var m=c[t?h:++a];if(s(u[m],m,u)===!1)break}return r}}return qp=e,qp}var Dp,Ok;function T0(){if(Ok)return Dp;Ok=1;var e=Q5(),t=e();return Dp=t,Dp}var Fp,Pk;function R0(){if(Pk)return Fp;Pk=1;var e=T0(),t=As();function r(s,o){return s&&e(s,o,t)}return Fp=r,Fp}var zp,$k;function Z5(){if($k)return zp;$k=1;var e=Xr();function t(r,s){return function(o,a){if(o==null)return o;if(!e(o))return r(o,a);for(var u=o.length,c=s?u:-1,h=Object(o);(s?c--:++c<u)&&a(h[c],c,h)!==!1;);return o}}return zp=t,zp}var Bp,Lk;function qc(){if(Lk)return Bp;Lk=1;var e=R0(),t=Z5(),r=t(e);return Bp=r,Bp}var Up,qk;function bi(){if(qk)return Up;qk=1;function e(t){return t}return Up=e,Up}var Wp,Dk;function FT(){if(Dk)return Wp;Dk=1;var e=bi();function t(r){return typeof r=="function"?r:e}return Wp=t,Wp}var Hp,Fk;function zT(){if(Fk)return Hp;Fk=1;var e=b0(),t=qc(),r=FT(),s=Tt();function o(a,u){var c=s(a)?e:t;return c(a,r(u))}return Hp=o,Hp}var Gp,zk;function BT(){return zk||(zk=1,Gp=zT()),Gp}var Vp,Bk;function J5(){if(Bk)return Vp;Bk=1;var e=qc();function t(r,s){var o=[];return e(r,function(a,u,c){s(a,u,c)&&o.push(a)}),o}return Vp=t,Vp}var Kp,Uk;function eF(){if(Uk)return Kp;Uk=1;var e="__lodash_hash_undefined__";function t(r){return this.__data__.set(r,e),this}return Kp=t,Kp}var Yp,Wk;function tF(){if(Wk)return Yp;Wk=1;function e(t){return this.__data__.has(t)}return Yp=e,Yp}var Xp,Hk;function UT(){if(Hk)return Xp;Hk=1;var e=x0(),t=eF(),r=tF();function s(o){var a=-1,u=o==null?0:o.length;for(this.__data__=new e;++a<u;)this.add(o[a])}return s.prototype.add=s.prototype.push=t,s.prototype.has=r,Xp=s,Xp}var Qp,Gk;function nF(){if(Gk)return Qp;Gk=1;function e(t,r){for(var s=-1,o=t==null?0:t.length;++s<o;)if(r(t[s],s,t))return!0;return!1}return Qp=e,Qp}var Zp,Vk;function WT(){if(Vk)return Zp;Vk=1;function e(t,r){return t.has(r)}return Zp=e,Zp}var Jp,Kk;function HT(){if(Kk)return Jp;Kk=1;var e=UT(),t=nF(),r=WT(),s=1,o=2;function a(u,c,h,m,f,g){var y=h&s,w=u.length,N=c.length;if(w!=N&&!(y&&N>w))return!1;var b=g.get(u),_=g.get(c);if(b&&_)return b==c&&_==u;var k=-1,S=!0,C=h&o?new e:void 0;for(g.set(u,c),g.set(c,u);++k<w;){var T=u[k],M=c[k];if(m)var P=y?m(M,T,k,c,u,g):m(T,M,k,u,c,g);if(P!==void 0){if(P)continue;S=!1;break}if(C){if(!t(c,function($,W){if(!r(C,W)&&(T===$||f(T,$,h,m,g)))return C.push(W)})){S=!1;break}}else if(!(T===M||f(T,M,h,m,g))){S=!1;break}}return g.delete(u),g.delete(c),S}return Jp=a,Jp}var em,Yk;function rF(){if(Yk)return em;Yk=1;function e(t){var r=-1,s=Array(t.size);return t.forEach(function(o,a){s[++r]=[a,o]}),s}return em=e,em}var tm,Xk;function A0(){if(Xk)return tm;Xk=1;function e(t){var r=-1,s=Array(t.size);return t.forEach(function(o){s[++r]=o}),s}return tm=e,tm}var nm,Qk;function sF(){if(Qk)return nm;Qk=1;var e=zo(),t=PT(),r=Fo(),s=HT(),o=rF(),a=A0(),u=1,c=2,h="[object Boolean]",m="[object Date]",f="[object Error]",g="[object Map]",y="[object Number]",w="[object RegExp]",N="[object Set]",b="[object String]",_="[object Symbol]",k="[object ArrayBuffer]",S="[object DataView]",C=e?e.prototype:void 0,T=C?C.valueOf:void 0;function M(P,$,W,I,A,D,H){switch(W){case S:if(P.byteLength!=$.byteLength||P.byteOffset!=$.byteOffset)return!1;P=P.buffer,$=$.buffer;case k:return!(P.byteLength!=$.byteLength||!D(new t(P),new t($)));case h:case m:case y:return r(+P,+$);case f:return P.name==$.name&&P.message==$.message;case w:case b:return P==$+"";case g:var Y=o;case N:var j=I&u;if(Y||(Y=a),P.size!=$.size&&!j)return!1;var X=H.get(P);if(X)return X==$;I|=c,H.set(P,$);var z=s(Y(P),Y($),I,A,D,H);return H.delete(P),z;case _:if(T)return T.call(P)==T.call($)}return!1}return nm=M,nm}var rm,Zk;function iF(){if(Zk)return rm;Zk=1;var e=IT(),t=1,r=Object.prototype,s=r.hasOwnProperty;function o(a,u,c,h,m,f){var g=c&t,y=e(a),w=y.length,N=e(u),b=N.length;if(w!=b&&!g)return!1;for(var _=w;_--;){var k=y[_];if(!(g?k in u:s.call(u,k)))return!1}var S=f.get(a),C=f.get(u);if(S&&C)return S==u&&C==a;var T=!0;f.set(a,u),f.set(u,a);for(var M=g;++_<w;){k=y[_];var P=a[k],$=u[k];if(h)var W=g?h($,P,k,u,a,f):h(P,$,k,a,u,f);if(!(W===void 0?P===$||m(P,$,c,h,f):W)){T=!1;break}M||(M=k=="constructor")}if(T&&!M){var I=a.constructor,A=u.constructor;I!=A&&"constructor"in a&&"constructor"in u&&!(typeof I=="function"&&I instanceof I&&typeof A=="function"&&A instanceof A)&&(T=!1)}return f.delete(a),f.delete(u),T}return rm=o,rm}var sm,Jk;function oF(){if(Jk)return sm;Jk=1;var e=Ac(),t=HT(),r=sF(),s=iF(),o=Uo(),a=Tt(),u=Bo(),c=vl(),h=1,m="[object Arguments]",f="[object Array]",g="[object Object]",y=Object.prototype,w=y.hasOwnProperty;function N(b,_,k,S,C,T){var M=a(b),P=a(_),$=M?f:o(b),W=P?f:o(_);$=$==m?g:$,W=W==m?g:W;var I=$==g,A=W==g,D=$==W;if(D&&u(b)){if(!u(_))return!1;M=!0,I=!1}if(D&&!I)return T||(T=new e),M||c(b)?t(b,_,k,S,C,T):r(b,_,$,k,S,C,T);if(!(k&h)){var H=I&&w.call(b,"__wrapped__"),Y=A&&w.call(_,"__wrapped__");if(H||Y){var j=H?b.value():b,X=Y?_.value():_;return T||(T=new e),C(j,X,k,S,T)}}return D?(T||(T=new e),s(b,_,k,S,C,T)):!1}return sm=N,sm}var im,eS;function GT(){if(eS)return im;eS=1;var e=oF(),t=Nr();function r(s,o,a,u,c){return s===o?!0:s==null||o==null||!t(s)&&!t(o)?s!==s&&o!==o:e(s,o,a,u,r,c)}return im=r,im}var om,tS;function aF(){if(tS)return om;tS=1;var e=Ac(),t=GT(),r=1,s=2;function o(a,u,c,h){var m=c.length,f=m,g=!h;if(a==null)return!f;for(a=Object(a);m--;){var y=c[m];if(g&&y[2]?y[1]!==a[y[0]]:!(y[0]in a))return!1}for(;++m<f;){y=c[m];var w=y[0],N=a[w],b=y[1];if(g&&y[2]){if(N===void 0&&!(w in a))return!1}else{var _=new e;if(h)var k=h(N,b,w,a,u,_);if(!(k===void 0?t(b,N,r|s,h,_):k))return!1}}return!0}return om=o,om}var am,nS;function VT(){if(nS)return am;nS=1;var e=$n();function t(r){return r===r&&!e(r)}return am=t,am}var lm,rS;function lF(){if(rS)return lm;rS=1;var e=VT(),t=As();function r(s){for(var o=t(s),a=o.length;a--;){var u=o[a],c=s[u];o[a]=[u,c,e(c)]}return o}return lm=r,lm}var um,sS;function KT(){if(sS)return um;sS=1;function e(t,r){return function(s){return s==null?!1:s[t]===r&&(r!==void 0||t in Object(s))}}return um=e,um}var cm,iS;function uF(){if(iS)return cm;iS=1;var e=aF(),t=lF(),r=KT();function s(o){var a=t(o);return a.length==1&&a[0][2]?r(a[0][0],a[0][1]):function(u){return u===o||e(u,o,a)}}return cm=s,cm}var dm,oS;function Wo(){if(oS)return dm;oS=1;var e=yi(),t=Nr(),r="[object Symbol]";function s(o){return typeof o=="symbol"||t(o)&&e(o)==r}return dm=s,dm}var fm,aS;function M0(){if(aS)return fm;aS=1;var e=Tt(),t=Wo(),r=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,s=/^\w*$/;function o(a,u){if(e(a))return!1;var c=typeof a;return c=="number"||c=="symbol"||c=="boolean"||a==null||t(a)?!0:s.test(a)||!r.test(a)||u!=null&&a in Object(u)}return fm=o,fm}var hm,lS;function cF(){if(lS)return hm;lS=1;var e=x0(),t="Expected a function";function r(s,o){if(typeof s!="function"||o!=null&&typeof o!="function")throw new TypeError(t);var a=function(){var u=arguments,c=o?o.apply(this,u):u[0],h=a.cache;if(h.has(c))return h.get(c);var m=s.apply(this,u);return a.cache=h.set(c,m)||h,m};return a.cache=new(r.Cache||e),a}return r.Cache=e,hm=r,hm}var pm,uS;function dF(){if(uS)return pm;uS=1;var e=cF(),t=500;function r(s){var o=e(s,function(u){return a.size===t&&a.clear(),u}),a=o.cache;return o}return pm=r,pm}var mm,cS;function fF(){if(cS)return mm;cS=1;var e=dF(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,r=/\\(\\)?/g,s=e(function(o){var a=[];return o.charCodeAt(0)===46&&a.push(""),o.replace(t,function(u,c,h,m){a.push(h?m.replace(r,"$1"):c||u)}),a});return mm=s,mm}var gm,dS;function Dc(){if(dS)return gm;dS=1;function e(t,r){for(var s=-1,o=t==null?0:t.length,a=Array(o);++s<o;)a[s]=r(t[s],s,t);return a}return gm=e,gm}var vm,fS;function hF(){if(fS)return vm;fS=1;var e=zo(),t=Dc(),r=Tt(),s=Wo(),o=e?e.prototype:void 0,a=o?o.toString:void 0;function u(c){if(typeof c=="string")return c;if(r(c))return t(c,u)+"";if(s(c))return a?a.call(c):"";var h=c+"";return h=="0"&&1/c==-1/0?"-0":h}return vm=u,vm}var ym,hS;function YT(){if(hS)return ym;hS=1;var e=hF();function t(r){return r==null?"":e(r)}return ym=t,ym}var wm,pS;function Fc(){if(pS)return wm;pS=1;var e=Tt(),t=M0(),r=fF(),s=YT();function o(a,u){return e(a)?a:t(a,u)?[a]:r(s(a))}return wm=o,wm}var xm,mS;function yl(){if(mS)return xm;mS=1;var e=Wo();function t(r){if(typeof r=="string"||e(r))return r;var s=r+"";return s=="0"&&1/r==-1/0?"-0":s}return xm=t,xm}var bm,gS;function zc(){if(gS)return bm;gS=1;var e=Fc(),t=yl();function r(s,o){o=e(o,s);for(var a=0,u=o.length;s!=null&&a<u;)s=s[t(o[a++])];return a&&a==u?s:void 0}return bm=r,bm}var _m,vS;function pF(){if(vS)return _m;vS=1;var e=zc();function t(r,s,o){var a=r==null?void 0:e(r,s);return a===void 0?o:a}return _m=t,_m}var km,yS;function mF(){if(yS)return km;yS=1;function e(t,r){return t!=null&&r in Object(t)}return km=e,km}var Sm,wS;function XT(){if(wS)return Sm;wS=1;var e=Fc(),t=gl(),r=Tt(),s=Oc(),o=_0(),a=yl();function u(c,h,m){h=e(h,c);for(var f=-1,g=h.length,y=!1;++f<g;){var w=a(h[f]);if(!(y=c!=null&&m(c,w)))break;c=c[w]}return y||++f!=g?y:(g=c==null?0:c.length,!!g&&o(g)&&s(w,g)&&(r(c)||t(c)))}return Sm=u,Sm}var Nm,xS;function QT(){if(xS)return Nm;xS=1;var e=mF(),t=XT();function r(s,o){return s!=null&&t(s,o,e)}return Nm=r,Nm}var Em,bS;function gF(){if(bS)return Em;bS=1;var e=GT(),t=pF(),r=QT(),s=M0(),o=VT(),a=KT(),u=yl(),c=1,h=2;function m(f,g){return s(f)&&o(g)?a(u(f),g):function(y){var w=t(y,f);return w===void 0&&w===g?r(y,f):e(g,w,c|h)}}return Em=m,Em}var Cm,_S;function ZT(){if(_S)return Cm;_S=1;function e(t){return function(r){return r==null?void 0:r[t]}}return Cm=e,Cm}var jm,kS;function vF(){if(kS)return jm;kS=1;var e=zc();function t(r){return function(s){return e(s,r)}}return jm=t,jm}var Tm,SS;function yF(){if(SS)return Tm;SS=1;var e=ZT(),t=vF(),r=M0(),s=yl();function o(a){return r(a)?e(s(a)):t(a)}return Tm=o,Tm}var Rm,NS;function Qr(){if(NS)return Rm;NS=1;var e=uF(),t=gF(),r=bi(),s=Tt(),o=yF();function a(u){return typeof u=="function"?u:u==null?r:typeof u=="object"?s(u)?t(u[0],u[1]):e(u):o(u)}return Rm=a,Rm}var Am,ES;function JT(){if(ES)return Am;ES=1;var e=TT(),t=J5(),r=Qr(),s=Tt();function o(a,u){var c=s(a)?e:t;return c(a,r(u,3))}return Am=o,Am}var Mm,CS;function wF(){if(CS)return Mm;CS=1;var e=Object.prototype,t=e.hasOwnProperty;function r(s,o){return s!=null&&t.call(s,o)}return Mm=r,Mm}var Im,jS;function eR(){if(jS)return Im;jS=1;var e=wF(),t=XT();function r(s,o){return s!=null&&t(s,o,e)}return Im=r,Im}var Om,TS;function xF(){if(TS)return Om;TS=1;var e=S0(),t=Uo(),r=gl(),s=Tt(),o=Xr(),a=Bo(),u=$c(),c=vl(),h="[object Map]",m="[object Set]",f=Object.prototype,g=f.hasOwnProperty;function y(w){if(w==null)return!0;if(o(w)&&(s(w)||typeof w=="string"||typeof w.splice=="function"||a(w)||c(w)||r(w)))return!w.length;var N=t(w);if(N==h||N==m)return!w.size;if(u(w))return!e(w).length;for(var b in w)if(g.call(w,b))return!1;return!0}return Om=y,Om}var Pm,RS;function tR(){if(RS)return Pm;RS=1;function e(t){return t===void 0}return Pm=e,Pm}var $m,AS;function nR(){if(AS)return $m;AS=1;var e=qc(),t=Xr();function r(s,o){var a=-1,u=t(s)?Array(s.length):[];return e(s,function(c,h,m){u[++a]=o(c,h,m)}),u}return $m=r,$m}var Lm,MS;function rR(){if(MS)return Lm;MS=1;var e=Dc(),t=Qr(),r=nR(),s=Tt();function o(a,u){var c=s(a)?e:r;return c(a,t(u,3))}return Lm=o,Lm}var qm,IS;function bF(){if(IS)return qm;IS=1;function e(t,r,s,o){var a=-1,u=t==null?0:t.length;for(o&&u&&(s=t[++a]);++a<u;)s=r(s,t[a],a,t);return s}return qm=e,qm}var Dm,OS;function _F(){if(OS)return Dm;OS=1;function e(t,r,s,o,a){return a(t,function(u,c,h){s=o?(o=!1,u):r(s,u,c,h)}),s}return Dm=e,Dm}var Fm,PS;function sR(){if(PS)return Fm;PS=1;var e=bF(),t=qc(),r=Qr(),s=_F(),o=Tt();function a(u,c,h){var m=o(u)?e:s,f=arguments.length<3;return m(u,r(c,4),h,f,t)}return Fm=a,Fm}var zm,$S;function kF(){if($S)return zm;$S=1;var e=yi(),t=Tt(),r=Nr(),s="[object String]";function o(a){return typeof a=="string"||!t(a)&&r(a)&&e(a)==s}return zm=o,zm}var Bm,LS;function SF(){if(LS)return Bm;LS=1;var e=ZT(),t=e("length");return Bm=t,Bm}var Um,qS;function NF(){if(qS)return Um;qS=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=t+r+s,a="\\ufe0e\\ufe0f",u="\\u200d",c=RegExp("["+u+e+o+a+"]");function h(m){return c.test(m)}return Um=h,Um}var Wm,DS;function EF(){if(DS)return Wm;DS=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",r="\\ufe20-\\ufe2f",s="\\u20d0-\\u20ff",o=t+r+s,a="\\ufe0e\\ufe0f",u="["+e+"]",c="["+o+"]",h="\\ud83c[\\udffb-\\udfff]",m="(?:"+c+"|"+h+")",f="[^"+e+"]",g="(?:\\ud83c[\\udde6-\\uddff]){2}",y="[\\ud800-\\udbff][\\udc00-\\udfff]",w="\\u200d",N=m+"?",b="["+a+"]?",_="(?:"+w+"(?:"+[f,g,y].join("|")+")"+b+N+")*",k=b+N+_,S="(?:"+[f+c+"?",c,g,y,u].join("|")+")",C=RegExp(h+"(?="+h+")|"+S+k,"g");function T(M){for(var P=C.lastIndex=0;C.test(M);)++P;return P}return Wm=T,Wm}var Hm,FS;function CF(){if(FS)return Hm;FS=1;var e=SF(),t=NF(),r=EF();function s(o){return t(o)?r(o):e(o)}return Hm=s,Hm}var Gm,zS;function jF(){if(zS)return Gm;zS=1;var e=S0(),t=Uo(),r=Xr(),s=kF(),o=CF(),a="[object Map]",u="[object Set]";function c(h){if(h==null)return 0;if(r(h))return s(h)?o(h):h.length;var m=t(h);return m==a||m==u?h.size:e(h).length}return Gm=c,Gm}var Vm,BS;function TF(){if(BS)return Vm;BS=1;var e=b0(),t=LT(),r=R0(),s=Qr(),o=Lc(),a=Tt(),u=Bo(),c=pl(),h=$n(),m=vl();function f(g,y,w){var N=a(g),b=N||u(g)||m(g);if(y=s(y,4),w==null){var _=g&&g.constructor;b?w=N?new _:[]:h(g)?w=c(_)?t(o(g)):{}:w={}}return(b?e:r)(g,function(k,S,C){return y(w,k,S,C)}),w}return Vm=f,Vm}var Km,US;function RF(){if(US)return Km;US=1;var e=zo(),t=gl(),r=Tt(),s=e?e.isConcatSpreadable:void 0;function o(a){return r(a)||t(a)||!!(s&&a&&a[s])}return Km=o,Km}var Ym,WS;function I0(){if(WS)return Ym;WS=1;var e=E0(),t=RF();function r(s,o,a,u,c){var h=-1,m=s.length;for(a||(a=t),c||(c=[]);++h<m;){var f=s[h];o>0&&a(f)?o>1?r(f,o-1,a,u,c):e(c,f):u||(c[c.length]=f)}return c}return Ym=r,Ym}var Xm,HS;function AF(){if(HS)return Xm;HS=1;function e(t,r,s){switch(s.length){case 0:return t.call(r);case 1:return t.call(r,s[0]);case 2:return t.call(r,s[0],s[1]);case 3:return t.call(r,s[0],s[1],s[2])}return t.apply(r,s)}return Xm=e,Xm}var Qm,GS;function iR(){if(GS)return Qm;GS=1;var e=AF(),t=Math.max;function r(s,o,a){return o=t(o===void 0?s.length-1:o,0),function(){for(var u=arguments,c=-1,h=t(u.length-o,0),m=Array(h);++c<h;)m[c]=u[o+c];c=-1;for(var f=Array(o+1);++c<o;)f[c]=u[c];return f[o]=a(m),e(s,this,f)}}return Qm=r,Qm}var Zm,VS;function MF(){if(VS)return Zm;VS=1;var e=j0(),t=ST(),r=bi(),s=t?function(o,a){return t(o,"toString",{configurable:!0,enumerable:!1,value:e(a),writable:!0})}:r;return Zm=s,Zm}var Jm,KS;function IF(){if(KS)return Jm;KS=1;var e=800,t=16,r=Date.now;function s(o){var a=0,u=0;return function(){var c=r(),h=t-(c-u);if(u=c,h>0){if(++a>=e)return arguments[0]}else a=0;return o.apply(void 0,arguments)}}return Jm=s,Jm}var eg,YS;function oR(){if(YS)return eg;YS=1;var e=MF(),t=IF(),r=t(e);return eg=r,eg}var tg,XS;function Bc(){if(XS)return tg;XS=1;var e=bi(),t=iR(),r=oR();function s(o,a){return r(t(o,a,e),o+"")}return tg=s,tg}var ng,QS;function aR(){if(QS)return ng;QS=1;function e(t,r,s,o){for(var a=t.length,u=s+(o?1:-1);o?u--:++u<a;)if(r(t[u],u,t))return u;return-1}return ng=e,ng}var rg,ZS;function OF(){if(ZS)return rg;ZS=1;function e(t){return t!==t}return rg=e,rg}var sg,JS;function PF(){if(JS)return sg;JS=1;function e(t,r,s){for(var o=s-1,a=t.length;++o<a;)if(t[o]===r)return o;return-1}return sg=e,sg}var ig,eN;function $F(){if(eN)return ig;eN=1;var e=aR(),t=OF(),r=PF();function s(o,a,u){return a===a?r(o,a,u):e(o,t,u)}return ig=s,ig}var og,tN;function LF(){if(tN)return og;tN=1;var e=$F();function t(r,s){var o=r==null?0:r.length;return!!o&&e(r,s,0)>-1}return og=t,og}var ag,nN;function qF(){if(nN)return ag;nN=1;function e(t,r,s){for(var o=-1,a=t==null?0:t.length;++o<a;)if(s(r,t[o]))return!0;return!1}return ag=e,ag}var lg,rN;function DF(){if(rN)return lg;rN=1;function e(){}return lg=e,lg}var ug,sN;function FF(){if(sN)return ug;sN=1;var e=OT(),t=DF(),r=A0(),s=1/0,o=e&&1/r(new e([,-0]))[1]==s?function(a){return new e(a)}:t;return ug=o,ug}var cg,iN;function zF(){if(iN)return cg;iN=1;var e=UT(),t=LF(),r=qF(),s=WT(),o=FF(),a=A0(),u=200;function c(h,m,f){var g=-1,y=t,w=h.length,N=!0,b=[],_=b;if(f)N=!1,y=r;else if(w>=u){var k=m?null:o(h);if(k)return a(k);N=!1,y=s,_=new e}else _=m?[]:b;e:for(;++g<w;){var S=h[g],C=m?m(S):S;if(S=f||S!==0?S:0,N&&C===C){for(var T=_.length;T--;)if(_[T]===C)continue e;m&&_.push(C),b.push(S)}else y(_,C,f)||(_!==b&&_.push(C),b.push(S))}return b}return cg=c,cg}var dg,oN;function lR(){if(oN)return dg;oN=1;var e=Xr(),t=Nr();function r(s){return t(s)&&e(s)}return dg=r,dg}var fg,aN;function BF(){if(aN)return fg;aN=1;var e=I0(),t=Bc(),r=zF(),s=lR(),o=t(function(a){return r(e(a,1,s,!0))});return fg=o,fg}var hg,lN;function UF(){if(lN)return hg;lN=1;var e=Dc();function t(r,s){return e(s,function(o){return r[o]})}return hg=t,hg}var pg,uN;function uR(){if(uN)return pg;uN=1;var e=UF(),t=As();function r(s){return s==null?[]:e(s,t(s))}return pg=r,pg}var mg,cN;function Ln(){if(cN)return mg;cN=1;var e;if(typeof y0=="function")try{e={clone:X5(),constant:j0(),each:BT(),filter:JT(),has:eR(),isArray:Tt(),isEmpty:xF(),isFunction:pl(),isUndefined:tR(),keys:As(),map:rR(),reduce:sR(),size:jF(),transform:TF(),union:BF(),values:uR()}}catch{}return e||(e=window._),mg=e,mg}var gg,dN;function O0(){if(dN)return gg;dN=1;var e=Ln();gg=o;var t="\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,w=this;return e.each(f,function(N){y.length>1?w.setNode(N,g):w.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(w){g.removeEdge(g._edgeObjs[w])};delete this._nodes[f],this._isCompound&&(this._removeFromParentsChildList(f),delete this._parent[f],e.each(this.children(f),function(w){g.setParent(w)}),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(_)&&g.setNode(_,b)}),e.each(this._edgeObjs,function(b){g.hasNode(b.v)&&g.hasNode(b.w)&&g.setEdge(b,y.edge(b))});var w={};function N(b){var _=y.parent(b);return _===void 0||g.hasNode(_)?(w[b]=_,_):_ in w?w[_]:N(_)}return this._isCompound&&e.each(g.nodes(),function(b){g.setParent(b,N(b))}),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,w=arguments;return e.reduce(f,function(N,b){return w.length>1?y.setEdge(N,b,g):y.setEdge(N,b),b}),this},o.prototype.setEdge=function(){var f,g,y,w,N=!1,b=arguments[0];typeof b=="object"&&b!==null&&"v"in b?(f=b.v,g=b.w,y=b.name,arguments.length===2&&(w=arguments[1],N=!0)):(f=b,g=arguments[1],y=arguments[3],arguments.length>2&&(w=arguments[2],N=!0)),f=""+f,g=""+g,e.isUndefined(y)||(y=""+y);var _=c(this._isDirected,f,g,y);if(e.has(this._edgeLabels,_))return N&&(this._edgeLabels[_]=w),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[_]=N?w:this._defaultEdgeLabelFn(f,g,y);var k=h(this._isDirected,f,g,y);return f=k.v,g=k.w,Object.freeze(k),this._edgeObjs[_]=k,a(this._preds[g],f),a(this._sucs[f],g),this._in[g][_]=k,this._out[f][_]=k,this._edgeCount++,this},o.prototype.edge=function(f,g,y){var w=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return this._edgeLabels[w]},o.prototype.hasEdge=function(f,g,y){var w=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,f,g,y);return e.has(this._edgeLabels,w)},o.prototype.removeEdge=function(f,g,y){var w=arguments.length===1?m(this._isDirected,arguments[0]):c(this._isDirected,f,g,y),N=this._edgeObjs[w];return N&&(f=N.v,g=N.w,delete this._edgeLabels[w],delete this._edgeObjs[w],u(this._preds[g],f),u(this._sucs[f],g),delete this._in[g][w],delete this._out[f][w],this._edgeCount--),this},o.prototype.inEdges=function(f,g){var y=this._in[f];if(y){var w=e.values(y);return g?e.filter(w,function(N){return N.v===g}):w}},o.prototype.outEdges=function(f,g){var y=this._out[f];if(y){var w=e.values(y);return g?e.filter(w,function(N){return N.w===g}):w}},o.prototype.nodeEdges=function(f,g){var y=this.inEdges(f,g);if(y)return y.concat(this.outEdges(f,g))};function a(f,g){f[g]?f[g]++:f[g]=1}function u(f,g){--f[g]||delete f[g]}function c(f,g,y,w){var N=""+g,b=""+y;if(!f&&N>b){var _=N;N=b,b=_}return N+s+b+s+(e.isUndefined(w)?t:w)}function h(f,g,y,w){var N=""+g,b=""+y;if(!f&&N>b){var _=N;N=b,b=_}var k={v:N,w:b};return w&&(k.name=w),k}function m(f,g){return c(f,g.v,g.w,g.name)}return gg}var vg,fN;function WF(){return fN||(fN=1,vg="2.1.8"),vg}var yg,hN;function HF(){return hN||(hN=1,yg={Graph:O0(),version:WF()}),yg}var wg,pN;function GF(){if(pN)return wg;pN=1;var e=Ln(),t=O0();wg={write:r,read:a};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 h=u.node(c),m=u.parent(c),f={v:c};return e.isUndefined(h)||(f.value=h),e.isUndefined(m)||(f.parent=m),f})}function o(u){return e.map(u.edges(),function(c){var h=u.edge(c),m={v:c.v,w:c.w};return e.isUndefined(c.name)||(m.name=c.name),e.isUndefined(h)||(m.value=h),m})}function a(u){var c=new t(u.options).setGraph(u.value);return e.each(u.nodes,function(h){c.setNode(h.v,h.value),h.parent&&c.setParent(h.v,h.parent)}),e.each(u.edges,function(h){c.setEdge({v:h.v,w:h.w,name:h.name},h.value)}),c}return wg}var xg,mN;function VF(){if(mN)return xg;mN=1;var e=Ln();xg=t;function t(r){var s={},o=[],a;function u(c){e.has(s,c)||(s[c]=!0,a.push(c),e.each(r.successors(c),u),e.each(r.predecessors(c),u))}return e.each(r.nodes(),function(c){a=[],u(c),a.length&&o.push(a)}),o}return xg}var bg,gN;function cR(){if(gN)return bg;gN=1;var e=Ln();bg=t;function t(){this._arr=[],this._keyIndices={}}return t.prototype.size=function(){return this._arr.length},t.prototype.keys=function(){return this._arr.map(function(r){return r.key})},t.prototype.has=function(r){return e.has(this._keyIndices,r)},t.prototype.priority=function(r){var s=this._keyIndices[r];if(s!==void 0)return this._arr[s].priority},t.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},t.prototype.add=function(r,s){var o=this._keyIndices;if(r=String(r),!e.has(o,r)){var a=this._arr,u=a.length;return o[r]=u,a.push({key:r,priority:s}),this._decrease(u),!0}return!1},t.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},t.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)},t.prototype._heapify=function(r){var s=this._arr,o=2*r,a=o+1,u=r;o<s.length&&(u=s[o].priority<s[u].priority?o:u,a<s.length&&(u=s[a].priority<s[u].priority?a:u),u!==r&&(this._swap(r,u),this._heapify(u)))},t.prototype._decrease=function(r){for(var s=this._arr,o=s[r].priority,a;r!==0&&(a=r>>1,!(s[a].priority<o));)this._swap(r,a),r=a},t.prototype._swap=function(r,s){var o=this._arr,a=this._keyIndices,u=o[r],c=o[s];o[r]=c,o[s]=u,a[c.key]=r,a[u.key]=s},bg}var _g,vN;function dR(){if(vN)return _g;vN=1;var e=Ln(),t=cR();_g=s;var r=e.constant(1);function s(a,u,c,h){return o(a,String(u),c||r,h||function(m){return a.outEdges(m)})}function o(a,u,c,h){var m={},f=new t,g,y,w=function(N){var b=N.v!==g?N.v:N.w,_=m[b],k=c(N),S=y.distance+k;if(k<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+N+" Weight: "+k);S<_.distance&&(_.distance=S,_.predecessor=g,f.decrease(b,S))};for(a.nodes().forEach(function(N){var b=N===u?0:Number.POSITIVE_INFINITY;m[N]={distance:b},f.add(N,b)});f.size()>0&&(g=f.removeMin(),y=m[g],y.distance!==Number.POSITIVE_INFINITY);)h(g).forEach(w);return m}return _g}var kg,yN;function KF(){if(yN)return kg;yN=1;var e=dR(),t=Ln();kg=r;function r(s,o,a){return t.transform(s.nodes(),function(u,c){u[c]=e(s,c,o,a)},{})}return kg}var Sg,wN;function fR(){if(wN)return Sg;wN=1;var e=Ln();Sg=t;function t(r){var s=0,o=[],a={},u=[];function c(h){var m=a[h]={onStack:!0,lowlink:s,index:s++};if(o.push(h),r.successors(h).forEach(function(y){e.has(a,y)?a[y].onStack&&(m.lowlink=Math.min(m.lowlink,a[y].index)):(c(y),m.lowlink=Math.min(m.lowlink,a[y].lowlink))}),m.lowlink===m.index){var f=[],g;do g=o.pop(),a[g].onStack=!1,f.push(g);while(h!==g);u.push(f)}}return r.nodes().forEach(function(h){e.has(a,h)||c(h)}),u}return Sg}var Ng,xN;function YF(){if(xN)return Ng;xN=1;var e=Ln(),t=fR();Ng=r;function r(s){return e.filter(t(s),function(o){return o.length>1||o.length===1&&s.hasEdge(o[0],o[0])})}return Ng}var Eg,bN;function XF(){if(bN)return Eg;bN=1;var e=Ln();Eg=r;var t=e.constant(1);function r(o,a,u){return s(o,a||t,u||function(c){return o.outEdges(c)})}function s(o,a,u){var c={},h=o.nodes();return h.forEach(function(m){c[m]={},c[m][m]={distance:0},h.forEach(function(f){m!==f&&(c[m][f]={distance:Number.POSITIVE_INFINITY})}),u(m).forEach(function(f){var g=f.v===m?f.w:f.v,y=a(f);c[m][g]={distance:y,predecessor:m}})}),h.forEach(function(m){var f=c[m];h.forEach(function(g){var y=c[g];h.forEach(function(w){var N=y[m],b=f[w],_=y[w],k=N.distance+b.distance;k<_.distance&&(_.distance=k,_.predecessor=b.predecessor)})})}),c}return Eg}var Cg,_N;function hR(){if(_N)return Cg;_N=1;var e=Ln();Cg=t,t.CycleException=r;function t(s){var o={},a={},u=[];function c(h){if(e.has(a,h))throw new r;e.has(o,h)||(a[h]=!0,o[h]=!0,e.each(s.predecessors(h),c),delete a[h],u.push(h))}if(e.each(s.sinks(),c),e.size(o)!==s.nodeCount())throw new r;return u}function r(){}return r.prototype=new Error,Cg}var jg,kN;function QF(){if(kN)return jg;kN=1;var e=hR();jg=t;function t(r){try{e(r)}catch(s){if(s instanceof e.CycleException)return!1;throw s}return!0}return jg}var Tg,SN;function pR(){if(SN)return Tg;SN=1;var e=Ln();Tg=t;function t(s,o,a){e.isArray(o)||(o=[o]);var u=(s.isDirected()?s.successors:s.neighbors).bind(s),c=[],h={};return e.each(o,function(m){if(!s.hasNode(m))throw new Error("Graph does not have node: "+m);r(s,m,a==="post",h,u,c)}),c}function r(s,o,a,u,c,h){e.has(u,o)||(u[o]=!0,a||h.push(o),e.each(c(o),function(m){r(s,m,a,u,c,h)}),a&&h.push(o))}return Tg}var Rg,NN;function ZF(){if(NN)return Rg;NN=1;var e=pR();Rg=t;function t(r,s){return e(r,s,"post")}return Rg}var Ag,EN;function JF(){if(EN)return Ag;EN=1;var e=pR();Ag=t;function t(r,s){return e(r,s,"pre")}return Ag}var Mg,CN;function e6(){if(CN)return Mg;CN=1;var e=Ln(),t=O0(),r=cR();Mg=s;function s(o,a){var u=new t,c={},h=new r,m;function f(y){var w=y.v===m?y.w:y.v,N=h.priority(w);if(N!==void 0){var b=a(y);b<N&&(c[w]=m,h.decrease(w,b))}}if(o.nodeCount()===0)return u;e.each(o.nodes(),function(y){h.add(y,Number.POSITIVE_INFINITY),u.setNode(y)}),h.decrease(o.nodes()[0],0);for(var g=!1;h.size()>0;){if(m=h.removeMin(),e.has(c,m))u.setEdge(m,c[m]);else{if(g)throw new Error("Input graph is not connected: "+o);g=!0}o.nodeEdges(m).forEach(f)}return u}return Mg}var Ig,jN;function t6(){return jN||(jN=1,Ig={components:VF(),dijkstra:dR(),dijkstraAll:KF(),findCycles:YF(),floydWarshall:XF(),isAcyclic:QF(),postorder:ZF(),preorder:JF(),prim:e6(),tarjan:fR(),topsort:hR()}),Ig}var Og,TN;function n6(){if(TN)return Og;TN=1;var e=HF();return Og={Graph:e.Graph,json:GF(),alg:t6(),version:e.version},Og}var Pg,RN;function or(){if(RN)return Pg;RN=1;var e;if(typeof y0=="function")try{e=n6()}catch{}return e||(e=window.graphlib),Pg=e,Pg}var $g,AN;function r6(){if(AN)return $g;AN=1;var e=DT(),t=1,r=4;function s(o){return e(o,t|r)}return $g=s,$g}var Lg,MN;function Uc(){if(MN)return Lg;MN=1;var e=Fo(),t=Xr(),r=Oc(),s=$n();function o(a,u,c){if(!s(c))return!1;var h=typeof u;return(h=="number"?t(c)&&r(u,c.length):h=="string"&&u in c)?e(c[u],a):!1}return Lg=o,Lg}var qg,IN;function s6(){if(IN)return qg;IN=1;var e=Bc(),t=Fo(),r=Uc(),s=xi(),o=Object.prototype,a=o.hasOwnProperty,u=e(function(c,h){c=Object(c);var m=-1,f=h.length,g=f>2?h[2]:void 0;for(g&&r(h[0],h[1],g)&&(f=1);++m<f;)for(var y=h[m],w=s(y),N=-1,b=w.length;++N<b;){var _=w[N],k=c[_];(k===void 0||t(k,o[_])&&!a.call(c,_))&&(c[_]=y[_])}return c});return qg=u,qg}var Dg,ON;function i6(){if(ON)return Dg;ON=1;var e=Qr(),t=Xr(),r=As();function s(o){return function(a,u,c){var h=Object(a);if(!t(a)){var m=e(u,3);a=r(a),u=function(g){return m(h[g],g,h)}}var f=o(a,u,c);return f>-1?h[m?a[f]:f]:void 0}}return Dg=s,Dg}var Fg,PN;function o6(){if(PN)return Fg;PN=1;var e=/\s/;function t(r){for(var s=r.length;s--&&e.test(r.charAt(s)););return s}return Fg=t,Fg}var zg,$N;function a6(){if($N)return zg;$N=1;var e=o6(),t=/^\s+/;function r(s){return s&&s.slice(0,e(s)+1).replace(t,"")}return zg=r,zg}var Bg,LN;function l6(){if(LN)return Bg;LN=1;var e=a6(),t=$n(),r=Wo(),s=NaN,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;function h(m){if(typeof m=="number")return m;if(r(m))return s;if(t(m)){var f=typeof m.valueOf=="function"?m.valueOf():m;m=t(f)?f+"":f}if(typeof m!="string")return m===0?m:+m;m=e(m);var g=a.test(m);return g||u.test(m)?c(m.slice(2),g?2:8):o.test(m)?s:+m}return Bg=h,Bg}var Ug,qN;function mR(){if(qN)return Ug;qN=1;var e=l6(),t=1/0,r=17976931348623157e292;function s(o){if(!o)return o===0?o:0;if(o=e(o),o===t||o===-t){var a=o<0?-1:1;return a*r}return o===o?o:0}return Ug=s,Ug}var Wg,DN;function u6(){if(DN)return Wg;DN=1;var e=mR();function t(r){var s=e(r),o=s%1;return s===s?o?s-o:s:0}return Wg=t,Wg}var Hg,FN;function c6(){if(FN)return Hg;FN=1;var e=aR(),t=Qr(),r=u6(),s=Math.max;function o(a,u,c){var h=a==null?0:a.length;if(!h)return-1;var m=c==null?0:r(c);return m<0&&(m=s(h+m,0)),e(a,t(u,3),m)}return Hg=o,Hg}var Gg,zN;function d6(){if(zN)return Gg;zN=1;var e=i6(),t=c6(),r=e(t);return Gg=r,Gg}var Vg,BN;function gR(){if(BN)return Vg;BN=1;var e=I0();function t(r){var s=r==null?0:r.length;return s?e(r,1):[]}return Vg=t,Vg}var Kg,UN;function f6(){if(UN)return Kg;UN=1;var e=T0(),t=FT(),r=xi();function s(o,a){return o==null?o:e(o,t(a),r)}return Kg=s,Kg}var Yg,WN;function h6(){if(WN)return Yg;WN=1;function e(t){var r=t==null?0:t.length;return r?t[r-1]:void 0}return Yg=e,Yg}var Xg,HN;function p6(){if(HN)return Xg;HN=1;var e=Mc(),t=R0(),r=Qr();function s(o,a){var u={};return a=r(a,3),t(o,function(c,h,m){e(u,h,a(c,h,m))}),u}return Xg=s,Xg}var Qg,GN;function P0(){if(GN)return Qg;GN=1;var e=Wo();function t(r,s,o){for(var a=-1,u=r.length;++a<u;){var c=r[a],h=s(c);if(h!=null&&(m===void 0?h===h&&!e(h):o(h,m)))var m=h,f=c}return f}return Qg=t,Qg}var Zg,VN;function m6(){if(VN)return Zg;VN=1;function e(t,r){return t>r}return Zg=e,Zg}var Jg,KN;function g6(){if(KN)return Jg;KN=1;var e=P0(),t=m6(),r=bi();function s(o){return o&&o.length?e(o,r,t):void 0}return Jg=s,Jg}var ev,YN;function vR(){if(YN)return ev;YN=1;var e=Mc(),t=Fo();function r(s,o,a){(a!==void 0&&!t(s[o],a)||a===void 0&&!(o in s))&&e(s,o,a)}return ev=r,ev}var tv,XN;function v6(){if(XN)return tv;XN=1;var e=yi(),t=Lc(),r=Nr(),s="[object Object]",o=Function.prototype,a=Object.prototype,u=o.toString,c=a.hasOwnProperty,h=u.call(Object);function m(f){if(!r(f)||e(f)!=s)return!1;var g=t(f);if(g===null)return!0;var y=c.call(g,"constructor")&&g.constructor;return typeof y=="function"&&y instanceof y&&u.call(y)==h}return tv=m,tv}var nv,QN;function yR(){if(QN)return nv;QN=1;function e(t,r){if(!(r==="constructor"&&typeof t[r]=="function")&&r!="__proto__")return t[r]}return nv=e,nv}var rv,ZN;function y6(){if(ZN)return rv;ZN=1;var e=ml(),t=xi();function r(s){return e(s,t(s))}return rv=r,rv}var sv,JN;function w6(){if(JN)return sv;JN=1;var e=vR(),t=CT(),r=$T(),s=jT(),o=qT(),a=gl(),u=Tt(),c=lR(),h=Bo(),m=pl(),f=$n(),g=v6(),y=vl(),w=yR(),N=y6();function b(_,k,S,C,T,M,P){var $=w(_,S),W=w(k,S),I=P.get(W);if(I){e(_,S,I);return}var A=M?M($,W,S+"",_,k,P):void 0,D=A===void 0;if(D){var H=u(W),Y=!H&&h(W),j=!H&&!Y&&y(W);A=W,H||Y||j?u($)?A=$:c($)?A=s($):Y?(D=!1,A=t(W,!0)):j?(D=!1,A=r(W,!0)):A=[]:g(W)||a(W)?(A=$,a($)?A=N($):(!f($)||m($))&&(A=o(W))):D=!1}D&&(P.set(W,A),T(A,W,C,M,P),P.delete(W)),e(_,S,A)}return sv=b,sv}var iv,eE;function x6(){if(eE)return iv;eE=1;var e=Ac(),t=vR(),r=T0(),s=w6(),o=$n(),a=xi(),u=yR();function c(h,m,f,g,y){h!==m&&r(m,function(w,N){if(y||(y=new e),o(w))s(h,m,N,f,c,g,y);else{var b=g?g(u(h,N),w,N+"",h,m,y):void 0;b===void 0&&(b=w),t(h,N,b)}},a)}return iv=c,iv}var ov,tE;function b6(){if(tE)return ov;tE=1;var e=Bc(),t=Uc();function r(s){return e(function(o,a){var u=-1,c=a.length,h=c>1?a[c-1]:void 0,m=c>2?a[2]:void 0;for(h=s.length>3&&typeof h=="function"?(c--,h):void 0,m&&t(a[0],a[1],m)&&(h=c<3?void 0:h,c=1),o=Object(o);++u<c;){var f=a[u];f&&s(o,f,u,h)}return o})}return ov=r,ov}var av,nE;function _6(){if(nE)return av;nE=1;var e=x6(),t=b6(),r=t(function(s,o,a){e(s,o,a)});return av=r,av}var lv,rE;function wR(){if(rE)return lv;rE=1;function e(t,r){return t<r}return lv=e,lv}var uv,sE;function k6(){if(sE)return uv;sE=1;var e=P0(),t=wR(),r=bi();function s(o){return o&&o.length?e(o,r,t):void 0}return uv=s,uv}var cv,iE;function S6(){if(iE)return cv;iE=1;var e=P0(),t=Qr(),r=wR();function s(o,a){return o&&o.length?e(o,t(a,2),r):void 0}return cv=s,cv}var dv,oE;function N6(){if(oE)return dv;oE=1;var e=ur(),t=function(){return e.Date.now()};return dv=t,dv}var fv,aE;function E6(){if(aE)return fv;aE=1;var e=Ic(),t=Fc(),r=Oc(),s=$n(),o=yl();function a(u,c,h,m){if(!s(u))return u;c=t(c,u);for(var f=-1,g=c.length,y=g-1,w=u;w!=null&&++f<g;){var N=o(c[f]),b=h;if(N==="__proto__"||N==="constructor"||N==="prototype")return u;if(f!=y){var _=w[N];b=m?m(_,N,w):void 0,b===void 0&&(b=s(_)?_:r(c[f+1])?[]:{})}e(w,N,b),w=w[N]}return u}return fv=a,fv}var hv,lE;function C6(){if(lE)return hv;lE=1;var e=zc(),t=E6(),r=Fc();function s(o,a,u){for(var c=-1,h=a.length,m={};++c<h;){var f=a[c],g=e(o,f);u(g,f)&&t(m,r(f,o),g)}return m}return hv=s,hv}var pv,uE;function j6(){if(uE)return pv;uE=1;var e=C6(),t=QT();function r(s,o){return e(s,o,function(a,u){return t(s,u)})}return pv=r,pv}var mv,cE;function T6(){if(cE)return mv;cE=1;var e=gR(),t=iR(),r=oR();function s(o){return r(t(o,void 0,e),o+"")}return mv=s,mv}var gv,dE;function R6(){if(dE)return gv;dE=1;var e=j6(),t=T6(),r=t(function(s,o){return s==null?{}:e(s,o)});return gv=r,gv}var vv,fE;function A6(){if(fE)return vv;fE=1;var e=Math.ceil,t=Math.max;function r(s,o,a,u){for(var c=-1,h=t(e((o-s)/(a||1)),0),m=Array(h);h--;)m[u?h:++c]=s,s+=a;return m}return vv=r,vv}var yv,hE;function M6(){if(hE)return yv;hE=1;var e=A6(),t=Uc(),r=mR();function s(o){return function(a,u,c){return c&&typeof c!="number"&&t(a,u,c)&&(u=c=void 0),a=r(a),u===void 0?(u=a,a=0):u=r(u),c=c===void 0?a<u?1:-1:r(c),e(a,u,c,o)}}return yv=s,yv}var wv,pE;function I6(){if(pE)return wv;pE=1;var e=M6(),t=e();return wv=t,wv}var xv,mE;function O6(){if(mE)return xv;mE=1;function e(t,r){var s=t.length;for(t.sort(r);s--;)t[s]=t[s].value;return t}return xv=e,xv}var bv,gE;function P6(){if(gE)return bv;gE=1;var e=Wo();function t(r,s){if(r!==s){var o=r!==void 0,a=r===null,u=r===r,c=e(r),h=s!==void 0,m=s===null,f=s===s,g=e(s);if(!m&&!g&&!c&&r>s||c&&h&&f&&!m&&!g||a&&h&&f||!o&&f||!u)return 1;if(!a&&!c&&!g&&r<s||g&&o&&u&&!a&&!c||m&&o&&u||!h&&u||!f)return-1}return 0}return bv=t,bv}var _v,vE;function $6(){if(vE)return _v;vE=1;var e=P6();function t(r,s,o){for(var a=-1,u=r.criteria,c=s.criteria,h=u.length,m=o.length;++a<h;){var f=e(u[a],c[a]);if(f){if(a>=m)return f;var g=o[a];return f*(g=="desc"?-1:1)}}return r.index-s.index}return _v=t,_v}var kv,yE;function L6(){if(yE)return kv;yE=1;var e=Dc(),t=zc(),r=Qr(),s=nR(),o=O6(),a=Pc(),u=$6(),c=bi(),h=Tt();function m(f,g,y){g.length?g=e(g,function(b){return h(b)?function(_){return t(_,b.length===1?b[0]:b)}:b}):g=[c];var w=-1;g=e(g,a(r));var N=s(f,function(b,_,k){var S=e(g,function(C){return C(b)});return{criteria:S,index:++w,value:b}});return o(N,function(b,_){return u(b,_,y)})}return kv=m,kv}var Sv,wE;function q6(){if(wE)return Sv;wE=1;var e=I0(),t=L6(),r=Bc(),s=Uc(),o=r(function(a,u){if(a==null)return[];var c=u.length;return c>1&&s(a,u[0],u[1])?u=[]:c>2&&s(u[0],u[1],u[2])&&(u=[u[0]]),t(a,e(u,1),[])});return Sv=o,Sv}var Nv,xE;function D6(){if(xE)return Nv;xE=1;var e=YT(),t=0;function r(s){var o=++t;return e(s)+o}return Nv=r,Nv}var Ev,bE;function F6(){if(bE)return Ev;bE=1;function e(t,r,s){for(var o=-1,a=t.length,u=r.length,c={};++o<a;){var h=o<u?r[o]:void 0;s(c,t[o],h)}return c}return Ev=e,Ev}var Cv,_E;function z6(){if(_E)return Cv;_E=1;var e=Ic(),t=F6();function r(s,o){return t(s||[],o||[],e)}return Cv=r,Cv}var jv,kE;function gt(){if(kE)return jv;kE=1;var e;if(typeof y0=="function")try{e={cloneDeep:r6(),constant:j0(),defaults:s6(),each:BT(),filter:JT(),find:d6(),flatten:gR(),forEach:zT(),forIn:f6(),has:eR(),isUndefined:tR(),last:h6(),map:rR(),mapValues:p6(),max:g6(),merge:_6(),min:k6(),minBy:S6(),now:N6(),pick:R6(),range:I6(),reduce:sR(),sortBy:q6(),uniqueId:D6(),values:uR(),zipObject:z6()}}catch{}return e||(e=window._),jv=e,jv}var Tv,SE;function B6(){if(SE)return Tv;SE=1,Tv=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 t(o),o},e.prototype.enqueue=function(s){var o=this._sentinel;s._prev&&s._next&&t(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,a=o._prev;a!==o;)s.push(JSON.stringify(a,r)),a=a._prev;return"["+s.join(", ")+"]"};function t(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 Tv}var Rv,NE;function U6(){if(NE)return Rv;NE=1;var e=gt(),t=or().Graph,r=B6();Rv=o;var s=e.constant(1);function o(m,f){if(m.nodeCount()<=1)return[];var g=c(m,f||s),y=a(g.graph,g.buckets,g.zeroIdx);return e.flatten(e.map(y,function(w){return m.outEdges(w.v,w.w)}),!0)}function a(m,f,g){for(var y=[],w=f[f.length-1],N=f[0],b;m.nodeCount();){for(;b=N.dequeue();)u(m,f,g,b);for(;b=w.dequeue();)u(m,f,g,b);if(m.nodeCount()){for(var _=f.length-2;_>0;--_)if(b=f[_].dequeue(),b){y=y.concat(u(m,f,g,b,!0));break}}}return y}function u(m,f,g,y,w){var N=w?[]:void 0;return e.forEach(m.inEdges(y.v),function(b){var _=m.edge(b),k=m.node(b.v);w&&N.push({v:b.v,w:b.w}),k.out-=_,h(f,g,k)}),e.forEach(m.outEdges(y.v),function(b){var _=m.edge(b),k=b.w,S=m.node(k);S.in-=_,h(f,g,S)}),m.removeNode(y.v),N}function c(m,f){var g=new t,y=0,w=0;e.forEach(m.nodes(),function(_){g.setNode(_,{v:_,in:0,out:0})}),e.forEach(m.edges(),function(_){var k=g.edge(_.v,_.w)||0,S=f(_),C=k+S;g.setEdge(_.v,_.w,C),w=Math.max(w,g.node(_.v).out+=S),y=Math.max(y,g.node(_.w).in+=S)});var N=e.range(w+y+3).map(function(){return new r}),b=y+1;return e.forEach(g.nodes(),function(_){h(N,b,g.node(_))}),{graph:g,buckets:N,zeroIdx:b}}function h(m,f,g){g.out?g.in?m[g.out-g.in+f].enqueue(g):m[m.length-1].enqueue(g):m[0].enqueue(g)}return Rv}var Av,EE;function W6(){if(EE)return Av;EE=1;var e=gt(),t=U6();Av={run:r,undo:o};function r(a){var u=a.graph().acyclicer==="greedy"?t(a,c(a)):s(a);e.forEach(u,function(h){var m=a.edge(h);a.removeEdge(h),m.forwardName=h.name,m.reversed=!0,a.setEdge(h.w,h.v,m,e.uniqueId("rev"))});function c(h){return function(m){return h.edge(m).weight}}}function s(a){var u=[],c={},h={};function m(f){e.has(h,f)||(h[f]=!0,c[f]=!0,e.forEach(a.outEdges(f),function(g){e.has(c,g.w)?u.push(g):m(g.w)}),delete c[f])}return e.forEach(a.nodes(),m),u}function o(a){e.forEach(a.edges(),function(u){var c=a.edge(u);if(c.reversed){a.removeEdge(u);var h=c.forwardName;delete c.reversed,delete c.forwardName,a.setEdge(u.w,u.v,c,h)}})}return Av}var Mv,CE;function hn(){if(CE)return Mv;CE=1;var e=gt(),t=or().Graph;Mv={addDummyNode:r,simplify:s,asNonCompoundGraph:o,successorWeights:a,predecessorWeights:u,intersectRect:c,buildLayerMatrix:h,normalizeRanks:m,removeEmptyRanks:f,addBorderNode:g,maxRank:y,partition:w,time:N,notime:b};function r(_,k,S,C){var T;do T=e.uniqueId(C);while(_.hasNode(T));return S.dummy=k,_.setNode(T,S),T}function s(_){var k=new t().setGraph(_.graph());return e.forEach(_.nodes(),function(S){k.setNode(S,_.node(S))}),e.forEach(_.edges(),function(S){var C=k.edge(S.v,S.w)||{weight:0,minlen:1},T=_.edge(S);k.setEdge(S.v,S.w,{weight:C.weight+T.weight,minlen:Math.max(C.minlen,T.minlen)})}),k}function o(_){var k=new t({multigraph:_.isMultigraph()}).setGraph(_.graph());return e.forEach(_.nodes(),function(S){_.children(S).length||k.setNode(S,_.node(S))}),e.forEach(_.edges(),function(S){k.setEdge(S,_.edge(S))}),k}function a(_){var k=e.map(_.nodes(),function(S){var C={};return e.forEach(_.outEdges(S),function(T){C[T.w]=(C[T.w]||0)+_.edge(T).weight}),C});return e.zipObject(_.nodes(),k)}function u(_){var k=e.map(_.nodes(),function(S){var C={};return e.forEach(_.inEdges(S),function(T){C[T.v]=(C[T.v]||0)+_.edge(T).weight}),C});return e.zipObject(_.nodes(),k)}function c(_,k){var S=_.x,C=_.y,T=k.x-S,M=k.y-C,P=_.width/2,$=_.height/2;if(!T&&!M)throw new Error("Not possible to find intersection inside of the rectangle");var W,I;return Math.abs(M)*P>Math.abs(T)*$?(M<0&&($=-$),W=$*T/M,I=$):(T<0&&(P=-P),W=P,I=P*M/T),{x:S+W,y:C+I}}function h(_){var k=e.map(e.range(y(_)+1),function(){return[]});return e.forEach(_.nodes(),function(S){var C=_.node(S),T=C.rank;e.isUndefined(T)||(k[T][C.order]=S)}),k}function m(_){var k=e.min(e.map(_.nodes(),function(S){return _.node(S).rank}));e.forEach(_.nodes(),function(S){var C=_.node(S);e.has(C,"rank")&&(C.rank-=k)})}function f(_){var k=e.min(e.map(_.nodes(),function(M){return _.node(M).rank})),S=[];e.forEach(_.nodes(),function(M){var P=_.node(M).rank-k;S[P]||(S[P]=[]),S[P].push(M)});var C=0,T=_.graph().nodeRankFactor;e.forEach(S,function(M,P){e.isUndefined(M)&&P%T!==0?--C:C&&e.forEach(M,function($){_.node($).rank+=C})})}function g(_,k,S,C){var T={width:0,height:0};return arguments.length>=4&&(T.rank=S,T.order=C),r(_,"border",T,k)}function y(_){return e.max(e.map(_.nodes(),function(k){var S=_.node(k).rank;if(!e.isUndefined(S))return S}))}function w(_,k){var S={lhs:[],rhs:[]};return e.forEach(_,function(C){k(C)?S.lhs.push(C):S.rhs.push(C)}),S}function N(_,k){var S=e.now();try{return k()}finally{console.log(_+" time: "+(e.now()-S)+"ms")}}function b(_,k){return k()}return Mv}var Iv,jE;function H6(){if(jE)return Iv;jE=1;var e=gt(),t=hn();Iv={run:r,undo:o};function r(a){a.graph().dummyChains=[],e.forEach(a.edges(),function(u){s(a,u)})}function s(a,u){var c=u.v,h=a.node(c).rank,m=u.w,f=a.node(m).rank,g=u.name,y=a.edge(u),w=y.labelRank;if(f!==h+1){a.removeEdge(u);var N,b,_;for(_=0,++h;h<f;++_,++h)y.points=[],b={width:0,height:0,edgeLabel:y,edgeObj:u,rank:h},N=t.addDummyNode(a,"edge",b,"_d"),h===w&&(b.width=y.width,b.height=y.height,b.dummy="edge-label",b.labelpos=y.labelpos),a.setEdge(c,N,{weight:y.weight},g),_===0&&a.graph().dummyChains.push(N),c=N;a.setEdge(c,m,{weight:y.weight},g)}}function o(a){e.forEach(a.graph().dummyChains,function(u){var c=a.node(u),h=c.edgeLabel,m;for(a.setEdge(c.edgeObj,h);c.dummy;)m=a.successors(u)[0],a.removeNode(u),h.points.push({x:c.x,y:c.y}),c.dummy==="edge-label"&&(h.x=c.x,h.y=c.y,h.width=c.width,h.height=c.height),u=m,c=a.node(u)})}return Iv}var Ov,TE;function pc(){if(TE)return Ov;TE=1;var e=gt();Ov={longestPath:t,slack:r};function t(s){var o={};function a(u){var c=s.node(u);if(e.has(o,u))return c.rank;o[u]=!0;var h=e.min(e.map(s.outEdges(u),function(m){return a(m.w)-s.edge(m).minlen}));return(h===Number.POSITIVE_INFINITY||h===void 0||h===null)&&(h=0),c.rank=h}e.forEach(s.sources(),a)}function r(s,o){return s.node(o.w).rank-s.node(o.v).rank-s.edge(o).minlen}return Ov}var Pv,RE;function xR(){if(RE)return Pv;RE=1;var e=gt(),t=or().Graph,r=pc().slack;Pv=s;function s(c){var h=new t({directed:!1}),m=c.nodes()[0],f=c.nodeCount();h.setNode(m,{});for(var g,y;o(h,c)<f;)g=a(h,c),y=h.hasNode(g.v)?r(c,g):-r(c,g),u(h,c,y);return h}function o(c,h){function m(f){e.forEach(h.nodeEdges(f),function(g){var y=g.v,w=f===y?g.w:y;!c.hasNode(w)&&!r(h,g)&&(c.setNode(w,{}),c.setEdge(f,w,{}),m(w))})}return e.forEach(c.nodes(),m),c.nodeCount()}function a(c,h){return e.minBy(h.edges(),function(m){if(c.hasNode(m.v)!==c.hasNode(m.w))return r(h,m)})}function u(c,h,m){e.forEach(c.nodes(),function(f){h.node(f).rank+=m})}return Pv}var $v,AE;function G6(){if(AE)return $v;AE=1;var e=gt(),t=xR(),r=pc().slack,s=pc().longestPath,o=or().alg.preorder,a=or().alg.postorder,u=hn().simplify;$v=c,c.initLowLimValues=g,c.initCutValues=h,c.calcCutValue=f,c.leaveEdge=w,c.enterEdge=N,c.exchangeEdges=b;function c(C){C=u(C),s(C);var T=t(C);g(T),h(T,C);for(var M,P;M=w(T);)P=N(T,C,M),b(T,C,M,P)}function h(C,T){var M=a(C,C.nodes());M=M.slice(0,M.length-1),e.forEach(M,function(P){m(C,T,P)})}function m(C,T,M){var P=C.node(M),$=P.parent;C.edge(M,$).cutvalue=f(C,T,M)}function f(C,T,M){var P=C.node(M),$=P.parent,W=!0,I=T.edge(M,$),A=0;return I||(W=!1,I=T.edge($,M)),A=I.weight,e.forEach(T.nodeEdges(M),function(D){var H=D.v===M,Y=H?D.w:D.v;if(Y!==$){var j=H===W,X=T.edge(D).weight;if(A+=j?X:-X,k(C,M,Y)){var z=C.edge(M,Y).cutvalue;A+=j?-z:z}}}),A}function g(C,T){arguments.length<2&&(T=C.nodes()[0]),y(C,{},1,T)}function y(C,T,M,P,$){var W=M,I=C.node(P);return T[P]=!0,e.forEach(C.neighbors(P),function(A){e.has(T,A)||(M=y(C,T,M,A,P))}),I.low=W,I.lim=M++,$?I.parent=$:delete I.parent,M}function w(C){return e.find(C.edges(),function(T){return C.edge(T).cutvalue<0})}function N(C,T,M){var P=M.v,$=M.w;T.hasEdge(P,$)||(P=M.w,$=M.v);var W=C.node(P),I=C.node($),A=W,D=!1;W.lim>I.lim&&(A=I,D=!0);var H=e.filter(T.edges(),function(Y){return D===S(C,C.node(Y.v),A)&&D!==S(C,C.node(Y.w),A)});return e.minBy(H,function(Y){return r(T,Y)})}function b(C,T,M,P){var $=M.v,W=M.w;C.removeEdge($,W),C.setEdge(P.v,P.w,{}),g(C),h(C,T),_(C,T)}function _(C,T){var M=e.find(C.nodes(),function($){return!T.node($).parent}),P=o(C,M);P=P.slice(1),e.forEach(P,function($){var W=C.node($).parent,I=T.edge($,W),A=!1;I||(I=T.edge(W,$),A=!0),T.node($).rank=T.node(W).rank+(A?I.minlen:-I.minlen)})}function k(C,T,M){return C.hasEdge(T,M)}function S(C,T,M){return M.low<=T.lim&&T.lim<=M.lim}return $v}var Lv,ME;function V6(){if(ME)return Lv;ME=1;var e=pc(),t=e.longestPath,r=xR(),s=G6();Lv=o;function o(h){switch(h.graph().ranker){case"network-simplex":c(h);break;case"tight-tree":u(h);break;case"longest-path":a(h);break;default:c(h)}}var a=t;function u(h){t(h),r(h)}function c(h){s(h)}return Lv}var qv,IE;function K6(){if(IE)return qv;IE=1;var e=gt();qv=t;function t(o){var a=s(o);e.forEach(o.graph().dummyChains,function(u){for(var c=o.node(u),h=c.edgeObj,m=r(o,a,h.v,h.w),f=m.path,g=m.lca,y=0,w=f[y],N=!0;u!==h.w;){if(c=o.node(u),N){for(;(w=f[y])!==g&&o.node(w).maxRank<c.rank;)y++;w===g&&(N=!1)}if(!N){for(;y<f.length-1&&o.node(w=f[y+1]).minRank<=c.rank;)y++;w=f[y]}o.setParent(u,w),u=o.successors(u)[0]}})}function r(o,a,u,c){var h=[],m=[],f=Math.min(a[u].low,a[c].low),g=Math.max(a[u].lim,a[c].lim),y,w;y=u;do y=o.parent(y),h.push(y);while(y&&(a[y].low>f||g>a[y].lim));for(w=y,y=c;(y=o.parent(y))!==w;)m.push(y);return{path:h.concat(m.reverse()),lca:w}}function s(o){var a={},u=0;function c(h){var m=u;e.forEach(o.children(h),c),a[h]={low:m,lim:u++}}return e.forEach(o.children(),c),a}return qv}var Dv,OE;function Y6(){if(OE)return Dv;OE=1;var e=gt(),t=hn();Dv={run:r,cleanup:u};function r(c){var h=t.addDummyNode(c,"root",{},"_root"),m=o(c),f=e.max(e.values(m))-1,g=2*f+1;c.graph().nestingRoot=h,e.forEach(c.edges(),function(w){c.edge(w).minlen*=g});var y=a(c)+1;e.forEach(c.children(),function(w){s(c,h,g,y,f,m,w)}),c.graph().nodeRankFactor=g}function s(c,h,m,f,g,y,w){var N=c.children(w);if(!N.length){w!==h&&c.setEdge(h,w,{weight:0,minlen:m});return}var b=t.addBorderNode(c,"_bt"),_=t.addBorderNode(c,"_bb"),k=c.node(w);c.setParent(b,w),k.borderTop=b,c.setParent(_,w),k.borderBottom=_,e.forEach(N,function(S){s(c,h,m,f,g,y,S);var C=c.node(S),T=C.borderTop?C.borderTop:S,M=C.borderBottom?C.borderBottom:S,P=C.borderTop?f:2*f,$=T!==M?1:g-y[w]+1;c.setEdge(b,T,{weight:P,minlen:$,nestingEdge:!0}),c.setEdge(M,_,{weight:P,minlen:$,nestingEdge:!0})}),c.parent(w)||c.setEdge(h,b,{weight:0,minlen:g+y[w]})}function o(c){var h={};function m(f,g){var y=c.children(f);y&&y.length&&e.forEach(y,function(w){m(w,g+1)}),h[f]=g}return e.forEach(c.children(),function(f){m(f,1)}),h}function a(c){return e.reduce(c.edges(),function(h,m){return h+c.edge(m).weight},0)}function u(c){var h=c.graph();c.removeNode(h.nestingRoot),delete h.nestingRoot,e.forEach(c.edges(),function(m){var f=c.edge(m);f.nestingEdge&&c.removeEdge(m)})}return Dv}var Fv,PE;function X6(){if(PE)return Fv;PE=1;var e=gt(),t=hn();Fv=r;function r(o){function a(u){var c=o.children(u),h=o.node(u);if(c.length&&e.forEach(c,a),e.has(h,"minRank")){h.borderLeft=[],h.borderRight=[];for(var m=h.minRank,f=h.maxRank+1;m<f;++m)s(o,"borderLeft","_bl",u,h,m),s(o,"borderRight","_br",u,h,m)}}e.forEach(o.children(),a)}function s(o,a,u,c,h,m){var f={width:0,height:0,rank:m,borderType:a},g=h[a][m-1],y=t.addDummyNode(o,"border",f,u);h[a][m]=y,o.setParent(y,c),g&&o.setEdge(g,y,{weight:1})}return Fv}var zv,$E;function Q6(){if($E)return zv;$E=1;var e=gt();zv={adjust:t,undo:r};function t(m){var f=m.graph().rankdir.toLowerCase();(f==="lr"||f==="rl")&&s(m)}function r(m){var f=m.graph().rankdir.toLowerCase();(f==="bt"||f==="rl")&&a(m),(f==="lr"||f==="rl")&&(c(m),s(m))}function s(m){e.forEach(m.nodes(),function(f){o(m.node(f))}),e.forEach(m.edges(),function(f){o(m.edge(f))})}function o(m){var f=m.width;m.width=m.height,m.height=f}function a(m){e.forEach(m.nodes(),function(f){u(m.node(f))}),e.forEach(m.edges(),function(f){var g=m.edge(f);e.forEach(g.points,u),e.has(g,"y")&&u(g)})}function u(m){m.y=-m.y}function c(m){e.forEach(m.nodes(),function(f){h(m.node(f))}),e.forEach(m.edges(),function(f){var g=m.edge(f);e.forEach(g.points,h),e.has(g,"x")&&h(g)})}function h(m){var f=m.x;m.x=m.y,m.y=f}return zv}var Bv,LE;function Z6(){if(LE)return Bv;LE=1;var e=gt();Bv=t;function t(r){var s={},o=e.filter(r.nodes(),function(m){return!r.children(m).length}),a=e.max(e.map(o,function(m){return r.node(m).rank})),u=e.map(e.range(a+1),function(){return[]});function c(m){if(!e.has(s,m)){s[m]=!0;var f=r.node(m);u[f.rank].push(m),e.forEach(r.successors(m),c)}}var h=e.sortBy(o,function(m){return r.node(m).rank});return e.forEach(h,c),u}return Bv}var Uv,qE;function J6(){if(qE)return Uv;qE=1;var e=gt();Uv=t;function t(s,o){for(var a=0,u=1;u<o.length;++u)a+=r(s,o[u-1],o[u]);return a}function r(s,o,a){for(var u=e.zipObject(a,e.map(a,function(y,w){return w})),c=e.flatten(e.map(o,function(y){return e.sortBy(e.map(s.outEdges(y),function(w){return{pos:u[w.w],weight:s.edge(w).weight}}),"pos")}),!0),h=1;h<a.length;)h<<=1;var m=2*h-1;h-=1;var f=e.map(new Array(m),function(){return 0}),g=0;return e.forEach(c.forEach(function(y){var w=y.pos+h;f[w]+=y.weight;for(var N=0;w>0;)w%2&&(N+=f[w+1]),w=w-1>>1,f[w]+=y.weight;g+=y.weight*N})),g}return Uv}var Wv,DE;function ez(){if(DE)return Wv;DE=1;var e=gt();Wv=t;function t(r,s){return e.map(s,function(o){var a=r.inEdges(o);if(a.length){var u=e.reduce(a,function(c,h){var m=r.edge(h),f=r.node(h.v);return{sum:c.sum+m.weight*f.order,weight:c.weight+m.weight}},{sum:0,weight:0});return{v:o,barycenter:u.sum/u.weight,weight:u.weight}}else return{v:o}})}return Wv}var Hv,FE;function tz(){if(FE)return Hv;FE=1;var e=gt();Hv=t;function t(o,a){var u={};e.forEach(o,function(h,m){var f=u[h.v]={indegree:0,in:[],out:[],vs:[h.v],i:m};e.isUndefined(h.barycenter)||(f.barycenter=h.barycenter,f.weight=h.weight)}),e.forEach(a.edges(),function(h){var m=u[h.v],f=u[h.w];!e.isUndefined(m)&&!e.isUndefined(f)&&(f.indegree++,m.out.push(u[h.w]))});var c=e.filter(u,function(h){return!h.indegree});return r(c)}function r(o){var a=[];function u(m){return function(f){f.merged||(e.isUndefined(f.barycenter)||e.isUndefined(m.barycenter)||f.barycenter>=m.barycenter)&&s(m,f)}}function c(m){return function(f){f.in.push(m),--f.indegree===0&&o.push(f)}}for(;o.length;){var h=o.pop();a.push(h),e.forEach(h.in.reverse(),u(h)),e.forEach(h.out,c(h))}return e.map(e.filter(a,function(m){return!m.merged}),function(m){return e.pick(m,["vs","i","barycenter","weight"])})}function s(o,a){var u=0,c=0;o.weight&&(u+=o.barycenter*o.weight,c+=o.weight),a.weight&&(u+=a.barycenter*a.weight,c+=a.weight),o.vs=a.vs.concat(o.vs),o.barycenter=u/c,o.weight=c,o.i=Math.min(a.i,o.i),a.merged=!0}return Hv}var Gv,zE;function nz(){if(zE)return Gv;zE=1;var e=gt(),t=hn();Gv=r;function r(a,u){var c=t.partition(a,function(b){return e.has(b,"barycenter")}),h=c.lhs,m=e.sortBy(c.rhs,function(b){return-b.i}),f=[],g=0,y=0,w=0;h.sort(o(!!u)),w=s(f,m,w),e.forEach(h,function(b){w+=b.vs.length,f.push(b.vs),g+=b.barycenter*b.weight,y+=b.weight,w=s(f,m,w)});var N={vs:e.flatten(f,!0)};return y&&(N.barycenter=g/y,N.weight=y),N}function s(a,u,c){for(var h;u.length&&(h=e.last(u)).i<=c;)u.pop(),a.push(h.vs),c++;return c}function o(a){return function(u,c){return u.barycenter<c.barycenter?-1:u.barycenter>c.barycenter?1:a?c.i-u.i:u.i-c.i}}return Gv}var Vv,BE;function rz(){if(BE)return Vv;BE=1;var e=gt(),t=ez(),r=tz(),s=nz();Vv=o;function o(c,h,m,f){var g=c.children(h),y=c.node(h),w=y?y.borderLeft:void 0,N=y?y.borderRight:void 0,b={};w&&(g=e.filter(g,function(M){return M!==w&&M!==N}));var _=t(c,g);e.forEach(_,function(M){if(c.children(M.v).length){var P=o(c,M.v,m,f);b[M.v]=P,e.has(P,"barycenter")&&u(M,P)}});var k=r(_,m);a(k,b);var S=s(k,f);if(w&&(S.vs=e.flatten([w,S.vs,N],!0),c.predecessors(w).length)){var C=c.node(c.predecessors(w)[0]),T=c.node(c.predecessors(N)[0]);e.has(S,"barycenter")||(S.barycenter=0,S.weight=0),S.barycenter=(S.barycenter*S.weight+C.order+T.order)/(S.weight+2),S.weight+=2}return S}function a(c,h){e.forEach(c,function(m){m.vs=e.flatten(m.vs.map(function(f){return h[f]?h[f].vs:f}),!0)})}function u(c,h){e.isUndefined(c.barycenter)?(c.barycenter=h.barycenter,c.weight=h.weight):(c.barycenter=(c.barycenter*c.weight+h.barycenter*h.weight)/(c.weight+h.weight),c.weight+=h.weight)}return Vv}var Kv,UE;function sz(){if(UE)return Kv;UE=1;var e=gt(),t=or().Graph;Kv=r;function r(o,a,u){var c=s(o),h=new t({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(function(m){return o.node(m)});return e.forEach(o.nodes(),function(m){var f=o.node(m),g=o.parent(m);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(h.setNode(m),h.setParent(m,g||c),e.forEach(o[u](m),function(y){var w=y.v===m?y.w:y.v,N=h.edge(w,m),b=e.isUndefined(N)?0:N.weight;h.setEdge(w,m,{weight:o.edge(y).weight+b})}),e.has(f,"minRank")&&h.setNode(m,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),h}function s(o){for(var a;o.hasNode(a=e.uniqueId("_root")););return a}return Kv}var Yv,WE;function iz(){if(WE)return Yv;WE=1;var e=gt();Yv=t;function t(r,s,o){var a={},u;e.forEach(o,function(c){for(var h=r.parent(c),m,f;h;){if(m=r.parent(h),m?(f=a[m],a[m]=h):(f=u,u=h),f&&f!==h){s.setEdge(f,h);return}h=m}})}return Yv}var Xv,HE;function oz(){if(HE)return Xv;HE=1;var e=gt(),t=Z6(),r=J6(),s=rz(),o=sz(),a=iz(),u=or().Graph,c=hn();Xv=h;function h(y){var w=c.maxRank(y),N=m(y,e.range(1,w+1),"inEdges"),b=m(y,e.range(w-1,-1,-1),"outEdges"),_=t(y);g(y,_);for(var k=Number.POSITIVE_INFINITY,S,C=0,T=0;T<4;++C,++T){f(C%2?N:b,C%4>=2),_=c.buildLayerMatrix(y);var M=r(y,_);M<k&&(T=0,S=e.cloneDeep(_),k=M)}g(y,S)}function m(y,w,N){return e.map(w,function(b){return o(y,b,N)})}function f(y,w){var N=new u;e.forEach(y,function(b){var _=b.graph().root,k=s(b,_,N,w);e.forEach(k.vs,function(S,C){b.node(S).order=C}),a(b,N,k.vs)})}function g(y,w){e.forEach(w,function(N){e.forEach(N,function(b,_){y.node(b).order=_})})}return Xv}var Qv,GE;function az(){if(GE)return Qv;GE=1;var e=gt(),t=or().Graph,r=hn();Qv={positionX:N,findType1Conflicts:s,findType2Conflicts:o,addConflict:u,hasConflict:c,verticalAlignment:h,horizontalCompaction:m,alignCoordinates:y,findSmallestWidthAlignment:g,balance:w};function s(k,S){var C={};function T(M,P){var $=0,W=0,I=M.length,A=e.last(P);return e.forEach(P,function(D,H){var Y=a(k,D),j=Y?k.node(Y).order:I;(Y||D===A)&&(e.forEach(P.slice(W,H+1),function(X){e.forEach(k.predecessors(X),function(z){var ne=k.node(z),J=ne.order;(J<$||j<J)&&!(ne.dummy&&k.node(X).dummy)&&u(C,z,X)})}),W=H+1,$=j)}),P}return e.reduce(S,T),C}function o(k,S){var C={};function T(P,$,W,I,A){var D;e.forEach(e.range($,W),function(H){D=P[H],k.node(D).dummy&&e.forEach(k.predecessors(D),function(Y){var j=k.node(Y);j.dummy&&(j.order<I||j.order>A)&&u(C,Y,D)})})}function M(P,$){var W=-1,I,A=0;return e.forEach($,function(D,H){if(k.node(D).dummy==="border"){var Y=k.predecessors(D);Y.length&&(I=k.node(Y[0]).order,T($,A,H,W,I),A=H,W=I)}T($,A,$.length,I,P.length)}),$}return e.reduce(S,M),C}function a(k,S){if(k.node(S).dummy)return e.find(k.predecessors(S),function(C){return k.node(C).dummy})}function u(k,S,C){if(S>C){var T=S;S=C,C=T}var M=k[S];M||(k[S]=M={}),M[C]=!0}function c(k,S,C){if(S>C){var T=S;S=C,C=T}return e.has(k[S],C)}function h(k,S,C,T){var M={},P={},$={};return e.forEach(S,function(W){e.forEach(W,function(I,A){M[I]=I,P[I]=I,$[I]=A})}),e.forEach(S,function(W){var I=-1;e.forEach(W,function(A){var D=T(A);if(D.length){D=e.sortBy(D,function(z){return $[z]});for(var H=(D.length-1)/2,Y=Math.floor(H),j=Math.ceil(H);Y<=j;++Y){var X=D[Y];P[A]===A&&I<$[X]&&!c(C,A,X)&&(P[X]=A,P[A]=M[A]=M[X],I=$[X])}}})}),{root:M,align:P}}function m(k,S,C,T,M){var P={},$=f(k,S,C,M),W=M?"borderLeft":"borderRight";function I(H,Y){for(var j=$.nodes(),X=j.pop(),z={};X;)z[X]?H(X):(z[X]=!0,j.push(X),j=j.concat(Y(X))),X=j.pop()}function A(H){P[H]=$.inEdges(H).reduce(function(Y,j){return Math.max(Y,P[j.v]+$.edge(j))},0)}function D(H){var Y=$.outEdges(H).reduce(function(X,z){return Math.min(X,P[z.w]-$.edge(z))},Number.POSITIVE_INFINITY),j=k.node(H);Y!==Number.POSITIVE_INFINITY&&j.borderType!==W&&(P[H]=Math.max(P[H],Y))}return I(A,$.predecessors.bind($)),I(D,$.successors.bind($)),e.forEach(T,function(H){P[H]=P[C[H]]}),P}function f(k,S,C,T){var M=new t,P=k.graph(),$=b(P.nodesep,P.edgesep,T);return e.forEach(S,function(W){var I;e.forEach(W,function(A){var D=C[A];if(M.setNode(D),I){var H=C[I],Y=M.edge(H,D);M.setEdge(H,D,Math.max($(k,A,I),Y||0))}I=A})}),M}function g(k,S){return e.minBy(e.values(S),function(C){var T=Number.NEGATIVE_INFINITY,M=Number.POSITIVE_INFINITY;return e.forIn(C,function(P,$){var W=_(k,$)/2;T=Math.max(P+W,T),M=Math.min(P-W,M)}),T-M})}function y(k,S){var C=e.values(S),T=e.min(C),M=e.max(C);e.forEach(["u","d"],function(P){e.forEach(["l","r"],function($){var W=P+$,I=k[W],A;if(I!==S){var D=e.values(I);A=$==="l"?T-e.min(D):M-e.max(D),A&&(k[W]=e.mapValues(I,function(H){return H+A}))}})})}function w(k,S){return e.mapValues(k.ul,function(C,T){if(S)return k[S.toLowerCase()][T];var M=e.sortBy(e.map(k,T));return(M[1]+M[2])/2})}function N(k){var S=r.buildLayerMatrix(k),C=e.merge(s(k,S),o(k,S)),T={},M;e.forEach(["u","d"],function($){M=$==="u"?S:e.values(S).reverse(),e.forEach(["l","r"],function(W){W==="r"&&(M=e.map(M,function(H){return e.values(H).reverse()}));var I=($==="u"?k.predecessors:k.successors).bind(k),A=h(k,M,C,I),D=m(k,M,A.root,A.align,W==="r");W==="r"&&(D=e.mapValues(D,function(H){return-H})),T[$+W]=D})});var P=g(k,T);return y(T,P),w(T,k.graph().align)}function b(k,S,C){return function(T,M,P){var $=T.node(M),W=T.node(P),I=0,A;if(I+=$.width/2,e.has($,"labelpos"))switch($.labelpos.toLowerCase()){case"l":A=-$.width/2;break;case"r":A=$.width/2;break}if(A&&(I+=C?A:-A),A=0,I+=($.dummy?S:k)/2,I+=(W.dummy?S:k)/2,I+=W.width/2,e.has(W,"labelpos"))switch(W.labelpos.toLowerCase()){case"l":A=W.width/2;break;case"r":A=-W.width/2;break}return A&&(I+=C?A:-A),A=0,I}}function _(k,S){return k.node(S).width}return Qv}var Zv,VE;function lz(){if(VE)return Zv;VE=1;var e=gt(),t=hn(),r=az().positionX;Zv=s;function s(a){a=t.asNonCompoundGraph(a),o(a),e.forEach(r(a),function(u,c){a.node(c).x=u})}function o(a){var u=t.buildLayerMatrix(a),c=a.graph().ranksep,h=0;e.forEach(u,function(m){var f=e.max(e.map(m,function(g){return a.node(g).height}));e.forEach(m,function(g){a.node(g).y=h+f/2}),h+=f+c})}return Zv}var Jv,KE;function uz(){if(KE)return Jv;KE=1;var e=gt(),t=W6(),r=H6(),s=V6(),o=hn().normalizeRanks,a=K6(),u=hn().removeEmptyRanks,c=Y6(),h=X6(),m=Q6(),f=oz(),g=lz(),y=hn(),w=or().Graph;Jv=N;function N(L,q){var Z=q&&q.debugTiming?y.time:y.notime;Z("layout",function(){var se=Z(" buildLayoutGraph",function(){return I(L)});Z(" runLayout",function(){b(se,Z)}),Z(" updateInputGraph",function(){_(L,se)})})}function b(L,q){q(" makeSpaceForEdgeLabels",function(){A(L)}),q(" removeSelfEdges",function(){U(L)}),q(" acyclic",function(){t.run(L)}),q(" nestingGraph.run",function(){c.run(L)}),q(" rank",function(){s(y.asNonCompoundGraph(L))}),q(" injectEdgeLabelProxies",function(){D(L)}),q(" removeEmptyRanks",function(){u(L)}),q(" nestingGraph.cleanup",function(){c.cleanup(L)}),q(" normalizeRanks",function(){o(L)}),q(" assignRankMinMax",function(){H(L)}),q(" removeEdgeLabelProxies",function(){Y(L)}),q(" normalize.run",function(){r.run(L)}),q(" parentDummyChains",function(){a(L)}),q(" addBorderSegments",function(){h(L)}),q(" order",function(){f(L)}),q(" insertSelfEdges",function(){Q(L)}),q(" adjustCoordinateSystem",function(){m.adjust(L)}),q(" position",function(){g(L)}),q(" positionSelfEdges",function(){O(L)}),q(" removeBorderNodes",function(){J(L)}),q(" normalize.undo",function(){r.undo(L)}),q(" fixupEdgeLabelCoords",function(){z(L)}),q(" undoCoordinateSystem",function(){m.undo(L)}),q(" translateGraph",function(){j(L)}),q(" assignNodeIntersects",function(){X(L)}),q(" reversePoints",function(){ne(L)}),q(" acyclic.undo",function(){t.undo(L)})}function _(L,q){e.forEach(L.nodes(),function(Z){var se=L.node(Z),fe=q.node(Z);se&&(se.x=fe.x,se.y=fe.y,q.children(Z).length&&(se.width=fe.width,se.height=fe.height))}),e.forEach(L.edges(),function(Z){var se=L.edge(Z),fe=q.edge(Z);se.points=fe.points,e.has(fe,"x")&&(se.x=fe.x,se.y=fe.y)}),L.graph().width=q.graph().width,L.graph().height=q.graph().height}var k=["nodesep","edgesep","ranksep","marginx","marginy"],S={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},C=["acyclicer","ranker","rankdir","align"],T=["width","height"],M={width:0,height:0},P=["minlen","weight","width","height","labeloffset"],$={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},W=["labelpos"];function I(L){var q=new w({multigraph:!0,compound:!0}),Z=K(L.graph());return q.setGraph(e.merge({},S,G(Z,k),e.pick(Z,C))),e.forEach(L.nodes(),function(se){var fe=K(L.node(se));q.setNode(se,e.defaults(G(fe,T),M)),q.setParent(se,L.parent(se))}),e.forEach(L.edges(),function(se){var fe=K(L.edge(se));q.setEdge(se,e.merge({},$,G(fe,P),e.pick(fe,W)))}),q}function A(L){var q=L.graph();q.ranksep/=2,e.forEach(L.edges(),function(Z){var se=L.edge(Z);se.minlen*=2,se.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?se.width+=se.labeloffset:se.height+=se.labeloffset)})}function D(L){e.forEach(L.edges(),function(q){var Z=L.edge(q);if(Z.width&&Z.height){var se=L.node(q.v),fe=L.node(q.w),he={rank:(fe.rank-se.rank)/2+se.rank,e:q};y.addDummyNode(L,"edge-proxy",he,"_ep")}})}function H(L){var q=0;e.forEach(L.nodes(),function(Z){var se=L.node(Z);se.borderTop&&(se.minRank=L.node(se.borderTop).rank,se.maxRank=L.node(se.borderBottom).rank,q=e.max(q,se.maxRank))}),L.graph().maxRank=q}function Y(L){e.forEach(L.nodes(),function(q){var Z=L.node(q);Z.dummy==="edge-proxy"&&(L.edge(Z.e).labelRank=Z.rank,L.removeNode(q))})}function j(L){var q=Number.POSITIVE_INFINITY,Z=0,se=Number.POSITIVE_INFINITY,fe=0,he=L.graph(),ye=he.marginx||0,Re=he.marginy||0;function Ue(De){var Ie=De.x,ke=De.y,ue=De.width,xe=De.height;q=Math.min(q,Ie-ue/2),Z=Math.max(Z,Ie+ue/2),se=Math.min(se,ke-xe/2),fe=Math.max(fe,ke+xe/2)}e.forEach(L.nodes(),function(De){Ue(L.node(De))}),e.forEach(L.edges(),function(De){var Ie=L.edge(De);e.has(Ie,"x")&&Ue(Ie)}),q-=ye,se-=Re,e.forEach(L.nodes(),function(De){var Ie=L.node(De);Ie.x-=q,Ie.y-=se}),e.forEach(L.edges(),function(De){var Ie=L.edge(De);e.forEach(Ie.points,function(ke){ke.x-=q,ke.y-=se}),e.has(Ie,"x")&&(Ie.x-=q),e.has(Ie,"y")&&(Ie.y-=se)}),he.width=Z-q+ye,he.height=fe-se+Re}function X(L){e.forEach(L.edges(),function(q){var Z=L.edge(q),se=L.node(q.v),fe=L.node(q.w),he,ye;Z.points?(he=Z.points[0],ye=Z.points[Z.points.length-1]):(Z.points=[],he=fe,ye=se),Z.points.unshift(y.intersectRect(se,he)),Z.points.push(y.intersectRect(fe,ye))})}function z(L){e.forEach(L.edges(),function(q){var Z=L.edge(q);if(e.has(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function ne(L){e.forEach(L.edges(),function(q){var Z=L.edge(q);Z.reversed&&Z.points.reverse()})}function J(L){e.forEach(L.nodes(),function(q){if(L.children(q).length){var Z=L.node(q),se=L.node(Z.borderTop),fe=L.node(Z.borderBottom),he=L.node(e.last(Z.borderLeft)),ye=L.node(e.last(Z.borderRight));Z.width=Math.abs(ye.x-he.x),Z.height=Math.abs(fe.y-se.y),Z.x=he.x+Z.width/2,Z.y=se.y+Z.height/2}}),e.forEach(L.nodes(),function(q){L.node(q).dummy==="border"&&L.removeNode(q)})}function U(L){e.forEach(L.edges(),function(q){if(q.v===q.w){var Z=L.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:L.edge(q)}),L.removeEdge(q)}})}function Q(L){var q=y.buildLayerMatrix(L);e.forEach(q,function(Z){var se=0;e.forEach(Z,function(fe,he){var ye=L.node(fe);ye.order=he+se,e.forEach(ye.selfEdges,function(Re){y.addDummyNode(L,"selfedge",{width:Re.label.width,height:Re.label.height,rank:ye.rank,order:he+ ++se,e:Re.e,label:Re.label},"_se")}),delete ye.selfEdges})})}function O(L){e.forEach(L.nodes(),function(q){var Z=L.node(q);if(Z.dummy==="selfedge"){var se=L.node(Z.e.v),fe=se.x+se.width/2,he=se.y,ye=Z.x-fe,Re=se.height/2;L.setEdge(Z.e,Z.label),L.removeNode(q),Z.label.points=[{x:fe+2*ye/3,y:he-Re},{x:fe+5*ye/6,y:he-Re},{x:fe+ye,y:he},{x:fe+5*ye/6,y:he+Re},{x:fe+2*ye/3,y:he+Re}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G(L,q){return e.mapValues(e.pick(L,q),Number)}function K(L){var q={};return e.forEach(L,function(Z,se){q[se.toLowerCase()]=Z}),q}return Jv}var ey,YE;function cz(){if(YE)return ey;YE=1;var e=gt(),t=hn(),r=or().Graph;ey={debugOrdering:s};function s(o){var a=t.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(a,function(c,h){var m="layer"+h;u.setNode(m,{rank:"same"}),e.reduce(c,function(f,g){return u.setEdge(f,g,{style:"invis"}),g})}),u}return ey}var ty,XE;function dz(){return XE||(XE=1,ty="0.8.5"),ty}var ny,QE;function fz(){return QE||(QE=1,ny={graphlib:or(),layout:uz(),debug:cz(),util:{time:hn().time,notime:hn().notime},version:dz()}),ny}var hz=fz();const ZE=Dy(hz),qo=240,mc=130,To=74,Wc=72,JE=To+Wc;function pz(e,t){var s;let r=qo;for(const o of e)r=Math.max(r,((s=t.get(o.id))==null?void 0:s.width)??qo);return r}const bR=420,mz=2;function rl(e){var r;return((r=e.data)==null?void 0:r.sessionId)??"_default"}function gz(e,t){return((t==null?void 0:t.get(e))??0)>0?bR:0}function vz(e,t){const r=(t==null?void 0:t.get(e))??0;return r>0?6+r*36:0}function sl(e,t,r){const s=t.get(e);return{w:((s==null?void 0:s.width)??qo)+gz(e,r),h:Math.max((s==null?void 0:s.height)??mc,vz(e,r))}}function yz(e){return[...e.keys()].sort().map(t=>`${t}:${e.get(t)}`).join("|")}function wz(e,t,r,s,o,a){const u=new ZE.graphlib.Graph;u.setDefaultEdgeLabel(()=>({})),u.setGraph({rankdir:r,marginx:0,marginy:0,nodesep:70,ranksep:160,edgesep:30});const c=e.filter(k=>!o.has(k)),h=new Set(c);for(const k of c){const{w:S,h:C}=sl(k,s,a);u.setNode(k,{width:S,height:C})}for(const k of t)h.has(k.source)&&h.has(k.target)&&u.setEdge(k.source,k.target);ZE.layout(u);const m=new Map;let f=1/0,g=1/0,y=-1/0,w=-1/0;for(const k of c){const S=u.node(k);if(!S)continue;const C=s.get(k),T=(C==null?void 0:C.width)??qo,M=(C==null?void 0:C.height)??mc,P=sl(k,s,a),$=S.x-P.w/2,W=S.y-P.h/2;m.set(k,{x:$,y:W}),$<f&&(f=$),W<g&&(g=W),$+T>y&&(y=$+T),W+M>w&&(w=W+M)}if(Number.isFinite(f)&&Number.isFinite(g))for(const[k,S]of m)m.set(k,{x:S.x-f,y:S.y-g});const N=Number.isFinite(y)?y-f:0,b=Number.isFinite(w)?w-g:0;let _=null;for(const k of e){const S=o.get(k);if(!S)continue;const C=s.get(k),T=(C==null?void 0:C.width)??qo,M=(C==null?void 0:C.height)??mc;_=_===null?{minX:S.x,minY:S.y,maxX:S.x+T,maxY:S.y+M}:{minX:Math.min(_.minX,S.x),minY:Math.min(_.minY,S.y),maxX:Math.max(_.maxX,S.x+T),maxY:Math.max(_.maxY,S.y+M)}}return{positions:m,width:N,height:b,pinnedBox:_}}function xz(e,t,r={}){const s=r.direction??"LR",o=r.pinned??new Map,a=r.measured??new Map,u=r.lanes,c=new Map;for(const k of e){const S=rl(k),C=c.get(S);C?C.push(k.id):c.set(S,[k.id])}const m=Array.from(c.keys()).sort().map(k=>({sid:k,...wz(c.get(k),t,s,a,o,u)})),f=pz(e,a),g=r.availableHeight&&r.availableHeight>0?r.availableHeight:Number.POSITIVE_INFINITY,y=k=>{const S=[[]];let C=0;for(const T of m)S.length<k&&C>0&&C+T.height>g&&(S.push([]),C=0),S[S.length-1].push(T),C+=T.height+JE;return S},w=k=>k.reduce((S,C)=>Math.max(S,C.width),0)+bR;let N=y(r.availableWidth?mz:1);N.length>1&&N.reduce((S,C)=>S+w(C),0)+f*(N.length-1)>(r.availableWidth??0)&&(N=y(1));const b=new Map;let _=0;for(const k of N){const S=w(k);let C=0;for(const{positions:T,height:M,pinnedBox:P}of k){for(const[W,I]of T)b.set(W,{x:I.x+_,y:I.y+C});let $=C+M;P&&P.maxY>$&&P.minX<_+S&&_<P.maxX&&($=P.maxY),C=$+JE}_+=S+f}return e.map(k=>{const S=o.get(k.id);if(S)return{...k,position:S};const C=b.get(k.id);return C?{...k,position:C}:k})}function bz(e,t,r,s,o){const u=To+Wc,c=60,h=w=>sl(w,s,o),m=new Map(e.map(w=>[w.id,rl(w)])),f=[],g=e.map(w=>({id:w.id,pos:r.get(w.id)??t.get(w.id)})).filter(w=>w.pos!=null).sort((w,N)=>w.pos.y-N.pos.y||w.pos.x-N.pos.x||w.id.localeCompare(N.id)),y=[];for(const{id:w,pos:N}of g){const{w:b,h:_}=h(w),k=m.get(w)??"_default";if(r.has(w)){f.push({x:N.x,y:N.y,w:b,h:_,sid:k});continue}let S=N.y;for(let C=0;C<f.length+1;C++){const T=f.find(M=>{const P=M.sid===k?24:c,$=M.sid===k?24:u;return N.x<M.x+M.w+P&&M.x<N.x+b+P&&S<M.y+M.h+$&&M.y<S+_+$});if(!T)break;S=T.y+T.h+(T.sid===k?24:u)}S!==N.y&&(t.set(w,{x:N.x,y:S}),y.push(w)),f.push({x:N.x,y:S,w:b,h:_,sid:k})}return y}function _z(e,t,r,s,o,a){const u=b=>sl(b,s,a),c=b=>r.get(b)??t.get(b),h=new Map;for(const b of e){if(!c(b.id))continue;const _=rl(b),k=h.get(_);k?k.push(b):h.set(_,[b])}const m=new Set;for(const[b,_]of h)_.every(k=>o.has(k.id)&&!r.has(k.id))&&m.add(b);const f=new Map,g=[];for(const b of e){const _=c(b.id);if(!_)continue;const{w:k,h:S}=u(b.id),C=rl(b);m.has(C)?(f.get(C)??f.set(C,[]).get(C)).push(b):g.push({x:_.x,y:_.y,w:k,h:S})}if(f.size===0)return[];const y=To+Wc,w=(b,_,k,S)=>g.some(C=>b<C.x+C.w+To&&C.x<b+k+To&&_<C.y+C.h+y&&C.y<_+S+y),N=[];for(const b of[...f.keys()].sort()){const _=f.get(b);let k=1/0,S=1/0,C=-1/0,T=-1/0;for(const D of _){const H=c(D.id),{w:Y,h:j}=u(D.id);k=Math.min(k,H.x),S=Math.min(S,H.y),C=Math.max(C,H.x+Y),T=Math.max(T,H.y+j)}const M=C-k,P=T-S,$=[...new Set(g.map(D=>Math.round(D.x)))].sort((D,H)=>D-H),W=$.length?$:[k],I=[0,...g.map(D=>D.y+D.h+y)].sort((D,H)=>D-H);let A=null;e:for(const D of W)for(const H of I){if(H>=S)break;if(!w(D,H,M,P)){A={x:D,y:H};break e}}if(A){const D=A.x-k,H=A.y-S;for(const Y of _){const j=c(Y.id);t.set(Y.id,{x:j.x+D,y:j.y+H})}N.push(b)}for(const D of _){const H=c(D.id),{w:Y,h:j}=u(D.id);g.push({x:H.x,y:H.y,w:Y,h:j})}}return N}function kz(e,t,r,s,o,a=!1,u){const m=To+Wc+1,f=8,g=1.75,y=200,w=.7,N=.01,b=A=>sl(A,s,u),_=A=>r.get(A)??t.get(A),k=new Map;for(const A of e){if(!_(A.id))continue;const D=rl(A),H=k.get(D);H?H.push(A):k.set(D,[A])}const S=[],C=new Set,T=new Set,M=o.size===0;for(const A of[...k.keys()].sort()){const D=k.get(A);let H=1/0,Y=1/0,j=-1/0,X=-1/0,z=!1;for(const Q of D){const O=_(Q.id),{w:G,h:K}=b(Q.id);H=Math.min(H,O.x),Y=Math.min(Y,O.y),j=Math.max(j,O.x+G),X=Math.max(X,O.y+K),r.has(Q.id)&&(z=!0)}const ne=j-H,J=X-Y;T.add(A);const U=o.get(A);U&&(ne>U.w+f||J>U.h+f)&&C.add(A),o.set(A,{w:ne,h:J}),S.push({sid:A,members:D.map(Q=>Q.id),x:H,y:Y,w:ne,h:J,anchored:z,mass:1})}for(const A of[...o.keys()])T.has(A)||o.delete(A);if(a||M)return[];let P=!1;for(let A=0;A<S.length&&!P;A++)for(let D=A+1;D<S.length;D++){const H=S[A],Y=S[D];if(!(H.anchored&&Y.anchored)&&Math.abs(H.x+H.w/2-(Y.x+Y.w/2))<(H.w+Y.w)/2+61&&Math.abs(H.y+H.h/2-(Y.y+Y.h/2))<(H.h+Y.h)/2+m){P=!0;break}}if(C.size===0&&!P)return[];if(C.size>0)for(const A of S)C.has(A.sid)&&(A.mass=8);else for(const A of S)A.mass=Math.max(1,A.w*A.h/(qo*mc));const $=new Map(S.map(A=>[A.sid,A.x])),W=new Map(S.map(A=>[A.sid,A.y]));for(let A=0;A<y;A++){const D=new Map,H=new Map;let Y=0;for(let j=0;j<S.length;j++)for(let X=j+1;X<S.length;X++){const z=S[j],ne=S[X];if(z.anchored&&ne.anchored)continue;const J=z.x+z.w/2,U=z.y+z.h/2,Q=ne.x+ne.w/2,O=ne.y+ne.h/2,G=(z.w+ne.w)/2+61-Math.abs(J-Q),K=(z.h+ne.h)/2+m-Math.abs(U-O);if(G<=0||K<=0)continue;const L=(Be,tt)=>!Be.anchored&&!(tt<0&&Be.x<=0),q=(Be,tt)=>!Be.anchored&&!(tt<0&&Be.y<=0),Z=(Be,tt,Ye)=>{const bt=Be===tt,Me=bt?z.sid<ne.sid?-1:1:Math.sign(Be-tt);return Ye(z,Me)||Ye(ne,-Me)?Me:bt&&(Ye(z,-Me)||Ye(ne,Me))?-Me:0},se=Z(J,Q,L),fe=Z(U,O,q),he=se!==0,ye=fe!==0;if(!he&&!ye)continue;const Re=he&&(!ye||G*g<K),[Ue,De,Ie,ke]=Re?[se,G,D,L]:[fe,K,H,q],ue=ke(z,Ue),xe=ke(ne,-Ue),we=z.mass,Ke=ne.mass,vt=ue?xe?Ke/(we+Ke):1:0,ut=xe?ue?we/(we+Ke):1:0,st=De*w;Ie.set(z.sid,(Ie.get(z.sid)??0)+Ue*st*vt),Ie.set(ne.sid,(Ie.get(ne.sid)??0)-Ue*st*ut),Y+=st}for(const j of S)j.anchored||(j.x=Math.max(0,j.x+(D.get(j.sid)??0)),j.y=Math.max(0,j.y+(H.get(j.sid)??0)));if(Y<N)break}const I=[];for(const A of S){const D=A.x-$.get(A.sid),H=A.y-W.get(A.sid);if(!(Math.abs(D)<1&&Math.abs(H)<1)){for(const Y of A.members){if(r.has(Y))continue;const j=t.get(Y);j&&t.set(Y,{x:j.x+D,y:j.y+H})}I.push(A.sid)}}return I}const Sz=600;function Py(e,t){return!(e.exitAt!=null&&t-e.exitAt>Sz||e.kind==="root"&&e.state==="done"&&e.tools.length===0&&e.endedAt!=null&&e.endedAt-e.startedAt<3e3)}function Nz(e,t){const r=new Set;for(const s of e.agents.values())Py(s,t)&&r.add(s.id);return r}function Ez(e,t,r=0){return e.right+r>t.left&&e.left-r<t.right&&e.bottom+r>t.top&&e.top-r<t.bottom}function Cz(e,t,r=0){if(!e)return!1;for(const s of t)if(Ez(e,s,r))return!0;return!1}const _R="sessionGroup";function jz(e,t){var s;if(e.type===_R)return"transparent";const r=(s=e.data)==null?void 0:s.state;return t(r==="err"?"--err":r==="active"?"--inflight":"--ok")}const kR=["--err","--inflight","--ok","--grid-line","--minimap-mask","--panel","--line","--accent","--text-dim","--bg"];function eC(e){const t={};for(const r of kR)t[r]=e(r);return t}function Tz(e){return t=>e[t]??""}function Rz(e,t){return kR.every(r=>e[r]===t[r])}function Az(e){const t=new Set(e.pins),r=new Map,s=new Map;for(const[o,a]of e.positions)r.set(o,a),t.has(o)&&s.set(o,a);return{positions:r,pinned:s}}const Mz=1200,Iz=1e3;function tC(e){return e.lastDeckFitAt>0&&e.at-e.lastDeckFitAt<Mz?!1:e.hasSourceEvent?!0:e.lastCanvasInputAt>0&&e.at-e.lastCanvasInputAt<Iz}function ry({durationMs:e,documentHidden:t}){return t?!1:Number.isFinite(e)&&e>0}function Oz(e,t,r){const s=e.x*t.zoom+t.x,o=e.y*t.zoom+t.y,a=(e.x+e.width)*t.zoom+t.x,u=(e.y+e.height)*t.zoom+t.y;return a>0&&s<r.width&&u>0&&o<r.height}function Pz({pane:e,viewport:t,boxes:r}){if(!e||!(e.width>0)||!(e.height>0)||!Number.isFinite(t.zoom)||t.zoom<=0||!Number.isFinite(t.x)||!Number.isFinite(t.y))return!1;let s=!1;for(const o of r)if(s=!0,Oz(o,t,e))return!1;return s}const $z="Update checks are off (AGENTS_DECK_NO_UPDATE_CHECK=1)",sy="click for what's new";function Lz(e){if(e.checkDisabled)return`${$z} · ${sy}`;if(e.checking)return`Asking npm for the newest release… · ${sy}`;const t=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`${t}${r} · re-checked periodically · ${sy}, and to check npm now`}function qz(e){const t=`Version v${e.running}, show what's new`;return e.checkDisabled?`${t} — update checks are off`:e.checking?`${t} — checking npm for a newer release`:`${t} and check npm for a newer release`}function Dz(e){const t=e.kind==="restart"?`v${e.to} is installed and waiting for a restart`:`v${e.to} is available on npm`,r=e.open?"show what's new":"show what's new and the notice";return`Version v${e.from}, ${t} — ${r}`}function Fz(e){if(e==null)return{kind:"unknown",lead:"No data yet. Start a Claude Code or Codex session — it appears here as soon as the deck sees its first event.",workspace:null,tail:""};const t=e.trim();return t===""?{kind:"machine",lead:"No data yet. Start a Claude Code or Codex session anywhere on this machine — this deck is unscoped and captures every workspace.",workspace:null,tail:""}:{kind:"scoped",lead:"No data yet. This deck only captures sessions running under",workspace:t,tail:" — start one there, or restart it without --workspace/--scope to watch the whole machine."}}const $y={kind:"assumed",claude:!0,codex:!0};function zz(e){if(!e||typeof e!="object")return $y;const t=e.providers;if(!t||typeof t!="object")return $y;const r=t;return{kind:"reported",claude:r.claude!==!1,codex:r.codex!==!1}}function gc(e){const t=Math.max(0,Math.floor(e));return`${t} event${t===1?"":"s"}`}const nC=99;function Bz(e){const t=Math.max(0,Math.floor(e));return t>nC?`${nC}+`:String(t)}const Uz="Pause the canvas";function Wz(e){if(!e.paused)return"Pause live updates — events keep arriving and are applied when you resume (Space)";const t=Math.max(0,Math.floor(e.dropped??0));return t>0?`The pause is full — ${gc(e.held)} held and ${t} older ${t===1?"one":"ones"} already dropped. Resume to follow the canvas again (Space)`:e.held<=0?"Nothing has arrived since you paused. Resume to follow the canvas again (Space)":`${gc(e.held)} arrived while paused and will be applied in order when you resume (Space)`}function Hz(e){return e.connected||!e.paused?null:"The canvas is paused as well — Space resumes it, but nothing new arrives until the stream is back."}const SR="paused · full",Gz=(e,t)=>t>0?SR:e>0?`paused · ${Bz(e)}`:"paused";function Vz(e){const t=Math.max(0,Math.floor(e.dropped??0));return e.connected?e.paused?{tone:"paused",resting:!1,label:Gz(e.held,t),widest:SR,title:t>0?`Connected — the pause is full at ${gc(e.held)}; the oldest are being dropped as new ones arrive. Resume to catch up (Space)`:e.held>0?`Connected — ${gc(e.held)} held until you resume (Space)`:"Connected — updates held until you resume (Space)"}:{tone:"live",resting:!0,label:"live",widest:"live",title:"Receiving events"}:{tone:"dead",resting:!1,label:"offline",widest:"offline",title:e.paused?"SSE disconnected — and the canvas is paused, so resuming will not bring events back until it reconnects":"SSE disconnected"}}function rC(e){return typeof window>"u"?"":getComputedStyle(document.documentElement).getPropertyValue(e).trim()||""}const Kz={agent:OL,sessionGroup:XL},NR="react-flow__node";function sC(e){var t,r;return!!e&&((r=(t=e.classList)==null?void 0:t.contains)==null?void 0:r.call(t,NR))===!0}function Yz(e){try{const t=document.querySelector(`.${NR}[data-id="${CSS.escape(e)}"]`);t==null||t.focus({preventScroll:!0})}catch{}}const Xz=["a[href]","button:not(:disabled)","input:not(:disabled)","select:not(:disabled)","textarea:not(:disabled)","summary","[tabindex]"].join(","),Qz=420,Yu=18,Zz=200,Jz=5*6e4,eB=6,tB=2*6e4,iC=400,$0="agent-dag.layout",L0="agent-dag.viewport",ER="agent-dag.summariesDismissed",CR="agent-dag.sessionListOpen",jR="agent-dag.detailOpen",TR="agent-dag.usagePanelOpen",oC="agent-dag.accountsPanelOpen",iy="agent-dag.versionNoticeDismissed",aC="agent-dag.oldNameNoticeDismissed",nB=15*6e4,oy={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:"},lC="agent-dag.autoRestart",uC="agent-dag.bundleReloadedFor";function rB(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(CR)==="1"}catch{return!1}}function sB(e){if(!(typeof window>"u"))try{window.localStorage.setItem(CR,e?"1":"0")}catch{}}function iB(){if(typeof window>"u")return!1;try{return window.localStorage.getItem(jR)==="1"}catch{return!1}}function oB(e){if(!(typeof window>"u"))try{window.localStorage.setItem(jR,e?"1":"0")}catch{}}function aB(){const e=Ec(TR);return e===null?!0:e==="1"}function lB(e){if(!(typeof window>"u"))try{window.localStorage.setItem(TR,e?"1":"0")}catch{}}function uB(){if(typeof window>"u")return new Set;try{const e=window.localStorage.getItem(ER);if(!e)return new Set;const t=JSON.parse(e);return new Set(Array.isArray(t)?t.filter(r=>typeof r=="string"):[])}catch{return new Set}}function cC(e){if(!(typeof window>"u"))try{const t=Array.from(e),r=t.length>200?t.slice(-200):t;window.localStorage.setItem(ER,JSON.stringify(r))}catch{}}function cB(){const e={positions:[],pins:[]};if(typeof window>"u")return e;try{const t=window.localStorage.getItem($0);if(!t)return e;const r=JSON.parse(t);if(!("v"in r)){const o=Object.entries(r).filter(([,a])=>a&&typeof a.x=="number"&&typeof a.y=="number");return{positions:o,pins:o.map(([a])=>a)}}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 ay(e,t){if(!(typeof window>"u"))try{const r={};for(const[s,o]of e)r[s]=o;for(const[s,o]of t)r[s]=o;window.localStorage.setItem($0,JSON.stringify({v:2,positions:r,pins:Array.from(t.keys())}))}catch{}}function dB(){if(typeof window>"u")return null;try{const e=window.localStorage.getItem(L0);if(!e)return null;const t=JSON.parse(e);return typeof(t==null?void 0:t.x)!="number"||typeof(t==null?void 0:t.y)!="number"||typeof(t==null?void 0:t.zoom)!="number"?null:t}catch{return null}}function fB(e){if(!(typeof window>"u"))try{window.localStorage.setItem(L0,JSON.stringify(e))}catch{}}function dC(){if(!(typeof window>"u")){try{window.localStorage.removeItem($0)}catch{}try{window.localStorage.removeItem(L0)}catch{}}}function hB(e,t){const r=e.agents.get(t);if(!r)return;const s=[];for(const f of e.agents.values())f.sessionId===t&&s.push(f);const o={schemaVersion:1,exportedAt:new Date().toISOString(),sessionId:t,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}))}))},a=JSON.stringify(o,null,2),u=new Blob([a],{type:"application/json"}),c=URL.createObjectURL(u),h=document.createElement("a"),m=(r.label||"session").replace(/[^a-z0-9._-]/gi,"_");h.href=c,h.download=`${Ft}-${m}-${t.slice(0,8)}.json`,document.body.appendChild(h),h.click(),document.body.removeChild(h),setTimeout(()=>URL.revokeObjectURL(c),1e3)}const Ly={file:"📁",shell:"⚡",web:"🌐",agent:"🤖",task:"📋",plan:"🧭",mcp:"🔌",other:"✨"},qy={file:"file",shell:"shell",web:"web",agent:"agent",task:"task",plan:"plan",mcp:"mcp",other:"other"},RR=Qj;function pB(e,t,r,s,o,a,u,c,h,m,f,g,y,w,N,b,_,k){const S=[],C=[];for(const A of e.agents.values()){if(!_.has(A.id))continue;const D=A.exitAt!=null,H=b!=null&&!b.has(A.id),Y=[D?"rf-exiting":"",H?"rf-spotlit-out":""].filter(Boolean).join(" ")||void 0,j=a.get(A.id);if(S.push({id:A.id,type:"agent",position:{x:0,y:0},data:{...A,now:t,onOpenContext:k},className:Y,...j?{width:j.width,height:j.height}:null}),A.parentId&&_.has(A.parentId)){const X=s0(A.sessionId),z=D,ne=N.size>0&&(N.has(A.id)||N.has(A.parentId)),J=b!=null&&!b.has(A.id)&&!b.has(A.parentId),U=A.state==="active"?2:1.5,Q=ne?U+1.5:U,O=z?.2:J?.12:1,G=["sess-edge",A.state==="active"?"sess-live":"sess-idle",z?"rf-edge-exiting":"",ne?"rf-edge-selected":""].filter(Boolean).join(" ");C.push({id:`e:${A.parentId}->${A.id}`,source:A.parentId,target:A.id,animated:(A.state==="active"||ne)&&!z,type:"smoothstep",style:{"--session-hue":X,strokeWidth:Q,opacity:O,transition:"var(--edge-transition)"},className:G})}}const T=new Map;for(const A of e.agents.values())A.tools.length>0&&T.set(A.id,Math.min(4,A.tools.length));const M=`${y}#lanes:${yz(T)}`,P=S.filter(A=>fD(A.id,o,f,g));if(P.length>0||M!==w.current){if(P.length>0){const A=xz(S,C,{direction:"LR",pinned:o,measured:a,availableWidth:r,availableHeight:s,lanes:T});for(const D of A)yT(D.id,f,g)&&pD(D.id,D.position,f,g);_z(S,f,o,a,new Set(P.map(D=>D.id)),T)}bz(S,f,o,a,T),w.current=M}const $=kz(S,f,o,a,u,!h||m,T);$.length>0&&c($),Uu(f,e.agents),Uu(g,e.agents),Uu(o,e.agents),Uu(a,uD(e.agents.values()));const W=[];let I=!1;for(const A of S){let D=o.get(A.id)??f.get(A.id);D||(D=hD(A.id,f,g),I=!0),W.push({...A,position:D})}return I&&(w.current=""),{nodes:W,edges:C}}function mB(){return d.jsx(n0,{children:d.jsx(gB,{})})}function gB(){var us,Ol,Vs,Pl;const e=ul(),t=jt(),r=E.useState(Sy)[0],s=E.useRef(r),[,o]=E.useState(0),a=E.useCallback(()=>o(F=>F+1),[]),[u,c]=E.useState(()=>new Set),[h,m]=E.useState(null),[f,g]=E.useState(null),y=E.useCallback((F,V)=>{c(ae=>{if(!V)return new Set([F]);const de=new Set(ae);return de.has(F)?de.delete(F):de.add(F),de}),m(ae=>V&&ae===F?ae:F)},[]),w=E.useCallback(()=>{c(new Set),m(null)},[]),[N,b]=E.useState(null),[_,k]=E.useState(null),S=E.useCallback(F=>k(F),[]),[C,T]=E.useState(!1),[M,P]=E.useState(!1),$=E.useState(uB)[0],[W,I]=E.useState(rB);E.useEffect(()=>{sB(W)},[W]);const[A,D]=E.useState(iB);E.useEffect(()=>{oB(A)},[A]);const[H,Y]=E.useState(aB);E.useEffect(()=>{lB(H)},[H]);const[j,X]=E.useState(()=>{try{const F=window.localStorage.getItem(oC);return F===null?!0:F==="1"}catch{return!0}});E.useEffect(()=>{try{window.localStorage.setItem(oC,j?"1":"0")}catch{}},[j]);const[z,ne]=E.useState(null);E.useEffect(()=>{let F=null;try{F=localStorage.getItem("agent-dag.sound")}catch{}ne(F===null?!0:F==="on")},[]);const J=E.useCallback(()=>{ne(F=>{var ae;const V=F!==!0;try{localStorage.setItem("agent-dag.sound",V?"on":"off")}catch{}return V&&((ae=Re.current)==null||ae.unlock()),V})},[]),U=E.useCallback(F=>{J()},[J]),Q=E.useRef(U);Q.current=U;const O=E.useRef(z);O.current=z;const[G,K]=E.useState(()=>$q(Ec)),L=E.useRef(G);L.current=G;const q=E.useRef(null),Z=E.useCallback((F,V=!1)=>{var ae,de;if((ae=Re.current)==null||ae.unlock(),q.current!==null&&clearTimeout(q.current),q.current=null,!V){(de=Re.current)==null||de.play(F,!0);return}q.current=setTimeout(()=>{var be;q.current=null,(be=Re.current)==null||be.play(F,!0)},Aq)},[]),se=E.useCallback((F,V)=>{K(ae=>{const de={level:nl(V.level??ae[F].level),figure:hT(F,V.figure??ae[F].figure)};try{localStorage.setItem(mT[F],String(de.level)),localStorage.setItem(gT[F],de.figure)}catch{}return{...ae,[F]:de}}),Z(F,!0)},[Z]);E.useEffect(()=>()=>{q.current!==null&&clearTimeout(q.current)},[]);const[fe,he]=E.useState(!1),ye=E.useRef(null),Re=E.useRef(null),[Ue,De]=E.useState("locked");E.useEffect(()=>{const F=Dq({enabled:()=>O.current===!0,prefs:()=>L.current,onState:De});Re.current=F,De(F.state());const V=()=>F.unlock();return window.addEventListener("pointerdown",V,{once:!0,capture:!0}),window.addEventListener("keydown",V,{once:!0,capture:!0}),()=>{window.removeEventListener("pointerdown",V,{capture:!0}),window.removeEventListener("keydown",V,{capture:!0})}},[]);const[Ie,ke]=E.useState(!1),[ue,xe]=E.useState(null),[we,Ke]=E.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(iy)??""}catch{return""}}),[vt,ut]=E.useState(!1),st=E.useRef(0),[Be,tt]=E.useState(!1),Ye=E.useCallback((F=!1)=>(F&&(st.current=Date.now(),tt(!0)),fetch(F?"/api/version?refresh=1":"/api/version").then(V=>V.ok?V.json():null).then(V=>{V&&xe(V)}).catch(()=>{}).finally(()=>{F&&tt(!1)})),[]),bt=E.useCallback(()=>{Ye(Date.now()-st.current>=nB)},[Ye]);E.useEffect(()=>{Ye();const F=window.setInterval(bt,5*6e4),V=()=>{document.visibilityState==="visible"&&bt()};return document.addEventListener("visibilitychange",V),()=>{window.clearInterval(F),document.removeEventListener("visibilitychange",V)}},[Ye,bt]),E.useEffect(()=>{Ie&&Ye()},[Ie,Ye]);const Me=(ue==null?void 0:ue.notice)??null,[it,Rt]=E.useState(null),oe=E.useRef(!1);E.useEffect(()=>{if(oe.current)return;const F=Xq(),V=Qq(F),ae=eD({stored:V,running:(ue==null?void 0:ue.running)??null,notes:Nb,remembers:Zq(F)});ae.reason!=="no-version"&&(oe.current=!0,ae.record&&Jq(F,ae.record),ae.show.length&&Rt({entries:ae.show,since:V,firstRun:ae.reason==="welcome"}))},[ue==null?void 0:ue.running]);const Pe=(ue==null?void 0:ue.running)??"1.48.0",qe=E.useMemo(()=>vT(Nb,null,Pe),[Pe]),Ne=E.useCallback(()=>{Rt({entries:qe,since:null,firstRun:!1})},[qe]),[We,Nt]=E.useState(null),[et,je]=E.useState($y);E.useEffect(()=>{let F=!1;return fetch("/api/health").then(V=>V.ok?V.json():null).then(V=>{F||(je(zz(V)),!(!V||typeof V.workspace!="string")&&Nt(V.workspace))}).catch(()=>{}),()=>{F=!0}},[Ie]);const yt=E.useRef(et);yt.current=et;const at=Me?`${Me.kind}:${Me.to}`:"",_t=Me!=null&&we!==at,_n=E.useCallback(()=>{Ke("");try{window.localStorage.setItem(iy,"")}catch{}},[]),qn=E.useCallback(()=>{if(Me){Ke(at);try{window.localStorage.setItem(iy,at)}catch{}}},[Me,at]),[kn,_i]=E.useState(()=>{if(typeof window>"u")return"";try{return window.localStorage.getItem(aC)??""}catch{return""}}),pn=ue!=null&&ue.invokedAs&&ue.invokedAs!==Ft?ue.invokedAs:null,ki=pn!=null&&kn!==pn,Si=E.useCallback(()=>{if(pn){_i(pn);try{window.localStorage.setItem(aC,pn)}catch{}}},[pn]),zt=((us=ue==null?void 0:ue.upgrade)==null?void 0:us.state)??"idle",Er=hq(ue==null?void 0:ue.upgrade),Dn=E.useRef(!1),Ms=E.useCallback(async()=>{if(sr(Dn.current||zt==="running")){Dn.current=!0;try{await fetch("/api/upgrade",{method:"POST"})}catch{}await Ye(),Dn.current=!1}},[zt,Ye]);E.useEffect(()=>{if(zt!=="running")return;const F=window.setInterval(Ye,3e3);return()=>window.clearInterval(F)},[zt,Ye]);const Cr=E.useCallback(async()=>{var ae;const F=ue==null?void 0:ue.command;if(!F)return;let V=!1;try{V=await Promise.race([((ae=navigator.clipboard)==null?void 0:ae.writeText(F).then(()=>!0))??Promise.resolve(!1),new Promise(de=>window.setTimeout(()=>de(!1),500))])}catch{V=!1}if(!V)try{const de=document.createElement("textarea");de.value=F,de.setAttribute("readonly",""),de.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(de),de.select(),V=document.execCommand("copy"),de.remove()}catch{V=!1}V&&(ut(!0),window.setTimeout(()=>ut(!1),1600))},[ue==null?void 0:ue.command]),Ho=E.useCallback(()=>{I(F=>(F||X(!1),!F))},[]),cr=E.useCallback(()=>{X(F=>(F||I(!1),!F))},[]),[jr,dr]=E.useState(!1),[Zr,Ni]=E.useState(!1),[Ei,Ci]=E.useState(()=>{try{return Number(localStorage.getItem(Tb))||0}catch{return 0}}),[Sn,ji]=E.useState([]),[Tr,Ti]=E.useState(!1);E.useEffect(()=>{let F=!0;const V=()=>{fetch("/api/browser-watch").then(de=>de.ok?de.json():null).then(de=>{var be;!F||!(de!=null&&de.ok)||(ji(de.episodes??[]),Ti(((be=de.settings)==null?void 0:be.enabled)===!0))}).catch(()=>{})};V();const ae=setInterval(V,5*6e4);return()=>{F=!1,clearInterval(ae)}},[]);const Fn=E.useMemo(()=>UD(Sn,Ei).length,[Sn,Ei]),[Ri,Is]=E.useState(0),Os=E.useRef(null),[Ai,Mi]=E.useState(!1),nt=E.useRef(null),[Go,Jr]=E.useState(0),Ht=E.useState(()=>wD({protect:F=>V$(s.current,F)}))[0],[zn,Ii]=E.useState(!1),es=E.useCallback(()=>{const F=Ht.paused&&Ht.dropped>0,V=Ht.setPaused(!Ht.paused);F&&K$(s.current);for(const ae of V)s.current=L1(s.current,ae);Ii(Ht.paused)},[Ht]),[ht,rn]=E.useState(Date.now()),[Bn,mn]=E.useState(()=>{if(typeof window>"u")return!0;try{return window.localStorage.getItem(lC)!=="0"}catch{return!0}}),Hc=E.useCallback(()=>{mn(F=>{const V=!F;try{window.localStorage.setItem(lC,V?"1":"0")}catch{}return V})},[]),[Rr,Oi]=E.useState(!1),[Pi,$i]=E.useState("restart"),[ts,Ps]=E.useState(null),ns=E.useRef(!1),wl=E.useRef(null),Li=E.useRef(0),$s=E.useCallback(async F=>{if(!sr(ns.current))return;const V=(F==null?void 0:F.upgrade)===!0;ns.current=!0,wl.current=Er;const ae=++Li.current;$i(V?"npx":"restart"),Oi(!0);try{window.sessionStorage.setItem("agent-dag.restartPending",(Me==null?void 0:Me.to)??"")}catch{}try{await fetch("/api/restart",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({upgrade:V})})}catch{}window.setTimeout(()=>{if(Li.current===ae&&ns.current){ns.current=!1,Oi(!1);try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}}},V?18e4:3e4)},[Me==null?void 0:Me.to,Er]),qi=E.useRef(null);E.useEffect(()=>{let F=!1;for(const ae of s.current.agents.values())if(ae.state==="active"){F=!0;break}const V=mq({enabled:Bn,kind:Me==null?void 0:Me.kind,canRestart:(ue==null?void 0:ue.canRestart)===!0,busy:F,idleSince:qi.current,now:ht});qi.current=V.idleSince,V.restart&&$s()},[Bn,Me==null?void 0:Me.kind,ue==null?void 0:ue.canRestart,ht,$s]),E.useEffect(()=>{const F=ue==null?void 0:ue.running;let V=null,ae=null;try{V=window.sessionStorage.getItem("agent-dag.restartPending"),ae=window.sessionStorage.getItem(uC)}catch{return}const de=fq({bundle:"1.48.0",running:F,pending:V,lastTried:ae});if(de==="reload"){try{window.sessionStorage.setItem(uC,F??"")}catch{return}window.location.reload();return}if(de!=="confirm")return;try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}ns.current=!1,Oi(!1),Ps(F??null);const be=window.setTimeout(()=>Ps(null),6e3);return()=>window.clearTimeout(be)},[ue==null?void 0:ue.running]),E.useEffect(()=>{if(Rr&&pq({asked:wl.current,reported:Er})){try{window.sessionStorage.removeItem("agent-dag.restartPending")}catch{}ns.current=!1,Oi(!1)}},[Rr,Er]);const rs=E.useState(()=>Az(cB()))[0],Zt=E.useRef(rs.pinned),ss=E.useRef(null),Xe=E.useState(()=>dB())[0],[Vo,xl]=E.useState(()=>new Set),[Ar,Ko]=E.useState(bD),[Un,bl]=E.useState(()=>eC(rC)),Di=E.useMemo(()=>Tz(Un),[Un]),Fi=E.useCallback(F=>jz(F,Di),[Di]),fr=E.useMemo(()=>({background:Un["--panel"],border:`1px solid ${Un["--line"]}`,borderRadius:8}),[Un]),[Wn,hr]=E.useState(!1);E.useEffect(()=>{document.documentElement.dataset.theme=Ar;try{window.localStorage.setItem(wT,Ar)}catch{}bl(F=>{const V=eC(rC);return Rz(F,V)?F:V})},[Ar]);const gn=E.useCallback((F,V)=>{if(ry({durationMs:V,documentHidden:document.hidden})){e.setViewport(F,{duration:V});return}const{d3Zoom:ae,d3Selection:de}=t.getState(),be=de==null?void 0:de.property("__zoom");if(ae&&de&&be&&be.k>0&&F.zoom>0){ae.transform(de,be.scale(F.zoom/be.k).translate((F.x-be.x)/F.zoom,(F.y-be.y)/F.zoom));return}e.setViewport(F,{duration:0})},[e,t]),Hn=E.useRef(null);E.useEffect(()=>{if(!Xe)return;const F=window.setTimeout(()=>{try{gn(Xe,0)}catch{}Vn.current=Date.now()},60);return()=>window.clearTimeout(F)},[gn,Xe]);const Gn=E.useRef(!0);E.useEffect(()=>{const F=new EventSource("/events"),V=vD(a,{now:()=>Date.now(),setTimeout:(ae,de)=>window.setTimeout(ae,de),clearTimeout:ae=>window.clearTimeout(ae)});return F.addEventListener("open",()=>{ke(!0),hr(!0)}),F.addEventListener("error",()=>ke(!1)),F.addEventListener("replay-end",()=>{Gn.current=!1,V.flush()}),F.addEventListener("hook",ae=>{var de;try{const be=JSON.parse(ae.data);if(!Ht.accept(be))return;s.current=L1(s.current,be);const Ce=be.replay===!0||Gn.current||Date.now()-be.receivedAt>3e4;Ce?V.replay():V.live();const ze=qq(be,Ce);ze&&((de=Re.current)==null||de.play(ze))}catch{}}),()=>{F.close(),V.cancel()}},[a]),E.useEffect(()=>{const F=setInterval(()=>{const V=Date.now();rn(V);let ae=Y$(s.current,V,$1);X$(s.current,V,$1)&&(ae=!0),H$(s.current,V,Zz,Jz)&&(ae=!0),G$(s.current,V,eB,tB)&&(ae=!0),c(de=>lD(de,s.current.agents)),m(de=>de!=null&&!s.current.agents.has(de)?null:de),ae&&a()},250);return()=>clearInterval(F)},[a]);const Yo=E.useRef(null),Vn=E.useRef(0),Ls=420,Nn=E.useCallback((F=500)=>{try{const Ce=document.querySelector(".canvas-wrap"),ze=Array.from(document.querySelectorAll(".react-flow__node")).filter(ct=>ct.offsetWidth>0);if(!Ce||ze.length===0)return;const Ze=Ce.getBoundingClientRect(),pt=e.getViewport();if(!Number.isFinite(pt.zoom)||pt.zoom<=0)return;const ot=ct=>(ct-Ze.left-pt.x)/pt.zoom,sn=ct=>(ct-Ze.top-pt.y)/pt.zoom,Vt=ze.map(ct=>ct.getBoundingClientRect()),cs=Math.min(...Vt.map(ct=>ot(ct.left))),$l=Math.max(...Vt.map(ct=>ot(ct.right))),ua=Math.min(...Vt.map(ct=>sn(ct.top))),Ll=Math.max(...Vt.map(ct=>sn(ct.bottom))),ca=$l-cs,Ks=Ll-ua;if(!(ca>0&&Ks>0))return;const Ys=Math.max(.2,Math.min(1,(Ze.width-160)/(ca+Ls)*.86,(Ze.height-160)/Ks*.86)),Xs={x:80-cs*Ys,y:Math.max(80,(Ze.height-Ks*Ys)/2)-ua*Ys,zoom:Ys};gn(Xs,F),Vn.current=Date.now(),Hn.current=ry({durationMs:F,documentHidden:document.hidden})?{target:Xs,until:Date.now()+F+60}:null,window.setTimeout(()=>{var ct;try{((ct=Hn.current)==null?void 0:ct.target)===Xs&&(Hn.current=null);const Yi=e.getViewport();(Math.abs(Yi.zoom-Ys)>.01||Math.abs(Yi.x-Xs.x)>2)&&gn(Xs,0)}catch{}},F+60)}catch{}},[e,gn]);E.useEffect(()=>{const F=()=>{if(!document.hidden)return;const V=Hn.current;if(Hn.current=null,!(!V||Date.now()>V.until)){try{gn(V.target,0)}catch{}Vn.current=Date.now()}};return document.addEventListener("visibilitychange",F),()=>document.removeEventListener("visibilitychange",F)},[gn]);const zi=E.useRef(""),is=E.useRef(null),Xo=E.useRef(0),Bi=E.useCallback(()=>{Xo.current=Date.now()},[]),Mr=E.useRef(null),os=E.useRef(0),pr=E.useCallback(()=>{os.current=Date.now()},[]),qs=E.useCallback(F=>({hasSourceEvent:!!F,at:Date.now(),lastDeckFitAt:Vn.current,lastCanvasInputAt:os.current}),[]),Qo="agent-dag.autoFitDisabled",_l=E.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(Qo)==="1"}catch{return!1}})[0],mr=E.useRef(_l),[Ds,Ui]=E.useState(_l),Wi=E.useCallback(()=>{if(!mr.current){mr.current=!0,Ui(!0);try{window.localStorage.setItem(Qo,"1")}catch{}}},[]),gr=E.useCallback(()=>{mr.current=!1,Ui(!1);try{window.localStorage.removeItem(Qo)}catch{}Nn(400)},[e,Nn]);E.useEffect(()=>{const F=setInterval(()=>{if(mr.current||Date.now()-Xo.current<800)return;const V=s.current,ae=Date.now(),de=[];for(const Ce of V.agents.values())Py(Ce,ae)&&de.push({id:Ce.id});if(de.length===0)return;const be=[];for(const{id:Ce}of de){const ze=Kn.current.get(Ce),Ze=Zt.current.get(Ce)??At.current.get(Ce);!ze||!Ze||be.push({x:Ze.x,y:Ze.y,width:ze.width,height:ze.height})}Pz({pane:Mr.current,viewport:e.getViewport(),boxes:be})&&Nn(600)},1500);return()=>clearInterval(F)},[e]);const Fs=E.useRef(!1),Kn=E.useRef(new Map),Zo=E.useRef(0),Hi=E.useCallback(F=>{const V=Kn.current;let ae=!1;for(const de of F.nodeInternals.values()){const be=de.width,Ce=de.height;if(be==null||Ce==null)continue;const ze=V.get(de.id);ze?(Math.abs(ze.height-Ce)>4||Math.abs(ze.width-be)>4)&&(V.set(de.id,{width:be,height:Ce}),ae=!0):(V.set(de.id,{width:be,height:Ce}),ae=!0)}return ae&&(Zo.current+=1),Zo.current},[]),zs=rt(Hi),[Jo,Jt]=E.useState(0);E.useEffect(()=>{let F=0;const V=()=>{const de=Kn.current;let be=!1;for(const Ce of document.querySelectorAll(".react-flow__node[data-id]")){const ze=Ce.getAttribute("data-id");if(!ze)continue;const Ze=Ce.offsetWidth,pt=Ce.offsetHeight;if(!Ze||!pt)continue;const ot=de.get(ze);(!ot||Math.abs(ot.width-Ze)>4||Math.abs(ot.height-pt)>4)&&(de.set(ze,{width:Ze,height:pt}),be=!0)}be&&Jt(Ce=>Ce+1)};if(Fs.current)return;let ae=0;return document.visibilityState==="hidden"?ae=window.setTimeout(V,32):F=requestAnimationFrame(V),()=>{cancelAnimationFrame(F),window.clearTimeout(ae)}});const At=E.useRef(rs.positions),ea=E.useRef(new Set),Ir=E.useRef(""),as=E.useMemo(()=>{const F=[];for(const V of s.current.agents.values())Py(V,ht)&&F.push(V.id+(V.parentId?`>${V.parentId}`:""));return F.sort(),`${F.join("|")}#sv${zs}.${Jo}`},[s.current,s.current.revision,ht,zs,Jo]),Or=E.useRef(null);E.useEffect(()=>(Or.current!=null&&window.clearTimeout(Or.current),Or.current=window.setTimeout(()=>{ay(At.current,Zt.current)},1500),()=>{Or.current!=null&&window.clearTimeout(Or.current)}),[as]),E.useEffect(()=>{if(zi.current===as)return;const F=zi.current;if(zi.current=as,!F||mr.current)return;Date.now()-Vn.current>1200&&Nn(400),Yo.current&&window.clearTimeout(Yo.current),Yo.current=window.setTimeout(()=>{mr.current||Nn(500)},280)},[as,e,Nn]);const Bs=E.useMemo(()=>dD(s.current,u),[s.current,s.current.revision,u]),Pr=E.useMemo(()=>Nz(s.current,ht),[s.current,s.current.revision,ht]),Us=E.useRef(null),[Ws,kl]=E.useState({w:0,h:0});E.useEffect(()=>{const F=Us.current;if(!F||typeof ResizeObserver>"u")return;const V=new ResizeObserver(ae=>{var be;const de=(be=ae[0])==null?void 0:be.contentRect;de&&(Mr.current={width:de.width,height:de.height},kl(Ce=>Math.abs(Ce.w-de.width)>40||Math.abs(Ce.h-de.height)>40?{w:de.width,h:de.height}:Ce))});return V.observe(F),Mr.current={width:F.clientWidth,height:F.clientHeight},kl({w:F.clientWidth,h:F.clientHeight}),()=>V.disconnect()},[]);const Gc=E.useCallback(F=>{var ae,de;const V=F.target;!(V!=null&&V.closest)||V.closest(Xz)!==F.currentTarget||(F.preventDefault(),(de=(ae=document.activeElement)==null?void 0:ae.blur)==null||de.call(ae))},[]),Vc=E.useRef(new Map),[Gi,Kc]=E.useState(!1);E.useEffect(()=>{const F=window.setTimeout(()=>Kc(!0),2500);return()=>window.clearTimeout(F)},[]);const[Yc,ta]=E.useState(!1),vr=E.useRef(null),[na,ra]=E.useState(!1),Xc=E.useCallback(()=>{vr.current&&(window.clearTimeout(vr.current),vr.current=null),ta(!1)},[]),Qc=E.useCallback(F=>{F.length!==0&&queueMicrotask(()=>{ta(!0),vr.current&&window.clearTimeout(vr.current),vr.current=window.setTimeout(()=>ta(!1),Qz+80)})},[]);E.useEffect(()=>()=>{vr.current&&window.clearTimeout(vr.current)},[]);const Sl=Ws.w>0?Ws.w*.92:0,Nl=Ws.h>0?Ws.h:0,{nodes:En,edges:Zc}=E.useMemo(()=>pB(s.current,ht,Sl,Nl,Zt.current,Kn.current,Vc.current,Qc,Gi,na,At.current,ea.current,as,Ir,u,Bs,Pr,S),[s.current,s.current.revision,ht,Sl,Nl,Gi,na,as,u,Bs,Pr,S,Ri]),El=E.useMemo(()=>{const F=new Map;for(const ae of En){const de=ae.data;if(!(de!=null&&de.sessionId)||de.exitAt!=null)continue;const be=ae.width,Ce=ae.height;if(be==null||Ce==null)continue;const ze=ae.position.x,Ze=ae.position.y,pt=ze+be,ot=Ze+Ce,sn=F.get(de.sessionId);sn?(sn.minX=Math.min(sn.minX,ze),sn.minY=Math.min(sn.minY,Ze),sn.maxX=Math.max(sn.maxX,pt),sn.maxY=Math.max(sn.maxY,ot)):F.set(de.sessionId,{minX:ze,minY:Ze,maxX:pt,maxY:ot})}const V=[];for(const[ae,de]of F){const be=de.maxX-de.minX+Yu*2,Ce=de.maxY-de.minY+Yu*2;V.push({id:`group:${ae}`,type:_R,position:{x:de.minX-Yu,y:de.minY-Yu},data:{sessionId:ae,w:be,h:Ce},width:be,height:Ce,style:{width:be,height:Ce},zIndex:-1,draggable:!0,selectable:!1,focusable:!1,deletable:!1,connectable:!1})}return V},[En,ht]),Jc=E.useMemo(()=>{const F=[...El,...En],V=nt.current;return!V||V.size===0?F:F.map(ae=>{const de=V.get(ae.id);return de?{...ae,position:de}:ae})},[El,En,Go]),Hs=E.useMemo(()=>{const F=new Set;for(const V of s.current.agents.values())for(const ae of V.tools)F.add(RR(ae.name));return Object.keys(Ly).filter(V=>F.has(V))},[s.current,s.current.revision]);E.useEffect(()=>{if(Hs.length<=1){Mi(!1);return}let F=0;const V=()=>{const ae=Os.current;if(ae&&!document.hidden){const de=ae.getBoundingClientRect(),be=Array.from(document.querySelectorAll(".react-flow__node, .tool-burst")).map(ze=>ze.getBoundingClientRect()),Ce=Cz(de,be,8);Mi(ze=>ze===Ce?ze:Ce)}F=window.setTimeout(V,300)};return V(),()=>window.clearTimeout(F)},[Hs.length]);const ed=E.useCallback(F=>{xl(V=>{const ae=new Set(V);return ae.has(F)?ae.delete(F):ae.add(F),ae})},[]),en=h?s.current.agents.get(h):null,sa=f?Array.from(s.current.agents.values()).flatMap(F=>F.tools).find(F=>F.id===f)??null:null,Cl=E.useCallback(async()=>{try{await fetch("/api/clear",{method:"POST"})}catch{}s.current=Sy(),Zt.current.clear(),Kn.current.clear(),At.current.clear(),Ir.current="",dC(),w(),a()},[a,w]),jl=E.useRef(C);jl.current=C;const Tl=E.useRef(M);Tl.current=M;const ia=E.useRef(!1);ia.current=sa!=null||jr||_!=null||N!=null||Zr||M||it!=null;const ls=E.useCallback(F=>{const V=gq(F,{confirmOpen:jl.current,modalOpen:ia.current});V==="confirm"?T(!0):V==="clear"&&(T(!1),Cl())},[Cl]),$r=E.useCallback(()=>{Zt.current.clear(),At.current.clear(),Ir.current="",dC(),a(),window.setTimeout(()=>Nn(500),80)},[a,e,Nn]),Rl=E.useCallback(()=>Nn(500),[Nn]),Gs=E.useRef(En);Gs.current=En;const oa=E.useRef(h);oa.current=h;const Vi=E.useCallback(F=>{const V=Gs.current,ae=rD(V.map(Ce=>({id:Ce.id,x:Ce.position.x,y:Ce.position.y})),oa.current,F),de=ae?V.find(Ce=>Ce.id===ae):void 0;if(!de)return;const be=sC(document.activeElement);y(de.id,!1),window.setTimeout(()=>{try{e.fitView({padding:.35,duration:350,nodes:[de]})}catch{}Vn.current=Date.now(),be&&Yz(de.id)},30)},[y,e]),aa=E.useCallback(F=>{y(F,!1),window.setTimeout(()=>{try{const V=Gs.current.find(ae=>ae.id===F);V&&e.fitView({padding:.3,duration:500,nodes:[V]}),Vn.current=Date.now()}catch{}},60)},[y,e]);E.useEffect(()=>{const F=V=>{var Ze,pt;const ae=V.target,de={tagName:ae==null?void 0:ae.tagName,isContentEditable:ae==null?void 0:ae.isContentEditable,role:(Ze=ae==null?void 0:ae.getAttribute)==null?void 0:Ze.call(ae,"role"),type:ae==null?void 0:ae.type};if(V.key==="Escape"){const ot=vL({overlayOpen:jo.depth()>0,panelOnTop:jo.topIsPanel(),typing:a0(de)});ot==="dismiss"?jo.dismissTop():ot==="blur"?ae==null||ae.blur():(aD(de)&&(ae==null||ae.blur()),w());return}if(o0(V))return;const be=sC(ae)?(pt=ae==null?void 0:ae.getAttribute)==null?void 0:pt.call(ae,"data-id"):null,Ce=be&&Gs.current.some(ot=>ot.id===be)?be:null,ze=iD(V,Ce);if(ze.kind==="activate"){V.preventDefault(),y(ze.nodeId,ze.additive);return}ze.kind!=="node"&&(ze.nodeId==null&&NL(de)||EL({key:V.key,modalOpen:ia.current,sheetOpen:Tl.current})||(V.key===" "&&(V.preventDefault(),es()),(V.key==="c"||V.key==="C")&&ls("shortcut"),(V.key==="r"||V.key==="R")&&$r(),(V.key==="f"||V.key==="F")&&Rl(),(V.key==="l"||V.key==="L")&&Ho(),(V.key==="h"||V.key==="H")&&dr(ot=>!ot),(V.key==="u"||V.key==="U")&&Y(ot=>!ot),(V.key==="a"||V.key==="A")&&yt.current.claude&&cr(),(V.key==="j"||V.key==="J")&&Vi(1),(V.key==="k"||V.key==="K")&&Vi(-1),(V.key==="t"||V.key==="T")&&Ko(ot=>ot==="dark"?"light":"dark"),(V.key==="m"||V.key==="M")&&yt.current.claude&&O.current!==null&&Q.current(V.shiftKey),V.key==="?"&&P(ot=>!ot)))};return window.addEventListener("keydown",F),()=>window.removeEventListener("keydown",F)},[ls,$r,Rl,w,y,Vi,es]);const Ki=s.current.agents.size,Gt=E.useMemo(()=>L3(s.current.agents.values()),[s.current,s.current.revision]),Al=E.useMemo(()=>q3(s.current.agents.values()),[s.current,s.current.revision]),Ml=E.useRef(null);E.useEffect(()=>{const F=_D({waiting:Gt.length,running:Al,connected:Ie}),V=Ml.current;if(Ml.current=F,(V==null?void 0:V.title)!==F.title&&(document.title=F.title),(V==null?void 0:V.icon)!==F.icon){const ae=document.querySelector('link[rel="icon"]');ae&&(ae.href=kD[F.icon])}},[Gt.length,Al,Ie]);const[td,Il]=E.useState(""),la=ND(Gt);E.useEffect(()=>{Il(F=>ED(F,la))},[la]);const $t=E.useMemo(()=>nT(s.current.agents.values()),[s.current,s.current.revision]);return d.jsxs("div",{className:"app",children:[d.jsx("a",{className:"skip-link",href:"#canvas",children:"Skip to the canvas"}),d.jsxs("header",{className:"topbar",children:[d.jsxs("div",{className:"readout",children:[d.jsxs("div",{className:"brand",children:[d.jsx("span",{className:"logo"}),d.jsx("h1",{children:Ft}),Me?d.jsxs("button",{type:"button",className:"v stale",onClick:()=>{Ne(),_n()},"aria-haspopup":"dialog","aria-label":Dz({...Me,open:_t}),title:Me.kind==="restart"?`Running v${Me.from}; v${Me.to} is installed on disk. Restart to pick it up · click for what's new`:`Running v${Me.from}; v${Me.to} is on npm · click for what's new`,children:["v",Me.from,d.jsx("span",{className:"v-dot","aria-hidden":!0})]}):(()=>{const F={running:Pe,latest:ue==null?void 0:ue.latest,latestPending:ue==null?void 0:ue.latestPending,checkedAgo:ue!=null&&ue.checkedAt?jy(ht-ue.checkedAt):null,checkDisabled:ue==null?void 0:ue.checkDisabled,checking:Be};return d.jsxs("button",{type:"button",className:Be?"v checking":"v",onClick:()=>{Ne(),Ye(!0)},"aria-busy":Be||void 0,"aria-haspopup":"dialog","aria-label":qz(F),title:Lz(F),children:["v",F.running]})})()]}),d.jsxs("span",{className:"status",children:[(()=>{const F=Vz({connected:Ie,paused:zn,held:Ht.size,dropped:Ht.dropped});return F.resting?null:d.jsx("span",{className:`pill ${F.tone}`,title:F.title,children:d.jsxs("span",{className:"pill-box",children:[d.jsx("span",{className:"pill-widest","aria-hidden":!0,children:F.widest}),d.jsx("span",{className:"pill-label",children:F.label})]})})})(),d.jsx(u4,{usageOpen:H}),$t.sum>0&&d.jsxs("span",{className:"stat",title:`in:${$t.inputTokens.toLocaleString()} out:${$t.outputTokens.toLocaleString()} cache-r:${$t.cacheReadTokens.toLocaleString()} cache-c:${$t.cacheCreateTokens.toLocaleString()}
|
|
102
|
+
|
|
103
|
+
${hc}`,children:[d.jsx("span",{className:"count",children:Ot($t.sum)}),d.jsx("span",{className:"lbl",children:I3})]}),$t.cost.total>0&&(()=>{let F=0,V=0;for(const be of s.current.agents.values()){if(be.state!=="active")continue;const Ce=xn(be);F+=Ce.total,V=Math.max(V,((be.endedAt??ht)-be.startedAt)/1e3)}const ae=V>0?dc(F,V):null,de=`input ${Ve($t.cost.input)} + output ${Ve($t.cost.output)} + cache r ${Ve($t.cost.cacheRead)} + cache w ${Ve($t.cost.cacheWrite)}${ae?`
|
|
104
|
+
active burn: ${ae}`:""}
|
|
105
|
+
|
|
106
|
+
${hc}`;return d.jsxs("span",{className:"stat",title:de,children:[d.jsx("span",{className:"count",children:Ve($t.cost.total)}),d.jsxs("span",{className:"lbl",children:[O3,ae?` · ${ae}`:""]})]})})()]}),d.jsx("div",{className:"vis-hidden",role:"status","aria-atomic":"true",children:td}),Gt.length>0&&d.jsxs("button",{type:"button",className:"waiting-stat",onClick:()=>aa(Gt[0].id),title:`Blocked waiting for you — click to go to the one that has been stuck longest:
|
|
107
|
+
${Gt.map(F=>` ${F.label}: ${Nc(F.waiting)} (${jy(ht-F.waiting.since)})`).join(`
|
|
108
|
+
`)}`,"aria-label":`${Gt.length} session${Gt.length===1?"":"s"} waiting for you`,children:[d.jsx("span",{className:"ap-pulse","aria-hidden":!0}),d.jsx("b",{children:Gt.length})," waiting"]})]}),en&&(()=>{const F=xn(en),V=Math.max(0,((en.endedAt??ht)-en.startedAt)/1e3),ae=en.state==="active"?dc(F.total,V):null,de=u.size-1;return d.jsxs("button",{type:"button",className:"selected-ribbon",title:`Fit view to ${en.label}`,onClick:()=>{try{const be=En.find(Ce=>Ce.id===en.id);be&&e.fitView({padding:.35,duration:500,nodes:[be]}),Vn.current=Date.now()}catch{}},children:[d.jsx("span",{className:`state-pill state-${en.state}`,children:en.state==="active"?"live":en.state}),d.jsx("span",{className:"selected-label",children:en.label}),F.total>0&&d.jsxs("span",{className:"selected-cost",children:[Ve(F.total),ae?d.jsxs("span",{className:"selected-rate",children:[" · ",ae]}):null]}),de>0&&d.jsxs("span",{className:"selected-extra",children:["+",de]}),d.jsx("span",{"aria-hidden":!0,className:"selected-close",onClick:be=>{be.stopPropagation(),w()},children:"×"})]})})(),d.jsxs("div",{className:"actions",children:[d.jsxs("div",{className:"action-run",children:[d.jsx("button",{className:"btn icon-btn",onClick:()=>Y(F=>!F),title:`${H?"Hide":"Show"} usage panel (U)`,"aria-label":"Toggle usage panel","aria-expanded":H,"aria-controls":H?"usage-panel":void 0,children:"$"}),et.claude&&d.jsx("button",{className:"btn icon-btn",onClick:cr,title:`${j?"Hide":"Show"} accounts (A)`,"aria-label":"Toggle accounts panel","aria-expanded":j,"aria-controls":j?"accounts-panel":void 0,children:d.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[d.jsx("circle",{cx:"7",cy:"4.6",r:"2.4"}),d.jsx("path",{d:"M2.4 12c0-2.3 2.1-3.7 4.6-3.7s4.6 1.4 4.6 3.7"})]})}),d.jsx("button",{className:"btn icon-btn",onClick:()=>dr(F=>!F),title:"Usage history — ccusage (H)","aria-label":"Open usage history","aria-haspopup":"dialog",children:d.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.6",strokeLinecap:"round","aria-hidden":!0,children:[d.jsx("line",{x1:"3",y1:"11.5",x2:"3",y2:"7"}),d.jsx("line",{x1:"7",y1:"11.5",x2:"7",y2:"3"}),d.jsx("line",{x1:"11",y1:"11.5",x2:"11",y2:"8.5"})]})}),d.jsxs("button",{className:`btn icon-btn bw-btn${Fn>0?" has-findings":Tr?" watching":""}`,onClick:()=>Ni(F=>!F),title:Tr?"Browser watch — watching; the deck is keeping its own copy":"Browser watch — not watching; reading the browser's history live","aria-label":`Browser watch, ${Tr?"watching":"not watching"}`+(Fn>0?`, ${Fn} unread`:""),"aria-haspopup":"dialog",children:[d.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.5","aria-hidden":!0,children:[d.jsx("path",{d:"M0.9 7s2.2-4 6.1-4 6.1 4 6.1 4-2.2 4-6.1 4S0.9 7 0.9 7Z"}),Tr||Fn>0?d.jsx("circle",{cx:"7",cy:"7",r:"1.8",fill:"currentColor",stroke:"none"}):d.jsx("line",{x1:"2.4",y1:"11.6",x2:"11.6",y2:"2.4"})]}),Fn>0&&d.jsx("span",{className:"bw-badge","aria-hidden":!0,children:Fn})]})]}),d.jsxs("div",{className:"action-run",children:[et.claude&&z!==null&&d.jsxs("div",{className:"sound-slot",children:[d.jsx("button",{ref:ye,className:"btn icon-btn",onClick:()=>he(F=>!F),...rr(!1),title:OD(et,{on:z===!0,locked:Ue==="locked",prefs:G}),"aria-label":"Sound settings","aria-haspopup":"dialog","aria-expanded":fe,"aria-controls":fe?"sound-menu":void 0,children:d.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0,children:[d.jsx("path",{d:"M3.2 5.2h2L7.8 3v8L5.2 8.8h-2z"}),z?d.jsxs(d.Fragment,{children:[d.jsx("path",{d:"M9.8 5.4a2.4 2.4 0 0 1 0 3.2"}),d.jsx("path",{d:"M11.3 3.9a4.6 4.6 0 0 1 0 6.2"})]}):d.jsxs(d.Fragment,{children:[d.jsx("path",{d:"M10 5.6l2.6 2.8"}),d.jsx("path",{d:"M12.6 5.6L10 8.4"})]})]})}),fe&&d.jsx(zq,{onClose:()=>he(!1),soundOn:z===!0,onToggleSound:J,prefs:G,onLevel:(F,V)=>se(F,{level:V}),onFigure:(F,V)=>se(F,{figure:V}),onPreview:F=>Z(F),openerRef:ye})]}),d.jsx("button",{className:"btn icon-btn",onClick:()=>Ko(F=>F==="dark"?"light":"dark"),title:`Switch to ${Ar==="dark"?"light":"dark"} mode (T)`,"aria-label":"Toggle theme",children:Ar==="dark"?"☀":"☾"})]})]})]}),ts?d.jsxs("div",{className:"ver-banner done",role:"status",children:[d.jsx("span",{className:"ver-dot"}),d.jsxs("strong",{children:["Restarted — now running v",ts,"."]}),d.jsx("span",{className:"ver-sub",children:"The canvas replayed from the event log."})]}):Wn&&!Ie?d.jsxs("div",{className:"conn-banner",role:"alert",children:[d.jsx("span",{className:"conn-dot"}),Rr?Pi==="npx"?"Fetching the new version with npx — this can take a minute…":`Restarting ${Ft}…`:(()=>{const F=Hz({connected:Ie,paused:zn});return d.jsxs(d.Fragment,{children:[`Lost connection to the ${Ft} server. Reconnecting…`,F&&d.jsx("span",{className:"conn-sub",children:F})]})})()]}):_t&&Me?d.jsxs("div",{className:`ver-banner ${Me.kind}`,role:"status",children:[d.jsx("span",{className:"ver-dot"}),Me.kind==="restart"?d.jsxs(d.Fragment,{children:[d.jsxs("strong",{children:["v",Me.to," is installed — this deck still runs v",Me.from,"."]}),ue!=null&&ue.canRestart?d.jsxs(d.Fragment,{children:[d.jsx("button",{type:"button",className:"ver-act",onClick:()=>$s(),...rr(Rr),title:"Stop this process and bring it back on the same port. The canvas replays from the event log.",children:Rr?"restarting…":"Restart now"}),d.jsxs("button",{type:"button",className:`ver-auto${Bn?" on":""}`,role:"switch","aria-checked":Bn,onClick:Hc,title:Bn?"Restarts on its own once nothing has been running for 30 seconds. Click to require a click instead.":"Only restarts when you click. Click to let it restart itself while idle.",children:[d.jsx("i",{"aria-hidden":!0}),"auto when idle"]})]}):d.jsx("span",{className:"ver-sub",title:"Node loads every module once, at startup. An upgrade replaces the files on disk but not the code already in memory, so this process keeps running the old version until it is restarted.",children:"Restart it to pick up the new code."})]}):d.jsxs(d.Fragment,{children:[d.jsxs("strong",{children:[Ft," v",Me.to," is out — you are on v",Me.from,"."]}),(ue==null?void 0:ue.upgradeMode)==="install"&&zt!=="failed"&&d.jsx("button",{type:"button",className:"ver-act",onClick:Ms,...rr(zt==="running",zt==="done"),title:`Runs ${((Ol=ue==null?void 0:ue.upgrade)==null?void 0:Ol.command)??(ue==null?void 0:ue.command)??"npm i -g"} here, then restarts once nothing is running.`,children:zt==="running"?"installing…":zt==="done"?"installed":"Update now"}),(ue==null?void 0:ue.upgradeMode)==="npx"&&(ue==null?void 0:ue.canRestart)&&d.jsx("button",{type:"button",className:"ver-act",onClick:()=>$s({upgrade:!0}),...rr(Rr),title:`Runs ${ue==null?void 0:ue.command} and hands it this port. Nothing is installed globally — npx unpacks its own copy.`,children:Rr?"fetching…":zt==="failed"?"Retry update":"Update & restart"}),zt==="failed"?d.jsxs("span",{className:"ver-sub fail",title:((Vs=ue==null?void 0:ue.upgrade)==null?void 0:Vs.error)??"",children:[(ue==null?void 0:ue.upgradeMode)==="npx"?"update failed":"install failed",": ",((Pl=ue==null?void 0:ue.upgrade)==null?void 0:Pl.error)??"unknown error"," — run it yourself:"]}):(ue==null?void 0:ue.upgradeMode)==="npx"?d.jsx("span",{className:"ver-sub",children:ue!=null&&ue.canRestart?"npx cannot upgrade in place, so the deck re-runs:":oy.npx}):ue!=null&&ue.upgradeBlocked?d.jsx("span",{className:"ver-sub",children:Object.hasOwn(oy,ue.upgradeBlocked)?oy[ue.upgradeBlocked]:"cannot install from here"}):null,d.jsxs("button",{type:"button",className:"ver-cmd",onClick:Cr,title:"Copy to clipboard",children:[d.jsx("code",{children:ue==null?void 0:ue.command}),d.jsx("span",{className:"ver-cmd-hint",children:vt?"copied":"copy"})]})]}),d.jsx("button",{type:"button","aria-label":"Dismiss",className:"ver-close",onClick:qn,children:"×"})]}):ki&&pn?d.jsxs("div",{className:"ver-banner",role:"status",children:[d.jsx("span",{className:"ver-dot"}),d.jsxs("strong",{children:[pn," still works — the deck is called ",Ft," now."]}),ue!=null&&ue.renameFix?d.jsx("span",{className:"ver-sub",children:ue.renameFix}):null,d.jsx("button",{type:"button","aria-label":"Dismiss",className:"ver-close",onClick:Si,children:"×"})]}):null,H&&d.jsx(Z3,{state:s.current,now:ht,providers:et,onClose:()=>Y(!1)}),j&&et.claude&&d.jsx(uq,{onClose:()=>X(!1)}),W&&d.jsx(F3,{state:s.current,now:ht,selectedIds:u,onSelect:aa,onClose:()=>I(!1)}),d.jsxs("main",{id:"canvas",tabIndex:-1,className:`canvas-wrap${Yc?" bubbling":""}${na?" dragging-any":""}`,ref:Us,onMouseDownCapture:Gc,onPointerDownCapture:pr,onPointerUpCapture:pr,onWheelCapture:pr,children:[Ki===0&&d.jsx(vB,{live:Ie,everConnected:Wn,providers:et}),Hs.length>1&&d.jsx("div",{ref:Os,className:`cat-filter-bar${Ai?" occluded":""}`,role:"group","aria-label":"Filter tools by category",children:Hs.map(F=>{const V=Vo.has(F);return d.jsxs("button",{type:"button",className:`cat-filter${V?" off":""}`,onClick:()=>ed(F),"aria-pressed":!V,title:`${V?"Show":"Hide"} ${qy[F]} tools`,children:[d.jsx("span",{className:"cat-emoji",children:Ly[F]}),d.jsx("span",{className:"cat-name",children:qy[F]})]},F)})}),d.jsxs(Rj,{nodes:Jc,edges:Zc,nodeTypes:Kz,fitView:!Xe,fitViewOptions:{padding:.25,duration:ry({durationMs:iC,documentHidden:document.hidden})?iC:0},minZoom:.2,maxZoom:1.6,panOnScroll:!0,nodesDraggable:!0,nodesConnectable:!1,selectionOnDrag:!1,nodeDragThreshold:5,onNodeClick:(F,V)=>{if(V.type==="sessionGroup"){w();return}y(V.id,F.shiftKey)},onPaneClick:()=>w(),onMoveStart:F=>{tC(qs(F))&&Wi()},onMove:(F,V)=>{Bi(),tC(qs(F))&&Wi(),is.current&&window.clearTimeout(is.current),is.current=window.setTimeout(()=>fB(V),250)},onNodeDragStart:(F,V)=>{var ae;if(Xc(),Fs.current=!0,nt.current=new Map,ra(!0),Bi(),Wi(),V.type==="sessionGroup"){const de=(ae=V.data)==null?void 0:ae.sessionId,be=new Map;if(de)for(const Ce of En){const ze=Ce.data;(ze==null?void 0:ze.sessionId)===de&&be.set(Ce.id,{x:Ce.position.x,y:Ce.position.y})}ss.current={start:{x:V.position.x,y:V.position.y},members:be};return}Zt.current.set(V.id,{x:V.position.x,y:V.position.y})},onNodeDrag:(F,V)=>{var ae;if(Bi(),V.type==="sessionGroup"){const de=ss.current;if(!de)return;const be=V.position.x-de.start.x,Ce=V.position.y-de.start.y;for(const[Ze,pt]of de.members){const ot={x:pt.x+be,y:pt.y+Ce};Zt.current.set(Ze,ot),At.current.set(Ze,ot)}const ze=nt.current;if(ze){for(const[Ze,pt]of de.members)ze.set(Ze,{x:pt.x+be,y:pt.y+Ce});ze.set(V.id,{x:V.position.x,y:V.position.y})}Jr(Ze=>Ze+1);return}Zt.current.set(V.id,{x:V.position.x,y:V.position.y}),At.current.set(V.id,{x:V.position.x,y:V.position.y}),(ae=nt.current)==null||ae.set(V.id,{x:V.position.x,y:V.position.y}),Jr(de=>de+1)},onNodeDragStop:(F,V)=>{if(Bi(),Fs.current=!1,nt.current=null,ra(!1),Is(ae=>ae+1),V.type==="sessionGroup"){const ae=ss.current;if(ae){const de=V.position.x-ae.start.x,be=V.position.y-ae.start.y;for(const[Ce,ze]of ae.members){const Ze={x:ze.x+de,y:ze.y+be};Zt.current.set(Ce,Ze),At.current.set(Ce,Ze)}}ss.current=null,ay(At.current,Zt.current),Is(de=>de+1);return}Zt.current.set(V.id,{x:V.position.x,y:V.position.y}),At.current.set(V.id,{x:V.position.x,y:V.position.y}),ay(At.current,Zt.current)},children:[d.jsx(A$,{gap:28,size:1,color:Un["--grid-line"]}),d.jsx(KL,{}),d.jsx(T3,{agents:s.current.agents,visibleAgentIds:Pr,positions:At.current,pinned:Zt.current,measured:Kn.current,spotlight:Bs,hiddenCategories:Vo,now:ht,onOpenTool:g}),d.jsxs(N$,{showInteractive:!1,children:[d.jsx(_r,{onClick:gr,title:Ds?"Recenter view + re-enable autofit":"Recenter view (autofit already on)","aria-label":"Recenter view",style:Ds?{color:"var(--accent)"}:void 0,children:d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:[d.jsx("circle",{cx:"12",cy:"12",r:"3.5",fill:"none",stroke:"currentColor",strokeWidth:"2"}),d.jsx("path",{d:"M12 2v4M12 18v4M2 12h4M18 12h4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]})}),d.jsx(_r,{onClick:es,title:Wz({paused:zn,held:Ht.size,dropped:Ht.dropped}),"aria-label":Uz,"aria-pressed":zn,children:d.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:d.jsx("path",{d:"M9 5.5v13M15 5.5v13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})})}),d.jsx(_r,{onClick:$r,title:"Auto-arrange — clear pins (R)","aria-label":"Re-arrange the canvas",children:d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:[d.jsx("rect",{x:"8.5",y:"2",width:"7",height:"5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"2"}),d.jsx("rect",{x:"1.5",y:"17",width:"7",height:"5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"2"}),d.jsx("rect",{x:"15.5",y:"17",width:"7",height:"5",rx:"1.5",fill:"none",stroke:"currentColor",strokeWidth:"2"}),d.jsx("path",{d:"M12 7v6.5M5 17v-3.5h14V17",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"})]})}),d.jsx(_r,{onClick:()=>ls("button"),title:"Clear the canvas and the server's event log — asks first (C)","aria-label":"Clear the canvas",children:d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:[d.jsx("path",{d:"M4 6.2h16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"}),d.jsx("path",{d:"M9 6.2V4.4a1.6 1.6 0 0 1 1.6-1.6h2.8a1.6 1.6 0 0 1 1.6 1.6v1.8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),d.jsx("path",{d:"M17.4 6.4 16.7 20a2 2 0 0 1-2 1.9H9.3a2 2 0 0 1-2-1.9L6.6 6.4",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),d.jsx("path",{d:"M10.3 10.6v6.8M13.7 10.6v6.8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",fill:"none"})]})}),d.jsx(_r,{onClick:()=>P(F=>!F),title:"Keyboard shortcuts (?)","aria-label":"Open the keyboard shortcuts","aria-haspopup":"dialog",children:d.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24","aria-hidden":!0,children:[d.jsx("path",{d:"M8.6 8.4a3.5 3.5 0 1 1 4.6 3.35c-.85.3-1.2 1-1.2 1.85v1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",fill:"none"}),d.jsx("path",{d:"M12 18.4v.2",stroke:"currentColor",strokeWidth:"2.4",strokeLinecap:"round",fill:"none"})]})})]}),d.jsx(y$,{zoomable:!0,pannable:!0,nodeColor:Fi,nodeStrokeWidth:2,maskColor:Un["--minimap-mask"],style:fr})]})]}),A?d.jsxs("aside",{className:"detail","aria-label":"Detail",children:[d.jsx("button",{type:"button",className:"glyph-btn detail-close",title:"Close panel","aria-label":"Close detail panel",onClick:()=>D(!1),children:"×"}),en?d.jsx(xB,{agent:en,now:ht,onOpenTool:g,onShowSummary:F=>{$.has(F)&&($.delete(F),cC($)),b(F)},onExportSession:F=>hB(s.current,F)}):d.jsx(wB,{count:Ki,workspace:We})]}):d.jsx("button",{type:"button",className:"detail-reopen",title:"Show detail panel","aria-label":"Show detail panel",onClick:()=>D(!0),children:"‹"}),sa&&d.jsx(DL,{tool:sa,onClose:()=>g(null)}),jr&&d.jsx(DD,{providers:et,onClose:()=>dr(!1)}),Zr&&d.jsx(QD,{onClose:()=>Ni(!1),onSeen:F=>{Ci(F);try{localStorage.setItem(Tb,String(F))}catch{}},onWatching:Ti,palette:Un}),_&&(()=>{const F=s.current.agents.get(_);return F?d.jsx(ML,{agent:F,onClose:()=>k(null)}):null})(),N&&d.jsx(P3,{state:s.current,sessionId:N,onClose:()=>{$.add(N),cC($),b(null)}}),it&&d.jsx(tD,{entries:it.entries,since:it.since,firstRun:it.firstRun,running:Pe,onClose:()=>Rt(null)}),M&&d.jsx(kq,{onClose:()=>P(!1)}),C&&d.jsx(xq,{agentCount:Ki,onConfirm:()=>ls("confirmation"),onCancel:()=>T(!1)})]})}function vB({live:e,everConnected:t,providers:r}){const s=!e;return d.jsxs("div",{className:"empty-hero",children:[d.jsxs("div",{className:"orbit-stack","aria-hidden":!0,children:[d.jsx("div",{className:"core"}),d.jsxs("div",{className:"orbit r1",children:[d.jsx("span",{className:"dot"}),d.jsx("span",{className:"dot b"})]}),d.jsxs("div",{className:"orbit r2",children:[d.jsx("span",{className:"dot"}),d.jsx("span",{className:"dot b"})]}),d.jsxs("div",{className:"orbit r3",children:[d.jsx("span",{className:"dot"}),d.jsx("span",{className:"dot b"})]})]}),s?d.jsxs(d.Fragment,{children:[d.jsx("h2",{children:t?"Disconnected from server":"Server unreachable"}),d.jsxs("p",{children:["The browser cannot reach ",d.jsx("code",{children:"/events"}),". Check that",d.jsx("code",{children:Ft})," is still running in your terminal, then this page will resume automatically."]})]}):yB(r)]})}function yB(e){return d.jsxs(d.Fragment,{children:[d.jsx("h2",{children:"Waiting for Claude Code or Codex"}),d.jsxs("p",{children:["Run ",d.jsx("code",{children:"claude"})," or ",d.jsx("code",{children:"codex"})," in any folder. As soon as a session sends an event, a node appears here and grows as subagents fork and tools are called."]}),d.jsxs("p",{className:"hint-row",children:["Not seeing anything? Make sure ",d.jsx("code",{children:Ft})," is running."]}),ID(e).map(t=>d.jsx("p",{className:"hint-row",children:t.spans.map((r,s)=>r.code?d.jsx("code",{children:r.text},s):d.jsx("span",{children:r.text},s))},t.provider))]})}function wB({count:e,workspace:t}){const r=Fz(t);return d.jsxs(d.Fragment,{children:[d.jsx("h2",{children:"Detail"}),e===0?d.jsxs("div",{className:"hint",children:[r.lead,r.workspace!==null&&d.jsxs(d.Fragment,{children:[" ",d.jsx("code",{children:r.workspace}),r.tail]})]}):d.jsx("div",{className:"empty",children:"Click an agent to see its tools."}),d.jsx("h3",{style:{marginTop:4},children:"Shortcuts"}),d.jsxs("div",{className:"shortcuts",children:[d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"?"}),d.jsx("span",{children:"all shortcuts"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"drag"}),d.jsx("span",{children:"move a node"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"tab"}),d.jsx("span",{children:"reach the cards"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"enter"}),d.jsx("span",{children:"select the focused card"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"space"}),d.jsx("span",{children:"pause / resume"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"J"}),d.jsx("span",{children:"next agent"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"K"}),d.jsx("span",{children:"previous agent"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"R"}),d.jsx("span",{children:"re-arrange"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"F"}),d.jsx("span",{children:"fit view"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"L"}),d.jsx("span",{children:"session list"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"H"}),d.jsx("span",{children:"usage history"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"U"}),d.jsx("span",{children:"usage panel"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"C"}),d.jsx("span",{children:"clear canvas"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"T"}),d.jsx("span",{children:"toggle theme"})]}),d.jsxs("div",{className:"sc",children:[d.jsx("kbd",{children:"Esc"}),d.jsx("span",{children:"deselect, release focus"})]})]})]})}function xB({agent:e,now:t,onOpenTool:r,onShowSummary:s,onExportSession:o}){const a=fc(e.startedAt,e.endedAt,t),u=xn(e),c=u.total>0,h=e.usage.inputTokens+e.usage.outputTokens,m=new Map;for(const N of e.tools){const b=RR(N.name);m.set(b,(m.get(b)??0)+1)}const f=e.tools.filter(N=>N.ok===!1).length,g=e.tools.filter(N=>!N.endedAt).length,y=Array.from(m.entries()).sort((N,b)=>b[1]-N[1]),w=m.has("mcp")?S3(e.tools.map(N=>N.name)):null;return d.jsxs(d.Fragment,{children:[d.jsxs("header",{className:"detail-hero",children:[d.jsxs("div",{className:"hero-line",children:[d.jsx("span",{className:`state-pill state-${e.state}`,children:e.state==="active"?"live":e.state}),d.jsx("h2",{className:"hero-title",title:e.cwd??e.label,children:e.label})]}),d.jsxs("div",{className:"hero-meta",children:[d.jsx("span",{className:"hero-meta-item",children:e.kind}),d.jsx("span",{className:"hero-sep",children:"·"}),d.jsx("span",{className:"hero-meta-item",title:`started ${new Date(e.startedAt).toLocaleString()}`,children:a}),e.model&&(()=>{const N=Hj(e);return d.jsxs(d.Fragment,{children:[d.jsx("span",{className:"hero-sep",children:"·"}),d.jsxs("span",{className:"model-chip",title:N.length>0?`${e.model}
|
|
109
|
+
spend on this panel also covers:
|
|
110
|
+
${N.join(`
|
|
111
|
+
`)}`:e.model,children:[vi(e.model),N.length>0?` +${N.length}`:""]})]})})()]}),c&&d.jsxs("div",{className:"hero-cost",children:[d.jsxs("div",{className:"hero-cost-headline",children:[d.jsx("span",{className:"hero-cost-value",children:Ve(u.total)}),d.jsx("span",{className:"hero-cost-label",children:"spend"})]}),d.jsx(c0,{cost:u})]}),d.jsxs("div",{className:"hero-actions",children:[e.kind==="root"&&e.state==="done"&&s&&d.jsx("button",{type:"button",className:"btn hero-action-btn",onClick:()=>s(e.sessionId),title:"Reopen the end-of-session recap modal",children:"Show recap"}),o&&d.jsx("button",{type:"button",className:"btn hero-action-btn",onClick:()=>o(e.sessionId),title:"Download this session as JSON",children:"Export JSON"})]})]}),e.tools.length>0&&d.jsxs("section",{className:"detail-section",children:[d.jsx("h3",{children:"Activity"}),d.jsxs("div",{className:"activity-row",children:[d.jsxs("div",{className:"activity-counters",children:[d.jsxs("span",{className:"ac-item",children:[d.jsx("b",{children:e.toolCount})," calls"]}),g>0&&d.jsxs("span",{className:"ac-item ac-live",children:[d.jsx("b",{children:g})," live"]}),f>0&&d.jsxs("span",{className:"ac-item ac-err",children:[d.jsx("b",{children:f})," err"]})]}),d.jsx("div",{className:"cat-strip",children:y.map(([N,b])=>{const _=N==="mcp"?w:null,k=_==null?void 0:_.hue,S=`${b} ${qy[N]} call${b===1?"":"s"}`;return d.jsxs("span",{className:`cat-chip cat-${N}${k!=null?" mcp-hue":""}`,style:k!=null?{"--mcp-hue":k}:void 0,title:_?`${S}, all to ${_.label}`:S,children:[d.jsx("span",{className:"cat-emoji",children:Ly[N]}),d.jsx("span",{className:"cat-count",children:b}),_&&d.jsx("span",{className:"cat-server",children:_.label})]},N)})})]})]}),h>0&&d.jsxs("section",{className:"detail-section",children:[d.jsx("h3",{children:"Tokens"}),d.jsxs("div",{className:"tokens-grid",children:[d.jsxs("div",{children:[d.jsx("span",{className:"k",children:"in"}),d.jsx("b",{children:e.usage.inputTokens.toLocaleString()})]}),d.jsxs("div",{children:[d.jsx("span",{className:"k",children:"out"}),d.jsx("b",{children:e.usage.outputTokens.toLocaleString()})]}),d.jsxs("div",{children:[d.jsx("span",{className:"k",children:"cache r"}),d.jsx("b",{children:e.usage.cacheReadTokens.toLocaleString()})]}),d.jsxs("div",{children:[d.jsx("span",{className:"k",children:"cache c"}),d.jsx("b",{children:e.usage.cacheCreateTokens.toLocaleString()})]})]})]}),d.jsxs("section",{className:"detail-section",children:[d.jsx("h3",{children:"Identity"}),d.jsxs("div",{children:[e.cwd&&d.jsxs("div",{className:"row",children:[d.jsx("span",{className:"k",children:"cwd"}),d.jsx("span",{className:"v",title:e.cwd,children:e.cwd})]}),d.jsxs("div",{className:"row",children:[d.jsx("span",{className:"k",children:"session"}),d.jsxs("span",{className:"v",children:[e.sessionId.slice(0,12),"…"]})]}),e.parentId&&d.jsxs("div",{className:"row",children:[d.jsx("span",{className:"k",children:"parent"}),d.jsxs("span",{className:"v",children:[e.parentId.slice(0,12),"…"]})]})]})]}),e.prompts.length>0&&d.jsxs("section",{className:"detail-section",children:[d.jsxs("h3",{children:["Prompts ",d.jsx("span",{className:"section-count",children:e.prompts.length})]}),d.jsx("div",{className:"prompts",children:e.prompts.slice().reverse().map((N,b)=>{const _=B3(N.at,t);return d.jsxs("div",{className:"prompt-entry",children:[d.jsx("div",{className:"prompt-time",title:_.title,children:_.label}),d.jsx("div",{className:"prompt-text",children:N.text})]},b)})})]}),d.jsxs("section",{className:"detail-section",children:[d.jsxs("h3",{children:["Tool calls ",d.jsx("span",{className:"section-count",children:e.tools.length})]}),e.tools.length===0&&d.jsx("div",{className:"empty",children:"No tool calls yet."}),d.jsx("div",{children:e.tools.slice().reverse().map(N=>d.jsx(_B,{t:N,onClick:()=>r(N.id)},N.id))})]})]})}const bB={inflight:"in-flight",done:"done",err:"error"};function _B({t:e,onClick:t}){const r=e.endedAt==null?"inflight":e.ok===!1?"err":"done",s=Gj(e,"…");return d.jsxs("button",{className:"tool clickable",title:e.inputPreview||e.name,onClick:t,children:[d.jsxs("span",{className:"name",children:[d.jsx("span",{className:`status-dot ${r}`,"aria-hidden":!0}),d.jsx("span",{className:"vis-hidden",children:bB[r]}),e.name]}),d.jsx("span",{style:{color:"var(--muted)"},children:s})]})}try{t4(window.localStorage)}catch{}const kB=TA.createRoot(document.getElementById("root"));kB.render(d.jsx(mB,{}));
|