diff --git a/CHANGELOG.md b/CHANGELOG.md index 36b74a25..7a698b02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,77 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Added + +- **The Evaluations page is rebuilt around runs** (`actionagent`). Evaluations + are the top level; every run is kept and listed with its movement against + the run before it (`+3 passed vs #2`, `partial run`, `#1 failed`), and a + sampling evaluation's run opens to a page of its own at + `/evaluations/:id/runs/:run_id` — a scorecard per model cohort, the + judge's verdict, the criteria × models matrix and what the run asks to fix. + A scenario suite's runs are the same full-width list; a row selects the run + the suite's model scorecards, fix items and scenario matrix show. +- **What a run cost is two figures, not one.** The agent's spend — what the + replayed or sampled interactions cost to serve, with a `per_interaction` + rate, the operating cost a per-conversation budget is set against — is + reported apart from the judge's, the judge model's own calls, which run + agent-to-agent and offline. Every judge call is metered under what it was + for (`scores["_judge_usage"]`: calls, tokens, estimated cost and how many + calls scored, recommended, ruled or authored KPIs), and `EvaluationRun#usage` + carries both sides. The page shows them on every run row, on the run, on a + page tile and in the footer, so the cost of operating an agent is never + inflated by the cost of checking it. +- A generation-sampling run records `scores["_cohorts"]`: per model, how many + generations were sampled, how many cleared every criterion, their latency + and tokens, and what those interactions cost to serve. +- `GET /api/evaluations` carries `run_count` and a `previous_run` summary per + evaluation, and every serialized run its `number` in the evaluation's + history, oldest first. +- The dashboard's object lists hold their metric columns in place: a trace, + interaction or evaluation run with nothing in a column prints a dash there + rather than sliding its neighbours over (`MetaStrip`). +- `ActiveAgent::Base.rendered_instructions` renders an agent's instructions + outside a generation, for a dashboard mirroring the class and for tests + asserting what a model is told. Both otherwise reached a private renderer + through `send`. +- `ActionAgent::AgentSync` mirrors host agent classes into dashboard `Agent` + records, setting the `agent_class_name` that `AgentRelease` already expects a + host to have written. The code owns what an agent is (name, description, + instructions, tools — rewritten every sync); the operator owns how it runs + (provider, model, status — set on create and preserved), so a model chosen in + the dashboard survives the next deploy. +- `ActionAgent.run_host_agent_classes` (default `false`) runs an agent that + mirrors a host class as that class, rather than as one rebuilt from the + record's `tools` and `instructions` columns. Dashboard-authored agents, which + name no class, keep using the dynamic runtime either way; a class name that no + longer resolves falls back to it rather than failing the run. + +### Changed + +- The engine's judge blocks take `ActiveAgent::Evals::Judge`'s `kind:`, so a + scenario run's score, recommendation and verdict calls are metered apart. + +## [1.6.4] - 2026-09-22 + +Releases `activeagent` and `actionagent` 1.6.4 from one tag. A patch on 1.6.3 +carrying one fix to `SchemaTools`, for a filter that answered confidently and +wrongly instead of failing. + +### Fixed + +- A Rails enum is offered to the model as its names (`{type: "string", enum: + [...]}`) instead of the integer backing it. `SchemaGenerator` reads enums from + inclusion validators and never consulted `defined_enums`, so a `status` column + reached the model as a bare integer with no labels. +- A filter value outside an enum — alone or inside an IN list — is rejected, + naming the valid values, instead of matching no rows. `status: "pending"` + returned `{count: 0}`, which an agent reports as a fact, indistinguishable + from "none match". Same reasoning as the unknown-operator rejection in + `range_predicates!`. +- An enum is no longer offered the range form. Its integer backing is a + declaration-order artefact, so `status: {gt: 1}` was a meaningless filter that + still returned a confident count. + ## [1.6.3] - 2026-09-18 Releases `activeagent` and `actionagent` 1.6.3 from one tag. diff --git a/actionagent/app/assets/builds/action_agent.js b/actionagent/app/assets/builds/action_agent.js index a7c75ab4..852d4762 100644 --- a/actionagent/app/assets/builds/action_agent.js +++ b/actionagent/app/assets/builds/action_agent.js @@ -1,83 +1,83 @@ -var lU=Object.create;var pw=Object.defineProperty;var sU=Object.getOwnPropertyDescriptor;var uU=Object.getOwnPropertyNames;var cU=Object.getPrototypeOf,dU=Object.prototype.hasOwnProperty;var Jr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fU=(e,t)=>{for(var r in t)pw(e,r,{get:t[r],enumerable:!0})},pU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of uU(t))!dU.call(e,a)&&a!==r&&pw(e,a,{get:()=>t[a],enumerable:!(n=sU(t,a))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?lU(cU(e)):{},pU(t||!e||!e.__esModule?pw(r,"default",{value:e,enumerable:!0}):r,e));var n5=Jr(Je=>{"use strict";var gw=Symbol.for("react.transitional.element"),mU=Symbol.for("react.portal"),vU=Symbol.for("react.fragment"),gU=Symbol.for("react.strict_mode"),yU=Symbol.for("react.profiler"),hU=Symbol.for("react.consumer"),xU=Symbol.for("react.context"),bU=Symbol.for("react.forward_ref"),wU=Symbol.for("react.suspense"),SU=Symbol.for("react.memo"),Q_=Symbol.for("react.lazy"),AU=Symbol.for("react.activity"),Y_=Symbol.iterator;function kU(e){return e===null||typeof e!="object"?null:(e=Y_&&e[Y_]||e["@@iterator"],typeof e=="function"?e:null)}var J_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},R_=Object.assign,e5={};function fc(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}fc.prototype.isReactComponent={};fc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};fc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function t5(){}t5.prototype=fc.prototype;function yw(e,t,r){this.props=e,this.context=t,this.refs=e5,this.updater=r||J_}var hw=yw.prototype=new t5;hw.constructor=yw;R_(hw,fc.prototype);hw.isPureReactComponent=!0;var G_=Array.isArray;function vw(){}var Qt={H:null,A:null,T:null,S:null},r5=Object.prototype.hasOwnProperty;function xw(e,t,r){var n=r.ref;return{$$typeof:gw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function NU(e,t){return xw(e.type,t,e.props)}function bw(e){return typeof e=="object"&&e!==null&&e.$$typeof===gw}function CU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var X_=/\/+/g;function mw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?CU(""+e.key):t.toString(36)}function EU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(vw,vw):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function dc(e,t,r,n,a){var o=typeof e;(o==="undefined"||o==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(o){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case gw:case mU:i=!0;break;case Q_:return i=e._init,dc(i(e._payload),t,r,n,a)}}if(i)return a=a(e),i=n===""?"."+mw(e,0):n,G_(a)?(r="",i!=null&&(r=i.replace(X_,"$&/")+"/"),dc(a,t,r,"",function(u){return u})):a!=null&&(bw(a)&&(a=NU(a,r+(a.key==null||e&&e.key===a.key?"":(""+a.key).replace(X_,"$&/")+"/")+i)),t.push(a)),1;i=0;var l=n===""?".":n+":";if(G_(e))for(var s=0;s{"use strict";a5.exports=n5()});var m5=Jr(ir=>{"use strict";function kw(e,t){var r=e.length;e.push(t);e:for(;0>>1,a=e[n];if(0>>1;ngg(l,r))sgg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sgg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function gg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}ir.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(o5=performance,ir.unstable_now=function(){return o5.now()}):(ww=Date,i5=ww.now(),ir.unstable_now=function(){return ww.now()-i5});var o5,ww,i5,ai=[],ll=[],TU=1,Ta=null,xn=3,Nw=!1,Jf=!1,Rf=!1,Cw=!1,u5=typeof setTimeout=="function"?setTimeout:null,c5=typeof clearTimeout=="function"?clearTimeout:null,l5=typeof setImmediate<"u"?setImmediate:null;function yg(e){for(var t=Po(ll);t!==null;){if(t.callback===null)hg(ll);else if(t.startTime<=e)hg(ll),t.sortIndex=t.expirationTime,kw(ai,t);else break;t=Po(ll)}}function Ew(e){if(Rf=!1,yg(e),!Jf)if(Po(ai)!==null)Jf=!0,mc||(mc=!0,pc());else{var t=Po(ll);t!==null&&_w(Ew,t.startTime-e)}}var mc=!1,ep=-1,d5=5,f5=-1;function p5(){return Cw?!0:!(ir.unstable_now()-f5e&&p5());){var n=Ta.callback;if(typeof n=="function"){Ta.callback=null,xn=Ta.priorityLevel;var a=n(Ta.expirationTime<=e);if(e=ir.unstable_now(),typeof a=="function"){Ta.callback=a,yg(e),t=!0;break t}Ta===Po(ai)&&hg(ai),yg(e)}else hg(ai);Ta=Po(ai)}if(Ta!==null)t=!0;else{var o=Po(ll);o!==null&&_w(Ew,o.startTime-e),t=!1}}break e}finally{Ta=null,xn=r,Nw=!1}t=void 0}}finally{t?pc():mc=!1}}}var pc;typeof l5=="function"?pc=function(){l5(Sw)}:typeof MessageChannel<"u"?(Aw=new MessageChannel,s5=Aw.port2,Aw.port1.onmessage=Sw,pc=function(){s5.postMessage(null)}):pc=function(){u5(Sw,0)};var Aw,s5;function _w(e,t){ep=u5(function(){e(ir.unstable_now())},t)}ir.unstable_IdlePriority=5;ir.unstable_ImmediatePriority=1;ir.unstable_LowPriority=4;ir.unstable_NormalPriority=3;ir.unstable_Profiling=null;ir.unstable_UserBlockingPriority=2;ir.unstable_cancelCallback=function(e){e.callback=null};ir.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,kw(ll,e),Po(ai)===null&&e===Po(ll)&&(Rf?(c5(ep),ep=-1):Rf=!0,_w(Ew,r-n))):(e.sortIndex=a,kw(ai,e),Jf||Nw||(Jf=!0,mc||(mc=!0,pc()))),e};ir.unstable_shouldYield=p5;ir.unstable_wrapCallback=function(e){var t=xn;return function(){var r=xn;xn=t;try{return e.apply(this,arguments)}finally{xn=r}}}});var g5=Jr((Cce,v5)=>{"use strict";v5.exports=m5()});var h5=Jr(On=>{"use strict";var MU=ne();function y5(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function x5(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(x5)}catch(e){console.error(e)}}x5(),b5.exports=h5()});var P3=Jr(Vy=>{"use strict";var Kr=g5(),qO=ne(),IU=rp();function pe(e){var t="https://react.dev/errors/"+e;if(1wc||(e.current=pS[wc],pS[wc]=null,wc--)}function Kt(e,t){wc++,pS[wc]=e.current,e.current=t}var zo=Lo(null),_p=Lo(null),bl=Lo(null),Rg=Lo(null);function ey(e,t){switch(Kt(bl,t),Kt(_p,e),Kt(zo,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?OO(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=OO(t),e=h3(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}tn(zo),Kt(zo,e)}function $c(){tn(zo),tn(_p),tn(bl)}function mS(e){e.memoizedState!==null&&Kt(Rg,e);var t=zo.current,r=h3(t,e.type);t!==r&&(Kt(_p,e),Kt(zo,r))}function ty(e){_p.current===e&&(tn(zo),tn(_p)),Rg.current===e&&(tn(Rg),$p._currentValue=Ps)}var Ow,A5;function _s(e){if(Ow===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);Ow=t&&t[1]||"",A5=-1()=>(t||e((t={exports:{}}).exports,t),t.exports),uU=(e,t)=>{for(var r in t)Gw(e,r,{get:t[r],enumerable:!0})},cU=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of iU(t))!sU.call(e,o)&&o!==r&&Gw(e,o,{get:()=>t[o],enumerable:!(n=aU(t,o))||n.enumerable});return e};var te=(e,t,r)=>(r=e!=null?oU(lU(e)):{},cU(t||!e||!e.__esModule?Gw(r,"default",{value:e,enumerable:!0}):r,e));var H5=on(ot=>{"use strict";var Zw=Symbol.for("react.transitional.element"),dU=Symbol.for("react.portal"),fU=Symbol.for("react.fragment"),pU=Symbol.for("react.strict_mode"),mU=Symbol.for("react.profiler"),vU=Symbol.for("react.consumer"),gU=Symbol.for("react.context"),yU=Symbol.for("react.forward_ref"),hU=Symbol.for("react.suspense"),xU=Symbol.for("react.memo"),L5=Symbol.for("react.lazy"),bU=Symbol.for("react.activity"),D5=Symbol.iterator;function wU(e){return e===null||typeof e!="object"?null:(e=D5&&e[D5]||e["@@iterator"],typeof e=="function"?e:null)}var B5={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},$5=Object.assign,F5={};function Cc(e,t,r){this.props=e,this.context=t,this.refs=F5,this.updater=r||B5}Cc.prototype.isReactComponent={};Cc.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Cc.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function U5(){}U5.prototype=Cc.prototype;function Qw(e,t,r){this.props=e,this.context=t,this.refs=F5,this.updater=r||B5}var Jw=Qw.prototype=new U5;Jw.constructor=Qw;$5(Jw,Cc.prototype);Jw.isPureReactComponent=!0;var I5=Array.isArray;function Xw(){}var ir={H:null,A:null,T:null,S:null},W5=Object.prototype.hasOwnProperty;function Rw(e,t,r){var n=r.ref;return{$$typeof:Zw,type:e,key:t,ref:n!==void 0?n:null,props:r}}function SU(e,t){return Rw(e.type,t,e.props)}function eS(e){return typeof e=="object"&&e!==null&&e.$$typeof===Zw}function AU(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return t[r]})}var j5=/\/+/g;function Yw(e,t){return typeof e=="object"&&e!==null&&e.key!=null?AU(""+e.key):t.toString(36)}function kU(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(Xw,Xw):(e.status="pending",e.then(function(t){e.status==="pending"&&(e.status="fulfilled",e.value=t)},function(t){e.status==="pending"&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function kc(e,t,r,n,o){var a=typeof e;(a==="undefined"||a==="boolean")&&(e=null);var i=!1;if(e===null)i=!0;else switch(a){case"bigint":case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case Zw:case dU:i=!0;break;case L5:return i=e._init,kc(i(e._payload),t,r,n,o)}}if(i)return o=o(e),i=n===""?"."+Yw(e,0):n,I5(o)?(r="",i!=null&&(r=i.replace(j5,"$&/")+"/"),kc(o,t,r,"",function(u){return u})):o!=null&&(eS(o)&&(o=SU(o,r+(o.key==null||e&&e.key===o.key?"":(""+o.key).replace(j5,"$&/")+"/")+i)),t.push(o)),1;i=0;var l=n===""?".":n+":";if(I5(e))for(var s=0;s{"use strict";V5.exports=H5()});var eO=on(vr=>{"use strict";function oS(e,t){var r=e.length;e.push(t);e:for(;0>>1,o=e[n];if(0>>1;nWg(l,r))sWg(u,l)?(e[n]=u,e[s]=r,n=s):(e[n]=l,e[i]=r,n=i);else if(sWg(u,r))e[n]=u,e[s]=r,n=s;else break e}}return t}function Wg(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}vr.unstable_now=void 0;typeof performance=="object"&&typeof performance.now=="function"?(K5=performance,vr.unstable_now=function(){return K5.now()}):(tS=Date,q5=tS.now(),vr.unstable_now=function(){return tS.now()-q5});var K5,tS,q5,mi=[],wl=[],_U=1,Wo=null,En=3,aS=!1,gp=!1,yp=!1,iS=!1,X5=typeof setTimeout=="function"?setTimeout:null,Z5=typeof clearTimeout=="function"?clearTimeout:null,G5=typeof setImmediate<"u"?setImmediate:null;function Hg(e){for(var t=Ha(wl);t!==null;){if(t.callback===null)Vg(wl);else if(t.startTime<=e)Vg(wl),t.sortIndex=t.expirationTime,oS(mi,t);else break;t=Ha(wl)}}function lS(e){if(yp=!1,Hg(e),!gp)if(Ha(mi)!==null)gp=!0,_c||(_c=!0,Nc());else{var t=Ha(wl);t!==null&&sS(lS,t.startTime-e)}}var _c=!1,hp=-1,Q5=5,J5=-1;function R5(){return iS?!0:!(vr.unstable_now()-J5e&&R5());){var n=Wo.callback;if(typeof n=="function"){Wo.callback=null,En=Wo.priorityLevel;var o=n(Wo.expirationTime<=e);if(e=vr.unstable_now(),typeof o=="function"){Wo.callback=o,Hg(e),t=!0;break t}Wo===Ha(mi)&&Vg(mi),Hg(e)}else Vg(mi);Wo=Ha(mi)}if(Wo!==null)t=!0;else{var a=Ha(wl);a!==null&&sS(lS,a.startTime-e),t=!1}}break e}finally{Wo=null,En=r,aS=!1}t=void 0}}finally{t?Nc():_c=!1}}}var Nc;typeof G5=="function"?Nc=function(){G5(rS)}:typeof MessageChannel<"u"?(nS=new MessageChannel,Y5=nS.port2,nS.port1.onmessage=rS,Nc=function(){Y5.postMessage(null)}):Nc=function(){X5(rS,0)};var nS,Y5;function sS(e,t){hp=X5(function(){e(vr.unstable_now())},t)}vr.unstable_IdlePriority=5;vr.unstable_ImmediatePriority=1;vr.unstable_LowPriority=4;vr.unstable_NormalPriority=3;vr.unstable_Profiling=null;vr.unstable_UserBlockingPriority=2;vr.unstable_cancelCallback=function(e){e.callback=null};vr.unstable_forceFrameRate=function(e){0>e||125n?(e.sortIndex=r,oS(wl,e),Ha(mi)===null&&e===Ha(wl)&&(yp?(Z5(hp),hp=-1):yp=!0,sS(lS,r-n))):(e.sortIndex=o,oS(mi,e),gp||aS||(gp=!0,_c||(_c=!0,Nc()))),e};vr.unstable_shouldYield=R5;vr.unstable_wrapCallback=function(e){var t=En;return function(){var r=En;En=t;try{return e.apply(this,arguments)}finally{En=r}}}});var rO=on((Ede,tO)=>{"use strict";tO.exports=eO()});var oO=on(Bn=>{"use strict";var EU=re();function nO(e){var t="https://react.dev/errors/"+e;if(1{"use strict";function aO(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(aO)}catch(e){console.error(e)}}aO(),iO.exports=oO()});var hM=on(gh=>{"use strict";var Jr=rO(),PT=re(),MU=bp();function pe(e){var t="https://react.dev/errors/"+e;if(1Ic||(e.current=GS[Ic],GS[Ic]=null,Ic--)}function er(e,t){Ic++,GS[Ic]=e.current,e.current=t}var Ga=Ya(null),qp=Ya(null),Il=Ya(null),Cy=Ya(null);function Ny(e,t){switch(er(Il,t),er(qp,e),er(Ga,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?vT(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=vT(t),e=oM(t,e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}sn(Ga),er(Ga,e)}function Jc(){sn(Ga),sn(qp),sn(Il)}function YS(e){e.memoizedState!==null&&er(Cy,e);var t=Ga.current,r=oM(t,e.type);t!==r&&(er(qp,e),er(Ga,r))}function _y(e){qp.current===e&&(sn(Ga),sn(qp)),Cy.current===e&&(sn(Cy),nm._currentValue=Ys)}var uS,uO;function Vs(e){if(uS===void 0)try{throw Error()}catch(r){var t=r.stack.trim().match(/\n( *(at )?)/);uS=t&&t[1]||"",uO=-1)":-1a||s[n]!==u[a]){var c=` -`+s[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=n&&0<=a);break}}}finally{Tw=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?_s(r):""}function $U(e,t){switch(e.tag){case 26:case 27:case 5:return _s(e.type);case 16:return _s("Lazy");case 13:return e.child!==t&&t!==null?_s("Suspense Fallback"):_s("Suspense");case 19:return _s("SuspenseList");case 0:case 15:return Mw(e.type,!1);case 11:return Mw(e.type.render,!1);case 1:return Mw(e.type,!0);case 31:return _s("Activity");default:return""}}function k5(e){try{var t="",r=null;do t+=$U(e,r),r=e,e=e.return;while(e);return t}catch(n){return` +`);for(o=n=0;no||s[n]!==u[o]){var c=` +`+s[n].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=n&&0<=o);break}}}finally{cS=!1,Error.prepareStackTrace=r}return(r=e?e.displayName||e.name:"")?Vs(r):""}function zU(e,t){switch(e.tag){case 26:case 27:case 5:return Vs(e.type);case 16:return Vs("Lazy");case 13:return e.child!==t&&t!==null?Vs("Suspense Fallback"):Vs("Suspense");case 19:return Vs("SuspenseList");case 0:case 15:return dS(e.type,!1);case 11:return dS(e.type.render,!1);case 1:return dS(e.type,!0);case 31:return Vs("Activity");default:return""}}function cO(e){try{var t="",r=null;do t+=zU(e,r),r=e,e=e.return;while(e);return t}catch(n){return` Error generating stack: `+n.message+` -`+n.stack}}var vS=Object.prototype.hasOwnProperty,o2=Kr.unstable_scheduleCallback,Pw=Kr.unstable_cancelCallback,UU=Kr.unstable_shouldYield,FU=Kr.unstable_requestPaint,ca=Kr.unstable_now,WU=Kr.unstable_getCurrentPriorityLevel,RO=Kr.unstable_ImmediatePriority,eT=Kr.unstable_UserBlockingPriority,ry=Kr.unstable_NormalPriority,HU=Kr.unstable_LowPriority,tT=Kr.unstable_IdlePriority,VU=Kr.log,KU=Kr.unstable_setDisableYieldValue,Hp=null,da=null;function vl(e){if(typeof VU=="function"&&KU(e),da&&typeof da.setStrictMode=="function")try{da.setStrictMode(Hp,e)}catch{}}var fa=Math.clz32?Math.clz32:GU,qU=Math.log,YU=Math.LN2;function GU(e){return e>>>=0,e===0?32:31-(qU(e)/YU|0)|0}var wg=256,Sg=262144,Ag=4194304;function Os(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function _y(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var a=0,o=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~o,n!==0?a=Os(n):(i&=l,i!==0?a=Os(i):r||(r=l&~e,r!==0&&(a=Os(r))))):(l=n&~o,l!==0?a=Os(l):i!==0?a=Os(i):r||(r=n&~e,r!==0&&(a=Os(r)))),a===0?0:t!==0&&t!==a&&(t&o)===0&&(o=a&-a,r=t&-t,o>=r||o===32&&(r&4194048)!==0)?t:a}function Vp(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function XU(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function rT(){var e=Ag;return Ag<<=1,(Ag&62914560)===0&&(Ag=4194304),e}function Dw(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function Kp(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function ZU(e,t,r,n,a,o){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var rF=/[\n"\\]/g;function ja(e){return e.replace(rF,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function hS(e,t,r,n,a,o,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Pa(t)):e.value!==""+Pa(t)&&(e.value=""+Pa(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?xS(e,i,Pa(t)):r!=null?xS(e,i,Pa(r)):n!=null&&e.removeAttribute("value"),a==null&&o!=null&&(e.defaultChecked=!!o),a!=null&&(e.checked=a&&typeof a!="function"&&typeof a!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Pa(l):e.removeAttribute("name")}function dT(e,t,r,n,a,o,i,l){if(o!=null&&typeof o!="function"&&typeof o!="symbol"&&typeof o!="boolean"&&(e.type=o),t!=null||r!=null){if(!(o!=="submit"&&o!=="reset"||t!=null)){yS(e);return}r=r!=null?""+Pa(r):"",t=t!=null?""+Pa(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??a,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),yS(e)}function xS(e,t,r){t==="number"&&ny(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function Dc(e,t,r,n){if(e=e.options,t){t={};for(var a=0;a"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),wS=!1;if(hi)try{vc={},Object.defineProperty(vc,"passive",{get:function(){wS=!0}}),window.addEventListener("test",vc,vc),window.removeEventListener("test",vc,vc)}catch{wS=!1}var vc,gl=null,d2=null,Ug=null;function gT(){if(Ug)return Ug;var e,t=d2,r=t.length,n,a="value"in gl?gl.value:gl.textContent,o=a.length;for(e=0;e=vp),j5=" ",z5=!1;function hT(e,t){switch(e){case"keyup":return TF.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function xT(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var kc=!1;function PF(e,t){switch(e){case"compositionend":return xT(t);case"keypress":return t.which!==32?null:(z5=!0,j5);case"textInput":return e=t.data,e===j5&&z5?null:e;default:return null}}function DF(e,t){if(kc)return e==="compositionend"||!p2&&hT(e,t)?(e=gT(),Ug=d2=gl=null,kc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=U5(r)}}function AT(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?AT(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function kT(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ny(e.document);t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=ny(e.document)}return t}function m2(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var FF=hi&&"documentMode"in document&&11>=document.documentMode,Nc=null,SS=null,yp=null,AS=!1;function W5(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;AS||Nc==null||Nc!==ny(n)||(n=Nc,"selectionStart"in n&&m2(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),yp&&Mp(yp,n)||(yp=n,n=wy(SS,"onSelect"),0>=i,a-=i,Do=1<<32-fa(t)+a|r<k?(A=O,O=null):A=O.sibling;var M=f(v,O,b[k],x);if(M===null){O===null&&(O=A);break}e&&O&&M.alternate===null&&t(v,O),y=o(M,y,k),w===null?S=M:w.sibling=M,w=M,O=A}if(k===b.length)return r(v,O),yt&&ci(v,k),S;if(O===null){for(;kk?(A=O,O=null):A=O.sibling;var W=f(v,O,M.value,x);if(W===null){O===null&&(O=A);break}e&&O&&W.alternate===null&&t(v,O),y=o(W,y,k),w===null?S=W:w.sibling=W,w=W,O=A}if(M.done)return r(v,O),yt&&ci(v,k),S;if(O===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(y=o(M,y,k),w===null?S=M:w.sibling=M,w=M);return yt&&ci(v,k),S}for(O=n(O);!M.done;k++,M=b.next())M=p(O,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&O.delete(M.key===null?k:M.key),y=o(M,y,k),w===null?S=M:w.sibling=M,w=M);return e&&O.forEach(function(L){return t(v,L)}),yt&&ci(v,k),S}function h(v,y,b,x){if(typeof b=="object"&&b!==null&&b.type===bc&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case bg:e:{for(var S=b.key;y!==null;){if(y.key===S){if(S=b.type,S===bc){if(y.tag===7){r(v,y.sibling),x=a(y,b.props.children),x.return=v,v=x;break e}}else if(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===ul&&Ts(S)===y.type){r(v,y.sibling),x=a(y,b.props),op(x,b),x.return=v,v=x;break e}r(v,y);break}else t(v,y);y=y.sibling}b.type===bc?(x=Ds(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=Wg(b.type,b.key,b.props,null,v.mode,x),op(x,b),x.return=v,v=x)}return i(v);case cp:e:{for(S=b.key;y!==null;){if(y.key===S)if(y.tag===4&&y.stateNode.containerInfo===b.containerInfo&&y.stateNode.implementation===b.implementation){r(v,y.sibling),x=a(y,b.children||[]),x.return=v,v=x;break e}else{r(v,y);break}else t(v,y);y=y.sibling}x=Fw(b,v.mode,x),x.return=v,v=x}return i(v);case ul:return b=Ts(b),h(v,y,b,x)}if(dp(b))return m(v,y,b,x);if(np(b)){if(S=np(b),typeof S!="function")throw Error(pe(150));return b=S.call(b),g(v,y,b,x)}if(typeof b.then=="function")return h(v,y,Og(b),x);if(b.$$typeof===fi)return h(v,y,_g(v,b),x);Tg(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,y!==null&&y.tag===6?(r(v,y.sibling),x=a(y,b),x.return=v,v=x):(r(v,y),x=Uw(b,v.mode,x),x.return=v,v=x),i(v)):r(v,y)}return function(v,y,b,x){try{Ip=0;var S=h(v,y,b,x);return zc=null,S}catch(O){if(O===Rc||O===Iy)throw O;var w=sa(29,O,null,v.mode);return w.lanes=x,w.return=v,w}}}var $s=$T(!0),UT=$T(!1),cl=!1;function A2(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function TS(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Sl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Al(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Ot&2)!==0){var a=n.pending;return a===null?t.next=t:(t.next=a.next,a.next=t),n.pending=t,t=oy(e),MT(e,null,r),t}return Dy(e,n,t,r),oy(e)}function xp(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}function Hw(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var a=null,o=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};o===null?a=o=i:o=o.next=i,r=r.next}while(r!==null);o===null?a=o=t:o=o.next=t}else a=o=t;r={baseState:n.baseState,firstBaseUpdate:a,lastBaseUpdate:o,shared:n.shared,callbacks:n.callbacks},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}var MS=!1;function bp(){if(MS){var e=jc;if(e!==null)throw e}}function wp(e,t,r,n){MS=!1;var a=e.updateQueue;cl=!1;var o=a.firstBaseUpdate,i=a.lastBaseUpdate,l=a.shared.pending;if(l!==null){a.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?o=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(o!==null){var d=a.baseState;i=0,c=u=s=null,l=o;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(vt&f)===f:(n&f)===f){f!==0&&f===Wc&&(MS=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var h=r;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=er({},d,f);break e;case 2:cl=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=a.callbacks,p===null?a.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(u=c=p,s=d):c=c.next=p,i|=f;if(l=l.next,l===null){if(l=a.shared.pending,l===null)break;p=l,l=p.next,p.next=null,a.lastBaseUpdate=p,a.shared.pending=null}}while(!0);c===null&&(s=d),a.baseState=s,a.firstBaseUpdate=u,a.lastBaseUpdate=c,o===null&&(a.shared.lanes=0),Pl|=i,e.lanes=i,e.memoizedState=d}}function FT(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function WT(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;eo?o:8;var i=Ke.T,l={};Ke.T=l,z2(e,!1,t,r);try{var s=a(),u=Ke.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=ZF(s,n);Sp(e,t,c,pa(e))}else Sp(e,t,n,pa(e))}catch(d){Sp(e,t,{then:function(){},status:"rejected",reason:d},pa())}finally{Tt.p=o,i!==null&&l.types!==null&&(i.types=l.types),Ke.T=i}}function rW(){}function zS(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var a=p4(e).queue;f4(e,a,t,Ps,r===null?rW:function(){return m4(e),r(n)})}function p4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ps,baseState:Ps,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:Ps},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:bi,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function m4(e){var t=p4(e);t.next===null&&(t=e.alternate.memoizedState),Sp(e,t.next.queue,{},pa())}function j2(){return pn($p)}function v4(){return Or().memoizedState}function g4(){return Or().memoizedState}function nW(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=pa();e=Sl(r);var n=Al(t,e,r);n!==null&&(Kn(n,t,r),xp(n,t,r)),t={cache:b2()},e.payload=t;return}t=t.return}}function aW(e,t,r){var n=pa();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},By(e)?h4(t,r):(r=g2(e,t,r,n),r!==null&&(Kn(r,e,n),x4(r,t,n)))}function y4(e,t,r){var n=pa();Sp(e,t,r,n)}function Sp(e,t,r,n){var a={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(By(e))h4(t,a);else{var o=e.alternate;if(e.lanes===0&&(o===null||o.lanes===0)&&(o=t.lastRenderedReducer,o!==null))try{var i=t.lastRenderedState,l=o(i,r);if(a.hasEagerState=!0,a.eagerState=l,ma(l,i))return Dy(e,t,a,0),$t===null&&Py(),!1}catch{}if(r=g2(e,t,a,n),r!==null)return Kn(r,e,n),x4(r,t,n),!0}return!1}function z2(e,t,r,n){if(n={lane:2,revertLane:K2(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},By(e)){if(t)throw Error(pe(479))}else t=g2(e,r,n,2),t!==null&&Kn(t,e,2)}function By(e){var t=e.alternate;return e===et||t!==null&&t===et}function h4(e,t){Lc=dy=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function x4(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,aT(e,r)}}var zp={readContext:pn,use:zy,useCallback:br,useContext:br,useEffect:br,useImperativeHandle:br,useLayoutEffect:br,useInsertionEffect:br,useMemo:br,useReducer:br,useRef:br,useState:br,useDebugValue:br,useDeferredValue:br,useTransition:br,useSyncExternalStore:br,useId:br,useHostTransitionStatus:br,useFormState:br,useActionState:br,useOptimistic:br,useMemoCache:br,useCacheRefresh:br};zp.useEffectEvent=br;var b4={readContext:pn,use:zy,useCallback:function(e,t){return Tn().memoizedState=[e,t===void 0?null:t],e},useContext:pn,useEffect:nO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,Kg(4194308,4,l4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return Kg(4194308,4,e,t)},useInsertionEffect:function(e,t){Kg(4,2,e,t)},useMemo:function(e,t){var r=Tn();t=t===void 0?null:t;var n=e();if(Us){vl(!0);try{e()}finally{vl(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=Tn();if(r!==void 0){var a=r(t);if(Us){vl(!0);try{r(t)}finally{vl(!1)}}}else a=t;return n.memoizedState=n.baseState=a,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},n.queue=e,e=e.dispatch=aW.bind(null,et,e),[n.memoizedState,e]},useRef:function(e){var t=Tn();return e={current:e},t.memoizedState=e},useState:function(e){e=IS(e);var t=e.queue,r=y4.bind(null,et,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:D2,useDeferredValue:function(e,t){var r=Tn();return I2(r,e,t)},useTransition:function(){var e=IS(!1);return e=f4.bind(null,et,e.queue,!0,!1),Tn().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=et,a=Tn();if(yt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),$t===null)throw Error(pe(349));(vt&127)!==0||YT(n,t,r)}a.memoizedState=r;var o={value:r,getSnapshot:t};return a.queue=o,nO(XT.bind(null,n,o,e),[e]),n.flags|=2048,Vc(9,{destroy:void 0},GT.bind(null,n,o,r,t),null),r},useId:function(){var e=Tn(),t=$t.identifierPrefix;if(yt){var r=Io,n=Do;r=(n&~(1<<32-fa(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=fy++,0<\/script>",o=o.removeChild(o.firstChild);break;case"select":o=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?o.multiple=!0:n.size&&(o.size=n.size);break;default:o=typeof n.is=="string"?i.createElement(a,{is:n.is}):i.createElement(a)}}o[dn]=t,o[qn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)o.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=o;e:switch(mn(o,a,n),a){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&ii(t)}}return Jt(t),Qw(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&ii(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=bl.current,gc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,a=fn,a!==null)switch(a.tag){case 27:case 5:n=a.memoizedProps}e[dn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||y3(e.nodeValue,r)),e||Tl(t,!0)}else e=Sy(e).createTextNode(n),e[dn]=t,t.stateNode=e}return Jt(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=gc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),e=!1}else r=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(la(t),t):(la(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return Jt(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=gc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!a)throw Error(pe(318));if(a=t.memoizedState,a=a!==null?a.dehydrated:null,!a)throw Error(pe(317));a[dn]=t}else Ls(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;Jt(t),a=!1}else a=Ww(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(la(t),t):(la(t),null)}return la(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,a=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(a=n.alternate.memoizedState.cachePool.pool),o=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(o=n.memoizedState.cachePool.pool),o!==a&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),Mg(t,t.updateQueue),Jt(t),null);case 4:return $c(),e===null&&q2(t.stateNode.containerInfo),Jt(t),null;case 10:return gi(t.type),Jt(t),null;case 19:if(tn(_r),n=t.memoizedState,n===null)return Jt(t),null;if(a=(t.flags&128)!==0,o=n.rendering,o===null)if(a)ip(n,!1);else{if(wr!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(o=cy(e),o!==null){for(t.flags|=128,ip(n,!1),e=o.updateQueue,t.updateQueue=e,Mg(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)PT(r,e),r=r.sibling;return Kt(_r,_r.current&1|2),yt&&ci(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&ca()>gy&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304)}else{if(!a)if(e=cy(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,Mg(t,e),ip(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!yt)return Jt(t),null}else 2*ca()-n.renderingStartTime>gy&&r!==536870912&&(t.flags|=128,a=!0,ip(n,!1),t.lanes=4194304);n.isBackwards?(o.sibling=t.child,t.child=o):(e=n.last,e!==null?e.sibling=o:t.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=ca(),e.sibling=null,r=_r.current,Kt(_r,a?r&1|2:r&1),yt&&ci(t,n.treeForkCount),e):(Jt(t),null);case 22:case 23:return la(t),k2(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(r&536870912)!==0&&(t.flags&128)===0&&(Jt(t),t.subtreeFlags&6&&(t.flags|=8192)):Jt(t),r=t.updateQueue,r!==null&&Mg(t,r.retryQueue),r=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),e!==null&&tn(Is),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),gi($r),Jt(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function uW(e,t){switch(x2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return gi($r),$c(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ty(t),null;case 31:if(t.memoizedState!==null){if(la(t),t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(la(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Ls()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return tn(_r),null;case 4:return $c(),null;case 10:return gi(t.type),null;case 22:case 23:return la(t),k2(),e!==null&&tn(Is),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return gi($r),null;case 25:return null;default:return null}}function P4(e,t){switch(x2(t),t.tag){case 3:gi($r),$c();break;case 26:case 27:case 5:ty(t);break;case 4:$c();break;case 31:t.memoizedState!==null&&la(t);break;case 13:la(t);break;case 19:tn(_r);break;case 10:gi(t.type);break;case 22:case 23:la(t),k2(),e!==null&&tn(Is);break;case 24:gi($r)}}function Zp(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var a=n.next;r=a;do{if((r.tag&e)===e){n=void 0;var o=r.create,i=r.inst;n=o(),i.destroy=n}r=r.next}while(r!==a)}}catch(l){It(t,t.return,l)}}function Ml(e,t,r){try{var n=t.updateQueue,a=n!==null?n.lastEffect:null;if(a!==null){var o=a.next;n=o;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,a=t;var s=r,u=l;try{u()}catch(c){It(a,s,c)}}}n=n.next}while(n!==o)}}catch(c){It(t,t.return,c)}}function D4(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{WT(t,r)}catch(n){It(e,e.return,n)}}}function I4(e,t,r){r.props=Fs(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){It(e,t,n)}}function Ap(e,t){try{var r=e.ref;if(r!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof r=="function"?e.refCleanup=r(n):r.current=n}}catch(a){It(e,t,a)}}function jo(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(a){It(e,t,a)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(a){It(e,t,a)}else r.current=null}function j4(e){var t=e.type,r=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(a){It(e,e.return,a)}}function Jw(e,t,r){try{var n=e.stateNode;OW(n,e.type,r,t),n[qn]=t}catch(a){It(e,e.return,a)}}function z4(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Il(e.type)||e.tag===4}function Rw(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||z4(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Il(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function FS(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(e,t):(t=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,t.appendChild(e),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=pi));else if(n!==4&&(n===27&&Il(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(FS(e,t,r),e=e.sibling;e!==null;)FS(e,t,r),e=e.sibling}function vy(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(n===27&&Il(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(vy(e,t,r),e=e.sibling;e!==null;)vy(e,t,r),e=e.sibling}function L4(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,a=t.attributes;a.length;)t.removeAttributeNode(a[0]);mn(t,n,r),t[dn]=e,t[qn]=r}catch(o){It(e,e.return,o)}}var di=!1,Br=!1,eS=!1,gO=typeof WeakSet=="function"?WeakSet:Set,Rr=null;function cW(e,t){if(e=e.containerInfo,GS=Cy,e=kT(e),m2(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,o=n.focusNode;n=n.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||a!==0&&d.nodeType!==3||(l=i+a),d!==o||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===a&&(l=i),f===o&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(XS={focusedElem:e,selectionRange:r},Cy=!1,Rr=t;Rr!==null;)if(t=Rr,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,Rr=e;else for(;Rr!==null;){switch(t=Rr,o=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(r=0;r title"))),mn(o,n,r),o[dn]=e,en(o),n=o;break e;case"link":var i=BO("link","href",a).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=g,g=i);var v=F5(l,g),y=F5(l,h);if(v&&y&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),g>h?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ke.T=null,r=VS,VS=null;var o=Nl,i=yi;if(Vr=0,qc=Nl=null,yi=0,(Ot&6)!==0)throw Error(pe(331));var l=Ot;if(Ot|=4,G4(o.current),K4(o,o.current,i,r),Ot=l,Qp(0,!1),da&&typeof da.onPostCommitFiberRoot=="function")try{da.onPostCommitFiberRoot(Hp,o)}catch{}return!0}finally{Tt.p=a,Ke.T=n,u3(e,t)}}function bO(e,t,r){t=za(r,t),t=BS(e.stateNode,t,2),e=Al(e,t,2),e!==null&&(Kp(e,2),Bo(e))}function It(e,t,r){if(e.tag===3)bO(e,e,r);else for(;t!==null;){if(t.tag===3){bO(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(kl===null||!kl.has(n))){e=za(r,e),r=N4(2),n=Al(t,r,2),n!==null&&(C4(r,n,t,e),Kp(n,2),Bo(n));break}}t=t.return}}function rS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new pW;var a=new Set;n.set(t,a)}else a=n.get(t),a===void 0&&(a=new Set,n.set(t,a));a.has(r)||(W2=!0,a.add(r),e=hW.bind(null,e,t,r),t.then(e,e))}function hW(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,$t===e&&(vt&r)===r&&(wr===4||wr===3&&(vt&62914560)===vt&&300>ca()-$y?(Ot&2)===0&&Yc(e,0):H2|=r,Kc===vt&&(Kc=0)),Bo(e)}function d3(e,t){t===0&&(t=rT()),e=Ks(e,t),e!==null&&(Kp(e,t),Bo(e))}function xW(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),d3(e,r)}function bW(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,a=e.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(pe(314))}n!==null&&n.delete(t),d3(e,r)}function wW(e,t){return o2(e,t)}var xy=null,xc=null,qS=!1,by=!1,nS=!1,xl=0;function Bo(e){e!==xc&&e.next===null&&(xc===null?xy=xc=e:xc=xc.next=e),by=!0,qS||(qS=!0,AW())}function Qp(e,t){if(!nS&&by){nS=!0;do for(var r=!1,n=xy;n!==null;){if(!t)if(e!==0){var a=n.pendingLanes;if(a===0)var o=0;else{var i=n.suspendedLanes,l=n.pingedLanes;o=(1<<31-fa(42|e)+1)-1,o&=a&~(i&~l),o=o&201326741?o&201326741|1:o?o|2:0}o!==0&&(r=!0,wO(n,o))}else o=vt,o=_y(n,n===$t?o:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(o&3)===0||Vp(n,o)||(r=!0,wO(n,o));n=n.next}while(r);nS=!1}}function SW(){f3()}function f3(){by=qS=!1;var e=0;xl!==0&&MW()&&(e=xl);for(var t=ca(),r=null,n=xy;n!==null;){var a=n.next,o=p3(n,t);o===0?(n.next=null,r===null?xy=a:r.next=a,a===null&&(xc=r)):(r=n,(e!==0||(o&3)!==0)&&(by=!0)),n=a}Vr!==0&&Vr!==5||Qp(e,!1),xl!==0&&(xl=0)}function p3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,a=e.expirationTimes,o=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&_O(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function S3(e,t,r){var n=td;if(n&&typeof t=="string"&&t){var a=ja(t);a='link[rel="'+e+'"][href="'+a+'"]',typeof r=="string"&&(a+='[crossorigin="'+r+'"]'),jO.has(a)||(jO.add(a),e={rel:e,crossOrigin:r,href:t},n.querySelector(a)===null&&(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function UW(e){Ai.D(e),S3("dns-prefetch",e,null)}function FW(e,t){Ai.C(e,t),S3("preconnect",e,t)}function WW(e,t,r){Ai.L(e,t,r);var n=td;if(n&&e&&t){var a='link[rel="preload"][as="'+ja(t)+'"]';t==="image"&&r&&r.imageSrcSet?(a+='[imagesrcset="'+ja(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(a+='[imagesizes="'+ja(r.imageSizes)+'"]')):a+='[href="'+ja(e)+'"]';var o=a;switch(t){case"style":o=Gc(e);break;case"script":o=rd(e)}Ua.has(o)||(e=er({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Ua.set(o,e),n.querySelector(a)!==null||t==="style"&&n.querySelector(Jp(o))||t==="script"&&n.querySelector(Rp(o))||(t=n.createElement("link"),mn(t,"link",e),en(t),n.head.appendChild(t)))}}function HW(e,t){Ai.m(e,t);var r=td;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",a='link[rel="modulepreload"][as="'+ja(n)+'"][href="'+ja(e)+'"]',o=a;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=rd(e)}if(!Ua.has(o)&&(e=er({rel:"modulepreload",href:e},t),Ua.set(o,e),r.querySelector(a)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(Rp(o)))return}n=r.createElement("link"),mn(n,"link",e),en(n),r.head.appendChild(n)}}}function VW(e,t,r){Ai.S(e,t,r);var n=td;if(n&&e){var a=Pc(n).hoistableStyles,o=Gc(e);t=t||"default";var i=a.get(o);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(Jp(o)))l.loading=5;else{e=er({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Ua.get(o))&&Y2(e,r);var s=i=n.createElement("link");en(s),mn(s,"link",e),s._p=new Promise(function(u,c){s.onload=u,s.onerror=c}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,Xg(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},a.set(o,i)}}}function KW(e,t){Ai.X(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function qW(e,t){Ai.M(e,t);var r=td;if(r&&e){var n=Pc(r).hoistableScripts,a=rd(e),o=n.get(a);o||(o=r.querySelector(Rp(a)),o||(e=er({src:e,async:!0,type:"module"},t),(t=Ua.get(a))&&G2(e,t),o=r.createElement("script"),en(o),mn(o,"link",e),r.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},n.set(a,o))}}function zO(e,t,r,n){var a=(a=bl.current)?Ay(a):null;if(!a)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=Gc(r.href),r=Pc(a).hoistableStyles,n=r.get(t),n||(n={type:"style",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){e=Gc(r.href);var o=Pc(a).hoistableStyles,i=o.get(e);if(i||(a=a.ownerDocument||a,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},o.set(e,i),(o=a.querySelector(Jp(e)))&&!o._p&&(i.instance=o,i.state.loading=5),Ua.has(e)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Ua.set(e,r),o||YW(a,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=rd(r),r=Pc(a).hoistableScripts,n=r.get(t),n||(n={type:"script",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(pe(444,e))}}function Gc(e){return'href="'+ja(e)+'"'}function Jp(e){return'link[rel="stylesheet"]['+e+"]"}function A3(e){return er({},e,{"data-precedence":e.precedence,precedence:null})}function YW(e,t,r,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),mn(t,"link",r),en(t),e.head.appendChild(t))}function rd(e){return'[src="'+ja(e)+'"]'}function Rp(e){return"script[async]"+e}function LO(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+ja(r.href)+'"]');if(n)return t.instance=n,en(n),n;var a=er({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),en(n),mn(n,"style",a),Xg(n,r.precedence,e),t.instance=n;case"stylesheet":a=Gc(r.href);var o=e.querySelector(Jp(a));if(o)return t.state.loading|=4,t.instance=o,en(o),o;n=A3(r),(a=Ua.get(a))&&Y2(n,a),o=(e.ownerDocument||e).createElement("link"),en(o);var i=o;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),t.state.loading|=4,Xg(o,r.precedence,e),t.instance=o;case"script":return o=rd(r.src),(a=e.querySelector(Rp(o)))?(t.instance=a,en(a),a):(n=r,(a=Ua.get(o))&&(n=er({},r),G2(n,a)),e=e.ownerDocument||e,a=e.createElement("script"),en(a),mn(a,"link",n),e.head.appendChild(a),t.instance=a);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,Xg(n,r.precedence,e));return t.instance}function Xg(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),a=n.length?n[n.length-1]:null,o=a,i=0;i title"):null)}function GW(e,t,r){if(r===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function k3(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function XW(e,t,r,n){if(r.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var a=Gc(n.href),o=t.querySelector(Jp(a));if(o){t=o._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=ky.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=o,en(o);return}o=t.ownerDocument||t,n=A3(n),(a=Ua.get(a))&&Y2(n,a),o=o.createElement("link"),en(o);var i=o;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),mn(o,"link",n),r.instance=o}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=ky.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var lS=0;function ZW(e,t){return e.stylesheets&&e.count===0&&Qg(e,e.stylesheets),0lS?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(a)}}:null}function ky(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Qg(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Ny=null;function Qg(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Ny=new Map,t.forEach(QW,e),Ny=null,ky.call(e))}function QW(e,t){if(!(t.state.loading&4)){var r=Ny.get(e);if(r)var n=r.get(null);else{r=new Map,Ny.set(e,r);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o{"use strict";function D3(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(D3)}catch(e){console.error(e)}}D3(),I3.exports=P3()});var BM=Jr(LM=>{"use strict";var wd=ne();function cV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var dV=typeof Object.is=="function"?Object.is:cV,fV=wd.useState,pV=wd.useEffect,mV=wd.useLayoutEffect,vV=wd.useDebugValue;function gV(e,t){var r=t(),n=fV({inst:{value:r,getSnapshot:t}}),a=n[0].inst,o=n[1];return mV(function(){a.value=r,a.getSnapshot=t,WA(a)&&o({inst:a})},[e,r,t]),pV(function(){return WA(a)&&o({inst:a}),e(function(){WA(a)&&o({inst:a})})},[e]),vV(r),r}function WA(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!dV(e,r)}catch{return!0}}function yV(e,t){return t()}var hV=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?yV:gV;LM.useSyncExternalStore=wd.useSyncExternalStore!==void 0?wd.useSyncExternalStore:hV});var UM=Jr((eve,$M)=>{"use strict";$M.exports=BM()});var WM=Jr(FM=>{"use strict";var Dh=ne(),xV=UM();function bV(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var wV=typeof Object.is=="function"?Object.is:bV,SV=xV.useSyncExternalStore,AV=Dh.useRef,kV=Dh.useEffect,NV=Dh.useMemo,CV=Dh.useDebugValue;FM.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=AV(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=NV(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,wV(c,p))return m;var g=n(p);return a!==void 0&&a(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,a]);var l=SV(e,o[0],o[1]);return kV(function(){i.hasValue=!0,i.value=l},[l]),CV(l),l}});var VM=Jr((rve,HM)=>{"use strict";HM.exports=WM()});var MD=Jr(TD=>{"use strict";var wm=ne();function Tq(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var Mq=typeof Object.is=="function"?Object.is:Tq,Pq=wm.useSyncExternalStore,Dq=wm.useRef,Iq=wm.useEffect,jq=wm.useMemo,zq=wm.useDebugValue;TD.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Dq(null);if(o.current===null){var i={hasValue:!1,value:null};o.current=i}else i=o.current;o=jq(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),a!==void 0&&i.hasValue){var m=i.value;if(a(m,p))return d=m}return d=p}if(m=d,Mq(c,p))return m;var g=n(p);return a!==void 0&&a(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,a]);var l=Pq(e,o[0],o[1]);return Iq(function(){i.hasValue=!0,i.value=l},[l]),zq(l),l}});var DD=Jr((tye,PD)=>{"use strict";PD.exports=MD()});var Lk=Jr((a6,H0)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",i=a+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,m=l(p/f),g={};g.absoluteValue=g.abs=function(){var N=new this.constructor(this);return N.s&&(N.s=1),N},g.comparedTo=g.cmp=function(N){var _,z,j,P,B=this;if(N=new B.constructor(N),B.s!==N.s)return B.s||-N.s;if(B.e!==N.e)return B.e>N.e^B.s<0?1:-1;for(j=B.d.length,P=N.d.length,_=0,z=jN.d[_]^B.s<0?1:-1;return j===P?0:j>P^B.s<0?1:-1},g.decimalPlaces=g.dp=function(){var N=this,_=N.d.length-1,z=(_-N.e)*f;if(_=N.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},g.dividedBy=g.div=function(N){return b(this,new this.constructor(N))},g.dividedToIntegerBy=g.idiv=function(N){var _=this,z=_.constructor;return M(b(_,new z(N),0,1),z.precision)},g.equals=g.eq=function(N){return!this.cmp(N)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(N){return this.cmp(N)>0},g.greaterThanOrEqualTo=g.gte=function(N){return this.cmp(N)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(N){return this.cmp(N)<0},g.lessThanOrEqualTo=g.lte=function(N){return this.cmp(N)<1},g.logarithm=g.log=function(N){var _,z=this,j=z.constructor,P=j.precision,B=P+5;if(N===void 0)N=new j(10);else if(N=new j(N),N.s<1||N.eq(c))throw Error(a+"NaN");if(z.s<1)throw Error(a+(z.s?"NaN":"-Infinity"));return z.eq(c)?new j(0):(n=!1,_=b(k(z,B),k(N,B),B),n=!0,M(_,P))},g.minus=g.sub=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?W(_,N):h(_,(N.s=-N.s,N))},g.modulo=g.mod=function(N){var _,z=this,j=z.constructor,P=j.precision;if(N=new j(N),!N.s)throw Error(a+"NaN");return z.s?(n=!1,_=b(z,N,0,1).times(N),n=!0,z.minus(_)):M(new j(z),P)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return k(this)},g.negated=g.neg=function(){var N=new this.constructor(this);return N.s=-N.s||0,N},g.plus=g.add=function(N){var _=this;return N=new _.constructor(N),_.s==N.s?h(_,N):W(_,(N.s=-N.s,N))},g.precision=g.sd=function(N){var _,z,j,P=this;if(N!==void 0&&N!==!!N&&N!==1&&N!==0)throw Error(o+N);if(_=S(P)+1,j=P.d.length-1,z=j*f+1,j=P.d[j],j){for(;j%10==0;j/=10)z--;for(j=P.d[0];j>=10;j/=10)z++}return N&&_>z?_:z},g.squareRoot=g.sqrt=function(){var N,_,z,j,P,B,R,F=this,G=F.constructor;if(F.s<1){if(!F.s)return new G(0);throw Error(a+"NaN")}for(N=S(F),n=!1,P=Math.sqrt(+F),P==0||P==1/0?(_=y(F.d),(_.length+N)%2==0&&(_+="0"),P=Math.sqrt(_),N=l((N+1)/2)-(N<0||N%2),P==1/0?_="5e"+N:(_=P.toExponential(),_=_.slice(0,_.indexOf("e")+1)+N),j=new G(_)):j=new G(P.toString()),z=G.precision,P=R=z+3;;)if(B=j,j=B.plus(b(F,B,R+2)).times(.5),y(B.d).slice(0,R)===(_=y(j.d)).slice(0,R)){if(_=_.slice(R-3,R+1),P==R&&_=="4999"){if(M(B,z+1,0),B.times(B).eq(F)){j=B;break}}else if(_!="9999")break;R+=4}return n=!0,M(j,z)},g.times=g.mul=function(N){var _,z,j,P,B,R,F,G,ee,fe=this,de=fe.constructor,De=fe.d,le=(N=new de(N)).d;if(!fe.s||!N.s)return new de(0);for(N.s*=fe.s,z=fe.e+N.e,G=De.length,ee=le.length,G=0;){for(_=0,P=G+j;P>j;)F=B[P]+le[j]*De[P-j-1]+_,B[P--]=F%d|0,_=F/d|0;B[P]=(B[P]+_)%d|0}for(;!B[--R];)B.pop();return _?++z:B.shift(),N.d=B,N.e=z,n?M(N,de.precision):N},g.toDecimalPlaces=g.todp=function(N,_){var z=this,j=z.constructor;return z=new j(z),N===void 0?z:(v(N,0,t),_===void 0?_=j.rounding:v(_,0,8),M(z,N+S(z)+1,_))},g.toExponential=function(N,_){var z,j=this,P=j.constructor;return N===void 0?z=L(j,!0):(v(N,0,t),_===void 0?_=P.rounding:v(_,0,8),j=M(new P(j),N+1,_),z=L(j,!0,N+1)),z},g.toFixed=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?L(P):(v(N,0,t),_===void 0?_=B.rounding:v(_,0,8),j=M(new B(P),N+S(P)+1,_),z=L(j.abs(),!1,N+S(j)+1),P.isneg()&&!P.isZero()?"-"+z:z)},g.toInteger=g.toint=function(){var N=this,_=N.constructor;return M(new _(N),S(N)+1,_.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(N){var _,z,j,P,B,R,F=this,G=F.constructor,ee=12,fe=+(N=new G(N));if(!N.s)return new G(c);if(F=new G(F),!F.s){if(N.s<1)throw Error(a+"Infinity");return F}if(F.eq(c))return F;if(j=G.precision,N.eq(c))return M(F,j);if(_=N.e,z=N.d.length-1,R=_>=z,B=F.s,R){if((z=fe<0?-fe:fe)<=p){for(P=new G(c),_=Math.ceil(j/f+4),n=!1;z%2&&(P=P.times(F),H(P.d,_)),z=l(z/2),z!==0;)F=F.times(F),H(F.d,_);return n=!0,N.s<0?new G(c).div(P):M(P,j)}}else if(B<0)throw Error(a+"NaN");return B=B<0&&N.d[Math.max(_,z)]&1?-1:1,F.s=1,n=!1,P=N.times(k(F,j+ee)),n=!0,P=x(P),P.s=B,P},g.toPrecision=function(N,_){var z,j,P=this,B=P.constructor;return N===void 0?(z=S(P),j=L(P,z<=B.toExpNeg||z>=B.toExpPos)):(v(N,1,t),_===void 0?_=B.rounding:v(_,0,8),P=M(new B(P),N,_),z=S(P),j=L(P,N<=z||z<=B.toExpNeg,N)),j},g.toSignificantDigits=g.tosd=function(N,_){var z=this,j=z.constructor;return N===void 0?(N=j.precision,_=j.rounding):(v(N,1,t),_===void 0?_=j.rounding:v(_,0,8)),M(new j(z),N,_)},g.toString=g.valueOf=g.val=g.toJSON=function(){var N=this,_=S(N),z=N.constructor;return L(N,_<=z.toExpNeg||_>=z.toExpPos)};function h(N,_){var z,j,P,B,R,F,G,ee,fe=N.constructor,de=fe.precision;if(!N.s||!_.s)return _.s||(_=new fe(N)),n?M(_,de):_;if(G=N.d,ee=_.d,R=N.e,P=_.e,G=G.slice(),B=R-P,B){for(B<0?(j=G,B=-B,F=ee.length):(j=ee,P=R,F=G.length),R=Math.ceil(de/f),F=R>F?R+1:F+1,B>F&&(B=F,j.length=1),j.reverse();B--;)j.push(0);j.reverse()}for(F=G.length,B=ee.length,F-B<0&&(B=F,j=ee,ee=G,G=j),z=0;B;)z=(G[--B]=G[B]+ee[B]+z)/d|0,G[B]%=d;for(z&&(G.unshift(z),++P),F=G.length;G[--F]==0;)G.pop();return _.d=G,_.e=P,n?M(_,de):_}function v(N,_,z){if(N!==~~N||N<_||N>z)throw Error(o+N)}function y(N){var _,z,j,P=N.length-1,B="",R=N[0];if(P>0){for(B+=R,_=1;_R?1:-1;else for(F=G=0;FP[F]?1:-1;break}return G}function z(j,P,B){for(var R=0;B--;)j[B]-=R,R=j[B]1;)j.shift()}return function(j,P,B,R){var F,G,ee,fe,de,De,le,Te,K,I,C,T,X,$,Ne,E,Z,ge,Le=j.constructor,nt=j.s==P.s?1:-1,Bt=j.d,ft=P.d;if(!j.s)return new Le(j);if(!P.s)throw Error(a+"Division by zero");for(G=j.e-P.e,Z=ft.length,Ne=Bt.length,le=new Le(nt),Te=le.d=[],ee=0;ft[ee]==(Bt[ee]||0);)++ee;if(ft[ee]>(Bt[ee]||0)&&--G,B==null?T=B=Le.precision:R?T=B+(S(j)-S(P))+1:T=B,T<0)return new Le(0);if(T=T/f+2|0,ee=0,Z==1)for(fe=0,ft=ft[0],T++;(ee1&&(ft=N(ft,fe),Bt=N(Bt,fe),Z=ft.length,Ne=Bt.length),$=Z,K=Bt.slice(0,Z),I=K.length;I=d/2&&++E;do fe=0,F=_(ft,K,Z,I),F<0?(C=K[0],Z!=I&&(C=C*d+(K[1]||0)),fe=C/E|0,fe>1?(fe>=d&&(fe=d-1),de=N(ft,fe),De=de.length,I=K.length,F=_(de,K,De,I),F==1&&(fe--,z(de,Z16)throw Error(i+S(N));if(!N.s)return new fe(c);for(_==null?(n=!1,F=de):F=_,R=new fe(.03125);N.abs().gte(.1);)N=N.times(R),ee+=5;for(j=Math.log(s(2,ee))/Math.LN10*2+5|0,F+=j,z=P=B=new fe(c),fe.precision=F;;){if(P=M(P.times(N),F),z=z.times(++G),R=B.plus(b(P,z,F)),y(R.d).slice(0,F)===y(B.d).slice(0,F)){for(;ee--;)B=M(B.times(B),F);return fe.precision=de,_==null?(n=!0,M(B,de)):B}B=R}}function S(N){for(var _=N.e*f,z=N.d[0];z>=10;z/=10)_++;return _}function w(N,_,z){if(_>N.LN10.sd())throw n=!0,z&&(N.precision=z),Error(a+"LN10 precision limit exceeded");return M(new N(N.LN10),_)}function O(N){for(var _="";N--;)_+="0";return _}function k(N,_){var z,j,P,B,R,F,G,ee,fe,de=1,De=10,le=N,Te=le.d,K=le.constructor,I=K.precision;if(le.s<1)throw Error(a+(le.s?"NaN":"-Infinity"));if(le.eq(c))return new K(0);if(_==null?(n=!1,ee=I):ee=_,le.eq(10))return _==null&&(n=!0),w(K,ee);if(ee+=De,K.precision=ee,z=y(Te),j=z.charAt(0),B=S(le),Math.abs(B)<15e14){for(;j<7&&j!=1||j==1&&z.charAt(1)>3;)le=le.times(N),z=y(le.d),j=z.charAt(0),de++;B=S(le),j>1?(le=new K("0."+z),B++):le=new K(j+"."+z.slice(1))}else return G=w(K,ee+2,I).times(B+""),le=k(new K(j+"."+z.slice(1)),ee-De).plus(G),K.precision=I,_==null?(n=!0,M(le,I)):le;for(F=R=le=b(le.minus(c),le.plus(c),ee),fe=M(le.times(le),ee),P=3;;){if(R=M(R.times(fe),ee),G=F.plus(b(R,new K(P),ee)),y(G.d).slice(0,ee)===y(F.d).slice(0,ee))return F=F.times(2),B!==0&&(F=F.plus(w(K,ee+2,I).times(B+""))),F=b(F,new K(de),ee),K.precision=I,_==null?(n=!0,M(F,I)):F;F=G,P+=2}}function A(N,_){var z,j,P;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(j=_.search(/e/i))>0?(z<0&&(z=j),z+=+_.slice(j+1),_=_.substring(0,j)):z<0&&(z=_.length),j=0;_.charCodeAt(j)===48;)++j;for(P=_.length;_.charCodeAt(P-1)===48;)--P;if(_=_.slice(j,P),_){if(P-=j,z=z-j-1,N.e=l(z/f),N.d=[],j=(z+1)%f,z<0&&(j+=f),jm||N.e<-m))throw Error(i+z)}else N.s=0,N.e=0,N.d=[0];return N}function M(N,_,z){var j,P,B,R,F,G,ee,fe,de=N.d;for(R=1,B=de[0];B>=10;B/=10)R++;if(j=_-R,j<0)j+=f,P=_,ee=de[fe=0];else{if(fe=Math.ceil((j+1)/f),B=de.length,fe>=B)return N;for(ee=B=de[fe],R=1;B>=10;B/=10)R++;j%=f,P=j-f+R}if(z!==void 0&&(B=s(10,R-P-1),F=ee/B%10|0,G=_<0||de[fe+1]!==void 0||ee%B,G=z<4?(F||G)&&(z==0||z==(N.s<0?3:2)):F>5||F==5&&(z==4||G||z==6&&(j>0?P>0?ee/s(10,R-P):0:de[fe-1])%10&1||z==(N.s<0?8:7))),_<1||!de[0])return G?(B=S(N),de.length=1,_=_-B-1,de[0]=s(10,(f-_%f)%f),N.e=l(-_/f)||0):(de.length=1,de[0]=N.e=N.s=0),N;if(j==0?(de.length=fe,B=1,fe--):(de.length=fe+1,B=s(10,f-j),de[fe]=P>0?(ee/s(10,R-P)%s(10,P)|0)*B:0),G)for(;;)if(fe==0){(de[0]+=B)==d&&(de[0]=1,++N.e);break}else{if(de[fe]+=B,de[fe]!=d)break;de[fe--]=0,B=1}for(j=de.length;de[--j]===0;)de.pop();if(n&&(N.e>m||N.e<-m))throw Error(i+S(N));return N}function W(N,_){var z,j,P,B,R,F,G,ee,fe,de,De=N.constructor,le=De.precision;if(!N.s||!_.s)return _.s?_.s=-_.s:_=new De(N),n?M(_,le):_;if(G=N.d,de=_.d,j=_.e,ee=N.e,G=G.slice(),R=ee-j,R){for(fe=R<0,fe?(z=G,R=-R,F=de.length):(z=de,j=ee,F=G.length),P=Math.max(Math.ceil(le/f),F)+2,R>P&&(R=P,z.length=1),z.reverse(),P=R;P--;)z.push(0);z.reverse()}else{for(P=G.length,F=de.length,fe=P0;--P)G[F++]=0;for(P=de.length;P>R;){if(G[--P]0?B=B.charAt(0)+"."+B.slice(1)+O(j):R>1&&(B=B.charAt(0)+"."+B.slice(1)),B=B+(P<0?"e":"e+")+P):P<0?(B="0."+O(-P-1)+B,z&&(j=z-R)>0&&(B+=O(j))):P>=R?(B+=O(P+1-R),z&&(j=z-P-1)>0&&(B=B+"."+O(j))):((j=P+1)0&&(P+1===R&&(B+="."),B+=O(j))),N.s<0?"-"+B:B}function H(N,_){if(N.length>_)return N.length=_,!0}function D(N){var _,z,j;function P(B){var R=this;if(!(R instanceof P))return new P(B);if(R.constructor=P,B instanceof P){R.s=B.s,R.e=B.e,R.d=(B=B.d)?B.slice():B;return}if(typeof B=="number"){if(B*0!==0)throw Error(o+B);if(B>0)R.s=1;else if(B<0)B=-B,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(B===~~B&&B<1e7){R.e=0,R.d=[B];return}return A(R,B.toString())}else if(typeof B!="string")throw Error(o+B);if(B.charCodeAt(0)===45?(B=B.slice(1),R.s=-1):R.s=1,u.test(B))A(R,B);else throw Error(o+B)}if(P.prototype=g,P.ROUND_UP=0,P.ROUND_DOWN=1,P.ROUND_CEIL=2,P.ROUND_FLOOR=3,P.ROUND_HALF_UP=4,P.ROUND_HALF_DOWN=5,P.ROUND_HALF_EVEN=6,P.ROUND_HALF_CEIL=7,P.ROUND_HALF_FLOOR=8,P.clone=D,P.config=P.set=Y,N===void 0&&(N={}),N)for(j=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=P[_+1]&&j<=P[_+2])this[z]=j;else throw Error(o+z+": "+j);if((j=N[z="LN10"])!==void 0)if(j==Math.LN10)this[z]=new this(j);else throw Error(o+z+": "+j);return this}r=D(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof H0<"u"&&H0.exports?H0.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(a6)});var Rj=Jr((Hke,SC)=>{"use strict";var $R=Object.prototype.hasOwnProperty,zn="~";function fv(){}Object.create&&(fv.prototype=Object.create(null),new fv().__proto__||(zn=!1));function UR(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Jj(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new UR(r,n||e,a),i=zn?zn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],o]:e._events[i].push(o):(e._events[i]=o,e._eventsCount++),e}function pb(e,t){--e._eventsCount===0?e._events=new fv:delete e._events[t]}function Sn(){this._events=new fv,this._eventsCount=0}Sn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)$R.call(r,n)&&t.push(zn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Sn.prototype.listeners=function(t){var r=zn?zn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,i=new Array(o);a{"use strict";var PC=Symbol.for("react.transitional.element"),DC=Symbol.for("react.portal"),Eb=Symbol.for("react.fragment"),_b=Symbol.for("react.strict_mode"),Ob=Symbol.for("react.profiler"),Tb=Symbol.for("react.consumer"),Mb=Symbol.for("react.context"),Pb=Symbol.for("react.forward_ref"),Db=Symbol.for("react.suspense"),Ib=Symbol.for("react.suspense_list"),jb=Symbol.for("react.memo"),zb=Symbol.for("react.lazy"),Nte=Symbol.for("react.view_transition"),Cte=Symbol.for("react.client.reference");function to(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case PC:switch(e=e.type,e){case Eb:case Ob:case _b:case Db:case Ib:case Nte:return e;default:switch(e=e&&e.$$typeof,e){case Mb:case Pb:case zb:case jb:return e;case Tb:return e;default:return t}}case DC:return t}}}Ht.ContextConsumer=Tb;Ht.ContextProvider=Mb;Ht.Element=PC;Ht.ForwardRef=Pb;Ht.Fragment=Eb;Ht.Lazy=zb;Ht.Memo=jb;Ht.Portal=DC;Ht.Profiler=Ob;Ht.StrictMode=_b;Ht.Suspense=Db;Ht.SuspenseList=Ib;Ht.isContextConsumer=function(e){return to(e)===Tb};Ht.isContextProvider=function(e){return to(e)===Mb};Ht.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===PC};Ht.isForwardRef=function(e){return to(e)===Pb};Ht.isFragment=function(e){return to(e)===Eb};Ht.isLazy=function(e){return to(e)===zb};Ht.isMemo=function(e){return to(e)===jb};Ht.isPortal=function(e){return to(e)===DC};Ht.isProfiler=function(e){return to(e)===Ob};Ht.isStrictMode=function(e){return to(e)===_b};Ht.isSuspense=function(e){return to(e)===Db};Ht.isSuspenseList=function(e){return to(e)===Ib};Ht.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Eb||e===Ob||e===_b||e===Db||e===Ib||typeof e=="object"&&e!==null&&(e.$$typeof===zb||e.$$typeof===jb||e.$$typeof===Mb||e.$$typeof===Tb||e.$$typeof===Pb||e.$$typeof===Cte||e.getModuleId!==void 0)};Ht.typeOf=to});var dL=Jr((KCe,cL)=>{"use strict";cL.exports=uL()});var nU=te(ne()),aU=te(j3());var Ze=te(ne());var Be=te(ne());var At=te(ne()),Ys={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},Gs={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},nd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var oH=({id:e="mascot"})=>At.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},At.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},At.default.createElement("g",{fillRule:"nonzero"},At.default.createElement("path",{d:"M421,271.3 C422.733,265.1 423.667,244.633 423.8,209.9 C423.9,173.4 423.8,142.1 423.5,140.4 C423.1,137.9 412.5,126.8 373.1,87.2 C345.6,59.7 321.7,36.3 319.8,35.3 C316.7,33.6 312.5,33.5 250,33.5 C186.5,33.5 183.3,33.6 178.2,35.4 C173.5,37.2 168.3,42.1 125.2,85.3 C69.3,141.4 75.6,134.9 73.7,138.7 C72.3,141.3 72,147.2 71.8,178.6 C71.3,243.6 71.8,276 73.4,276 C74.067,276 99.6,304.854 150,362.563 L350.015,362.563 L421,271.3 Z",fill:"#EB5555",stroke:"#000000",strokeWidth:"12"})),At.default.createElement("path",{d:"M216.5,202.5 C213.4,199.5 213.4,198.7 216.5,193.4 C223.2,182 248.2,176 264.5,181.9 C273,185 280.3,190.1 282.4,194.5 C284,197.9 284,198.3 282.5,200.6 C281.6,202 279.8,203.6 278.5,204.2 C276.4,205.1 275.4,204.7 270.1,200.8 C263,195.4 254.7,193.3 244.4,194.4 C236.1,195.3 234.3,196 228.6,200.9 C223.1,205.6 220,206.1 216.5,202.5 Z",fill:"#000000",fillRule:"nonzero"}),At.default.createElement("path",{d:"M177.8,484.5 C169.1,482.1 162,475.2 157.7,465 C156.2,461.4 151.9,446.6 148.1,432 C144.3,417.4 140.7,404.3 140.1,402.8 L139,400 L94.8,400 C70.4,400 49.5,399.7 48.2,399.4 C45.1,398.5 42.7,393.8 43.9,390.8 C45.1,387.9 49.4,383.3 54,379.9 C68.7,369.2 86.3,364.8 120,363.4 C126.067,363.2 134.065,362.921 143.995,362.563 L350.015,362.563 C367.433,363.767 377.5,364.1 377.5,364.1 C411,365.2 433.1,371.5 446.2,383.8 C453.8,390.9 455.1,394.7 451.3,399 C451,399.3 429.6,399.7 403.7,400 L356.6,400.5 L353.3,412.5 C351.5,419.1 348.2,431.3 346.1,439.5 C339.9,463 336.7,470.5 329.4,477.5 C322.9,483.8 315.7,486.3 305.5,485.8 C298.1,485.4 296.1,484.7 280.5,477.8 C271.2,473.7 261.7,469.7 259.5,468.9 C250.9,466.1 238.1,467.9 224.9,473.8 C197.3,486.1 189.8,487.8 177.8,484.5 Z",stroke:"#000000",strokeWidth:"11",fill:"#000000",fillRule:"nonzero"}),At.default.createElement("g",{transform:"translate(75.105, 196.182)"},At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),At.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),At.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),At.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),At.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},At.default.createElement("path",{d:"M346.895,99.881 L335.287,108.67 L292.495,108.67 L211.805,108.67 C194.861,92.394 186.922,84.257 187.99,84.257 C188.99,84.257 187.689,77.518 187.99,71.118 C188.99,54.518 196.996,38.618 211.805,23.818 C219.711,15.918 222.813,13.518 230.118,10.018 C242.025,4.118 250.431,1.818 262.839,1.118 C274.147,0.518 285.354,2.218 295.561,6.018 C308.67,10.918 327.482,26.818 335.287,39.618 C342.092,50.918 346.895,65.818 346.895,76.018 C346.895,82.818 346.895,90.772 346.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),At.default.createElement("path",{d:"M158.895,99.881 L147.295,108.67 L104.531,108.67 L23.895,108.67 C6.961,92.394 -0.972,84.257 0.095,84.257 C1.095,84.257 -0.205,77.518 0.095,71.118 C1.095,54.518 9.095,38.618 23.895,23.818 C31.795,15.918 34.895,13.518 42.195,10.018 C54.095,4.118 62.495,1.818 74.895,1.118 C86.195,0.518 97.395,2.218 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 C158.895,82.818 158.895,90.772 158.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),At.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},At.default.createElement("path",{d:"M187.895,73.418 C187.895,60.818 195.095,43.418 205.495,30.818 C213.379,21.259 220.29,15.351 230.066,10.615 C233.275,8.66 236.386,7.08 239.229,6.018 C246.892,3.165 255.119,1.496 263.529,1.095 C267.063,0.859 270.58,0.912 274.131,1.261 C285.374,2.105 293.475,4.47 304.672,10.018 C311.734,13.402 314.868,15.757 322.213,23.049 L322.795,23.618 C326.306,27.085 329.397,30.586 332.082,34.15 L332.148,34.235 C341.116,45.994 346.03,58.349 346.8,71.118 C346.957,74.467 346.676,77.909 346.515,80.429 C346.693,80.646 346.917,80.701 347.195,80.618 C347.366,80.542 348.039,80.501 349.213,80.495 L349.775,80.495 C352.888,80.507 358.769,80.715 367.418,81.118 C374.646,86.469 378.26,91.703 378.26,96.818 C378.26,101.933 374.646,107.042 367.418,112.146 L15.403,112.146 L-20.38,113.348 C-27.807,110.322 -31.52,105.629 -31.52,99.27 C-31.52,92.911 -27.807,88.087 -20.38,84.798 C-13.63,84.605 -8.537,84.463 -5.101,84.373 C-5.115,84.296 -5.084,84.257 -5.01,84.257 C-4.01,84.257 -5.311,77.518 -5.01,71.118 C-4.01,54.518 3.996,38.618 18.805,23.818 C26.711,15.918 29.813,13.518 37.118,10.018 C49.025,4.118 57.431,1.818 69.839,1.118 C72.166,0.994 74.489,0.968 76.8,1.038 C76.165,1.058 75.53,1.084 74.895,1.118 C62.495,1.818 54.095,4.118 42.195,10.018 C34.895,13.518 31.795,15.918 23.895,23.818 C9.095,38.618 1.095,54.518 0.095,71.118 C-0.205,77.518 1.095,84.257 0.095,84.257 C-0.4,84.257 -2.131,84.296 -5.101,84.373 C-4.938,85.42 3.031,93.518 18.805,108.67 L142.287,108.67 L153.895,99.881 L153.895,76.018 C153.895,65.818 149.092,50.918 142.287,39.618 C134.482,26.818 115.67,10.918 102.561,6.018 C94.455,3 85.717,1.307 76.8,1.038 C87.451,0.716 97.968,2.432 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 L158.895,80.418 L164.995,80.418 C168.395,80.118 174.995,79.818 179.495,79.818 L187.895,79.818 L187.895,99.881 L199.502,108.67 L322.984,108.67 C339.929,92.394 347.867,84.257 346.8,84.257 C346.323,84.257 346.369,82.725 346.515,80.429 C346.051,79.868 345.895,78.223 345.895,75.118 C345.895,59.873 341.479,46.625 332.082,34.15 L331.696,33.647 C329.117,30.321 326.212,27.043 322.984,23.818 C322.722,23.556 322.465,23.299 322.213,23.049 C316.441,17.437 312.579,14.708 306.095,11.418 C294.424,5.583 284.144,2.245 274.131,1.261 C273.417,1.207 272.691,1.16 271.95,1.118 C269.132,0.968 266.321,0.962 263.529,1.095 C257.389,1.506 251.198,2.792 244.695,4.918 C239.073,6.731 234.301,8.563 230.066,10.615 C218.478,17.668 205.615,29.594 199.502,39.618 C192.698,50.917 187.895,65.817 187.895,76.017 L187.895,73.418 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000"})),At.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},At.default.createElement("path",{d:"M12.837,35.288 C13.137,33.988 14.437,31.888 15.637,30.788 L17.837,28.788 L15.637,26.788 C14.437,25.688 13.137,23.588 12.837,22.288 C12.037,19.088 10.637,19.088 9.437,22.188 C8.937,23.488 7.537,25.588 6.237,26.788 C4.037,28.788 4.037,28.988 5.737,29.988 C6.837,30.488 8.237,32.488 9.037,34.388 C10.737,38.388 11.937,38.688 12.837,35.288 Z M29.237,33.088 C30.137,29.688 31.837,27.088 34.937,24.088 L39.337,19.888 L36.337,17.788 C33.437,15.588 28.437,7.288 28.437,4.288 C28.437,2.188 26.537,2.388 25.837,4.588 C23.937,10.388 21.637,14.388 18.337,17.188 L14.537,20.388 L17.337,22.088 C19.837,23.588 24.337,30.988 25.837,36.088 C26.737,39.088 27.937,37.988 29.237,33.088 Z M10.937,12.488 L13.037,9.288 L10.937,6.088 C8.837,2.788 7.437,1.888 7.437,3.988 C7.437,4.588 6.537,6.088 5.437,7.288 L3.437,9.488 L5.437,11.288 C6.537,12.288 7.437,13.688 7.437,14.488 C7.437,16.688 8.837,15.888 10.937,12.488 Z"}),At.default.createElement("path",{d:"M203.437,36.388 C203.437,35.588 204.637,33.588 206.037,31.888 L208.637,28.788 L206.037,25.688 C204.637,23.988 203.437,21.988 203.437,21.188 C203.437,18.588 201.437,19.788 200.037,23.188 C199.237,25.088 197.837,27.088 196.737,27.688 C195.037,28.688 195.037,28.788 197.037,30.188 C198.237,30.988 199.737,33.088 200.437,34.788 C201.737,37.888 203.437,38.788 203.437,36.388 Z M220.837,32.588 C221.937,29.288 224.237,25.788 226.737,23.388 C229.737,20.488 230.537,19.288 229.437,18.988 C226.637,17.988 222.437,12.588 220.737,7.688 C219.737,4.988 218.737,2.788 218.337,2.788 C218.037,2.788 216.737,5.288 215.537,8.288 C214.337,11.288 211.737,15.088 209.837,16.688 C205.937,20.188 205.637,21.388 208.437,22.288 C210.937,23.088 214.737,28.788 216.437,34.088 C217.037,36.088 217.937,37.788 218.237,37.788 C218.637,37.788 219.837,35.388 220.837,32.588 Z M201.137,14.088 C201.437,13.088 202.437,11.488 203.337,10.488 C204.337,9.288 204.537,8.388 203.837,7.988 C203.237,7.588 202.237,6.288 201.537,5.088 C200.137,2.388 198.837,2.188 198.037,4.588 C197.737,5.488 196.937,6.988 196.337,7.888 C195.337,9.288 195.437,9.888 196.737,11.288 C197.637,12.188 198.437,13.588 198.437,14.388 C198.437,16.388 200.337,16.188 201.137,14.088 Z"}))));function mr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:a="",hat:o,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return At.default.createElement("div",{className:`inline-flex flex-col items-center ${a}`},n&&t.length>0&&At.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=Ys[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),At.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",width:e,height:e,role:"img","aria-label":"Active Agent mascot"},At.default.createElement("title",null,"ActiveAgent"),At.default.createElement(oH,null)),n&&r.length>0&&At.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=Gs[c];return d?At.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var Gn=te(ne());var go=te(ne()),z3=(0,go.createContext)();function L3({children:e}){let[t,r]=(0,go.useState)(()=>{let a=localStorage.getItem("dashboard-theme");return a?a==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,go.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,go.useEffect)(()=>{let a=window.matchMedia("(prefers-color-scheme: dark)"),o=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return a.addEventListener("change",o),()=>a.removeEventListener("change",o)},[]);let n=()=>r(!t);return go.default.createElement(z3.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function kt(){let e=(0,go.useContext)(z3);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function ad({name:e,subtitle:t,badge:r,accentColor:n,stats:a=[],footer:o,onClick:i,actions:l}){let{darkMode:s}=kt(),[u,c]=Gn.default.useState(!1),d={cardBg:s?"rgba(255,255,255,0.05)":"#ffffff",border:s?"rgba(255,255,255,0.1)":"#e5e7eb",borderHover:s?"rgba(255,255,255,0.2)":"#d1d5db",tileBg:s?"rgba(255,255,255,0.05)":"#f9fafb",textPrimary:s?"#f9fafb":"#111827",textSecondary:s?"#9ca3af":"#6b7280",textMuted:s?"#6b7280":"#9ca3af"},f=p=>p==="good"?s?"#4ade80":"#16a34a":p==="warn"?s?"#facc15":"#ca8a04":p==="bad"?s?"#f87171":"#dc2626":p==="muted"?d.textMuted:d.textPrimary;return Gn.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},Gn.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},Gn.default.createElement("div",{style:{minWidth:0}},Gn.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&Gn.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&Gn.default.createElement("div",{style:{flexShrink:0}},r)),a.length>0&&Gn.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},a.map(p=>Gn.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},Gn.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),Gn.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),o&&Gn.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},o),l&&Gn.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function R2(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var iH=[{value:"recent",label:"Recently updated"},{value:"popular",label:"Most runs"},{value:"longest",label:"Longest average"},{value:"cost",label:"Highest cost"},{value:"tokens",label:"Most tokens"}];function eA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:a,onDuplicate:o,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Be.useState)(""),[p,m]=(0,Be.useState)(""),[g,h]=(0,Be.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,W=!g||k.status===g;return A&&M&&W}),y=k=>{let A=new Date(k),W=new Date-A,L=Math.floor(W/(1e3*60*60*24));return L===0?"Today":L===1?"Yesterday":L<7?`${L} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,O=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Be.default.createElement("div",{className:"space-y-6"},Be.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Be.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Be.default.createElement("div",{className:"relative flex-1 max-w-md"},Be.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Be.default.createElement("svg",{className:"absolute left-3 top-2.5 h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))),Be.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Be.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Be.default.createElement("select",{value:g,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Be.default.createElement("option",{value:""},"All Status"),Be.default.createElement("option",{value:"active"},"Active"),Be.default.createElement("option",{value:"draft"},"Draft"),Be.default.createElement("option",{value:"archived"},"Archived")),Be.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},iH.map(k=>Be.default.createElement("option",{key:k.value,value:k.value},k.label)))),Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement("button",{onClick:l,disabled:c,className:"p-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors"},Be.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))),Be.default.createElement("button",{onClick:a,className:"flex items-center space-x-2 px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("button",{onClick:n,className:"flex items-center space-x-2 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"New Agent")))),v.length>0?Be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],W=M.length?`Counted from ${M.map(L=>L==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Be.default.createElement(ad,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Be.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:W},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:R2(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:R2(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Be.default.createElement(Be.default.Fragment,null,Be.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Be.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Be.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Be.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${y(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${O(A.last_run_at)}`:`Updated ${y(k.updatedAt||k.updated_at)}`)),actions:Be.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),o(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Be.default.createElement("button",{onClick:L=>{L.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Be.default.createElement("div",{className:"text-center py-16"},Be.default.createElement("div",{className:"inline-block mb-4"},Be.default.createElement(mr,{size:100})),Be.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Be.default.createElement("p",{className:"text-gray-500 mb-6"},e.length===0?"Create your first AI agent to get started":"Try adjusting your search or filters"),e.length===0&&Be.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Be.default.createElement("button",{onClick:a,className:"inline-flex items-center space-x-2 px-6 py-3 border-2 border-red-500 text-red-600 rounded-lg hover:bg-red-50 transition-colors"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Be.default.createElement("span",null,"Browse Templates")),Be.default.createElement("span",{className:"text-gray-400"},"or"),Be.default.createElement("button",{onClick:n,className:"inline-flex items-center space-x-2 px-6 py-3 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Be.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Be.default.createElement("span",null,"Create From Scratch")))))}var ve=te(ne());var Ut={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Fe={mono:"'SF Mono', 'Fira Code', 'Consolas', monospace",sizes:{xs:"10px",sm:"11px",base:"13px",md:"14px",lg:"16px",xl:"20px",xxl:"24px"},weights:{normal:400,medium:500,semibold:600,bold:700}};var od={openai:["gpt-5.1","gpt-5","gpt-5-mini","gpt-5-nano"],anthropic:["claude-opus-5","claude-fable-5","claude-sonnet-5","claude-opus-4-8","claude-haiku-4-5"],ollama:["qwen3:8b","llama3.2","mistral","gemma3"],openrouter:["anthropic/claude-sonnet-4.5","openai/gpt-5.1","meta-llama/llama-3.3-70b-instruct"]};async function Ky(e){try{let t=await fetch(`/api/provider_models?provider=${encodeURIComponent(e)}`);if(t.ok){let r=await t.json();if(Array.isArray(r.models)&&r.models.length>0)return r.models}}catch{}return od[e]||[]}var qy=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function tA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:a=null}){let[o,i]=(0,ve.useState)(0),[l,s]=(0,ve.useState)(od),[u,c]=(0,ve.useState)({name:"",description:"",provider:"openai",model:od.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...a?{name:a.name,description:a.description||"",instructions:a.instructions,provider:a.provider,model:a.model,tools:a.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ve.useEffect)(()=>{let h=!1;return Ky(u.provider).then(v=>{if(h||v.length===0)return;let y=a?.provider===u.provider&&a.model?[...new Set([a.model,...v])]:v;s(b=>({...b,[u.provider]:y})),c(b=>y.includes(b.model)?b:{...b,model:y[0]})}),()=>{h=!0}},[u.provider]);let d=(h,v)=>{c(y=>({...y,[h]:v}))},f=(h,v)=>{c(y=>{let b=y[h]||[],x=b.includes(v)?b.filter(S=>S!==v):[...b,v];return{...y,[h]:x}})},p=h=>{if(d("preset_type",h),nd[h]){let v=nd[h];d("instruction_sets",[...v.instructions]),d("tools",[...v.tools])}},m=()=>{switch(o){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},g=()=>{t(u)};return ve.default.createElement("div",{className:"max-w-4xl mx-auto"},a&&ve.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ve.default.createElement("div",{className:"mb-8"},ve.default.createElement("div",{className:"flex items-center justify-between"},qy.map((h,v)=>ve.default.createElement("div",{key:h.id,className:"flex items-center"},ve.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${vi(o-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},o===0?"Cancel":"Back"),ve.default.createElement("button",{onClick:o===qy.length-1?g:()=>i(o+1),disabled:!m()||n,className:`px-6 py-2 rounded-lg transition-colors ${m()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},o===qy.length-1?"Create Agent":"Continue")))}function lH({formData:e,updateField:t,providerModels:r}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ve.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ve.default.createElement("input",{type:"text",value:e.name,onChange:n=>t("name",n.target.value),placeholder:"My Awesome Agent",className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ve.default.createElement("textarea",{value:e.description,onChange:n=>t("description",n.target.value),placeholder:"What does this agent do?",rows:3,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ve.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ve.default.createElement("select",{value:e.provider,onChange:n=>{t("provider",n.target.value),t("model",r[n.target.value][0])},className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Object.keys(r).map(n=>ve.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ve.default.createElement("select",{value:e.model,onChange:n=>t("model",n.target.value),className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},r[e.provider].map(n=>ve.default.createElement("option",{key:n,value:n},n))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ve.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:n=>t("model_config",{...e.model_config,temperature:parseFloat(n.target.value)}),className:"w-full accent-red-500"}),ve.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ve.default.createElement("span",null,"Precise"),ve.default.createElement("span",null,"Creative")))))}function sH({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:a}){let o=Object.keys(nd),i=Object.keys(Ys),l=Object.keys(Gs);return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ve.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex flex-col items-center"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=Ys[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ve.default.createElement(mr,{size:120}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=Gs[s];return u?ve.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map(s=>ve.default.createElement("button",{key:s,onClick:()=>a(s),className:`px-4 py-2 rounded-lg border-2 text-sm transition-all ${e.preset_type===s?"border-red-500 bg-red-50 text-red-700":"border-gray-200 hover:border-gray-300 text-gray-600"}`},ve.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Instructions"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=Ys[s];return ve.default.createElement("button",{key:s,onClick:()=>r("instruction_sets",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.instruction_sets.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ve.default.createElement("strong",null,"Tools"),ve.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ve.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=Gs[s];return ve.default.createElement("button",{key:s,onClick:()=>r("tools",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.tools.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ve.default.createElement("span",null,u.emoji),ve.default.createElement("span",null,u.label))}))),ve.default.createElement("div",null,ve.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ve.default.createElement("textarea",{value:e.instructions,onChange:s=>n("instructions",s.target.value),placeholder:"You are a helpful AI assistant that...",rows:4,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent font-mono text-sm"})))}function uH({formData:e}){return ve.default.createElement("div",{className:"space-y-6"},ve.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ve.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ve.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ve.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ve.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement(mr,{size:100}),ve.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ve.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ve.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ve.default.createElement("div",{className:"space-y-4"},ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ve.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ve.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=Ys[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ve.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=Gs[t];return r?ve.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-red-100 text-red-700 rounded text-xs"},r.emoji," ",r.label):null}):ve.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ve.default.createElement("div",null,ve.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ve.default.createElement("pre",{className:"mt-2 p-4 bg-gray-50 rounded-lg text-sm text-gray-700 whitespace-pre-wrap font-mono"},e.instructions)))}var ie=te(ne());var Fa=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",borderStrong:e?"rgba(255,255,255,0.2)":"#d1d5db",mutedBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",textPrimary:e?"#ffffff":"#111827",textCell:e?"rgba(255,255,255,0.75)":"#4b5563",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:e?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:e?"rgba(255,255,255,0.2)":"#d1d5db",trackBg:e?"rgba(255,255,255,0.1)":"#f3f4f6"}),vn="#ef4444";var U=te(ne());var Yy=te(ne()),W3=te(ne());function B3(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(t=0;t{var r=e.children,n=e.width,a=e.height,o=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=mH(e,pH),d=o||{width:n,height:a,x:0,y:0},f=Ue("recharts-surface",i);return Yy.createElement("svg",aA({},rr(c),{className:f,width:n,height:a,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),Yy.createElement("title",null,s),Yy.createElement("desc",null,u),r)});var Gy=te(ne());var gH=["children","className"];function oA(){return oA=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,a=yH(e,gH),o=Ue("recharts-layer",n);return Gy.createElement("g",oA({className:o},rr(a),{ref:t}),r)});var Sa=te(ne()),w0=te(ne()),WD=te(rp());function Xy(e){return e==="__proto__"}var xH=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Zy(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:xH.test(e);default:return!1}}function id(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function iA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(iA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function ld(e){if(Array.isArray(e))return e.map(id);if(typeof e=="symbol")return[e];e=iA(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:wH,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function qr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?a+l+o:l!==void 0?a+Wa(l)+o:a+o},"")}var Ft=e=>e===0?0:e>0?1:-1,nn=e=>typeof e=="number"&&e!=+e,ki=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,be=e=>(typeof e=="number"||e instanceof Number)&&!nn(e),Mn=e=>be(e)||typeof e=="string",SH=0,Ni=e=>{var t=++SH;return"".concat(e||"").concat(t)},vr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!be(t)&&typeof t!="string")return n;var o;if(ki(t)){if(r==null)return n;var i=t.indexOf("%");o=r*parseFloat(t.slice(0,i))/100}else o=+t;return nn(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},lA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):rn(n,t))===r)}var ct=e=>e===null||typeof e>"u",Ci=e=>ct(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Yr(e){return e!=null}function Pn(){}function rm(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function H3(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function $o(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,a=n===void 0?0:n,o=e.parentViewBox,i=e.clamp,l=rm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,g=(p+m)/2,h=(d+f)/2,v=p+d/2,y=c>=0?1:-1,b=y*a,x=y>0?"end":"start",S=y>0?"start":"end",w=d>=0?1:-1,O=w*a,k=w>0?"end":"start",A=w>0?"start":"end",M=o;if(r==="top"){var W={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(W.height=Math.max(u-M.y,0),W.width=d),W}if(r==="bottom"){var L={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(L.height=Math.max(M.y+M.height-(u+c),0),L.width=f),L}if(r==="left"){var H={x:g-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(H.width=Math.max(H.x-M.x,0),H.height=c),H}if(r==="right"){var D={x:g+h+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(D.width=Math.max(M.x+M.width-D.x,0),D.height=c),D}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?$o({x:g+O,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?$o({x:g+h-O,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?$o({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?$o({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?$o({x:p+O,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?$o({x:p+d-O,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?$o({x:m+O,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?$o({x:m+f-O,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(be(r.x)||ki(r.x))&&(be(r.y)||ki(r.y))?$o({x:s+vr(r.x,h),y:u+vr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):$o({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},CH=["top","left","right","bottom"];function nm(e){return e==null?!1:typeof e=="object"?!0:CH.includes(e)}var Ry=te(ne()),sA=(0,Ry.createContext)(null),V3=()=>(0,Ry.useContext)(sA);var Dn=te(ne());var uM=te(ne());function Mt(e){return function(){return e}}var uA=Math.cos;var am=Math.sin,an=Math.sqrt;var Xs=Math.PI,_de=Xs/2,sd=2*Xs;var cA=Math.PI,dA=2*cA,Zs=1e-6,EH=dA-Zs;function K3(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return K3;let r=10**t;return function(n){this._+=n[0];for(let a=1,o=n.length;aZs)if(!(Math.abs(d*s-u*c)>Zs)||!o)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=a-l,g=s*s+u*u,h=p*p+m*m,v=Math.sqrt(g),y=Math.sqrt(f),b=o*Math.tan((cA-Math.acos((g+f-h)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>Zs&&this._append`L${t+x*c},${r+x*d}`,this._append`A${o},${o},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,a,o,i){if(t=+t,r=+r,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(a),s=n*Math.sin(a),u=t+l,c=r+s,d=1^i,f=i?a-o:o-a;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>Zs||Math.abs(this._y1-c)>Zs)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%dA+dA),f>EH?this._append`A${n},${n},0,1,${d},${t-l},${r-s}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:f>Zs&&this._append`A${n},${n},0,${+(f>=cA)},${d},${this._x1=t+n*Math.cos(o)},${this._y1=r+n*Math.sin(o)}`)}rect(t,r,n,a){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+a}h${-n}Z`}toString(){return this._}};function q3(){return new Qs}q3.prototype=Qs.prototype;function ud(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new Qs(t)}var zde=Array.prototype.slice;function cd(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Y3(e){this._context=e}Y3.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function jl(e){return new Y3(e)}function eh(e){return e[0]}function th(e){return e[1]}function om(e,t){var r=Mt(!0),n=null,a=jl,o=null,i=ud(l);e=typeof e=="function"?e:e===void 0?eh:Mt(e),t=typeof t=="function"?t:t===void 0?th:Mt(t);function l(s){var u,c=(s=cd(s)).length,d,f=!1,p;for(n==null&&(o=a(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(y)return l=null,y+""||null}function c(){return om().defined(a).curve(i).context(o)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Mt(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Mt(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Mt(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Mt(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(a=typeof d=="function"?d:Mt(!!d),u):a},u.curve=function(d){return arguments.length?(i=d,o!=null&&(l=i(o)),u):i},u.context=function(d){return arguments.length?(d==null?o=l=null:l=i(o=d),u):o},u}var rh=class{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}};function fA(e){return new rh(e,!0)}function pA(e){return new rh(e,!1)}var fd={draw(e,t){let r=an(t/Xs);e.moveTo(r,0),e.arc(0,0,r,0,sd)}};var mA={draw(e,t){let r=an(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var G3=an(1/3),OH=G3*2,vA={draw(e,t){let r=an(t/OH),n=r*G3;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var gA={draw(e,t){let r=an(t),n=-r/2;e.rect(n,n,r,r)}};var TH=.8908130915292852,X3=am(Xs/10)/am(7*Xs/10),MH=am(sd/10)*X3,PH=-uA(sd/10)*X3,yA={draw(e,t){let r=an(t*TH),n=MH*r,a=PH*r;e.moveTo(0,-r),e.lineTo(n,a);for(let o=1;o<5;++o){let i=sd*o/5,l=uA(i),s=am(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*a,s*n+l*a)}e.closePath()}};var hA=an(3),xA={draw(e,t){let r=-an(t/(hA*3));e.moveTo(0,r*2),e.lineTo(-hA*r,-r),e.lineTo(hA*r,-r),e.closePath()}};var Ha=-.5,Va=an(3)/2,bA=1/an(12),DH=(bA/2+1)*3,wA={draw(e,t){let r=an(t/DH),n=r/2,a=r*bA,o=n,i=r*bA+r,l=-o,s=i;e.moveTo(n,a),e.lineTo(o,i),e.lineTo(l,s),e.lineTo(Ha*n-Va*a,Va*n+Ha*a),e.lineTo(Ha*o-Va*i,Va*o+Ha*i),e.lineTo(Ha*l-Va*s,Va*l+Ha*s),e.lineTo(Ha*n+Va*a,Ha*a-Va*n),e.lineTo(Ha*o+Va*i,Ha*i-Va*o),e.lineTo(Ha*l+Va*s,Ha*s-Va*l),e.closePath()}};function nh(e,t){let r=null,n=ud(a);e=typeof e=="function"?e:Mt(e||fd),t=typeof t=="function"?t:Mt(t===void 0?64:+t);function a(){let o;if(r||(r=o=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),o)return r=null,o+""||null}return a.type=function(o){return arguments.length?(e=typeof o=="function"?o:Mt(o),a):e},a.size=function(o){return arguments.length?(t=typeof o=="function"?o:Mt(+o),a):t},a.context=function(o){return arguments.length?(r=o??null,a):r},a}function pd(){}function md(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function Z3(e){this._context=e}Z3.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:md(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function SA(e){return new Z3(e)}function Q3(e){this._context=e}Q3.prototype={areaStart:pd,areaEnd:pd,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function AA(e){return new Q3(e)}function J3(e){this._context=e}J3.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:md(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function kA(e){return new J3(e)}function R3(e){this._context=e}R3.prototype={areaStart:pd,areaEnd:pd,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function NA(e){return new R3(e)}function eM(e){return e<0?-1:1}function tM(e,t,r){var n=e._x1-e._x0,a=t-e._x1,o=(e._y1-e._y0)/(n||a<0&&-0),i=(r-e._y1)/(a||n<0&&-0),l=(o*a+i*n)/(n+a);return(eM(o)+eM(i))*Math.min(Math.abs(o),Math.abs(i),.5*Math.abs(l))||0}function rM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function CA(e,t,r){var n=e._x0,a=e._y0,o=e._x1,i=e._y1,l=(o-n)/3;e._context.bezierCurveTo(n+l,a+l*t,o-l,i-l*r,o,i)}function ah(e){this._context=e}ah.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:CA(this,this._t0,rM(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,CA(this,rM(this,r=tM(this,e,t)),r);break;default:CA(this,this._t0,r=tM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function nM(e){this._context=new aM(e)}(nM.prototype=Object.create(ah.prototype)).point=function(e,t){ah.prototype.point.call(this,t,e)};function aM(e){this._context=e}aM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,a,o){this._context.bezierCurveTo(t,e,n,r,o,a)}};function EA(e){return new ah(e)}function _A(e){return new nM(e)}function iM(e){this._context=e}iM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=oM(e),a=oM(t),o=0,i=1;i=0;--t)a[t]=(i[t]-a[t+1])/o[t];for(o[r-1]=(e[r]+a[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function TA(e){return new oh(e,.5)}function MA(e){return new oh(e,0)}function PA(e){return new oh(e,1)}function ya(e,t){if((i=e.length)>1)for(var r=1,n,a,o=e[t[0]],i,l=o.length;r=0;)r[t]=t;return r}function IH(e,t){return e[t]}function jH(e){let t=[];return t.key=e,t}function DA(){var e=Mt([]),t=vd,r=ya,n=IH;function a(o){var i=Array.from(e.apply(this,arguments),jH),l,s=i.length,u=-1,c;for(let d of o)for(l=0,++u;l0){for(var r,n,a=0,o=e[0].length,i;a0){for(var r=0,n=e[t[0]],a,o=n.length;r0)||!((o=(a=e[t[0]]).length)>0))){for(var r=0,n=1,a,o,i;n{var t="symbol".concat(Ci(e));return cM[t]||fd},KH=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*HH;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},qH=(e,t)=>{cM["symbol".concat(Ci(e))]=t},BA=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,a=n===void 0?64:n,o=e.sizeType,i=o===void 0?"area":o,l=FH(e,LH),s=sM(sM({},l),{},{type:r,size:a,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var g=VH(u),h=nh().type(g).size(KH(a,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=rr(s);return be(f)&&be(p)&&be(a)?uM.createElement("path",LA({},m,{className:Ue("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};BA.registerSymbol=qH;var dM=te(ne());var ih=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,gd=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,dM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(a=>{em(a)&&typeof r[a]=="function"&&(n[a]=t||(o=>r[a](r,o)))}),n},YH=(e,t,r)=>n=>(e(t,r,n),null),Ei=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(a=>{var o=e[a];em(a)&&typeof o=="function"&&(n||(n={}),n[a]=YH(o,t,r))}),n};function fM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function GH(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return o}function lh(){return lh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var p,m,g=d.formatter||a,h=Ue({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?mM({},l):{};v.color=d.inactive?o:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var y=g?g(d.value,d,f):d.value;return Dn.createElement("li",lh({className:h,style:u,key:"legend-item-".concat(f)},Ei(e,d,f)),Dn.createElement(tm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Dn.createElement(nV,{data:d,iconType:i,inactiveColor:o})),Dn.createElement("span",{className:"recharts-legend-item-text",style:v},y))})}var vM=e=>{var t=lt(e,tV),r=t.payload,n=t.layout,a=t.align;if(!r||!r.length)return null;var o={padding:0,margin:0,textAlign:n==="horizontal"?a:"left"};return Dn.createElement("ul",{className:"recharts-default-legend",style:o},Dn.createElement(aV,lh({},t,{payload:r})))};function gM(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function _i(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var uh="[object RegExp]",yd="[object String]",hd="[object Number]",xd="[object Boolean]",ch="[object Arguments]",dh="[object Symbol]",fh="[object Date]",ph="[object Map]",mh="[object Set]",vh="[object Array]",bM="[object Function]",gh="[object ArrayBuffer]",bd="[object Object]",wM="[object Error]",yh="[object DataView]",hh="[object Uint8Array]",xh="[object Uint8ClampedArray]",bh="[object Uint16Array]",wh="[object Uint32Array]",SM="[object BigUint64Array]",Sh="[object Int8Array]",Ah="[object Int16Array]",kh="[object Int32Array]",AM="[object BigInt64Array]",Nh="[object Float32Array]",Ch="[object Float64Array]";var $A=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function sm(e){return typeof $A.Buffer<"u"&&$A.Buffer.isBuffer(e)}function kM(e,t){return zl(e,void 0,e,new Map,t)}function zl(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(im(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):UA(e,t,function n(a,o,i,l,s,u){let c=r(a,o,i,l,s,u);return c!==void 0?!!c:UA(a,o,n,u,!1)},new Map,!0)}function UA(e,t,r,n,a=!1){if(t===e)return!0;switch(typeof t){case"object":return iV(e,t,r,n);case"function":return Object.keys(t).length>0?UA(e,{...t},r,n,a):Ll(e,t);default:return Eh(e)?a?typeof t=="string"?t==="":!0:Ll(e,t):Ll(e,t)}}function iV(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return CM(e,t,r,n);if(t instanceof Map)return lV(e,t,r,n);if(t instanceof Set)return sV(e,t,r,n);let a=Object.keys(t);if(e==null||im(e))return a.length===0;if(a.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o{})}function EM(e){return e=NM(e),t=>_h(t,e)}function _M(e,t){return kM(e,(r,n,a,o)=>{let i=t?.(r,n,a,o);if(i!==void 0)return i;if(typeof e=="object"){if(_i(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return o.set(e,l),qa(l,e,a,o),l}switch(Object.prototype.toString.call(e)){case hd:case yd:case xd:{let l=new e.constructor(e?.valueOf());return qa(l,e),l}case ch:{let l={};return qa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function OM(e){return _M(e)}var uV=/^(?:0|[1-9]\d*)$/;function Oh(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function Th(e){return e!=null&&typeof e!="function"&&IM(e.length)}function jM(e){return typeof e=="object"&&e!==null}function zM(e){return jM(e)&&Th(e)}function Mh(e,t=sh){return zM(e)?gM(Array.from(e),yM(DM(t),1)):[]}function Ph(e,t,r){return t===!0?Mh(e,r):typeof t=="function"?Mh(e,t):e}var qM=te(VM()),cm=te(ne());var KM=te(ne()),um=(0,KM.createContext)(null);var EV=e=>e,Ve=()=>{var e=(0,cm.useContext)(um);return e?e.store.dispatch:EV},Ih=()=>{},_V=()=>Ih,OV=(e,t)=>e===t;function we(e){var t=(0,cm.useContext)(um),r=(0,cm.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:Ih,[t,e]);return(0,qM.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:_V,t?t.store.getState:Ih,t?t.store.getState:Ih,r,OV)}function TV(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function MV(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){let r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var YM=e=>Array.isArray(e)?e:[e];function PV(e){let t=Array.isArray(e[0])?e[0]:e;return MV(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function DV(e,t){let r=[],{length:n}=e;for(let a=0;atypeof WeakRef>"u"?IV:WeakRef,XM=jV(),zV=0,GM=1;function jh(){return{s:zV,v:void 0,o:null,p:null}}function LV(e){return e instanceof XM?e.deref():e}function ZM(e,t={}){let r=jh(),{resultEqualityCheck:n}=t,a,o=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=jh(),i.resetResultsCount()},i.resultsCount=()=>o,i.resetResultsCount=()=>{o=0},i}function BV(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...a)=>{let o=0,i=0,l,s={},u=a.pop();typeof u=="object"&&(s=u,u=a.pop()),TV(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=ZM,argsMemoizeOptions:m=[]}=c,g=YM(f),h=YM(m),v=PV(a),y=d(function(){return o++,u.apply(null,arguments)},...g),b=!0,x=p(function(){i++;let w=DV(v,arguments);return l=y.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:y,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>o,resetRecomputations:()=>{o=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=BV(ZM);function QM(e,t=1){let r=[],n=Math.floor(t),a=(o,i)=>{for(let l=0;l{if(e!==t){let n=JM(e),a=JM(t);if(n===a&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0};function zh(e){return typeof e=="symbol"||e instanceof Symbol}var $V=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,UV=/^\w*$/;function eP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||zh(e)?!0:typeof e=="string"&&(UV.test(e)||!$V.test(e))||t!=null&&Object.hasOwn(t,e)}function tP(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));let a=(l,s)=>{let u=l;for(let c=0;cs==null||l==null?s:typeof l=="object"&&"key"in l?Object.hasOwn(s,l.key)?s[l.key]:a(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?a(s,l):typeof s=="object"?s[l]:s,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||eP(l)?l:{key:l,path:ld(l)}));return e.map(l=>({original:l,criteria:i.map(s=>o(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function Oi(e,...t){let r=t.length;return r>1&&dm(e,t[0],t[1])?t=[]:r>2&&dm(t[0],t[1],t[2])&&(t=[t[0]]),tP(e,QM(t),["asc"])}var HA=e=>e.legend.settings,rP=e=>e.legend.size,FV=e=>e.legend.payload,nP=J([FV,HA],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?Oi(n,r):n});function aP(){return we(nP)}var Ti=te(ne());function WV(e,t){return qV(e)||KV(e,t)||VV(e,t)||HV()}function HV(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VV(e,t){if(e){if(typeof e=="string")return oP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?oP(e,t):void 0}}function oP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rLh||Math.abs(e.left-t.left)>Lh||Math.abs(e.top-t.top)>Lh||Math.abs(e.width-t.width)>Lh}function lP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function Bh(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Ti.useState)({height:0,left:0,top:0,width:0}),r=WV(t,2),n=r[0],a=r[1],o=(0,Ti.useRef)(null),i=(0,Ti.useRef)(n);i.current=n;var l=(0,Ti.useCallback)(s=>{if(o.current!=null&&(o.current.disconnect(),o.current=null),s!=null){var u=lP(s);if(iP(u,i.current)&&a(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=lP(s);iP(d,i.current)&&a(d)});c.observe(s),o.current=c}}},[...e]);return(0,Ti.useEffect)(()=>()=>{var s;(s=o.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var AD=te(ne());function gn(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var YV=typeof Symbol=="function"&&Symbol.observable||"@@observable",sP=YV,VA=()=>Math.random().toString(36).substring(7).split("").join("."),GV={INIT:`@@redux/INIT${VA()}`,REPLACE:`@@redux/REPLACE${VA()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${VA()}`},$h=GV;function Uh(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function KA(e,t,r){if(typeof e!="function")throw new Error(gn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(gn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(gn(1));return r(KA)(e,t)}let n=e,a=t,o=new Map,i=o,l=0,s=!1;function u(){i===o&&(i=new Map,o.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(gn(3));return a}function d(h){if(typeof h!="function")throw new Error(gn(4));if(s)throw new Error(gn(5));let v=!0;u();let y=l++;return i.set(y,h),function(){if(v){if(s)throw new Error(gn(6));v=!1,u(),i.delete(y),o=null}}}function f(h){if(!Uh(h))throw new Error(gn(7));if(typeof h.type>"u")throw new Error(gn(8));if(typeof h.type!="string")throw new Error(gn(17));if(s)throw new Error(gn(9));try{s=!0,a=n(a,h)}finally{s=!1}return(o=i).forEach(y=>{y()}),h}function p(h){if(typeof h!="function")throw new Error(gn(10));n=h,f({type:$h.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(gn(11));function y(){let x=v;x.next&&x.next(c())}return y(),{unsubscribe:h(y)}},[sP](){return this}}}return f({type:$h.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[sP]:m}}function XV(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:$h.INIT})>"u")throw new Error(gn(12));if(typeof r(void 0,{type:$h.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(gn(13))})}function Fh(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(gn(14))}c[f]=g,u=u||g!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function fm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function uP(...e){return t=>(r,n)=>{let a=t(r,n),o=()=>{throw new Error(gn(15))},i={getState:a.getState,dispatch:(s,...u)=>o(s,...u)},l=e.map(s=>s(i));return o=fm(...l)(a.dispatch),{...a,dispatch:o}}}function qA(e){return Uh(e)&&"type"in e&&typeof e.type=="string"}var hP=Symbol.for("immer-nothing"),cP=Symbol.for("immer-draftable"),bn=Symbol.for("immer-state");function yo(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var ha=Object,Ad=ha.getPrototypeOf,Kh="constructor",Qh="prototype",ZA="configurable",qh="enumerable",Hh="writable",pm="value",Uo=e=>!!e&&!!e[bn];function xa(e){return e?xP(e)||Rh(e)||!!e[cP]||!!e[Kh]?.[cP]||e0(e)||t0(e):!1}var ZV=ha[Qh][Kh].toString(),dP=new WeakMap;function xP(e){if(!e||!ak(e))return!1;let t=Ad(e);if(t===null||t===ha[Qh])return!0;let r=ha.hasOwnProperty.call(t,Kh)&&t[Kh];if(r===Object)return!0;if(!Sd(r))return!1;let n=dP.get(r);return n===void 0&&(n=Function.toString.call(r),dP.set(r,n)),n===ZV}function Jh(e,t,r=!0){gm(e)===0?(r?Reflect.ownKeys(e):ha.keys(e)).forEach(a=>{t(a,e[a],e)}):e.forEach((n,a)=>t(a,n,e))}function gm(e){let t=e[bn];return t?t.type_:Rh(e)?1:e0(e)?2:t0(e)?3:0}var YA=(e,t,r=gm(e))=>r===2?e.has(t):ha[Qh].hasOwnProperty.call(e,t),QA=(e,t,r=gm(e))=>r===2?e.get(t):e[t],Yh=(e,t,r,n=gm(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function QV(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var Rh=Array.isArray,e0=e=>e instanceof Map,t0=e=>e instanceof Set,ak=e=>typeof e=="object",Sd=e=>typeof e=="function",GA=e=>typeof e=="boolean";function JV(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Mi=e=>e.copy_||e.base_;var ok=e=>e.modified_?e.copy_:e.base_;function JA(e,t){if(e0(e))return new Map(e);if(t0(e))return new Set(e);if(Rh(e))return Array[Qh].slice.call(e);let r=xP(e);if(t===!0||t==="class_only"&&!r){let n=ha.getOwnPropertyDescriptors(e);delete n[bn];let a=Reflect.ownKeys(n);for(let o=0;o1&&ha.defineProperties(e,{set:Wh,add:Wh,clear:Wh,delete:Wh}),ha.freeze(e),t&&Jh(e,(r,n)=>{ik(n,!0)},!1)),e}function RV(){yo(2)}var Wh={[pm]:RV};function r0(e){return e===null||!ak(e)?!0:ha.isFrozen(e)}var Gh="MapSet",RA="Patches",fP="ArrayMethods",bP={};function Js(e){let t=bP[e];return t||yo(0,e),t}var pP=e=>!!bP[e];var mm,wP=()=>mm,eK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:pP(Gh)?Js(Gh):void 0,arrayMethodsPlugin_:pP(fP)?Js(fP):void 0});function mP(e,t){t&&(e.patchPlugin_=Js(RA),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ek(e){tk(e),e.drafts_.forEach(tK),e.drafts_=null}function tk(e){e===mm&&(mm=e.parent_)}var vP=e=>mm=eK(mm,e);function tK(e){let t=e[bn];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gP(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[bn].modified_&&(ek(t),yo(4)),xa(e)&&(e=yP(t,e));let{patchPlugin_:a}=t;a&&a.generateReplacementPatches_(r[bn].base_,e,t)}else e=yP(t,r);return rK(t,e,!0),ek(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hP?e:void 0}function yP(e,t){if(r0(t))return t;let r=t[bn];if(!r)return Xh(t,e.handledSet_,e);if(!n0(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){let{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);kP(r,e)}return r.copy_}function rK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&ik(t,r)}function SP(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var n0=(e,t)=>e.scope_===t,nK=[];function AP(e,t,r,n){let a=Mi(e),o=e.type_;if(n!==void 0&&QA(a,n,o)===t){Yh(a,n,r,o);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;Jh(a,(s,u)=>{if(Uo(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??nK;for(let l of i)Yh(a,l,r,o)}function aK(e,t,r){e.callbacks_.push(function(a){let o=t;if(!o||!n0(o,a))return;a.mapSetPlugin_?.fixSetContents(o);let i=ok(o);AP(e,o.draft_??o,i,r),kP(o,a)})}function kP(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let a=n.getPath(e);a&&n.generatePatches_(e,a,t)}SP(e)}}function oK(e,t,r){let{scope_:n}=e;if(Uo(r)){let a=r[bn];n0(a,n)&&a.callbacks_.push(function(){Vh(e);let i=ok(a);AP(e,r,i,t)})}else xa(r)&&e.callbacks_.push(function(){let o=Mi(e);e.type_===3?o.has(r)&&Xh(r,n.handledSet_,n):QA(o,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Xh(QA(e.copy_,t,e.type_),n.handledSet_,n)})}function Xh(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Uo(e)||t.has(e)||!xa(e)||r0(e)||(t.add(e),Jh(e,(n,a)=>{if(Uo(a)){let o=a[bn];if(n0(o,r)){let i=ok(o);Yh(e,n,i,e.type_),SP(o)}}else xa(a)&&Xh(a,t,r)})),e}function iK(e,t){let r=Rh(e),n={type_:r?1:0,scope_:t?t.scope_:wP(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},a=n,o=Zh;r&&(a=[n],o=vm);let{revoke:i,proxy:l}=Proxy.revocable(a,o);return n.draft_=l,n.revoke_=i,[l,n]}var Zh={get(e,t){if(t===bn)return e;let r=e.scope_.arrayMethodsPlugin_,n=e.type_===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let a=Mi(e);if(!YA(a,t,e.type_))return sK(e,a,t);let o=a[t];if(e.finalized_||!xa(o)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&JV(t))return o;if(o===XA(e.base_,t)||lK(e,t,o)){Vh(e);let i=e.type_===1?+t:t,l=nk(e.scope_,o,e,i);return e.copy_[i]=l}return o},has(e,t){return t in Mi(e)},ownKeys(e){return Reflect.ownKeys(Mi(e))},set(e,t,r){let n=NP(Mi(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let a=XA(Mi(e),t),o=a?.[bn];if(o&&o.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(QV(r,a)&&(r!==void 0||YA(e.base_,t,e.type_)))return!0;Vh(e),rk(e)}return e.copy_[t]===r&&(r!==void 0||YA(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),oK(e,t,r)),!0},deleteProperty(e,t){return Vh(e),XA(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),rk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Mi(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[Hh]:!0,[ZA]:e.type_!==1||t!=="length",[qh]:n[qh],[pm]:r[t]}},defineProperty(){yo(11)},getPrototypeOf(e){return Ad(e.base_)},setPrototypeOf(){yo(12)}},vm={};for(let e in Zh){let t=Zh[e];vm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}vm.deleteProperty=function(e,t){return vm.set.call(this,e,t,void 0)};vm.set=function(e,t,r){return Zh.set.call(this,e[0],t,r,e[0])};function XA(e,t){let r=e[bn];return(r?Mi(r):e)[t]}function lK(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!xa(r)||r[bn]?!1:e.baseRefs_.has(r)}function sK(e,t,r){let n=NP(t,r);return n?pm in n?n[pm]:n.get?.call(e.draft_):void 0}function NP(e,t){if(!(t in e))return;let r=Ad(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=Ad(r)}}function rk(e){e.modified_||(e.modified_=!0,e.parent_&&rk(e.parent_))}function Vh(e){e.copy_||(e.assigned_=new Map,e.copy_=JA(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var uK=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(Sd(t)&&!Sd(r)){let o=r;r=t;let i=this;return function(s=o,...u){return i.produce(s,c=>r.call(this,c,...u))}}Sd(r)||yo(6),n!==void 0&&!Sd(n)&&yo(7);let a;if(xa(t)){let o=vP(this),i=nk(o,t,void 0),l=!0;try{a=r(i),l=!1}finally{l?ek(o):tk(o)}return mP(o,n),gP(a,o)}else if(!t||!ak(t)){if(a=r(t),a===void 0&&(a=t),a===hP&&(a=void 0),this.autoFreeze_&&ik(a,!0),n){let o=[],i=[];Js(RA).generateReplacementPatches_(t,a,{patches_:o,inversePatches_:i}),n(o,i)}return a}else yo(1,t)},this.produceWithPatches=(t,r)=>{if(Sd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,a;return[this.produce(t,r,(i,l)=>{n=i,a=l}),n,a]},GA(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),GA(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),GA(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){xa(e)||yo(8),Uo(e)&&(e=yn(e));let t=vP(this),r=nk(t,e,void 0);return r[bn].isManual_=!0,tk(t),r}finishDraft(e,t){let r=e&&e[bn];(!r||!r.isManual_)&&yo(9);let{scope_:n}=r;return mP(n,t),gP(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let a=t[r];if(a.path.length===0&&a.op==="replace"){e=a.value;break}}r>-1&&(t=t.slice(r+1));let n=Js(RA).applyPatches_;return Uo(e)?n(e,t):this.produce(e,a=>n(a,t))}};function nk(e,t,r,n){let[a,o]=e0(t)?Js(Gh).proxyMap_(t,r):t0(t)?Js(Gh).proxySet_(t,r):iK(t,r);return(r?.scope_??wP()).drafts_.push(a),o.callbacks_=r?.callbacks_??[],o.key_=n,r&&n!==void 0?aK(r,o,n):o.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(o);let{patchPlugin_:u}=s;o.modified_&&u&&u.generatePatches_(o,[],s)}),a}function yn(e){return Uo(e)||yo(10,e),CP(e)}function CP(e){if(!xa(e)||r0(e))return e;let t=e[bn],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=JA(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=JA(e,!0);return Jh(r,(a,o)=>{Yh(r,a,CP(o))},n),t&&(t.finalized_=!1),r}var cK=new uK,lk=cK.produce;var tt=e=>e;function EP(e){return({dispatch:r,getState:n})=>a=>o=>typeof o=="function"?o(r,n,e):a(o)}var _P=EP(),OP=EP;var dK=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?fm:fm.apply(null,arguments)},Wve=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},fK=e=>e&&typeof e.match=="function";function Fr(e,t){function r(...n){if(t){let a=t(...n);if(!a)throw new Error(ba(0));return{type:e,payload:a.payload,..."meta"in a&&{meta:a.meta},..."error"in a&&{error:a.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>qA(n)&&n.type===e,r}var LP=class ym extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,ym.prototype)}static get[Symbol.species](){return ym}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new ym(...t[0].concat(this)):new ym(...t.concat(this))}};function TP(e){return xa(e)?lk(e,()=>{}):e}function a0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function pK(e){return typeof e=="boolean"}var mK=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:a=!0,actionCreatorCheck:o=!0}=t??{},i=new LP;return r&&(pK(r)?i.push(_P):i.push(OP(r.extraArgument))),i},BP="RTK_autoBatch",Pt=()=>e=>({payload:e,meta:{[BP]:!0}}),MP=e=>t=>{setTimeout(t,e)},vK=(e,t)=>r=>{let n=!1,a=()=>{n||(n=!0,cancelAnimationFrame(o),clearTimeout(i),r())},o=e(a),i=setTimeout(a,t)},dk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),a=!0,o=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?vK(window.requestAnimationFrame,100):MP(10):e.type==="callback"?e.queueNotification:MP(e.timeout),u=()=>{i=!1,o&&(o=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>a&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return a=!c?.meta?.[BP],o=!a,o&&(i||(i=!0,s(u))),n.dispatch(c)}finally{a=!0}}})},gK=e=>function(r){let{autoBatch:n=!0}=r??{},a=new LP(e);return n&&a.push(dk(typeof n=="object"?n:void 0)),a};function $P(e){let t=mK(),{reducer:r=void 0,middleware:n,devTools:a=!0,duplicateMiddlewareCheck:o=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(Uh(r))s=Fh(r);else throw new Error(ba(1));let u;typeof n=="function"?u=n(t):u=t();let c=fm;a&&(c=dK({trace:!1,...typeof a=="object"&&a}));let d=uP(...u),f=gK(d),p=typeof l=="function"?l(f):f(),m=c(...p);return KA(s,i,m)}function UP(e){let t={},r=[],n,a={addCase(o,i){let l=typeof o=="string"?o:o.type;if(!l)throw new Error(ba(28));if(l in t)throw new Error(ba(29));return t[l]=i,a},addAsyncThunk(o,i){return i.pending&&(t[o.pending.type]=i.pending),i.rejected&&(t[o.rejected.type]=i.rejected),i.fulfilled&&(t[o.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:o.settled,reducer:i.settled}),a},addMatcher(o,i){return r.push({matcher:o,reducer:i}),a},addDefaultCase(o){return n=o,a}};return e(a),[t,r,n]}function yK(e){return typeof e=="function"}function hK(e,t){let[r,n,a]=UP(t),o;if(yK(e))o=()=>TP(e());else{let l=TP(e);o=()=>l}function i(l=o(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[a]),u.reduce((c,d)=>{if(d)if(Uo(c)){let p=d(c,s);return p===void 0?c:p}else{if(xa(c))return lk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=o,i}var xK=(e,t)=>fK(e)?e.match(t):e(t);function bK(...e){return t=>e.some(r=>xK(r,t))}var wK="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",FP=(e=21)=>{let t="",r=e;for(;r--;)t+=wK[Math.random()*64|0];return t},SK=["name","message","stack","code"],sk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},PP=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},AK=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of SK)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},DP="External signal was aborted",kK=(()=>{function e(t,r,n){let a=Fr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),o=Fr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Fr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||AK)(s||"Rejected"),meta:{...f||{},arg:c,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:s?.name==="AbortError",condition:s?.name==="ConditionError"}}));function l(s,{signal:u}={}){return(c,d,f)=>{let p=n?.idGenerator?n.idGenerator(s):FP(),m=new AbortController,g,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(DP):u.addEventListener("abort",()=>v(DP),{once:!0}));let y=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(CK(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((O,k)=>{g=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",g,{once:!0})});c(o(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((O,k)=>new sk(O,k)),fulfillWithValue:((O,k)=>new PP(O,k))})).then(O=>{if(O instanceof sk)throw O;return O instanceof PP?a(O.payload,p,s,O.meta):a(O,p,s)})])}catch(S){b=S instanceof sk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{g&&m.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(y,{abort:v,requestId:p,arg:s,unwrap(){return y.then(NK)}})}}return Object.assign(l,{pending:o,rejected:i,fulfilled:a,settled:bK(i,a),typePrefix:t})}return e.withTypes=()=>e,e})();function NK(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function CK(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var WP=Symbol.for("rtk-slice-createasyncthunk"),Vve={[WP]:kK};function EK(e,t){return`${e}/${t}`}function _K({creators:e}={}){let t=e?.asyncThunk?.[WP];return function(n){let{name:a,reducerPath:o=a}=n;if(!a)throw new Error(ba(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(TK()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(ba(12));if(S in s.sliceCaseReducersByType)throw new Error(ba(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:EK(a,b),createNotation:typeof n.reducers=="function"};PK(x)?IK(S,x,u,t):MK(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?UP(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return hK(n.initialState,O=>{for(let k in w)O.addCase(k,w[k]);for(let k of s.sliceMatchers)O.addMatcher(k.matcher,k.reducer);for(let k of x)O.addMatcher(k.matcher,k.reducer);S&&O.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function g(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(O){let k=O[b];return typeof k>"u"&&x&&(k=a0(p,S,h)),k}function w(O=d){let k=a0(f,x,()=>new WeakMap);return a0(k,O,()=>{let A={};for(let[M,W]of Object.entries(n.selectors??{}))A[M]=OK(W,O,()=>a0(p,O,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let y={name:a,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(o),injectInto(b,{reducerPath:x,...S}={}){let w=x??o;return b.inject({reducerPath:w,reducer:g},S),{...y,...v(w,!0)}}};return y}}function OK(e,t,r,n){function a(o,...i){let l=t(o);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return a.unwrapped=e,a}var Ct=_K();function TK(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function MK({type:e,reducerName:t,createNotation:r},n,a){let o,i;if("reducer"in n){if(r&&!DK(n))throw new Error(ba(17));o=n.reducer,i=n.prepare}else o=n;a.addCase(e,o).exposeCaseReducer(t,o).exposeAction(t,i?Fr(e,i):Fr(e))}function PK(e){return e._reducerDefinitionType==="asyncThunk"}function DK(e){return e._reducerDefinitionType==="reducerWithPrepare"}function IK({type:e,reducerName:t},r,n,a){if(!a)throw new Error(ba(18));let{payloadCreator:o,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=a(e,o,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||o0,pending:l||o0,rejected:s||o0,settled:u||o0})}function o0(){}var jK="task",HP="listener",VP="completed",fk="cancelled",zK=`task-${fk}`,LK=`task-${VP}`,uk=`${HP}-${fk}`,BK=`${HP}-${VP}`,s0=class{constructor(e){this.code=e,this.message=`${jK} ${fk} (reason: ${e})`}code;name="TaskAbortError";message},pk=(e,t)=>{if(typeof e!="function")throw new TypeError(ba(32))},i0=()=>{},KP=(e,t=i0)=>(e.catch(t),e),qP=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),Rs=e=>{if(e.aborted)throw new s0(e.reason)};function YP(e,t){let r=i0;return new Promise((n,a)=>{let o=()=>a(new s0(e.reason));if(e.aborted){o();return}r=qP(e,o),t.finally(()=>r()).then(n,a)}).finally(()=>{r=i0})}var $K=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof s0?"cancelled":"rejected",error:r}}finally{t?.()}},l0=e=>t=>KP(YP(e,t).then(r=>(Rs(e),r))),GP=e=>{let t=l0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:kd}=Object,IP={},u0="listenerMiddleware",UK=(e,t)=>{let r=n=>qP(e,()=>n.abort(e.reason));return(n,a)=>{pk(n,"taskExecutor");let o=new AbortController;r(o);let i=$K(async()=>{Rs(e),Rs(o.signal);let l=await n({pause:l0(o.signal),delay:GP(o.signal),signal:o.signal});return Rs(o.signal),l},()=>o.abort(LK));return a?.autoJoin&&t.push(i.catch(i0)),{result:l0(e)(i),cancel(){o.abort(zK)}}}},FK=(e,t)=>{let r=async(n,a)=>{Rs(t);let o=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});o=()=>{c(),u()}})];a!=null&&l.push(new Promise(s=>setTimeout(s,a,null)));try{let s=await YP(t,Promise.race(l));return Rs(t),s}finally{o()}};return((n,a)=>KP(r(n,a)))},XP=e=>{let{type:t,actionCreator:r,matcher:n,predicate:a,effect:o}=e;if(t)a=Fr(t).match;else if(r)t=r.type,a=r.match;else if(n)a=n;else if(!a)throw new Error(ba(21));return pk(o,"options.listener"),{predicate:a,type:t,effect:o}},ZP=kd(e=>{let{type:t,predicate:r,effect:n}=XP(e);return{id:FP(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(ba(22))}}},{withTypes:()=>ZP}),jP=(e,t)=>{let{type:r,effect:n,predicate:a}=XP(t);return Array.from(e.values()).find(o=>(typeof r=="string"?o.type===r:o.predicate===a)&&o.effect===n)},ck=e=>{e.pending.forEach(t=>{t.abort(uk)})},WK=(e,t)=>()=>{for(let r of t.keys())ck(r);e.clear()},zP=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},QP=kd(Fr(`${u0}/add`),{withTypes:()=>QP}),HK=Fr(`${u0}/removeAll`),JP=kd(Fr(`${u0}/remove`),{withTypes:()=>JP}),VK=(...e)=>{console.error(`${u0}/error`,...e)},Pi=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},a=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:o,onError:i=VK}=e;pk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&ck(p)}),s=(p=>{let m=jP(t,p)??ZP(p);return l(m)});kd(s,{withTypes:()=>s});let u=p=>{let m=jP(t,p);return m&&(m.unsubscribe(),p.cancelActive&&ck(m)),!!m};kd(u,{withTypes:()=>u});let c=async(p,m,g,h)=>{let v=new AbortController,y=FK(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,kd({},g,{getOriginalState:h,condition:(x,S)=>y(x,S).then(Boolean),take:y,delay:GP(v.signal),pause:l0(v.signal),extra:o,signal:v.signal,fork:UK(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(uk),w.delete(x))})},cancel:()=>{v.abort(uk),p.pending.delete(v)},throwIfCancelled:()=>{Rs(v.signal)}})))}catch(x){x instanceof s0||zP(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(BK),a(p),p.pending.delete(v)}},d=WK(t,r);return{middleware:p=>m=>g=>{if(!qA(g))return m(g);if(QP.match(g))return s(g.payload);if(HK.match(g)){d();return}if(JP.match(g))return u(g.payload);let h=p.getState(),v=()=>{if(h===IP)throw new Error(ba(23));return h},y;try{if(y=m(g),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(g,b,h)}catch(O){w=!1,zP(i,O,{raisedBy:"predicate"})}w&&c(S,g,p,v)}}}finally{h=IP}return y},startListening:s,stopListening:u,clearListeners:d}};function ba(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var KK={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},RP=Ct({name:"chartLayout",initialState:KK,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,a,o;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(a=t.payload.bottom)!==null&&a!==void 0?a:0,e.margin.left=(o=t.payload.left)!==null&&o!==void 0?o:0},setScale(e,t){e.scale=t.payload}}}),c0=RP.actions,mk=c0.setMargin,eD=c0.setLayout,tD=c0.setChartSize,rD=c0.setScale;var nD=RP.reducer;function d0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function He(e){return Number.isFinite(e)}function Xn(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function aD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Zn(e){for(var t=1;t{if(t&&r){var n=r.width,a=r.height,o=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(nm(s)){if(s==="top"&&be(e.top))return Zn(Zn({},e),{},{top:e.top+(a||0)+c});if(s==="bottom"&&be(e.bottom))return Zn(Zn({},e),{},{bottom:e.bottom+(a||0)+c});if(s==="left"&&be(e.left))return Zn(Zn({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&be(e.right))return Zn(Zn({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&o!=="center"&&be(e[o]))return Zn(Zn({},e),{},{[o]:e[o]+(n||0)});if((l==="horizontal"||l==="vertical"&&o==="center")&&i!=="middle"&&be(e[i]))return Zn(Zn({},e),{},{[i]:e[i]+(a||0)})}return e},wn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",vk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var a,o,i=e.map(l=>(l.coordinate===t&&(a=!0),l.coordinate===r&&(o=!0),l.coordinate));return a||i.push(t),o||i.push(r),i},gk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,a=e.type,o=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,g=(t||r)&&a==="category"&&i.bandwidth?i.bandwidth()/m:0;if(g=p==="angleAxis"&&o&&o.length>=2?Ft(o[0]-o[1])*2*g:g,t&&(d||f)){var h=(d||f||[]).map((v,y)=>{var b=n?n.indexOf(v):v,x=i.map(b);return He(x)?{coordinate:x+g,value:v,offset:g,index:y}:null}).filter(Yr);return h}return s&&u?u.map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(Yr):i.ticks&&!r&&c!=null?i.ticks(c).map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(Yr):i.domain().map((v,y)=>{var b=i.map(v);return He(b)?{coordinate:b+g,value:n?n[v]:v,index:y,offset:g}:null}).filter(Yr)},iD=(e,t)=>{if(!t||t.length!==2||!be(t[0])||!be(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),a=[e[0],e[1]];return(!be(e[0])||e[0]n)&&(a[1]=n),a[0]>n&&(a[0]=n),a[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(u[0]=o,o+=f,u[1]=o):(u[0]=i,i+=f,u[1]=i)}}}},ZK=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var a=0;a=0?(s[0]=o,o+=u,s[1]=o):(s[0]=0,s[1]=0)}}}},QK={sign:XK,expand:IA,none:ya,silhouette:jA,wiggle:zA,positive:ZK},lD=(e,t,r)=>{var n,a=(n=QK[r])!==null&&n!==void 0?n:ya,o=DA().keys(t).value((l,s)=>Number(Qe(l,s,0))).order(vd).offset(a),i=o(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=Qe(e[c],t[s],0);Array.isArray(d)&&d.length===2&&be(d[0])&&be(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function f0(e){return e==null?void 0:String(e)}function Nd(e){var t=e.axis,r=e.ticks,n=e.bandSize,a=e.entry,o=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!ct(a[t.dataKey])){var l=Qy(r,"value",a[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[o]?r[o].coordinate+n/2:null}var s=Qe(a,ct(i)?t.dataKey:i),u=t.scale.map(s);return be(u)?u:null}var yk=e=>{var t=e.axis,r=e.ticks,n=e.offset,a=e.bandSize,o=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=Qe(o,t.dataKey,t.scale.domain()[i]);if(ct(l))return null;var s=t.scale.map(l);return be(s)?s-a/2+n:null},sD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),a=Math.max(r[0],r[1]);return n<=0&&a>=0?0:a<0?a:n}return r[0]},JK=e=>{var t=e.flat(2).filter(be);return[Math.min(...t),Math.max(...t)]},RK=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],uD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return RK(Object.keys(e).reduce((n,a)=>{var o=e[a];if(!o)return n;var i=o.stackedData,l=i.reduce((s,u)=>{var c=d0(u,t,r),d=JK(c);return!He(d[0])||!He(d[1])?s:[Math.min(s[0],d[0]),Math.max(s[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},hk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,xk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Ya=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var a=Oi(t,g=>g.coordinate),o=[],i=0,l=1,s=a.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function bk(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,a=e.value,o=e.name;return Zn(Zn({},t),{},{dataKey:r,payload:n,value:a,name:o})}function wa(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var cD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},dD=(e,t)=>t==="centric"?e.angle:e.radius;var on=e=>e.layout.width,ln=e=>e.layout.height,fD=e=>e.layout.scale,Cd=e=>e.layout.margin;var Ed=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),_d=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var p0="data-recharts-item-index",m0="data-recharts-item-id",eu=60,hm=30;function pD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function v0(e){for(var t=1;te.brush.height;function aq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function oq(e){var t=_d(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var a=typeof n.width=="number"?n.width:eu;return r+a}return r},0)}function iq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}function lq(e){var t=Ed(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var a=typeof n.height=="number"?n.height:hm;return r+a}return r},0)}var jt=J([on,ln,Cd,nq,aq,oq,iq,lq,HA,rP],(e,t,r,n,a,o,i,l,s,u)=>{var c={left:(r.left||0)+a,right:(r.right||0)+o},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=v0(v0({},d),c),p=f.bottom;f.bottom+=n,f=oD(f,s,u);var m=e-f.left-f.right,g=t-f.top-f.bottom;return v0(v0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(g,0)})}),g0=J(jt,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Od=J(on,ln,(e,t)=>({x:0,y:0,width:e,height:t}));var sq=te(ne()),y0=te(ne()),uq=(0,y0.createContext)(null),Et=()=>(0,y0.useContext)(uq)!=null;var Td=e=>e.brush,tu=J([Td,jt,Cd],(e,t,r)=>({height:e.height,x:be(e.x)?e.x:t.left,y:be(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:be(e.width)?e.width:t.width}));var ru=te(ne()),Wr=te(ne());function mD(e,t,{signal:r,edges:n}={}){let a,o=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{o!==null&&(e.apply(a,o),a=void 0,o=null)},u=()=>{l&&s(),p()},c=null,d=()=>{c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},t)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{f(),a=void 0,o=null},m=()=>{s()},g=function(...h){if(r?.aborted)return;a=this,o=h;let v=c==null;d(),i&&v&&s()};return g.schedule=d,g.cancel=p,g.flush=m,r?.addEventListener("abort",p,{once:!0}),g}function vD(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,i=Array(2);n&&(i[0]="leading"),a&&(i[1]="trailing");let l,s=null,u=mD(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return o!=null&&(s===null&&(s=Date.now()),Date.now()-s>=o)?(l=e.apply(this,f),s=Date.now(),u.cancel(),u.schedule(),l):(u.apply(this,f),l)},d=()=>(u.flush(),l);return c.cancel=u.cancel,c.flush=d,c}function wk(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return vD(e,t,{leading:n,maxWait:t,trailing:a})}var cq=!0,Md=function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;oa[i++]))}};var ho={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},Sk=(e,t,r)=>{var n=r.width,a=n===void 0?ho.width:n,o=r.height,i=o===void 0?ho.height:o,l=r.aspect,s=r.maxHeight,u=ki(a)?e:Number(a),c=ki(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},dq={width:0,height:0,overflow:"visible"},fq={width:0,overflowX:"visible"},pq={height:0,overflowY:"visible"},mq={},gD=e=>{var t=e.width,r=e.height,n=ki(t),a=ki(r);return n&&a?dq:n?fq:a?pq:mq};function yD(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=ho.width,o=ho.height):a===void 0?a=n&&n>0?void 0:ho.width:o===void 0&&(o=n&&n>0?void 0:ho.height),{width:a,height:o}}var vq=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function h0(){return h0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return Cq(a)?ru.createElement(wD.Provider,{value:a},t):null}var xm=()=>(0,Wr.useContext)(wD),Eq=(0,Wr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?ho.initialDimension:n,o=e.width,i=e.height,l=e.minWidth,s=l===void 0?ho.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?ho.debounce:f,m=e.id,g=e.className,h=e.onResize,v=e.style,y=v===void 0?{}:v,b=kq(e,vq),x=(0,Wr.useRef)(null),S=(0,Wr.useRef)();S.current=h,(0,Wr.useImperativeHandle)(t,()=>x.current);var w=(0,Wr.useState)({containerWidth:a.width,containerHeight:a.height}),O=xq(w,2),k=O[0],A=O[1],M=(0,Wr.useCallback)((N,_)=>{A(z=>{var j=Math.round(N),P=Math.round(_);return z.containerWidth===j&&z.containerHeight===P?z:{containerWidth:j,containerHeight:P}})},[]);(0,Wr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Pn;var N=B=>{var R,F=B[0];if(F!=null){var G=F.contentRect,ee=G.width,fe=G.height;M(ee,fe),(R=S.current)===null||R===void 0||R.call(S,ee,fe)}};p>0&&(N=wk(N,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(N),z=x.current.getBoundingClientRect(),j=z.width,P=z.height;return M(j,P),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var W=k.containerWidth,L=k.containerHeight;Md(!r||r>0,"The aspect(%s) must be greater than zero.",r);var H=Sk(W,L,{width:o,height:i,aspect:r,maxHeight:c}),D=H.calculatedWidth,Y=H.calculatedHeight;return Md(W<0||L<0||D!=null&&D>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, +`+n.stack}}var XS=Object.prototype.hasOwnProperty,$2=Jr.unstable_scheduleCallback,fS=Jr.unstable_cancelCallback,LU=Jr.unstable_shouldYield,BU=Jr.unstable_requestPaint,yo=Jr.unstable_now,$U=Jr.unstable_getCurrentPriorityLevel,$T=Jr.unstable_ImmediatePriority,FT=Jr.unstable_UserBlockingPriority,Ey=Jr.unstable_NormalPriority,FU=Jr.unstable_LowPriority,UT=Jr.unstable_IdlePriority,UU=Jr.log,WU=Jr.unstable_setDisableYieldValue,lm=null,ho=null;function Ol(e){if(typeof UU=="function"&&WU(e),ho&&typeof ho.setStrictMode=="function")try{ho.setStrictMode(lm,e)}catch{}}var xo=Math.clz32?Math.clz32:KU,HU=Math.log,VU=Math.LN2;function KU(e){return e>>>=0,e===0?32:31-(HU(e)/VU|0)|0}var Gg=256,Yg=262144,Xg=4194304;function Ks(e){var t=e&42;if(t!==0)return t;switch(e&-e){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:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function eh(e,t,r){var n=e.pendingLanes;if(n===0)return 0;var o=0,a=e.suspendedLanes,i=e.pingedLanes;e=e.warmLanes;var l=n&134217727;return l!==0?(n=l&~a,n!==0?o=Ks(n):(i&=l,i!==0?o=Ks(i):r||(r=l&~e,r!==0&&(o=Ks(r))))):(l=n&~a,l!==0?o=Ks(l):i!==0?o=Ks(i):r||(r=n&~e,r!==0&&(o=Ks(r)))),o===0?0:t!==0&&t!==o&&(t&a)===0&&(a=o&-o,r=t&-t,a>=r||a===32&&(r&4194048)!==0)?t:o}function sm(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function qU(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function WT(){var e=Xg;return Xg<<=1,(Xg&62914560)===0&&(Xg=4194304),e}function pS(e){for(var t=[],r=0;31>r;r++)t.push(e);return t}function um(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function GU(e,t,r,n,o,a){var i=e.pendingLanes;e.pendingLanes=r,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=r,e.entangledLanes&=r,e.errorRecoveryDisabledLanes&=r,e.shellSuspendCounter=0;var l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(r=i&~r;0"u")return null;try{return e.activeElement||e.body}catch{return e.body}}var RU=/[\n"\\]/g;function Go(e){return e.replace(RU,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function JS(e,t,r,n,o,a,i,l){e.name="",i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"?e.type=i:e.removeAttribute("type"),t!=null?i==="number"?(t===0&&e.value===""||e.value!=t)&&(e.value=""+Vo(t)):e.value!==""+Vo(t)&&(e.value=""+Vo(t)):i!=="submit"&&i!=="reset"||e.removeAttribute("value"),t!=null?RS(e,i,Vo(t)):r!=null?RS(e,i,Vo(r)):n!=null&&e.removeAttribute("value"),o==null&&a!=null&&(e.defaultChecked=!!a),o!=null&&(e.checked=o&&typeof o!="function"&&typeof o!="symbol"),l!=null&&typeof l!="function"&&typeof l!="symbol"&&typeof l!="boolean"?e.name=""+Vo(l):e.removeAttribute("name")}function QT(e,t,r,n,o,a,i,l){if(a!=null&&typeof a!="function"&&typeof a!="symbol"&&typeof a!="boolean"&&(e.type=a),t!=null||r!=null){if(!(a!=="submit"&&a!=="reset"||t!=null)){QS(e);return}r=r!=null?""+Vo(r):"",t=t!=null?""+Vo(t):r,l||t===e.value||(e.value=t),e.defaultValue=t}n=n??o,n=typeof n!="function"&&typeof n!="symbol"&&!!n,e.checked=l?e.checked:!!n,e.defaultChecked=!!n,i!=null&&typeof i!="function"&&typeof i!="symbol"&&typeof i!="boolean"&&(e.name=i),QS(e)}function RS(e,t,r){t==="number"&&Oy(e.ownerDocument)===e||e.defaultValue===""+r||(e.defaultValue=""+r)}function qc(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),t2=!1;if(Ei)try{Ec={},Object.defineProperty(Ec,"passive",{get:function(){t2=!0}}),window.addEventListener("test",Ec,Ec),window.removeEventListener("test",Ec,Ec)}catch{t2=!1}var Ec,Tl=null,K2=null,fy=null;function r4(){if(fy)return fy;var e,t=K2,r=t.length,n,o="value"in Tl?Tl.value:Tl.textContent,a=o.length;for(e=0;e=Dp),wO=" ",SO=!1;function o4(e,t){switch(e){case"keyup":return _W.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function a4(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Lc=!1;function OW(e,t){switch(e){case"compositionend":return a4(t);case"keypress":return t.which!==32?null:(SO=!0,wO);case"textInput":return e=t.data,e===wO&&SO?null:e;default:return null}}function TW(e,t){if(Lc)return e==="compositionend"||!G2&&o4(e,t)?(e=r4(),fy=K2=Tl=null,Lc=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=NO(r)}}function u4(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?u4(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function c4(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Oy(e.document);t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=Oy(e.document)}return t}function Y2(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}var BW=Ei&&"documentMode"in document&&11>=document.documentMode,Bc=null,r2=null,jp=null,n2=!1;function EO(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;n2||Bc==null||Bc!==Oy(n)||(n=Bc,"selectionStart"in n&&Y2(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),jp&&Xp(jp,n)||(jp=n,n=Gy(r2,"onSelect"),0>=i,o-=i,Va=1<<32-xo(t)+o|r<k?(A=T,T=null):A=T.sibling;var M=f(v,T,b[k],x);if(M===null){T===null&&(T=A);break}e&&T&&M.alternate===null&&t(v,T),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M,T=A}if(k===b.length)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;kk?(A=T,T=null):A=T.sibling;var H=f(v,T,M.value,x);if(H===null){T===null&&(T=A);break}e&&T&&H.alternate===null&&t(v,T),y=a(H,y,k),w===null?S=H:w.sibling=H,w=H,T=A}if(M.done)return r(v,T),wt&&bi(v,k),S;if(T===null){for(;!M.done;k++,M=b.next())M=d(v,M.value,x),M!==null&&(y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return wt&&bi(v,k),S}for(T=n(T);!M.done;k++,M=b.next())M=p(T,v,k,M.value,x),M!==null&&(e&&M.alternate!==null&&T.delete(M.key===null?k:M.key),y=a(M,y,k),w===null?S=M:w.sibling=M,w=M);return e&&T.forEach(function(F){return t(v,F)}),wt&&bi(v,k),S}function h(v,y,b,x){if(typeof b=="object"&&b!==null&&b.type===Dc&&b.key===null&&(b=b.props.children),typeof b=="object"&&b!==null){switch(b.$$typeof){case qg:e:{for(var S=b.key;y!==null;){if(y.key===S){if(S=b.type,S===Dc){if(y.tag===7){r(v,y.sibling),x=o(y,b.props.children),x.return=v,v=x;break e}}else if(y.elementType===S||typeof S=="object"&&S!==null&&S.$$typeof===Al&&qs(S)===y.type){r(v,y.sibling),x=o(y,b.props),Ap(x,b),x.return=v,v=x;break e}r(v,y);break}else t(v,y);y=y.sibling}b.type===Dc?(x=Xs(b.props.children,v.mode,x,b.key),x.return=v,v=x):(x=my(b.type,b.key,b.props,null,v.mode,x),Ap(x,b),x.return=v,v=x)}return i(v);case Ep:e:{for(S=b.key;y!==null;){if(y.key===S)if(y.tag===4&&y.stateNode.containerInfo===b.containerInfo&&y.stateNode.implementation===b.implementation){r(v,y.sibling),x=o(y,b.children||[]),x.return=v,v=x;break e}else{r(v,y);break}else t(v,y);y=y.sibling}x=wS(b,v.mode,x),x.return=v,v=x}return i(v);case Al:return b=qs(b),h(v,y,b,x)}if(Op(b))return m(v,y,b,x);if(wp(b)){if(S=wp(b),typeof S!="function")throw Error(pe(150));return b=S.call(b),g(v,y,b,x)}if(typeof b.then=="function")return h(v,y,ty(b),x);if(b.$$typeof===Si)return h(v,y,ey(v,b),x);ry(v,b)}return typeof b=="string"&&b!==""||typeof b=="number"||typeof b=="bigint"?(b=""+b,y!==null&&y.tag===6?(r(v,y.sibling),x=o(y,b),x.return=v,v=x):(r(v,y),x=bS(b,v.mode,x),x.return=v,v=x),i(v)):r(v,y)}return function(v,y,b,x){try{Jp=0;var S=h(v,y,b,x);return Xc=null,S}catch(T){if(T===fd||T===ih)throw T;var w=vo(29,T,null,v.mode);return w.lanes=x,w.return=v,w}}}var tu=C4(!0),N4=C4(!1),kl=!1;function nA(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function c2(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function zl(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Ll(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(Lt&2)!==0){var o=n.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),n.pending=t,t=My(e),y4(e,null,r),t}return ah(e,n,t,r),My(e)}function Lp(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194048)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,VT(e,r)}}function AS(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,a=null;if(r=r.firstBaseUpdate,r!==null){do{var i={lane:r.lane,tag:r.tag,payload:r.payload,callback:null,next:null};a===null?o=a=i:a=a.next=i,r=r.next}while(r!==null);a===null?o=a=t:a=a.next=t}else o=a=t;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:a,shared:n.shared,callbacks:n.callbacks},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}var d2=!1;function Bp(){if(d2){var e=Yc;if(e!==null)throw e}}function $p(e,t,r,n){d2=!1;var o=e.updateQueue;kl=!1;var a=o.firstBaseUpdate,i=o.lastBaseUpdate,l=o.shared.pending;if(l!==null){o.shared.pending=null;var s=l,u=s.next;s.next=null,i===null?a=u:i.next=u,i=s;var c=e.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==i&&(l===null?c.firstBaseUpdate=u:l.next=u,c.lastBaseUpdate=s))}if(a!==null){var d=o.baseState;i=0,c=u=s=null,l=a;do{var f=l.lane&-536870913,p=f!==l.lane;if(p?(xt&f)===f:(n&f)===f){f!==0&&f===td&&(d2=!0),c!==null&&(c=c.next={lane:0,tag:l.tag,payload:l.payload,callback:null,next:null});e:{var m=e,g=l;f=t;var h=r;switch(g.tag){case 1:if(m=g.payload,typeof m=="function"){d=m.call(h,d,f);break e}d=m;break e;case 3:m.flags=m.flags&-65537|128;case 0:if(m=g.payload,f=typeof m=="function"?m.call(h,d,f):m,f==null)break e;d=ur({},d,f);break e;case 2:kl=!0}}f=l.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=o.callbacks,p===null?o.callbacks=[f]:p.push(f))}else p={lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(u=c=p,s=d):c=c.next=p,i|=f;if(l=l.next,l===null){if(l=o.shared.pending,l===null)break;p=l,l=p.next,p.next=null,o.lastBaseUpdate=p,o.shared.pending=null}}while(!0);c===null&&(s=d),o.baseState=s,o.firstBaseUpdate=u,o.lastBaseUpdate=c,a===null&&(o.shared.lanes=0),ql|=i,e.lanes=i,e.memoizedState=d}}function _4(e,t){if(typeof e!="function")throw Error(pe(191,e));e.call(t)}function E4(e,t){var r=e.callbacks;if(r!==null)for(e.callbacks=null,e=0;ea?a:8;var i=Ze.T,l={};Ze.T=l,gA(e,!1,t,r);try{var s=o(),u=Ze.S;if(u!==null&&u(l,s),s!==null&&typeof s=="object"&&typeof s.then=="function"){var c=GW(s,n);Fp(e,t,c,bo(e))}else Fp(e,t,n,bo(e))}catch(d){Fp(e,t,{then:function(){},status:"rejected",reason:d},bo())}finally{Bt.p=a,i!==null&&l.types!==null&&(i.types=l.types),Ze.T=i}}function RW(){}function g2(e,t,r,n){if(e.tag!==5)throw Error(pe(476));var o=R4(e).queue;J4(e,o,t,Ys,r===null?RW:function(){return e3(e),r(n)})}function R4(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Ys,baseState:Ys,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:Ys},next:null};var r={};return t.next={memoizedState:r,baseState:r,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ti,lastRenderedState:r},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function e3(e){var t=R4(e);t.next===null&&(t=e.alternate.memoizedState),Fp(e,t.next.queue,{},bo())}function vA(){return hn(nm)}function t3(){return Br().memoizedState}function r3(){return Br().memoizedState}function eH(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var r=bo();e=zl(r);var n=Ll(t,e,r);n!==null&&(Jn(n,t,r),Lp(n,t,r)),t={cache:eA()},e.payload=t;return}t=t.return}}function tH(e,t,r){var n=bo();r={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ch(e)?o3(t,r):(r=Z2(e,t,r,n),r!==null&&(Jn(r,e,n),a3(r,t,n)))}function n3(e,t,r){var n=bo();Fp(e,t,r,n)}function Fp(e,t,r,n){var o={lane:n,revertLane:0,gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null};if(ch(e))o3(t,o);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var i=t.lastRenderedState,l=a(i,r);if(o.hasEagerState=!0,o.eagerState=l,wo(l,i))return ah(e,t,o,0),Gt===null&&oh(),!1}catch{}if(r=Z2(e,t,o,n),r!==null)return Jn(r,e,n),a3(r,t,n),!0}return!1}function gA(e,t,r,n){if(n={lane:2,revertLane:CA(),gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ch(e)){if(t)throw Error(pe(479))}else t=Z2(e,r,n,2),t!==null&&Jn(t,e,2)}function ch(e){var t=e.alternate;return e===lt||t!==null&&t===lt}function o3(e,t){Zc=Ly=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function a3(e,t,r){if((r&4194048)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,VT(e,r)}}var em={readContext:hn,use:sh,useCallback:Nr,useContext:Nr,useEffect:Nr,useImperativeHandle:Nr,useLayoutEffect:Nr,useInsertionEffect:Nr,useMemo:Nr,useReducer:Nr,useRef:Nr,useState:Nr,useDebugValue:Nr,useDeferredValue:Nr,useTransition:Nr,useSyncExternalStore:Nr,useId:Nr,useHostTransitionStatus:Nr,useFormState:Nr,useActionState:Nr,useOptimistic:Nr,useMemoCache:Nr,useCacheRefresh:Nr};em.useEffectEvent=Nr;var i3={readContext:hn,use:sh,useCallback:function(e,t){return $n().memoizedState=[e,t===void 0?null:t],e},useContext:hn,useEffect:HO,useImperativeHandle:function(e,t,r){r=r!=null?r.concat([e]):null,yy(4194308,4,G4.bind(null,t,e),r)},useLayoutEffect:function(e,t){return yy(4194308,4,e,t)},useInsertionEffect:function(e,t){yy(4,2,e,t)},useMemo:function(e,t){var r=$n();t=t===void 0?null:t;var n=e();if(ru){Ol(!0);try{e()}finally{Ol(!1)}}return r.memoizedState=[n,t],n},useReducer:function(e,t,r){var n=$n();if(r!==void 0){var o=r(t);if(ru){Ol(!0);try{r(t)}finally{Ol(!1)}}}else o=t;return n.memoizedState=n.baseState=o,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:o},n.queue=e,e=e.dispatch=tH.bind(null,lt,e),[n.memoizedState,e]},useRef:function(e){var t=$n();return e={current:e},t.memoizedState=e},useState:function(e){e=m2(e);var t=e.queue,r=n3.bind(null,lt,t);return t.dispatch=r,[e.memoizedState,r]},useDebugValue:pA,useDeferredValue:function(e,t){var r=$n();return mA(r,e,t)},useTransition:function(){var e=m2(!1);return e=J4.bind(null,lt,e.queue,!0,!1),$n().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,r){var n=lt,o=$n();if(wt){if(r===void 0)throw Error(pe(407));r=r()}else{if(r=t(),Gt===null)throw Error(pe(349));(xt&127)!==0||D4(n,t,r)}o.memoizedState=r;var a={value:r,getSnapshot:t};return o.queue=a,HO(j4.bind(null,n,a,e),[e]),n.flags|=2048,nd(9,{destroy:void 0},I4.bind(null,n,a,r,t),null),r},useId:function(){var e=$n(),t=Gt.identifierPrefix;if(wt){var r=Ka,n=Va;r=(n&~(1<<32-xo(n)-1)).toString(32)+r,t="_"+t+"R_"+r,r=By++,0<\/script>",a=a.removeChild(a.firstChild);break;case"select":a=typeof n.is=="string"?i.createElement("select",{is:n.is}):i.createElement("select"),n.multiple?a.multiple=!0:n.size&&(a.size=n.size);break;default:a=typeof n.is=="string"?i.createElement(o,{is:n.is}):i.createElement(o)}}a[gn]=t,a[Rn]=n;e:for(i=t.child;i!==null;){if(i.tag===5||i.tag===6)a.appendChild(i.stateNode);else if(i.tag!==4&&i.tag!==27&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break e;for(;i.sibling===null;){if(i.return===null||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}t.stateNode=a;e:switch(xn(a,o,n),o){case"button":case"input":case"select":case"textarea":n=!!n.autoFocus;break e;case"img":n=!0;break e;default:n=!1}n&&gi(t)}}return lr(t),MS(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,r),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==n&&gi(t);else{if(typeof n!="string"&&t.stateNode===null)throw Error(pe(166));if(e=Il.current,Oc(t)){if(e=t.stateNode,r=t.memoizedProps,n=null,o=yn,o!==null)switch(o.tag){case 27:case 5:n=o.memoizedProps}e[gn]=t,e=!!(e.nodeValue===r||n!==null&&n.suppressHydrationWarning===!0||nM(e.nodeValue,r)),e||Vl(t,!0)}else e=Yy(e).createTextNode(n),e[gn]=t,t.stateNode=e}return lr(t),null;case 31:if(r=t.memoizedState,e===null||e.memoizedState!==null){if(n=Oc(t),r!==null){if(e===null){if(!n)throw Error(pe(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(pe(557));e[gn]=t}else Rs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),e=!1}else r=SS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=r),e=!0;if(!e)return t.flags&256?(mo(t),t):(mo(t),null);if((t.flags&128)!==0)throw Error(pe(558))}return lr(t),null;case 13:if(n=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(o=Oc(t),n!==null&&n.dehydrated!==null){if(e===null){if(!o)throw Error(pe(318));if(o=t.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(pe(317));o[gn]=t}else Rs(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;lr(t),o=!1}else o=SS(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=o),o=!0;if(!o)return t.flags&256?(mo(t),t):(mo(t),null)}return mo(t),(t.flags&128)!==0?(t.lanes=r,t):(r=n!==null,e=e!==null&&e.memoizedState!==null,r&&(n=t.child,o=null,n.alternate!==null&&n.alternate.memoizedState!==null&&n.alternate.memoizedState.cachePool!==null&&(o=n.alternate.memoizedState.cachePool.pool),a=null,n.memoizedState!==null&&n.memoizedState.cachePool!==null&&(a=n.memoizedState.cachePool.pool),a!==o&&(n.flags|=2048)),r!==e&&r&&(t.child.flags|=8192),ny(t,t.updateQueue),lr(t),null);case 4:return Jc(),e===null&&NA(t.stateNode.containerInfo),lr(t),null;case 10:return Ni(t.type),lr(t),null;case 19:if(sn(Lr),n=t.memoizedState,n===null)return lr(t),null;if(o=(t.flags&128)!==0,a=n.rendering,a===null)if(o)kp(n,!1);else{if(_r!==0||e!==null&&(e.flags&128)!==0)for(e=t.child;e!==null;){if(a=zy(e),a!==null){for(t.flags|=128,kp(n,!1),e=a.updateQueue,t.updateQueue=e,ny(t,e),t.subtreeFlags=0,e=r,r=t.child;r!==null;)h4(r,e),r=r.sibling;return er(Lr,Lr.current&1|2),wt&&bi(t,n.treeForkCount),t.child}e=e.sibling}n.tail!==null&&yo()>Wy&&(t.flags|=128,o=!0,kp(n,!1),t.lanes=4194304)}else{if(!o)if(e=zy(a),e!==null){if(t.flags|=128,o=!0,e=e.updateQueue,t.updateQueue=e,ny(t,e),kp(n,!0),n.tail===null&&n.tailMode==="hidden"&&!a.alternate&&!wt)return lr(t),null}else 2*yo()-n.renderingStartTime>Wy&&r!==536870912&&(t.flags|=128,o=!0,kp(n,!1),t.lanes=4194304);n.isBackwards?(a.sibling=t.child,t.child=a):(e=n.last,e!==null?e.sibling=a:t.child=a,n.last=a)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=yo(),e.sibling=null,r=Lr.current,er(Lr,o?r&1|2:r&1),wt&&bi(t,n.treeForkCount),e):(lr(t),null);case 22:case 23:return mo(t),oA(),n=t.memoizedState!==null,e!==null?e.memoizedState!==null!==n&&(t.flags|=8192):n&&(t.flags|=8192),n?(r&536870912)!==0&&(t.flags&128)===0&&(lr(t),t.subtreeFlags&6&&(t.flags|=8192)):lr(t),r=t.updateQueue,r!==null&&ny(t,r.retryQueue),r=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(r=e.memoizedState.cachePool.pool),n=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(n=t.memoizedState.cachePool.pool),n!==r&&(t.flags|=2048),e!==null&&sn(Zs),null;case 24:return r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Ni(Kr),lr(t),null;case 25:return null;case 30:return null}throw Error(pe(156,t.tag))}function iH(e,t){switch(R2(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ni(Kr),Jc(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return _y(t),null;case 31:if(t.memoizedState!==null){if(mo(t),t.alternate===null)throw Error(pe(340));Rs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(mo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(pe(340));Rs()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return sn(Lr),null;case 4:return Jc(),null;case 10:return Ni(t.type),null;case 22:case 23:return mo(t),oA(),e!==null&&sn(Zs),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Ni(Kr),null;case 25:return null;default:return null}}function h3(e,t){switch(R2(t),t.tag){case 3:Ni(Kr),Jc();break;case 26:case 27:case 5:_y(t);break;case 4:Jc();break;case 31:t.memoizedState!==null&&mo(t);break;case 13:mo(t);break;case 19:sn(Lr);break;case 10:Ni(t.type);break;case 22:case 23:mo(t),oA(),e!==null&&sn(Zs);break;case 24:Ni(Kr)}}function mm(e,t){try{var r=t.updateQueue,n=r!==null?r.lastEffect:null;if(n!==null){var o=n.next;r=o;do{if((r.tag&e)===e){n=void 0;var a=r.create,i=r.inst;n=a(),i.destroy=n}r=r.next}while(r!==o)}}catch(l){Wt(t,t.return,l)}}function Kl(e,t,r){try{var n=t.updateQueue,o=n!==null?n.lastEffect:null;if(o!==null){var a=o.next;n=a;do{if((n.tag&e)===e){var i=n.inst,l=i.destroy;if(l!==void 0){i.destroy=void 0,o=t;var s=r,u=l;try{u()}catch(c){Wt(o,s,c)}}}n=n.next}while(n!==a)}}catch(c){Wt(t,t.return,c)}}function x3(e){var t=e.updateQueue;if(t!==null){var r=e.stateNode;try{E4(t,r)}catch(n){Wt(e,e.return,n)}}}function b3(e,t,r){r.props=nu(e.type,e.memoizedProps),r.state=e.memoizedState;try{r.componentWillUnmount()}catch(n){Wt(e,t,n)}}function Up(e,t){try{var r=e.ref;if(r!==null){switch(e.tag){case 26:case 27:case 5:var n=e.stateNode;break;case 30:n=e.stateNode;break;default:n=e.stateNode}typeof r=="function"?e.refCleanup=r(n):r.current=n}}catch(o){Wt(e,t,o)}}function qa(e,t){var r=e.ref,n=e.refCleanup;if(r!==null)if(typeof n=="function")try{n()}catch(o){Wt(e,t,o)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof r=="function")try{r(null)}catch(o){Wt(e,t,o)}else r.current=null}function w3(e){var t=e.type,r=e.memoizedProps,n=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":r.autoFocus&&n.focus();break e;case"img":r.src?n.src=r.src:r.srcSet&&(n.srcset=r.srcSet)}}catch(o){Wt(e,e.return,o)}}function PS(e,t,r){try{var n=e.stateNode;NH(n,e.type,r,t),n[Rn]=t}catch(o){Wt(e,e.return,o)}}function S3(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Yl(e.type)||e.tag===4}function DS(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||S3(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Yl(e.type)||e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function w2(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?(r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r).insertBefore(e,t):(t=r.nodeType===9?r.body:r.nodeName==="HTML"?r.ownerDocument.body:r,t.appendChild(e),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Ai));else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode,t=null),e=e.child,e!==null))for(w2(e,t,r),e=e.sibling;e!==null;)w2(e,t,r),e=e.sibling}function Uy(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(n===27&&Yl(e.type)&&(r=e.stateNode),e=e.child,e!==null))for(Uy(e,t,r),e=e.sibling;e!==null;)Uy(e,t,r),e=e.sibling}function A3(e){var t=e.stateNode,r=e.memoizedProps;try{for(var n=e.type,o=t.attributes;o.length;)t.removeAttributeNode(o[0]);xn(t,n,r),t[gn]=e,t[Rn]=r}catch(a){Wt(e,e.return,a)}}var wi=!1,Vr=!1,IS=!1,rT=typeof WeakSet=="function"?WeakSet:Set,an=null;function lH(e,t){if(e=e.containerInfo,E2=Jy,e=c4(e),Y2(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,a=n.focusNode;n=n.focusOffset;try{r.nodeType,a.nodeType}catch{r=null;break e}var i=0,l=-1,s=-1,u=0,c=0,d=e,f=null;t:for(;;){for(var p;d!==r||o!==0&&d.nodeType!==3||(l=i+o),d!==a||n!==0&&d.nodeType!==3||(s=i+n),d.nodeType===3&&(i+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===e)break t;if(f===r&&++u===o&&(l=i),f===a&&++c===n&&(s=i),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}r=l===-1||s===-1?null:{start:l,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(O2={focusedElem:e,selectionRange:r},Jy=!1,an=t;an!==null;)if(t=an,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,an=e;else for(;an!==null;){switch(t=an,a=t.alternate,e=t.flags,t.tag){case 0:if((e&4)!==0&&(e=t.updateQueue,e=e!==null?e.events:null,e!==null))for(r=0;r title"))),xn(a,n,r),a[gn]=e,ln(a),n=a;break e;case"link":var i=kT("link","href",o).get(n+(r.href||""));if(i){for(var l=0;lh&&(i=h,h=g,g=i);var v=_O(l,g),y=_O(l,h);if(v&&y&&(p.rangeCount!==1||p.anchorNode!==v.node||p.anchorOffset!==v.offset||p.focusNode!==y.node||p.focusOffset!==y.offset)){var b=d.createRange();b.setStart(v.node,v.offset),p.removeAllRanges(),g>h?(p.addRange(b),p.extend(y.node,y.offset)):(b.setEnd(y.node,y.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof l.focus=="function"&&l.focus(),l=0;lr?32:r,Ze.T=null,r=k2,k2=null;var a=$l,i=_i;if(Qr=0,ad=$l=null,_i=0,(Lt&6)!==0)throw Error(pe(331));var l=Lt;if(Lt|=4,I3(a.current),M3(a,a.current,i,r),Lt=l,vm(0,!1),ho&&typeof ho.onPostCommitFiberRoot=="function")try{ho.onPostCommitFiberRoot(lm,a)}catch{}return!0}finally{Bt.p=o,Ze.T=n,X3(e,t)}}function iT(e,t,r){t=Yo(r,t),t=h2(e.stateNode,t,2),e=Ll(e,t,2),e!==null&&(um(e,2),Xa(e))}function Wt(e,t,r){if(e.tag===3)iT(e,e,r);else for(;t!==null;){if(t.tag===3){iT(t,e,r);break}else if(t.tag===1){var n=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof n.componentDidCatch=="function"&&(Bl===null||!Bl.has(n))){e=Yo(r,e),r=d3(2),n=Ll(t,r,2),n!==null&&(f3(r,n,t,e),um(n,2),Xa(n));break}}t=t.return}}function zS(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new cH;var o=new Set;n.set(t,o)}else o=n.get(t),o===void 0&&(o=new Set,n.set(t,o));o.has(r)||(SA=!0,o.add(r),e=vH.bind(null,e,t,r),t.then(e,e))}function vH(e,t,r){var n=e.pingCache;n!==null&&n.delete(t),e.pingedLanes|=e.suspendedLanes&r,e.warmLanes&=~r,Gt===e&&(xt&r)===r&&(_r===4||_r===3&&(xt&62914560)===xt&&300>yo()-dh?(Lt&2)===0&&id(e,0):AA|=r,od===xt&&(od=0)),Xa(e)}function Q3(e,t){t===0&&(t=WT()),e=lu(e,t),e!==null&&(um(e,t),Xa(e))}function gH(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Q3(e,r)}function yH(e,t){var r=0;switch(e.tag){case 31:case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;case 22:n=e.stateNode._retryCache;break;default:throw Error(pe(314))}n!==null&&n.delete(t),Q3(e,r)}function hH(e,t){return $2(e,t)}var Ky=null,Pc=null,N2=!1,qy=!1,LS=!1,Dl=0;function Xa(e){e!==Pc&&e.next===null&&(Pc===null?Ky=Pc=e:Pc=Pc.next=e),qy=!0,N2||(N2=!0,bH())}function vm(e,t){if(!LS&&qy){LS=!0;do for(var r=!1,n=Ky;n!==null;){if(!t)if(e!==0){var o=n.pendingLanes;if(o===0)var a=0;else{var i=n.suspendedLanes,l=n.pingedLanes;a=(1<<31-xo(42|e)+1)-1,a&=o&~(i&~l),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(r=!0,lT(n,a))}else a=xt,a=eh(n,n===Gt?a:0,n.cancelPendingCommit!==null||n.timeoutHandle!==-1),(a&3)===0||sm(n,a)||(r=!0,lT(n,a));n=n.next}while(r);LS=!1}}function xH(){J3()}function J3(){qy=N2=!1;var e=0;Dl!==0&&EH()&&(e=Dl);for(var t=yo(),r=null,n=Ky;n!==null;){var o=n.next,a=R3(n,t);a===0?(n.next=null,r===null?Ky=o:r.next=o,o===null&&(Pc=r)):(r=n,(e!==0||(a&3)!==0)&&(qy=!0)),n=o}Qr!==0&&Qr!==5||vm(e,!1),Dl!==0&&(Dl=0)}function R3(e,t){for(var r=e.suspendedLanes,n=e.pingedLanes,o=e.expirationTimes,a=e.pendingLanes&-62914561;0l)break;var c=s.transferSize,d=s.initiatorType;c&&mT(d)&&(s=s.responseEnd,i+=c*(s"u"?null:document;function sM(e,t,r){var n=md;if(n&&typeof t=="string"&&t){var o=Go(t);o='link[rel="'+e+'"][href="'+o+'"]',typeof r=="string"&&(o+='[crossorigin="'+r+'"]'),wT.has(o)||(wT.add(o),e={rel:e,crossOrigin:r,href:t},n.querySelector(o)===null&&(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function LH(e){Di.D(e),sM("dns-prefetch",e,null)}function BH(e,t){Di.C(e,t),sM("preconnect",e,t)}function $H(e,t,r){Di.L(e,t,r);var n=md;if(n&&e&&t){var o='link[rel="preload"][as="'+Go(t)+'"]';t==="image"&&r&&r.imageSrcSet?(o+='[imagesrcset="'+Go(r.imageSrcSet)+'"]',typeof r.imageSizes=="string"&&(o+='[imagesizes="'+Go(r.imageSizes)+'"]')):o+='[href="'+Go(e)+'"]';var a=o;switch(t){case"style":a=ld(e);break;case"script":a=vd(e)}Jo.has(a)||(e=ur({rel:"preload",href:t==="image"&&r&&r.imageSrcSet?void 0:e,as:t},r),Jo.set(a,e),n.querySelector(o)!==null||t==="style"&&n.querySelector(gm(a))||t==="script"&&n.querySelector(ym(a))||(t=n.createElement("link"),xn(t,"link",e),ln(t),n.head.appendChild(t)))}}function FH(e,t){Di.m(e,t);var r=md;if(r&&e){var n=t&&typeof t.as=="string"?t.as:"script",o='link[rel="modulepreload"][as="'+Go(n)+'"][href="'+Go(e)+'"]',a=o;switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":a=vd(e)}if(!Jo.has(a)&&(e=ur({rel:"modulepreload",href:e},t),Jo.set(a,e),r.querySelector(o)===null)){switch(n){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(r.querySelector(ym(a)))return}n=r.createElement("link"),xn(n,"link",e),ln(n),r.head.appendChild(n)}}}function UH(e,t,r){Di.S(e,t,r);var n=md;if(n&&e){var o=Kc(n).hoistableStyles,a=ld(e);t=t||"default";var i=o.get(a);if(!i){var l={loading:0,preload:null};if(i=n.querySelector(gm(a)))l.loading=5;else{e=ur({rel:"stylesheet",href:e,"data-precedence":t},r),(r=Jo.get(a))&&_A(e,r);var s=i=n.createElement("link");ln(s),xn(s,"link",e),s._p=new Promise(function(u,c){s.onload=u,s.onerror=c}),s.addEventListener("load",function(){l.loading|=1}),s.addEventListener("error",function(){l.loading|=2}),l.loading|=4,wy(i,t,n)}i={type:"stylesheet",instance:i,count:1,state:l},o.set(a,i)}}}function WH(e,t){Di.X(e,t);var r=md;if(r&&e){var n=Kc(r).hoistableScripts,o=vd(e),a=n.get(o);a||(a=r.querySelector(ym(o)),a||(e=ur({src:e,async:!0},t),(t=Jo.get(o))&&EA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function HH(e,t){Di.M(e,t);var r=md;if(r&&e){var n=Kc(r).hoistableScripts,o=vd(e),a=n.get(o);a||(a=r.querySelector(ym(o)),a||(e=ur({src:e,async:!0,type:"module"},t),(t=Jo.get(o))&&EA(e,t),a=r.createElement("script"),ln(a),xn(a,"link",e),r.head.appendChild(a)),a={type:"script",instance:a,count:1,state:null},n.set(o,a))}}function ST(e,t,r,n){var o=(o=Il.current)?Xy(o):null;if(!o)throw Error(pe(446));switch(e){case"meta":case"title":return null;case"style":return typeof r.precedence=="string"&&typeof r.href=="string"?(t=ld(r.href),r=Kc(o).hoistableStyles,n=r.get(t),n||(n={type:"style",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};case"link":if(r.rel==="stylesheet"&&typeof r.href=="string"&&typeof r.precedence=="string"){e=ld(r.href);var a=Kc(o).hoistableStyles,i=a.get(e);if(i||(o=o.ownerDocument||o,i={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},a.set(e,i),(a=o.querySelector(gm(e)))&&!a._p&&(i.instance=a,i.state.loading=5),Jo.has(e)||(r={rel:"preload",as:"style",href:r.href,crossOrigin:r.crossOrigin,integrity:r.integrity,media:r.media,hrefLang:r.hrefLang,referrerPolicy:r.referrerPolicy},Jo.set(e,r),a||VH(o,e,r,i.state))),t&&n===null)throw Error(pe(528,""));return i}if(t&&n!==null)throw Error(pe(529,""));return null;case"script":return t=r.async,r=r.src,typeof r=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=vd(r),r=Kc(o).hoistableScripts,n=r.get(t),n||(n={type:"script",instance:null,count:0,state:null},r.set(t,n)),n):{type:"void",instance:null,count:0,state:null};default:throw Error(pe(444,e))}}function ld(e){return'href="'+Go(e)+'"'}function gm(e){return'link[rel="stylesheet"]['+e+"]"}function uM(e){return ur({},e,{"data-precedence":e.precedence,precedence:null})}function VH(e,t,r,n){e.querySelector('link[rel="preload"][as="style"]['+t+"]")?n.loading=1:(t=e.createElement("link"),n.preload=t,t.addEventListener("load",function(){return n.loading|=1}),t.addEventListener("error",function(){return n.loading|=2}),xn(t,"link",r),ln(t),e.head.appendChild(t))}function vd(e){return'[src="'+Go(e)+'"]'}function ym(e){return"script[async]"+e}function AT(e,t,r){if(t.count++,t.instance===null)switch(t.type){case"style":var n=e.querySelector('style[data-href~="'+Go(r.href)+'"]');if(n)return t.instance=n,ln(n),n;var o=ur({},r,{"data-href":r.href,"data-precedence":r.precedence,href:null,precedence:null});return n=(e.ownerDocument||e).createElement("style"),ln(n),xn(n,"style",o),wy(n,r.precedence,e),t.instance=n;case"stylesheet":o=ld(r.href);var a=e.querySelector(gm(o));if(a)return t.state.loading|=4,t.instance=a,ln(a),a;n=uM(r),(o=Jo.get(o))&&_A(n,o),a=(e.ownerDocument||e).createElement("link"),ln(a);var i=a;return i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),t.state.loading|=4,wy(a,r.precedence,e),t.instance=a;case"script":return a=vd(r.src),(o=e.querySelector(ym(a)))?(t.instance=o,ln(o),o):(n=r,(o=Jo.get(a))&&(n=ur({},r),EA(n,o)),e=e.ownerDocument||e,o=e.createElement("script"),ln(o),xn(o,"link",n),e.head.appendChild(o),t.instance=o);case"void":return null;default:throw Error(pe(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(n=t.instance,t.state.loading|=4,wy(n,r.precedence,e));return t.instance}function wy(e,t,r){for(var n=r.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),o=n.length?n[n.length-1]:null,a=o,i=0;i title"):null)}function KH(e,t,r){if(r===1||t.itemProp!=null)return!1;switch(e){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(e=t.disabled,typeof t.precedence=="string"&&e==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function cM(e){return!(e.type==="stylesheet"&&(e.state.loading&3)===0)}function qH(e,t,r,n){if(r.type==="stylesheet"&&(typeof n.media!="string"||matchMedia(n.media).matches!==!1)&&(r.state.loading&4)===0){if(r.instance===null){var o=ld(n.href),a=t.querySelector(gm(o));if(a){t=a._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(e.count++,e=Zy.bind(e),t.then(e,e)),r.state.loading|=4,r.instance=a,ln(a);return}a=t.ownerDocument||t,n=uM(n),(o=Jo.get(o))&&_A(n,o),a=a.createElement("link"),ln(a);var i=a;i._p=new Promise(function(l,s){i.onload=l,i.onerror=s}),xn(a,"link",n),r.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(r,t),(t=r.state.preload)&&(r.state.loading&3)===0&&(e.count++,r=Zy.bind(e),t.addEventListener("load",r),t.addEventListener("error",r))}}var US=0;function GH(e,t){return e.stylesheets&&e.count===0&&Ay(e,e.stylesheets),0US?50:800)+t);return e.unsuspend=r,function(){e.unsuspend=null,clearTimeout(n),clearTimeout(o)}}:null}function Zy(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Ay(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Qy=null;function Ay(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Qy=new Map,t.forEach(YH,e),Qy=null,Zy.call(e))}function YH(e,t){if(!(t.state.loading&4)){var r=Qy.get(e);if(r)var n=r.get(null);else{r=new Map,Qy.set(e,r);for(var o=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{"use strict";function xM(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(xM)}catch(e){console.error(e)}}xM(),bM.exports=hM()});var kP=on(AP=>{"use strict";var Id=re();function lK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var sK=typeof Object.is=="function"?Object.is:lK,uK=Id.useState,cK=Id.useEffect,dK=Id.useLayoutEffect,fK=Id.useDebugValue;function pK(e,t){var r=t(),n=uK({inst:{value:r,getSnapshot:t}}),o=n[0].inst,a=n[1];return dK(function(){o.value=r,o.getSnapshot=t,Sk(o)&&a({inst:o})},[e,r,t]),cK(function(){return Sk(o)&&a({inst:o}),e(function(){Sk(o)&&a({inst:o})})},[e]),fK(r),r}function Sk(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!sK(e,r)}catch{return!0}}function mK(e,t){return t()}var vK=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?mK:pK;AP.useSyncExternalStore=Id.useSyncExternalStore!==void 0?Id.useSyncExternalStore:vK});var NP=on((rge,CP)=>{"use strict";CP.exports=kP()});var EP=on(_P=>{"use strict";var a0=re(),gK=NP();function yK(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var hK=typeof Object.is=="function"?Object.is:yK,xK=gK.useSyncExternalStore,bK=a0.useRef,wK=a0.useEffect,SK=a0.useMemo,AK=a0.useDebugValue;_P.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=bK(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=SK(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,hK(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=xK(e,a[0],a[1]);return wK(function(){i.hasValue=!0,i.value=l},[l]),AK(l),l}});var TP=on((oge,OP)=>{"use strict";OP.exports=EP()});var y8=on(g8=>{"use strict";var $m=re();function _G(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var EG=typeof Object.is=="function"?Object.is:_G,OG=$m.useSyncExternalStore,TG=$m.useRef,MG=$m.useEffect,PG=$m.useMemo,DG=$m.useDebugValue;g8.useSyncExternalStoreWithSelector=function(e,t,r,n,o){var a=TG(null);if(a.current===null){var i={hasValue:!1,value:null};a.current=i}else i=a.current;a=PG(function(){function s(p){if(!u){if(u=!0,c=p,p=n(p),o!==void 0&&i.hasValue){var m=i.value;if(o(m,p))return d=m}return d=p}if(m=d,EG(c,p))return m;var g=n(p);return o!==void 0&&o(m,g)?(c=p,m):(c=p,d=g)}var u=!1,c,d,f=r===void 0?null:r;return[function(){return s(t())},f===null?void 0:function(){return s(f())}]},[t,r,n,o]);var l=OG(e,a[0],a[1]);return MG(function(){i.hasValue=!0,i.value=l},[l]),DG(l),l}});var x8=on((nhe,h8)=>{"use strict";h8.exports=y8()});var yC=on((VI,vx)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,o="[DecimalError] ",a=o+"Invalid argument: ",i=o+"Exponent out of range: ",l=Math.floor,s=Math.pow,u=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,c,d=1e7,f=7,p=9007199254740991,m=l(p/f),g={};g.absoluteValue=g.abs=function(){var C=new this.constructor(this);return C.s&&(C.s=1),C},g.comparedTo=g.cmp=function(C){var _,z,D,E,j=this;if(C=new j.constructor(C),j.s!==C.s)return j.s||-C.s;if(j.e!==C.e)return j.e>C.e^j.s<0?1:-1;for(D=j.d.length,E=C.d.length,_=0,z=DC.d[_]^j.s<0?1:-1;return D===E?0:D>E^j.s<0?1:-1},g.decimalPlaces=g.dp=function(){var C=this,_=C.d.length-1,z=(_-C.e)*f;if(_=C.d[_],_)for(;_%10==0;_/=10)z--;return z<0?0:z},g.dividedBy=g.div=function(C){return b(this,new this.constructor(C))},g.dividedToIntegerBy=g.idiv=function(C){var _=this,z=_.constructor;return M(b(_,new z(C),0,1),z.precision)},g.equals=g.eq=function(C){return!this.cmp(C)},g.exponent=function(){return S(this)},g.greaterThan=g.gt=function(C){return this.cmp(C)>0},g.greaterThanOrEqualTo=g.gte=function(C){return this.cmp(C)>=0},g.isInteger=g.isint=function(){return this.e>this.d.length-2},g.isNegative=g.isneg=function(){return this.s<0},g.isPositive=g.ispos=function(){return this.s>0},g.isZero=function(){return this.s===0},g.lessThan=g.lt=function(C){return this.cmp(C)<0},g.lessThanOrEqualTo=g.lte=function(C){return this.cmp(C)<1},g.logarithm=g.log=function(C){var _,z=this,D=z.constructor,E=D.precision,j=E+5;if(C===void 0)C=new D(10);else if(C=new D(C),C.s<1||C.eq(c))throw Error(o+"NaN");if(z.s<1)throw Error(o+(z.s?"NaN":"-Infinity"));return z.eq(c)?new D(0):(n=!1,_=b(k(z,j),k(C,j),j),n=!0,M(_,E))},g.minus=g.sub=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?H(_,C):h(_,(C.s=-C.s,C))},g.modulo=g.mod=function(C){var _,z=this,D=z.constructor,E=D.precision;if(C=new D(C),!C.s)throw Error(o+"NaN");return z.s?(n=!1,_=b(z,C,0,1).times(C),n=!0,z.minus(_)):M(new D(z),E)},g.naturalExponential=g.exp=function(){return x(this)},g.naturalLogarithm=g.ln=function(){return k(this)},g.negated=g.neg=function(){var C=new this.constructor(this);return C.s=-C.s||0,C},g.plus=g.add=function(C){var _=this;return C=new _.constructor(C),_.s==C.s?h(_,C):H(_,(C.s=-C.s,C))},g.precision=g.sd=function(C){var _,z,D,E=this;if(C!==void 0&&C!==!!C&&C!==1&&C!==0)throw Error(a+C);if(_=S(E)+1,D=E.d.length-1,z=D*f+1,D=E.d[D],D){for(;D%10==0;D/=10)z--;for(D=E.d[0];D>=10;D/=10)z++}return C&&_>z?_:z},g.squareRoot=g.sqrt=function(){var C,_,z,D,E,j,R,U=this,L=U.constructor;if(U.s<1){if(!U.s)return new L(0);throw Error(o+"NaN")}for(C=S(U),n=!1,E=Math.sqrt(+U),E==0||E==1/0?(_=y(U.d),(_.length+C)%2==0&&(_+="0"),E=Math.sqrt(_),C=l((C+1)/2)-(C<0||C%2),E==1/0?_="5e"+C:(_=E.toExponential(),_=_.slice(0,_.indexOf("e")+1)+C),D=new L(_)):D=new L(E.toString()),z=L.precision,E=R=z+3;;)if(j=D,D=j.plus(b(U,j,R+2)).times(.5),y(j.d).slice(0,R)===(_=y(D.d)).slice(0,R)){if(_=_.slice(R-3,R+1),E==R&&_=="4999"){if(M(j,z+1,0),j.times(j).eq(U)){D=j;break}}else if(_!="9999")break;R+=4}return n=!0,M(D,z)},g.times=g.mul=function(C){var _,z,D,E,j,R,U,L,K,ae=this,de=ae.constructor,ze=ae.d,oe=(C=new de(C)).d;if(!ae.s||!C.s)return new de(0);for(C.s*=ae.s,z=ae.e+C.e,L=ze.length,K=oe.length,L=0;){for(_=0,E=L+D;E>D;)U=j[E]+oe[D]*ze[E-D-1]+_,j[E--]=U%d|0,_=U/d|0;j[E]=(j[E]+_)%d|0}for(;!j[--R];)j.pop();return _?++z:j.shift(),C.d=j,C.e=z,n?M(C,de.precision):C},g.toDecimalPlaces=g.todp=function(C,_){var z=this,D=z.constructor;return z=new D(z),C===void 0?z:(v(C,0,t),_===void 0?_=D.rounding:v(_,0,8),M(z,C+S(z)+1,_))},g.toExponential=function(C,_){var z,D=this,E=D.constructor;return C===void 0?z=F(D,!0):(v(C,0,t),_===void 0?_=E.rounding:v(_,0,8),D=M(new E(D),C+1,_),z=F(D,!0,C+1)),z},g.toFixed=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?F(E):(v(C,0,t),_===void 0?_=j.rounding:v(_,0,8),D=M(new j(E),C+S(E)+1,_),z=F(D.abs(),!1,C+S(D)+1),E.isneg()&&!E.isZero()?"-"+z:z)},g.toInteger=g.toint=function(){var C=this,_=C.constructor;return M(new _(C),S(C)+1,_.rounding)},g.toNumber=function(){return+this},g.toPower=g.pow=function(C){var _,z,D,E,j,R,U=this,L=U.constructor,K=12,ae=+(C=new L(C));if(!C.s)return new L(c);if(U=new L(U),!U.s){if(C.s<1)throw Error(o+"Infinity");return U}if(U.eq(c))return U;if(D=L.precision,C.eq(c))return M(U,D);if(_=C.e,z=C.d.length-1,R=_>=z,j=U.s,R){if((z=ae<0?-ae:ae)<=p){for(E=new L(c),_=Math.ceil(D/f+4),n=!1;z%2&&(E=E.times(U),X(E.d,_)),z=l(z/2),z!==0;)U=U.times(U),X(U.d,_);return n=!0,C.s<0?new L(c).div(E):M(E,D)}}else if(j<0)throw Error(o+"NaN");return j=j<0&&C.d[Math.max(_,z)]&1?-1:1,U.s=1,n=!1,E=C.times(k(U,D+K)),n=!0,E=x(E),E.s=j,E},g.toPrecision=function(C,_){var z,D,E=this,j=E.constructor;return C===void 0?(z=S(E),D=F(E,z<=j.toExpNeg||z>=j.toExpPos)):(v(C,1,t),_===void 0?_=j.rounding:v(_,0,8),E=M(new j(E),C,_),z=S(E),D=F(E,C<=z||z<=j.toExpNeg,C)),D},g.toSignificantDigits=g.tosd=function(C,_){var z=this,D=z.constructor;return C===void 0?(C=D.precision,_=D.rounding):(v(C,1,t),_===void 0?_=D.rounding:v(_,0,8)),M(new D(z),C,_)},g.toString=g.valueOf=g.val=g.toJSON=function(){var C=this,_=S(C),z=C.constructor;return F(C,_<=z.toExpNeg||_>=z.toExpPos)};function h(C,_){var z,D,E,j,R,U,L,K,ae=C.constructor,de=ae.precision;if(!C.s||!_.s)return _.s||(_=new ae(C)),n?M(_,de):_;if(L=C.d,K=_.d,R=C.e,E=_.e,L=L.slice(),j=R-E,j){for(j<0?(D=L,j=-j,U=K.length):(D=K,E=R,U=L.length),R=Math.ceil(de/f),U=R>U?R+1:U+1,j>U&&(j=U,D.length=1),D.reverse();j--;)D.push(0);D.reverse()}for(U=L.length,j=K.length,U-j<0&&(j=U,D=K,K=L,L=D),z=0;j;)z=(L[--j]=L[j]+K[j]+z)/d|0,L[j]%=d;for(z&&(L.unshift(z),++E),U=L.length;L[--U]==0;)L.pop();return _.d=L,_.e=E,n?M(_,de):_}function v(C,_,z){if(C!==~~C||C<_||C>z)throw Error(a+C)}function y(C){var _,z,D,E=C.length-1,j="",R=C[0];if(E>0){for(j+=R,_=1;_R?1:-1;else for(U=L=0;UE[U]?1:-1;break}return L}function z(D,E,j){for(var R=0;j--;)D[j]-=R,R=D[j]1;)D.shift()}return function(D,E,j,R){var U,L,K,ae,de,ze,oe,Ee,V,I,N,O,Z,B,we,ee,ue,W,xe=D.constructor,De=D.s==E.s?1:-1,Ge=D.d,it=E.d;if(!D.s)return new xe(D);if(!E.s)throw Error(o+"Division by zero");for(L=D.e-E.e,ue=it.length,we=Ge.length,oe=new xe(De),Ee=oe.d=[],K=0;it[K]==(Ge[K]||0);)++K;if(it[K]>(Ge[K]||0)&&--L,j==null?O=j=xe.precision:R?O=j+(S(D)-S(E))+1:O=j,O<0)return new xe(0);if(O=O/f+2|0,K=0,ue==1)for(ae=0,it=it[0],O++;(K1&&(it=C(it,ae),Ge=C(Ge,ae),ue=it.length,we=Ge.length),B=ue,V=Ge.slice(0,ue),I=V.length;I=d/2&&++ee;do ae=0,U=_(it,V,ue,I),U<0?(N=V[0],ue!=I&&(N=N*d+(V[1]||0)),ae=N/ee|0,ae>1?(ae>=d&&(ae=d-1),de=C(it,ae),ze=de.length,I=V.length,U=_(de,V,ze,I),U==1&&(ae--,z(de,ue16)throw Error(i+S(C));if(!C.s)return new ae(c);for(_==null?(n=!1,U=de):U=_,R=new ae(.03125);C.abs().gte(.1);)C=C.times(R),K+=5;for(D=Math.log(s(2,K))/Math.LN10*2+5|0,U+=D,z=E=j=new ae(c),ae.precision=U;;){if(E=M(E.times(C),U),z=z.times(++L),R=j.plus(b(E,z,U)),y(R.d).slice(0,U)===y(j.d).slice(0,U)){for(;K--;)j=M(j.times(j),U);return ae.precision=de,_==null?(n=!0,M(j,de)):j}j=R}}function S(C){for(var _=C.e*f,z=C.d[0];z>=10;z/=10)_++;return _}function w(C,_,z){if(_>C.LN10.sd())throw n=!0,z&&(C.precision=z),Error(o+"LN10 precision limit exceeded");return M(new C(C.LN10),_)}function T(C){for(var _="";C--;)_+="0";return _}function k(C,_){var z,D,E,j,R,U,L,K,ae,de=1,ze=10,oe=C,Ee=oe.d,V=oe.constructor,I=V.precision;if(oe.s<1)throw Error(o+(oe.s?"NaN":"-Infinity"));if(oe.eq(c))return new V(0);if(_==null?(n=!1,K=I):K=_,oe.eq(10))return _==null&&(n=!0),w(V,K);if(K+=ze,V.precision=K,z=y(Ee),D=z.charAt(0),j=S(oe),Math.abs(j)<15e14){for(;D<7&&D!=1||D==1&&z.charAt(1)>3;)oe=oe.times(C),z=y(oe.d),D=z.charAt(0),de++;j=S(oe),D>1?(oe=new V("0."+z),j++):oe=new V(D+"."+z.slice(1))}else return L=w(V,K+2,I).times(j+""),oe=k(new V(D+"."+z.slice(1)),K-ze).plus(L),V.precision=I,_==null?(n=!0,M(oe,I)):oe;for(U=R=oe=b(oe.minus(c),oe.plus(c),K),ae=M(oe.times(oe),K),E=3;;){if(R=M(R.times(ae),K),L=U.plus(b(R,new V(E),K)),y(L.d).slice(0,K)===y(U.d).slice(0,K))return U=U.times(2),j!==0&&(U=U.plus(w(V,K+2,I).times(j+""))),U=b(U,new V(de),K),V.precision=I,_==null?(n=!0,M(U,I)):U;U=L,E+=2}}function A(C,_){var z,D,E;for((z=_.indexOf("."))>-1&&(_=_.replace(".","")),(D=_.search(/e/i))>0?(z<0&&(z=D),z+=+_.slice(D+1),_=_.substring(0,D)):z<0&&(z=_.length),D=0;_.charCodeAt(D)===48;)++D;for(E=_.length;_.charCodeAt(E-1)===48;)--E;if(_=_.slice(D,E),_){if(E-=D,z=z-D-1,C.e=l(z/f),C.d=[],D=(z+1)%f,z<0&&(D+=f),Dm||C.e<-m))throw Error(i+z)}else C.s=0,C.e=0,C.d=[0];return C}function M(C,_,z){var D,E,j,R,U,L,K,ae,de=C.d;for(R=1,j=de[0];j>=10;j/=10)R++;if(D=_-R,D<0)D+=f,E=_,K=de[ae=0];else{if(ae=Math.ceil((D+1)/f),j=de.length,ae>=j)return C;for(K=j=de[ae],R=1;j>=10;j/=10)R++;D%=f,E=D-f+R}if(z!==void 0&&(j=s(10,R-E-1),U=K/j%10|0,L=_<0||de[ae+1]!==void 0||K%j,L=z<4?(U||L)&&(z==0||z==(C.s<0?3:2)):U>5||U==5&&(z==4||L||z==6&&(D>0?E>0?K/s(10,R-E):0:de[ae-1])%10&1||z==(C.s<0?8:7))),_<1||!de[0])return L?(j=S(C),de.length=1,_=_-j-1,de[0]=s(10,(f-_%f)%f),C.e=l(-_/f)||0):(de.length=1,de[0]=C.e=C.s=0),C;if(D==0?(de.length=ae,j=1,ae--):(de.length=ae+1,j=s(10,f-D),de[ae]=E>0?(K/s(10,R-E)%s(10,E)|0)*j:0),L)for(;;)if(ae==0){(de[0]+=j)==d&&(de[0]=1,++C.e);break}else{if(de[ae]+=j,de[ae]!=d)break;de[ae--]=0,j=1}for(D=de.length;de[--D]===0;)de.pop();if(n&&(C.e>m||C.e<-m))throw Error(i+S(C));return C}function H(C,_){var z,D,E,j,R,U,L,K,ae,de,ze=C.constructor,oe=ze.precision;if(!C.s||!_.s)return _.s?_.s=-_.s:_=new ze(C),n?M(_,oe):_;if(L=C.d,de=_.d,D=_.e,K=C.e,L=L.slice(),R=K-D,R){for(ae=R<0,ae?(z=L,R=-R,U=de.length):(z=de,D=K,U=L.length),E=Math.max(Math.ceil(oe/f),U)+2,R>E&&(R=E,z.length=1),z.reverse(),E=R;E--;)z.push(0);z.reverse()}else{for(E=L.length,U=de.length,ae=E0;--E)L[U++]=0;for(E=de.length;E>R;){if(L[--E]0?j=j.charAt(0)+"."+j.slice(1)+T(D):R>1&&(j=j.charAt(0)+"."+j.slice(1)),j=j+(E<0?"e":"e+")+E):E<0?(j="0."+T(-E-1)+j,z&&(D=z-R)>0&&(j+=T(D))):E>=R?(j+=T(E+1-R),z&&(D=z-E-1)>0&&(j=j+"."+T(D))):((D=E+1)0&&(E+1===R&&(j+="."),j+=T(D))),C.s<0?"-"+j:j}function X(C,_){if(C.length>_)return C.length=_,!0}function P(C){var _,z,D;function E(j){var R=this;if(!(R instanceof E))return new E(j);if(R.constructor=E,j instanceof E){R.s=j.s,R.e=j.e,R.d=(j=j.d)?j.slice():j;return}if(typeof j=="number"){if(j*0!==0)throw Error(a+j);if(j>0)R.s=1;else if(j<0)j=-j,R.s=-1;else{R.s=0,R.e=0,R.d=[0];return}if(j===~~j&&j<1e7){R.e=0,R.d=[j];return}return A(R,j.toString())}else if(typeof j!="string")throw Error(a+j);if(j.charCodeAt(0)===45?(j=j.slice(1),R.s=-1):R.s=1,u.test(j))A(R,j);else throw Error(a+j)}if(E.prototype=g,E.ROUND_UP=0,E.ROUND_DOWN=1,E.ROUND_CEIL=2,E.ROUND_FLOOR=3,E.ROUND_HALF_UP=4,E.ROUND_HALF_DOWN=5,E.ROUND_HALF_EVEN=6,E.ROUND_HALF_CEIL=7,E.ROUND_HALF_FLOOR=8,E.clone=P,E.config=E.set=Y,C===void 0&&(C={}),C)for(D=["precision","rounding","toExpNeg","toExpPos","LN10"],_=0;_=E[_+1]&&D<=E[_+2])this[z]=D;else throw Error(a+z+": "+D);if((D=C[z="LN10"])!==void 0)if(D==Math.LN10)this[z]=new this(D);else throw Error(a+z+": "+D);return this}r=P(r),r.default=r.Decimal=r,c=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof vx<"u"&&vx.exports?vx.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(VI)});var $z=on((KCe,r_)=>{"use strict";var zee=Object.prototype.hasOwnProperty,Kn="~";function Tv(){}Object.create&&(Tv.prototype=Object.create(null),new Tv().__proto__||(Kn=!1));function Lee(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function Bz(e,t,r,n,o){if(typeof r!="function")throw new TypeError("The listener must be a function");var a=new Lee(r,n||e,o),i=Kn?Kn+t:t;return e._events[i]?e._events[i].fn?e._events[i]=[e._events[i],a]:e._events[i].push(a):(e._events[i]=a,e._eventsCount++),e}function $b(e,t){--e._eventsCount===0?e._events=new Tv:delete e._events[t]}function Mn(){this._events=new Tv,this._eventsCount=0}Mn.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)zee.call(r,n)&&t.push(Kn?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Mn.prototype.listeners=function(t){var r=Kn?Kn+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,a=n.length,i=new Array(a);o{"use strict";var f_=Symbol.for("react.transitional.element"),p_=Symbol.for("react.portal"),Rb=Symbol.for("react.fragment"),e1=Symbol.for("react.strict_mode"),t1=Symbol.for("react.profiler"),r1=Symbol.for("react.consumer"),n1=Symbol.for("react.context"),o1=Symbol.for("react.forward_ref"),a1=Symbol.for("react.suspense"),i1=Symbol.for("react.suspense_list"),l1=Symbol.for("react.memo"),s1=Symbol.for("react.lazy"),Sre=Symbol.for("react.view_transition"),Are=Symbol.for("react.client.reference");function pa(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case f_:switch(e=e.type,e){case Rb:case t1:case e1:case a1:case i1:case Sre:return e;default:switch(e=e&&e.$$typeof,e){case n1:case o1:case s1:case l1:return e;case r1:return e;default:return t}}case p_:return t}}}Qt.ContextConsumer=r1;Qt.ContextProvider=n1;Qt.Element=f_;Qt.ForwardRef=o1;Qt.Fragment=Rb;Qt.Lazy=s1;Qt.Memo=l1;Qt.Portal=p_;Qt.Profiler=t1;Qt.StrictMode=e1;Qt.Suspense=a1;Qt.SuspenseList=i1;Qt.isContextConsumer=function(e){return pa(e)===r1};Qt.isContextProvider=function(e){return pa(e)===n1};Qt.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===f_};Qt.isForwardRef=function(e){return pa(e)===o1};Qt.isFragment=function(e){return pa(e)===Rb};Qt.isLazy=function(e){return pa(e)===s1};Qt.isMemo=function(e){return pa(e)===l1};Qt.isPortal=function(e){return pa(e)===p_};Qt.isProfiler=function(e){return pa(e)===t1};Qt.isStrictMode=function(e){return pa(e)===e1};Qt.isSuspense=function(e){return pa(e)===a1};Qt.isSuspenseList=function(e){return pa(e)===i1};Qt.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Rb||e===t1||e===e1||e===a1||e===i1||typeof e=="object"&&e!==null&&(e.$$typeof===s1||e.$$typeof===l1||e.$$typeof===n1||e.$$typeof===r1||e.$$typeof===o1||e.$$typeof===Are||e.getModuleId!==void 0)};Qt.typeOf=pa});var QL=on((G_e,ZL)=>{"use strict";ZL.exports=XL()});var tU=te(re()),rU=te(wM());var rt=te(re());var Fe=te(re());var Mt=te(re()),uu={github:{emoji:"\u{1F419}",label:"GitHub"},ruby:{emoji:"\u{1F48E}",label:"Ruby"},rails:{emoji:"\u{1F6E4}\uFE0F",label:"Rails"},aws:{emoji:"\u2601\uFE0F",label:"AWS"},gcp:{emoji:"\u{1F310}",label:"GCP"},python:{emoji:"\u{1F40D}",label:"Python"},typescript:{emoji:"\u{1F4D8}",label:"TypeScript"},docker:{emoji:"\u{1F433}",label:"Docker"},kubernetes:{emoji:"\u2638\uFE0F",label:"Kubernetes"}},cu={terminal:{emoji:"\u{1F4BB}",label:"Terminal"},playwright:{emoji:"\u{1F3AD}",label:"Playwright"},filesystem:{emoji:"\u{1F4C1}",label:"Filesystem"},code:{emoji:"\u{1F468}\u200D\u{1F4BB}",label:"Code"},database:{emoji:"\u{1F5C4}\uFE0F",label:"Database"},slack:{emoji:"\u{1F4AC}",label:"Slack"},fetch:{emoji:"\u{1F310}",label:"Fetch"},search:{emoji:"\u{1F50D}",label:"Search"},edit:{emoji:"\u270F\uFE0F",label:"Edit"},translate:{emoji:"\u{1F30D}",label:"Translate"},memory:{emoji:"\u{1F9E0}",label:"Memory"},ui:{emoji:"\u{1F9E9}",label:"Generative UI"}},gd={terminal:{instructions:["github"],tools:["terminal","code"]},webDeveloper:{instructions:["typescript"],tools:["playwright","fetch"]},documentAnalysis:{instructions:["python"],tools:["database","search","code"]},writing:{instructions:["ruby"],tools:["edit","memory"]},translation:{instructions:["ruby","python","typescript"],tools:["translate","code"]},playwright:{instructions:["typescript"],tools:["playwright","fetch"]},research:{instructions:["github"],tools:["fetch","search","memory"]},imageAnalysis:{instructions:["python"],tools:["filesystem","code"]},computerUse:{instructions:["github"],tools:["terminal","playwright"]},productDesign:{instructions:["typescript"],tools:["playwright","code"]}};var rV=({id:e="mascot"})=>Mt.default.createElement("g",{stroke:"none",fill:"none",fillRule:"evenodd",strokeWidth:"1"},Mt.default.createElement("g",{transform:"translate(25, 475) scale(-1, 1) rotate(-180) translate(-25, -475) translate(0, 450)"},Mt.default.createElement("g",{fillRule:"nonzero"},Mt.default.createElement("path",{d:"M421,271.3 C422.733,265.1 423.667,244.633 423.8,209.9 C423.9,173.4 423.8,142.1 423.5,140.4 C423.1,137.9 412.5,126.8 373.1,87.2 C345.6,59.7 321.7,36.3 319.8,35.3 C316.7,33.6 312.5,33.5 250,33.5 C186.5,33.5 183.3,33.6 178.2,35.4 C173.5,37.2 168.3,42.1 125.2,85.3 C69.3,141.4 75.6,134.9 73.7,138.7 C72.3,141.3 72,147.2 71.8,178.6 C71.3,243.6 71.8,276 73.4,276 C74.067,276 99.6,304.854 150,362.563 L350.015,362.563 L421,271.3 Z",fill:"#EB5555",stroke:"#000000",strokeWidth:"12"})),Mt.default.createElement("path",{d:"M216.5,202.5 C213.4,199.5 213.4,198.7 216.5,193.4 C223.2,182 248.2,176 264.5,181.9 C273,185 280.3,190.1 282.4,194.5 C284,197.9 284,198.3 282.5,200.6 C281.6,202 279.8,203.6 278.5,204.2 C276.4,205.1 275.4,204.7 270.1,200.8 C263,195.4 254.7,193.3 244.4,194.4 C236.1,195.3 234.3,196 228.6,200.9 C223.1,205.6 220,206.1 216.5,202.5 Z",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("path",{d:"M177.8,484.5 C169.1,482.1 162,475.2 157.7,465 C156.2,461.4 151.9,446.6 148.1,432 C144.3,417.4 140.7,404.3 140.1,402.8 L139,400 L94.8,400 C70.4,400 49.5,399.7 48.2,399.4 C45.1,398.5 42.7,393.8 43.9,390.8 C45.1,387.9 49.4,383.3 54,379.9 C68.7,369.2 86.3,364.8 120,363.4 C126.067,363.2 134.065,362.921 143.995,362.563 L350.015,362.563 C367.433,363.767 377.5,364.1 377.5,364.1 C411,365.2 433.1,371.5 446.2,383.8 C453.8,390.9 455.1,394.7 451.3,399 C451,399.3 429.6,399.7 403.7,400 L356.6,400.5 L353.3,412.5 C351.5,419.1 348.2,431.3 346.1,439.5 C339.9,463 336.7,470.5 329.4,477.5 C322.9,483.8 315.7,486.3 305.5,485.8 C298.1,485.4 296.1,484.7 280.5,477.8 C271.2,473.7 261.7,469.7 259.5,468.9 C250.9,466.1 238.1,467.9 224.9,473.8 C197.3,486.1 189.8,487.8 177.8,484.5 Z",stroke:"#000000",strokeWidth:"11",fill:"#000000",fillRule:"nonzero"}),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)"},Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"87",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"87",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"87",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"80",cy:"51",rx:"5",ry:"5"}),Mt.default.createElement("ellipse",{fill:"#F5E6D3",cx:"259",cy:"55",rx:"35",ry:"29"}),Mt.default.createElement("ellipse",{fill:"#5D4037",cx:"259",cy:"57",rx:"20",ry:"20"}),Mt.default.createElement("ellipse",{fill:"#2D1F1F",cx:"259",cy:"57",rx:"12",ry:"12"}),Mt.default.createElement("ellipse",{fill:"#FFFFFF",cx:"252",cy:"51",rx:"5",ry:"5"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("g",{transform:"translate(267.395, 54.835) scale(-1, 1) translate(-267.395, -54.835)"},Mt.default.createElement("path",{d:"M346.895,99.881 L335.287,108.67 L292.495,108.67 L211.805,108.67 C194.861,92.394 186.922,84.257 187.99,84.257 C188.99,84.257 187.689,77.518 187.99,71.118 C188.99,54.518 196.996,38.618 211.805,23.818 C219.711,15.918 222.813,13.518 230.118,10.018 C242.025,4.118 250.431,1.818 262.839,1.118 C274.147,0.518 285.354,2.218 295.561,6.018 C308.67,10.918 327.482,26.818 335.287,39.618 C342.092,50.918 346.895,65.818 346.895,76.018 C346.895,82.818 346.895,90.772 346.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("path",{d:"M158.895,99.881 L147.295,108.67 L104.531,108.67 L23.895,108.67 C6.961,92.394 -0.972,84.257 0.095,84.257 C1.095,84.257 -0.205,77.518 0.095,71.118 C1.095,54.518 9.095,38.618 23.895,23.818 C31.795,15.918 34.895,13.518 42.195,10.018 C54.095,4.118 62.495,1.818 74.895,1.118 C86.195,0.518 97.395,2.218 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 C158.895,82.818 158.895,90.772 158.895,99.881 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000",fillOpacity:"0.92"})),Mt.default.createElement("g",{transform:"translate(75.105, 196.182)",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M187.895,73.418 C187.895,60.818 195.095,43.418 205.495,30.818 C213.379,21.259 220.29,15.351 230.066,10.615 C233.275,8.66 236.386,7.08 239.229,6.018 C246.892,3.165 255.119,1.496 263.529,1.095 C267.063,0.859 270.58,0.912 274.131,1.261 C285.374,2.105 293.475,4.47 304.672,10.018 C311.734,13.402 314.868,15.757 322.213,23.049 L322.795,23.618 C326.306,27.085 329.397,30.586 332.082,34.15 L332.148,34.235 C341.116,45.994 346.03,58.349 346.8,71.118 C346.957,74.467 346.676,77.909 346.515,80.429 C346.693,80.646 346.917,80.701 347.195,80.618 C347.366,80.542 348.039,80.501 349.213,80.495 L349.775,80.495 C352.888,80.507 358.769,80.715 367.418,81.118 C374.646,86.469 378.26,91.703 378.26,96.818 C378.26,101.933 374.646,107.042 367.418,112.146 L15.403,112.146 L-20.38,113.348 C-27.807,110.322 -31.52,105.629 -31.52,99.27 C-31.52,92.911 -27.807,88.087 -20.38,84.798 C-13.63,84.605 -8.537,84.463 -5.101,84.373 C-5.115,84.296 -5.084,84.257 -5.01,84.257 C-4.01,84.257 -5.311,77.518 -5.01,71.118 C-4.01,54.518 3.996,38.618 18.805,23.818 C26.711,15.918 29.813,13.518 37.118,10.018 C49.025,4.118 57.431,1.818 69.839,1.118 C72.166,0.994 74.489,0.968 76.8,1.038 C76.165,1.058 75.53,1.084 74.895,1.118 C62.495,1.818 54.095,4.118 42.195,10.018 C34.895,13.518 31.795,15.918 23.895,23.818 C9.095,38.618 1.095,54.518 0.095,71.118 C-0.205,77.518 1.095,84.257 0.095,84.257 C-0.4,84.257 -2.131,84.296 -5.101,84.373 C-4.938,85.42 3.031,93.518 18.805,108.67 L142.287,108.67 L153.895,99.881 L153.895,76.018 C153.895,65.818 149.092,50.918 142.287,39.618 C134.482,26.818 115.67,10.918 102.561,6.018 C94.455,3 85.717,1.307 76.8,1.038 C87.451,0.716 97.968,2.432 107.595,6.018 C120.695,10.918 139.495,26.818 147.295,39.618 C154.095,50.918 158.895,65.818 158.895,76.018 L158.895,80.418 L164.995,80.418 C168.395,80.118 174.995,79.818 179.495,79.818 L187.895,79.818 L187.895,99.881 L199.502,108.67 L322.984,108.67 C339.929,92.394 347.867,84.257 346.8,84.257 C346.323,84.257 346.369,82.725 346.515,80.429 C346.051,79.868 345.895,78.223 345.895,75.118 C345.895,59.873 341.479,46.625 332.082,34.15 L331.696,33.647 C329.117,30.321 326.212,27.043 322.984,23.818 C322.722,23.556 322.465,23.299 322.213,23.049 C316.441,17.437 312.579,14.708 306.095,11.418 C294.424,5.583 284.144,2.245 274.131,1.261 C273.417,1.207 272.691,1.16 271.95,1.118 C269.132,0.968 266.321,0.962 263.529,1.095 C257.389,1.506 251.198,2.792 244.695,4.918 C239.073,6.731 234.301,8.563 230.066,10.615 C218.478,17.668 205.615,29.594 199.502,39.618 C192.698,50.917 187.895,65.817 187.895,76.017 L187.895,73.418 Z",stroke:"#000000",strokeWidth:"8",fill:"#000000"})),Mt.default.createElement("g",{transform:"translate(83.563, 252.212)",fill:"#FFFFFF",fillRule:"nonzero"},Mt.default.createElement("path",{d:"M12.837,35.288 C13.137,33.988 14.437,31.888 15.637,30.788 L17.837,28.788 L15.637,26.788 C14.437,25.688 13.137,23.588 12.837,22.288 C12.037,19.088 10.637,19.088 9.437,22.188 C8.937,23.488 7.537,25.588 6.237,26.788 C4.037,28.788 4.037,28.988 5.737,29.988 C6.837,30.488 8.237,32.488 9.037,34.388 C10.737,38.388 11.937,38.688 12.837,35.288 Z M29.237,33.088 C30.137,29.688 31.837,27.088 34.937,24.088 L39.337,19.888 L36.337,17.788 C33.437,15.588 28.437,7.288 28.437,4.288 C28.437,2.188 26.537,2.388 25.837,4.588 C23.937,10.388 21.637,14.388 18.337,17.188 L14.537,20.388 L17.337,22.088 C19.837,23.588 24.337,30.988 25.837,36.088 C26.737,39.088 27.937,37.988 29.237,33.088 Z M10.937,12.488 L13.037,9.288 L10.937,6.088 C8.837,2.788 7.437,1.888 7.437,3.988 C7.437,4.588 6.537,6.088 5.437,7.288 L3.437,9.488 L5.437,11.288 C6.537,12.288 7.437,13.688 7.437,14.488 C7.437,16.688 8.837,15.888 10.937,12.488 Z"}),Mt.default.createElement("path",{d:"M203.437,36.388 C203.437,35.588 204.637,33.588 206.037,31.888 L208.637,28.788 L206.037,25.688 C204.637,23.988 203.437,21.988 203.437,21.188 C203.437,18.588 201.437,19.788 200.037,23.188 C199.237,25.088 197.837,27.088 196.737,27.688 C195.037,28.688 195.037,28.788 197.037,30.188 C198.237,30.988 199.737,33.088 200.437,34.788 C201.737,37.888 203.437,38.788 203.437,36.388 Z M220.837,32.588 C221.937,29.288 224.237,25.788 226.737,23.388 C229.737,20.488 230.537,19.288 229.437,18.988 C226.637,17.988 222.437,12.588 220.737,7.688 C219.737,4.988 218.737,2.788 218.337,2.788 C218.037,2.788 216.737,5.288 215.537,8.288 C214.337,11.288 211.737,15.088 209.837,16.688 C205.937,20.188 205.637,21.388 208.437,22.288 C210.937,23.088 214.737,28.788 216.437,34.088 C217.037,36.088 217.937,37.788 218.237,37.788 C218.637,37.788 219.837,35.388 220.837,32.588 Z M201.137,14.088 C201.437,13.088 202.437,11.488 203.337,10.488 C204.337,9.288 204.537,8.388 203.837,7.988 C203.237,7.588 202.237,6.288 201.537,5.088 C200.137,2.388 198.837,2.188 198.037,4.588 C197.737,5.488 196.937,6.988 196.337,7.888 C195.337,9.288 195.437,9.888 196.737,11.288 C197.637,12.188 198.437,13.588 198.437,14.388 C198.437,16.388 200.337,16.188 201.137,14.088 Z"}))));function wr({size:e=200,instructions:t=[],tools:r=[],showDecorations:n=!1,className:o="",hat:a,hatAccessory:i,heldItem:l,theme:s,customColors:u}){return Mt.default.createElement("div",{className:`inline-flex flex-col items-center ${o}`},n&&t.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mb-1"},t.map(c=>{let d=uu[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})),Mt.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 500 500",width:e,height:e,role:"img","aria-label":"Active Agent mascot"},Mt.default.createElement("title",null,"ActiveAgent"),Mt.default.createElement(rV,null)),n&&r.length>0&&Mt.default.createElement("div",{className:"flex gap-1 mt-1"},r.map(c=>{let d=cu[c];return d?Mt.default.createElement("span",{key:c,className:"text-sm",title:d.label},d.emoji):null})))}var to=te(re());var _a=te(re()),SM=(0,_a.createContext)();function AM({children:e}){let[t,r]=(0,_a.useState)(()=>{let o=localStorage.getItem("dashboard-theme");return o?o==="dark":window.matchMedia("(prefers-color-scheme: dark)").matches});(0,_a.useEffect)(()=>{localStorage.setItem("dashboard-theme",t?"dark":"light")},[t]),(0,_a.useEffect)(()=>{let o=window.matchMedia("(prefers-color-scheme: dark)"),a=i=>{localStorage.getItem("dashboard-theme")||r(i.matches)};return o.addEventListener("change",a),()=>o.removeEventListener("change",a)},[]);let n=()=>r(!t);return _a.default.createElement(SM.Provider,{value:{darkMode:t,toggleDarkMode:n}},e)}function Nt(){let e=(0,_a.useContext)(SM);if(!e)throw new Error("useTheme must be used within a ThemeProvider");return e}function yd({name:e,subtitle:t,badge:r,accentColor:n,stats:o=[],footer:a,onClick:i,actions:l}){let{darkMode:s}=Nt(),[u,c]=to.default.useState(!1),d={cardBg:s?"rgba(255,255,255,0.05)":"#ffffff",border:s?"rgba(255,255,255,0.1)":"#e5e7eb",borderHover:s?"rgba(255,255,255,0.2)":"#d1d5db",tileBg:s?"rgba(255,255,255,0.05)":"#f9fafb",textPrimary:s?"#f9fafb":"#111827",textSecondary:s?"#9ca3af":"#6b7280",textMuted:s?"#6b7280":"#9ca3af"},f=p=>p==="good"?s?"#4ade80":"#16a34a":p==="warn"?s?"#facc15":"#ca8a04":p==="bad"?s?"#f87171":"#dc2626":p==="muted"?d.textMuted:d.textPrimary;return to.default.createElement("div",{"data-testid":"agent-card","data-agent-name":typeof e=="string"?e:void 0,onClick:i,onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1),role:i?"button":void 0,tabIndex:i?0:void 0,onKeyDown:p=>{i&&(p.key==="Enter"||p.key===" ")&&(p.preventDefault(),i(p))},style:{background:d.cardBg,borderTop:`1px solid ${u?d.borderHover:d.border}`,borderRight:`1px solid ${u?d.borderHover:d.border}`,borderBottom:`1px solid ${u?d.borderHover:d.border}`,borderLeft:n?`4px solid ${n}`:`1px solid ${u?d.borderHover:d.border}`,borderRadius:"12px",padding:"16px",cursor:i?"pointer":"default",transition:"border-color 0.15s ease, box-shadow 0.15s ease",boxShadow:u&&i?"0 4px 16px rgba(0,0,0,0.08)":"none",display:"flex",flexDirection:"column",gap:"12px"}},to.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"8px"}},to.default.createElement("div",{style:{minWidth:0}},to.default.createElement("div",{style:{fontWeight:600,fontSize:"15px",color:u&&i?"#ef4444":d.textPrimary,transition:"color 0.15s ease",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e},e),t&&to.default.createElement("div",{style:{fontSize:"13px",color:d.textSecondary,marginTop:"2px",display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"}},t)),r&&to.default.createElement("div",{style:{flexShrink:0}},r)),o.length>0&&to.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)",gap:"6px"}},o.map(p=>to.default.createElement("div",{key:p.label,title:p.title,style:{background:d.tileBg,borderRadius:"8px",padding:"6px 8px",textAlign:"center"}},to.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,lineHeight:1.2,color:f(p.tone)}},p.value),to.default.createElement("div",{style:{fontSize:"10px",textTransform:"uppercase",letterSpacing:"0.04em",color:d.textMuted,whiteSpace:"nowrap"}},p.label)))),a&&to.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"8px",fontSize:"12px",color:d.textMuted}},a),l&&to.default.createElement("div",{style:{opacity:u?1:0,transition:"opacity 0.15s ease"}},l))}function DA(e){return e==null?"muted":e>=.85?"good":e>=.7?"warn":"bad"}var nV=[{value:"recent",label:"Recently updated"},{value:"popular",label:"Most runs"},{value:"longest",label:"Longest average"},{value:"cost",label:"Highest cost"},{value:"tokens",label:"Most tokens"}];function IA({agents:e,meta:t,onSelect:r,onNew:n,onBrowseTemplates:o,onDuplicate:a,onDelete:i,onRefresh:l,sort:s="recent",onSortChange:u,isLoading:c}){let[d,f]=(0,Fe.useState)(""),[p,m]=(0,Fe.useState)(""),[g,h]=(0,Fe.useState)(""),v=e.filter(k=>{let A=!d||k.name.toLowerCase().includes(d.toLowerCase())||k.description?.toLowerCase().includes(d.toLowerCase()),M=!p||k.provider===p,H=!g||k.status===g;return A&&M&&H}),y=k=>{let A=new Date(k),H=new Date-A,F=Math.floor(H/(1e3*60*60*24));return F===0?"Today":F===1?"Yesterday":F<7?`${F} days ago`:A.toLocaleDateString()},b=k=>{switch(k){case"active":return"bg-green-100 text-green-700";case"draft":return"bg-yellow-100 text-yellow-700";case"archived":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},x=k=>k==null?"\u2014":k<1e3?`${Math.round(k)}ms`:`${(k/1e3).toFixed(1)}s`,S=k=>k==null?"\u2014":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:`${k}`,w=k=>k==null?"\u2014":k>0&&k<.01?"<$0.01":`$${k.toFixed(2)}`,T=k=>{if(!k)return"\u2014";let A=Math.floor((new Date-new Date(k))/(1e3*60*60*24));return A<=0?"Today":A<30?`${A}d ago`:new Date(k).toLocaleDateString()};return Fe.default.createElement("div",{className:"space-y-6"},Fe.default.createElement("div",{className:"flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4"},Fe.default.createElement("div",{className:"flex-1 flex items-center space-x-4"},Fe.default.createElement("div",{className:"relative flex-1 max-w-md"},Fe.default.createElement("input",{type:"text",placeholder:"Search agents...",value:d,onChange:k=>f(k.target.value),className:"w-full pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"}),Fe.default.createElement("svg",{className:"absolute left-3 top-2.5 h-5 w-5 text-gray-400",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"}))),Fe.default.createElement("select",{value:p,onChange:k=>m(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Providers"),t.providers?.map(k=>Fe.default.createElement("option",{key:k,value:k},k.charAt(0).toUpperCase()+k.slice(1)))),Fe.default.createElement("select",{value:g,onChange:k=>h(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Fe.default.createElement("option",{value:""},"All Status"),Fe.default.createElement("option",{value:"active"},"Active"),Fe.default.createElement("option",{value:"draft"},"Draft"),Fe.default.createElement("option",{value:"archived"},"Archived")),Fe.default.createElement("select",{value:s,onChange:k=>u?.(k.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500",title:"Rank agents by their scorecard"},nV.map(k=>Fe.default.createElement("option",{key:k.value,value:k.value},k.label)))),Fe.default.createElement("div",{className:"flex items-center space-x-3"},Fe.default.createElement("button",{onClick:l,disabled:c,className:"p-2 text-gray-500 hover:text-gray-700 hover:bg-gray-100 rounded-lg transition-colors"},Fe.default.createElement("svg",{className:`h-5 w-5 ${c?"animate-spin":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"}))),Fe.default.createElement("button",{onClick:o,className:"flex items-center space-x-2 px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("button",{onClick:n,className:"flex items-center space-x-2 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"New Agent")))),v.length>0?Fe.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-6"},v.map(k=>{let A=k.stats||{},M=A.run_sources||[],H=M.length?`Counted from ${M.map(F=>F==="platform"?"dashboard runs":"reported telemetry").join(" + ")}`:void 0;return Fe.default.createElement(yd,{key:k.id,name:k.name,subtitle:k.description||"No description",badge:Fe.default.createElement("span",{className:`px-2 py-0.5 text-xs font-medium rounded-full ${b(k.status)}`},k.status),onClick:()=>r(k),stats:[{label:`Runs ${A.window_days||30}d`,value:A.runs??0,title:H},{label:"Success",value:A.success_rate!=null?`${Math.round(A.success_rate)}%`:"\u2014",tone:DA(A.success_rate!=null?A.success_rate/100:null)},{label:"Avg time",value:x(A.avg_duration_ms)},{label:A.eval_samples_evaluated?`Eval ${A.eval_samples_passed}/${A.eval_samples_evaluated}`:"Eval",title:A.eval_samples_evaluated?`Latest evaluation: ${A.eval_samples_passed} of ${A.eval_samples_evaluated} samples passed`:void 0,value:A.eval_score!=null?`${Math.round(A.eval_score*100)}%`:"\u2014",tone:DA(A.eval_score)},{label:"Tokens",value:S(A.tokens)},{label:"Cost",value:w(A.cost),title:"Estimated from token counts at each model's published rates",tone:A.cost==null?"muted":void 0}],footer:Fe.default.createElement(Fe.default.Fragment,null,Fe.default.createElement("span",{style:{display:"flex",alignItems:"center",gap:"6px",minWidth:0}},Fe.default.createElement("span",{style:{padding:"2px 6px",borderRadius:"4px",background:"rgba(128,128,128,0.15)",whiteSpace:"nowrap",flexShrink:0}},k.provider),Fe.default.createElement("span",{title:k.model,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},k.model)),Fe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:`Updated ${y(k.updatedAt||k.updated_at)}`},A.last_run_at?`Last run ${T(A.last_run_at)}`:`Updated ${y(k.updatedAt||k.updated_at)}`)),actions:Fe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"13px"}},Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),a(k.id)},className:"text-gray-500 hover:text-red-600 transition-colors"},"Duplicate"),Fe.default.createElement("button",{onClick:F=>{F.stopPropagation(),i(k.id)},className:"text-red-500 hover:text-red-700 transition-colors"},"Delete"))})})):Fe.default.createElement("div",{className:"text-center py-16"},Fe.default.createElement("div",{className:"inline-block mb-4"},Fe.default.createElement(wr,{size:100})),Fe.default.createElement("h3",{className:"text-lg font-medium text-gray-900 mb-2"},e.length===0?"No agents yet":"No matching agents"),Fe.default.createElement("p",{className:"text-gray-500 mb-6"},e.length===0?"Create your first AI agent to get started":"Try adjusting your search or filters"),e.length===0&&Fe.default.createElement("div",{className:"flex items-center justify-center space-x-4"},Fe.default.createElement("button",{onClick:o,className:"inline-flex items-center space-x-2 px-6 py-3 border-2 border-red-500 text-red-600 rounded-lg hover:bg-red-50 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})),Fe.default.createElement("span",null,"Browse Templates")),Fe.default.createElement("span",{className:"text-gray-400"},"or"),Fe.default.createElement("button",{onClick:n,className:"inline-flex items-center space-x-2 px-6 py-3 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},Fe.default.createElement("svg",{className:"h-5 w-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Fe.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})),Fe.default.createElement("span",null,"Create From Scratch")))))}var ge=te(re());var Yt={chevronRight:">",chevronDown:"v",chevronUp:"^",arrow:"->",arrowLeft:"<-",pipe:"|",corner:"+",branch:"|-",success:"[+]",error:"[!]",warning:"[?]",info:"[i]",pending:"[ ]",active:"[*]",add:"+",remove:"-",edit:"*",view:"@",run:">",stop:"x",refresh:"~",trace:"->",span:"|",metric:"#",log:">",agent:"@",action:"#",time:":",cost:"$",tokens:"T",memory:"M",nav:{agents:"@",newAgent:"+",demo:">",traces:"->",metrics:"#",evaluations:"=",interactions:"<>",benchmarks:"%%",replay:"[>]",tools:"[]",mcp:"{}",docs:"?",github:"*"},spans:{root:">",prompt:"*",generate:"|>",llm:">>",thinking:"..",tool:"[]",response:"<|"}};var Ve={mono:"'SF Mono', 'Fira Code', 'Consolas', monospace",sizes:{xs:"10px",sm:"11px",base:"13px",md:"14px",lg:"16px",xl:"20px",xxl:"24px"},weights:{normal:400,medium:500,semibold:600,bold:700}};var hd={openai:["gpt-5.1","gpt-5","gpt-5-mini","gpt-5-nano"],anthropic:["claude-opus-5","claude-fable-5","claude-sonnet-5","claude-opus-4-8","claude-haiku-4-5"],ollama:["qwen3:8b","llama3.2","mistral","gemma3"],openrouter:["anthropic/claude-sonnet-4.5","openai/gpt-5.1","meta-llama/llama-3.3-70b-instruct"]};async function yh(e){try{let t=await fetch(`/api/provider_models?provider=${encodeURIComponent(e)}`);if(t.ok){let r=await t.json();if(Array.isArray(r.models)&&r.models.length>0)return r.models}}catch{}return hd[e]||[]}var hh=[{id:"basics",label:"Basics",icon:"1"},{id:"configure",label:"Configure",icon:"2"},{id:"review",label:"Review",icon:"3"}];function jA({meta:e,onSave:t,onCancel:r,isLoading:n,initialDraft:o=null}){let[a,i]=(0,ge.useState)(0),[l,s]=(0,ge.useState)(hd),[u,c]=(0,ge.useState)({name:"",description:"",provider:"openai",model:hd.openai[0],instructions:"",preset_type:"terminal",instruction_sets:["github"],tools:["terminal","code"],model_config:{temperature:.7},...o?{name:o.name,description:o.description||"",instructions:o.instructions,provider:o.provider,model:o.model,tools:o.tools||[],instruction_sets:[],mcp_servers:[]}:{}});(0,ge.useEffect)(()=>{let h=!1;return yh(u.provider).then(v=>{if(h||v.length===0)return;let y=o?.provider===u.provider&&o.model?[...new Set([o.model,...v])]:v;s(b=>({...b,[u.provider]:y})),c(b=>y.includes(b.model)?b:{...b,model:y[0]})}),()=>{h=!0}},[u.provider]);let d=(h,v)=>{c(y=>({...y,[h]:v}))},f=(h,v)=>{c(y=>{let b=y[h]||[],x=b.includes(v)?b.filter(S=>S!==v):[...b,v];return{...y,[h]:x}})},p=h=>{if(d("preset_type",h),gd[h]){let v=gd[h];d("instruction_sets",[...v.instructions]),d("tools",[...v.tools])}},m=()=>{switch(a){case 0:return u.name.trim().length>=2;case 1:return!0;case 2:return!0;default:return!1}},g=()=>{t(u)};return ge.default.createElement("div",{className:"max-w-4xl mx-auto"},o&&ge.default.createElement("div",{className:"mb-4 p-4 rounded-lg border border-red-200 bg-red-50 text-sm text-gray-700"},"Prepared by your workspace assistant. Review the instructions, model, and tools before creating this agent."),ge.default.createElement("div",{className:"mb-8"},ge.default.createElement("div",{className:"flex items-center justify-between"},hh.map((h,v)=>ge.default.createElement("div",{key:h.id,className:"flex items-center"},ge.default.createElement("div",{className:`flex items-center justify-center w-10 h-10 rounded-full border-2 transition-colors ${vi(a-1),className:"px-6 py-2 border border-gray-300 rounded-lg text-gray-700 hover:bg-gray-50 transition-colors"},a===0?"Cancel":"Back"),ge.default.createElement("button",{onClick:a===hh.length-1?g:()=>i(a+1),disabled:!m()||n,className:`px-6 py-2 rounded-lg transition-colors ${m()&&!n?"bg-red-500 text-white hover:bg-red-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},a===hh.length-1?"Create Agent":"Continue")))}function oV({formData:e,updateField:t,providerModels:r}){return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Basic Information"),ge.default.createElement("p",{className:"text-gray-500"},"Give your agent a name and configure its AI provider."),ge.default.createElement("div",{className:"space-y-4"},ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Agent Name *"),ge.default.createElement("input",{type:"text",value:e.name,onChange:n=>t("name",n.target.value),placeholder:"My Awesome Agent",className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Description"),ge.default.createElement("textarea",{value:e.description,onChange:n=>t("description",n.target.value),placeholder:"What does this agent do?",rows:3,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent"})),ge.default.createElement("div",{className:"grid grid-cols-2 gap-4"},ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Provider"),ge.default.createElement("select",{value:e.provider,onChange:n=>{t("provider",n.target.value),t("model",r[n.target.value][0])},className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Object.keys(r).map(n=>ge.default.createElement("option",{key:n,value:n},n.charAt(0).toUpperCase()+n.slice(1))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Model"),ge.default.createElement("select",{value:e.model,onChange:n=>t("model",n.target.value),className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},r[e.provider].map(n=>ge.default.createElement("option",{key:n,value:n},n))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-1"},"Temperature: ",e.model_config.temperature),ge.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:n=>t("model_config",{...e.model_config,temperature:parseFloat(n.target.value)}),className:"w-full accent-red-500"}),ge.default.createElement("div",{className:"flex justify-between text-xs text-gray-400"},ge.default.createElement("span",null,"Precise"),ge.default.createElement("span",null,"Creative")))))}function aV({formData:e,meta:t,toggleArrayItem:r,updateField:n,selectPreset:o}){let a=Object.keys(gd),i=Object.keys(uu),l=Object.keys(cu);return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Configure Agent"),ge.default.createElement("p",{className:"text-gray-500"},"Choose a preset or customize instructions and tools."),ge.default.createElement("div",{className:"flex justify-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ge.default.createElement("div",{className:"flex flex-col items-center"},ge.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(s=>{let u=uu[s];return u?ge.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})),ge.default.createElement(wr,{size:120}),ge.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(s=>{let u=cu[s];return u?ge.default.createElement("span",{key:s,className:"text-lg",title:u.label},u.emoji):null})))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},"Quick Presets"),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map(s=>ge.default.createElement("button",{key:s,onClick:()=>o(s),className:`px-4 py-2 rounded-lg border-2 text-sm transition-all ${e.preset_type===s?"border-red-500 bg-red-50 text-red-700":"border-gray-200 hover:border-gray-300 text-gray-600"}`},ge.default.createElement("span",{className:"capitalize"},s.replace(/([A-Z])/g," $1").trim()))))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ge.default.createElement("strong",null,"Instructions"),ge.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"System/developer messages")),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},i.map(s=>{let u=uu[s];return ge.default.createElement("button",{key:s,onClick:()=>r("instruction_sets",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.instruction_sets.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ge.default.createElement("span",null,u.emoji),ge.default.createElement("span",null,u.label))}))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-3"},ge.default.createElement("strong",null,"Tools"),ge.default.createElement("span",{className:"text-gray-400 font-normal ml-2"},"MCPs and integrations")),ge.default.createElement("div",{className:"flex flex-wrap gap-2"},l.map(s=>{let u=cu[s];return ge.default.createElement("button",{key:s,onClick:()=>r("tools",s),className:`flex items-center gap-1.5 px-3 py-1.5 rounded-full text-sm transition-colors ${e.tools.includes(s)?"bg-red-500 text-white":"bg-gray-100 text-gray-700 hover:bg-gray-200"}`},ge.default.createElement("span",null,u.emoji),ge.default.createElement("span",null,u.label))}))),ge.default.createElement("div",null,ge.default.createElement("label",{className:"block text-sm font-medium text-gray-700 mb-2"},"System Instructions"),ge.default.createElement("textarea",{value:e.instructions,onChange:s=>n("instructions",s.target.value),placeholder:"You are a helpful AI assistant that...",rows:4,className:"w-full px-4 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500 focus:border-transparent font-mono text-sm"})))}function iV({formData:e}){return ge.default.createElement("div",{className:"space-y-6"},ge.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Review Your Agent"),ge.default.createElement("p",{className:"text-gray-500"},"Confirm the configuration before creating your agent."),ge.default.createElement("div",{className:"grid grid-cols-2 gap-8"},ge.default.createElement("div",{className:"flex flex-col items-center py-6 bg-gradient-to-br from-gray-50 to-gray-100 rounded-xl"},ge.default.createElement("div",{className:"flex gap-2 mb-2"},e.instruction_sets.map(t=>{let r=uu[t];return r?ge.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ge.default.createElement(wr,{size:100}),ge.default.createElement("div",{className:"flex gap-2 mt-2"},e.tools.map(t=>{let r=cu[t];return r?ge.default.createElement("span",{key:t,className:"text-lg",title:r.label},r.emoji):null})),ge.default.createElement("h3",{className:"mt-4 text-lg font-semibold text-gray-900"},e.name),ge.default.createElement("p",{className:"text-sm text-gray-500"},e.description||"No description")),ge.default.createElement("div",{className:"space-y-4"},ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Provider / Model"),ge.default.createElement("p",{className:"text-gray-900"},e.provider," / ",e.model)),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Temperature"),ge.default.createElement("p",{className:"text-gray-900"},e.model_config.temperature)),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Instructions"),ge.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.instruction_sets.length>0?e.instruction_sets.map(t=>{let r=uu[t];return r?ge.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-gray-100 rounded text-xs"},r.emoji," ",r.label):null}):ge.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))),ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"Tools"),ge.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},e.tools.length>0?e.tools.map(t=>{let r=cu[t];return r?ge.default.createElement("span",{key:t,className:"px-2 py-0.5 bg-red-100 text-red-700 rounded text-xs"},r.emoji," ",r.label):null}):ge.default.createElement("span",{className:"text-gray-400 text-sm"},"None selected"))))),e.instructions&&ge.default.createElement("div",null,ge.default.createElement("span",{className:"text-sm font-medium text-gray-500"},"System Instructions"),ge.default.createElement("pre",{className:"mt-2 p-4 bg-gray-50 rounded-lg text-sm text-gray-700 whitespace-pre-wrap font-mono"},e.instructions)))}var le=te(re());var Ro=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",borderStrong:e?"rgba(255,255,255,0.2)":"#d1d5db",mutedBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",textPrimary:e?"#ffffff":"#111827",textCell:e?"rgba(255,255,255,0.75)":"#4b5563",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",inputBg:e?"rgba(255,255,255,0.06)":"#ffffff",inputBorder:e?"rgba(255,255,255,0.2)":"#d1d5db",trackBg:e?"rgba(255,255,255,0.1)":"#f3f4f6"}),bn="#ef4444";var $=te(re());var xh=te(re()),EM=te(re());function kM(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{var r=e.children,n=e.width,o=e.height,a=e.viewBox,i=e.className,l=e.style,s=e.title,u=e.desc,c=dV(e,cV),d=a||{width:n,height:o,x:0,y:0},f=He("recharts-surface",i);return xh.createElement("svg",BA({},dr(c),{className:f,width:n,height:o,style:l,viewBox:"".concat(d.x," ").concat(d.y," ").concat(d.width," ").concat(d.height),ref:t}),xh.createElement("title",null,s),xh.createElement("desc",null,u),r)});var bh=te(re());var pV=["children","className"];function $A(){return $A=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=e.children,n=e.className,o=mV(e,pV),a=He("recharts-layer",n);return bh.createElement("g",$A({className:a},dr(o),{ref:t}),r)});var Oo=te(re()),G0=te(re()),E8=te(bp());function wh(e){return e==="__proto__"}var gV=/\.|(\[(?:[^[\]]*|(["'])(?:(?!\2)[^\\]|\\.)*?\2)\])/;function Sh(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e===""||e.startsWith(".")||e.endsWith(".")?!1:gV.test(e);default:return!1}}function xd(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}function FA(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(FA).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}function bd(e){if(Array.isArray(e))return e.map(xd);if(typeof e=="symbol")return[e];e=FA(e);let t=[],r=e.length;if(r===0)return t;let n=0,o="",a="",i=!1;for(e.charCodeAt(0)===46&&t.push("");n1&&arguments[1]!==void 0?arguments[1]:hV,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function Rr(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n{var l=r[i-1];return typeof l=="string"?o+l+a:l!==void 0?o+ea(l)+a:o+a},"")}var Xt=e=>e===0?0:e>0?1:-1,cn=e=>typeof e=="number"&&e!=+e,Ii=e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,Se=e=>(typeof e=="number"||e instanceof Number)&&!cn(e),Fn=e=>Se(e)||typeof e=="string",xV=0,ji=e=>{var t=++xV;return"".concat(e||"").concat(t)},Sr=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!Se(t)&&typeof t!="string")return n;var a;if(Ii(t)){if(r==null)return n;var i=t.indexOf("%");a=r*parseFloat(t.slice(0,i))/100}else a=+t;return cn(a)&&(a=n),o&&r!=null&&a>r&&(a=r),a},UA=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;nn&&(typeof t=="function"?t(n):un(n,t))===r)}var mt=e=>e===null||typeof e>"u",zi=e=>mt(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function en(e){return e!=null}function Un(){}function bm(e){if(e)return{x:e.x,y:e.y,upperWidth:"upperWidth"in e?e.upperWidth:e.width,lowerWidth:"lowerWidth"in e?e.lowerWidth:e.width,width:e.width,height:e.height}}function OM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Za(e){for(var t=1;t{var t=e.viewBox,r=e.position,n=e.offset,o=n===void 0?0:n,a=e.parentViewBox,i=e.clamp,l=bm(t),s=l.x,u=l.y,c=l.height,d=l.upperWidth,f=l.lowerWidth,p=s,m=s+(d-f)/2,g=(p+m)/2,h=(d+f)/2,v=p+d/2,y=c>=0?1:-1,b=y*o,x=y>0?"end":"start",S=y>0?"start":"end",w=d>=0?1:-1,T=w*o,k=w>0?"end":"start",A=w>0?"start":"end",M=a;if(r==="top"){var H={x:p+d/2,y:u-b,horizontalAnchor:"middle",verticalAnchor:x};return i&&M&&(H.height=Math.max(u-M.y,0),H.width=d),H}if(r==="bottom"){var F={x:m+f/2,y:u+c+b,horizontalAnchor:"middle",verticalAnchor:S};return i&&M&&(F.height=Math.max(M.y+M.height-(u+c),0),F.width=f),F}if(r==="left"){var X={x:g-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"};return i&&M&&(X.width=Math.max(X.x-M.x,0),X.height=c),X}if(r==="right"){var P={x:g+h+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"};return i&&M&&(P.width=Math.max(M.x+M.width-P.x,0),P.height=c),P}var Y=i&&M?{width:h,height:c}:{};return r==="insideLeft"?Za({x:g+T,y:u+c/2,horizontalAnchor:A,verticalAnchor:"middle"},Y):r==="insideRight"?Za({x:g+h-T,y:u+c/2,horizontalAnchor:k,verticalAnchor:"middle"},Y):r==="insideTop"?Za({x:p+d/2,y:u+b,horizontalAnchor:"middle",verticalAnchor:S},Y):r==="insideBottom"?Za({x:m+f/2,y:u+c-b,horizontalAnchor:"middle",verticalAnchor:x},Y):r==="insideTopLeft"?Za({x:p+T,y:u+b,horizontalAnchor:A,verticalAnchor:S},Y):r==="insideTopRight"?Za({x:p+d-T,y:u+b,horizontalAnchor:k,verticalAnchor:S},Y):r==="insideBottomLeft"?Za({x:m+T,y:u+c-b,horizontalAnchor:A,verticalAnchor:x},Y):r==="insideBottomRight"?Za({x:m+f-T,y:u+c-b,horizontalAnchor:k,verticalAnchor:x},Y):r&&typeof r=="object"&&(Se(r.x)||Ii(r.x))&&(Se(r.y)||Ii(r.y))?Za({x:s+Sr(r.x,h),y:u+Sr(r.y,c),horizontalAnchor:"end",verticalAnchor:"end"},Y):Za({x:v,y:u+c/2,horizontalAnchor:"middle",verticalAnchor:"middle"},Y)},AV=["top","left","right","bottom"];function wm(e){return e==null?!1:typeof e=="object"?!0:AV.includes(e)}var Ch=te(re()),WA=(0,Ch.createContext)(null),TM=()=>(0,Ch.useContext)(WA);var Wn=te(re());var XM=te(re());function $t(e){return function(){return e}}var HA=Math.cos;var Sm=Math.sin,dn=Math.sqrt;var du=Math.PI,Tfe=du/2,wd=2*du;var VA=Math.PI,KA=2*VA,fu=1e-6,kV=KA-fu;function MM(e){this._+=e[0];for(let t=1,r=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return MM;let r=10**t;return function(n){this._+=n[0];for(let o=1,a=n.length;ofu)if(!(Math.abs(d*s-u*c)>fu)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let p=n-i,m=o-l,g=s*s+u*u,h=p*p+m*m,v=Math.sqrt(g),y=Math.sqrt(f),b=a*Math.tan((VA-Math.acos((g+f-h)/(2*v*y)))/2),x=b/y,S=b/v;Math.abs(x-1)>fu&&this._append`L${t+x*c},${r+x*d}`,this._append`A${a},${a},0,0,${+(d*p>c*m)},${this._x1=t+S*s},${this._y1=r+S*u}`}}arc(t,r,n,o,a,i){if(t=+t,r=+r,n=+n,i=!!i,n<0)throw new Error(`negative radius: ${n}`);let l=n*Math.cos(o),s=n*Math.sin(o),u=t+l,c=r+s,d=1^i,f=i?o-a:a-o;this._x1===null?this._append`M${u},${c}`:(Math.abs(this._x1-u)>fu||Math.abs(this._y1-c)>fu)&&this._append`L${u},${c}`,n&&(f<0&&(f=f%KA+KA),f>kV?this._append`A${n},${n},0,1,${d},${t-l},${r-s}A${n},${n},0,1,${d},${this._x1=u},${this._y1=c}`:f>fu&&this._append`A${n},${n},0,${+(f>=VA)},${d},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,o){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+o}h${-n}Z`}toString(){return this._}};function PM(){return new pu}PM.prototype=pu.prototype;function Sd(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{let n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new pu(t)}var Bfe=Array.prototype.slice;function Ad(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function DM(e){this._context=e}DM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Xl(e){return new DM(e)}function Nh(e){return e[0]}function _h(e){return e[1]}function Am(e,t){var r=$t(!0),n=null,o=Xl,a=null,i=Sd(l);e=typeof e=="function"?e:e===void 0?Nh:$t(e),t=typeof t=="function"?t:t===void 0?_h:$t(t);function l(s){var u,c=(s=Ad(s)).length,d,f=!1,p;for(n==null&&(a=o(p=i())),u=0;u<=c;++u)!(u=p;--m)l.point(b[m],x[m]);l.lineEnd(),l.areaEnd()}v&&(b[f]=+e(h,f,d),x[f]=+t(h,f,d),l.point(n?+n(h,f,d):b[f],r?+r(h,f,d):x[f]))}if(y)return l=null,y+""||null}function c(){return Am().defined(o).curve(i).context(a)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:$t(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:$t(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:$t(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:$t(+d),u):r},u.lineX0=u.lineY0=function(){return c().x(e).y(t)},u.lineY1=function(){return c().x(e).y(r)},u.lineX1=function(){return c().x(n).y(t)},u.defined=function(d){return arguments.length?(o=typeof d=="function"?d:$t(!!d),u):o},u.curve=function(d){return arguments.length?(i=d,a!=null&&(l=i(a)),u):i},u.context=function(d){return arguments.length?(d==null?a=l=null:l=i(a=d),u):a},u}var Eh=class{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}};function qA(e){return new Eh(e,!0)}function GA(e){return new Eh(e,!1)}var Cd={draw(e,t){let r=dn(t/du);e.moveTo(r,0),e.arc(0,0,r,0,wd)}};var YA={draw(e,t){let r=dn(t/5)/2;e.moveTo(-3*r,-r),e.lineTo(-r,-r),e.lineTo(-r,-3*r),e.lineTo(r,-3*r),e.lineTo(r,-r),e.lineTo(3*r,-r),e.lineTo(3*r,r),e.lineTo(r,r),e.lineTo(r,3*r),e.lineTo(-r,3*r),e.lineTo(-r,r),e.lineTo(-3*r,r),e.closePath()}};var IM=dn(1/3),NV=IM*2,XA={draw(e,t){let r=dn(t/NV),n=r*IM;e.moveTo(0,-r),e.lineTo(n,0),e.lineTo(0,r),e.lineTo(-n,0),e.closePath()}};var ZA={draw(e,t){let r=dn(t),n=-r/2;e.rect(n,n,r,r)}};var _V=.8908130915292852,jM=Sm(du/10)/Sm(7*du/10),EV=Sm(wd/10)*jM,OV=-HA(wd/10)*jM,QA={draw(e,t){let r=dn(t*_V),n=EV*r,o=OV*r;e.moveTo(0,-r),e.lineTo(n,o);for(let a=1;a<5;++a){let i=wd*a/5,l=HA(i),s=Sm(i);e.lineTo(s*r,-l*r),e.lineTo(l*n-s*o,s*n+l*o)}e.closePath()}};var JA=dn(3),RA={draw(e,t){let r=-dn(t/(JA*3));e.moveTo(0,r*2),e.lineTo(-JA*r,-r),e.lineTo(JA*r,-r),e.closePath()}};var ta=-.5,ra=dn(3)/2,ek=1/dn(12),TV=(ek/2+1)*3,tk={draw(e,t){let r=dn(t/TV),n=r/2,o=r*ek,a=n,i=r*ek+r,l=-a,s=i;e.moveTo(n,o),e.lineTo(a,i),e.lineTo(l,s),e.lineTo(ta*n-ra*o,ra*n+ta*o),e.lineTo(ta*a-ra*i,ra*a+ta*i),e.lineTo(ta*l-ra*s,ra*l+ta*s),e.lineTo(ta*n+ra*o,ta*o-ra*n),e.lineTo(ta*a+ra*i,ta*i-ra*a),e.lineTo(ta*l+ra*s,ta*s-ra*l),e.closePath()}};function Oh(e,t){let r=null,n=Sd(o);e=typeof e=="function"?e:$t(e||Cd),t=typeof t=="function"?t:$t(t===void 0?64:+t);function o(){let a;if(r||(r=a=n()),e.apply(this,arguments).draw(r,+t.apply(this,arguments)),a)return r=null,a+""||null}return o.type=function(a){return arguments.length?(e=typeof a=="function"?a:$t(a),o):e},o.size=function(a){return arguments.length?(t=typeof a=="function"?a:$t(+a),o):t},o.context=function(a){return arguments.length?(r=a??null,o):r},o}function Nd(){}function _d(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function zM(e){this._context=e}zM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:_d(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function rk(e){return new zM(e)}function LM(e){this._context=e}LM.prototype={areaStart:Nd,areaEnd:Nd,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function nk(e){return new LM(e)}function BM(e){this._context=e}BM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:_d(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ok(e){return new BM(e)}function $M(e){this._context=e}$M.prototype={areaStart:Nd,areaEnd:Nd,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function ak(e){return new $M(e)}function FM(e){return e<0?-1:1}function UM(e,t,r){var n=e._x1-e._x0,o=t-e._x1,a=(e._y1-e._y0)/(n||o<0&&-0),i=(r-e._y1)/(o||n<0&&-0),l=(a*o+i*n)/(n+o);return(FM(a)+FM(i))*Math.min(Math.abs(a),Math.abs(i),.5*Math.abs(l))||0}function WM(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function ik(e,t,r){var n=e._x0,o=e._y0,a=e._x1,i=e._y1,l=(a-n)/3;e._context.bezierCurveTo(n+l,o+l*t,a-l,i-l*r,a,i)}function Th(e){this._context=e}Th.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:ik(this,this._t0,WM(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,ik(this,WM(this,r=UM(this,e,t)),r);break;default:ik(this,this._t0,r=UM(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function HM(e){this._context=new VM(e)}(HM.prototype=Object.create(Th.prototype)).point=function(e,t){Th.prototype.point.call(this,t,e)};function VM(e){this._context=e}VM.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,o,a){this._context.bezierCurveTo(t,e,n,r,a,o)}};function lk(e){return new Th(e)}function sk(e){return new HM(e)}function qM(e){this._context=e}qM.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=KM(e),o=KM(t),a=0,i=1;i=0;--t)o[t]=(i[t]-o[t+1])/a[t];for(a[r-1]=(e[r]+o[r-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function ck(e){return new Mh(e,.5)}function dk(e){return new Mh(e,0)}function fk(e){return new Mh(e,1)}function ko(e,t){if((i=e.length)>1)for(var r=1,n,o,a=e[t[0]],i,l=a.length;r=0;)r[t]=t;return r}function MV(e,t){return e[t]}function PV(e){let t=[];return t.key=e,t}function pk(){var e=$t([]),t=Ed,r=ko,n=MV;function o(a){var i=Array.from(e.apply(this,arguments),PV),l,s=i.length,u=-1,c;for(let d of a)for(l=0,++u;l0){for(var r,n,o=0,a=e[0].length,i;o0){for(var r=0,n=e[t[0]],o,a=n.length;r0)||!((a=(o=e[t[0]]).length)>0))){for(var r=0,n=1,o,a,i;n{var t="symbol".concat(zi(e));return ZM[t]||Cd},WV=(e,t,r)=>{if(t==="area")return e;switch(r){case"cross":return 5*e*e/9;case"diamond":return .5*e*e/Math.sqrt(3);case"square":return e*e;case"star":{var n=18*FV;return 1.25*e*e*(Math.tan(n)-Math.tan(n*2)*Math.tan(n)**2)}case"triangle":return Math.sqrt(3)*e*e/4;case"wye":return(21-10*Math.sqrt(3))*e*e/8;default:return Math.PI*e*e/4}},HV=(e,t)=>{ZM["symbol".concat(zi(e))]=t},hk=e=>{var t=e.type,r=t===void 0?"circle":t,n=e.size,o=n===void 0?64:n,a=e.sizeType,i=a===void 0?"area":a,l=BV(e,IV),s=YM(YM({},l),{},{type:r,size:o,sizeType:i}),u="circle";typeof r=="string"&&(u=r);var c=()=>{var g=UV(u),h=Oh().type(g).size(WV(o,i,u)),v=h();if(v!==null)return v},d=s.className,f=s.cx,p=s.cy,m=dr(s);return Se(f)&&Se(p)&&Se(o)?XM.createElement("path",yk({},m,{className:He("recharts-symbols",d),transform:"translate(".concat(f,", ").concat(p,")"),d:c()})):null};hk.registerSymbol=HV;var QM=te(re());var Ph=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,Od=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if((0,QM.isValidElement)(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(o=>{hm(o)&&typeof r[o]=="function"&&(n[o]=t||(a=>r[o](r,a)))}),n},VV=(e,t,r)=>n=>(e(t,r,n),null),Li=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(o=>{var a=e[o];hm(o)&&typeof a=="function"&&(n||(n={}),n[o]=VV(a,t,r))}),n};function JM(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function KV(e){for(var t=1;t(i[l]===void 0&&n[l]!==void 0&&(i[l]=n[l]),i),r);return a}function Dh(){return Dh=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var p,m,g=d.formatter||o,h=He({"recharts-legend-item":!0,["legend-item-".concat(f)]:!0,inactive:d.inactive});if(d.type==="none")return null;var v=typeof l=="object"?eP({},l):{};v.color=d.inactive?a:v.color||d.color,(p=v.whiteSpace)!==null&&p!==void 0||(v.whiteSpace="normal"),(m=v.overflowWrap)!==null&&m!==void 0||(v.overflowWrap="break-word");var y=g?g(d.value,d,f):d.value;return Wn.createElement("li",Dh({className:h,style:u,key:"legend-item-".concat(f)},Li(e,d,f)),Wn.createElement(xm,{width:r,height:r,viewBox:s,style:c,"aria-label":d.value==null?"legend icon":"".concat(d.value," legend icon")},Wn.createElement(eK,{data:d,iconType:i,inactiveColor:a})),Wn.createElement("span",{className:"recharts-legend-item-text",style:v},y))})}var tP=e=>{var t=ft(e,JV),r=t.payload,n=t.layout,o=t.align;if(!r||!r.length)return null;var a={padding:0,margin:0,textAlign:n==="horizontal"?o:"left"};return Wn.createElement("ul",{className:"recharts-default-legend",style:a},Wn.createElement(tK,Dh({},t,{payload:r})))};function rP(e,t){let r=new Map;for(let n=0;nObject.prototype.propertyIsEnumerable.call(e,t))}function Bi(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}var jh="[object RegExp]",Td="[object String]",Md="[object Number]",Pd="[object Boolean]",zh="[object Arguments]",Lh="[object Symbol]",Bh="[object Date]",$h="[object Map]",Fh="[object Set]",Uh="[object Array]",iP="[object Function]",Wh="[object ArrayBuffer]",Dd="[object Object]",lP="[object Error]",Hh="[object DataView]",Vh="[object Uint8Array]",Kh="[object Uint8ClampedArray]",qh="[object Uint16Array]",Gh="[object Uint32Array]",sP="[object BigUint64Array]",Yh="[object Int8Array]",Xh="[object Int16Array]",Zh="[object Int32Array]",uP="[object BigInt64Array]",Qh="[object Float32Array]",Jh="[object Float64Array]";var xk=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})();function Nm(e){return typeof xk.Buffer<"u"&&xk.Buffer.isBuffer(e)}function cP(e,t){return Zl(e,void 0,e,new Map,t)}function Zl(e,t,r,n=new Map,o=void 0){let a=o?.(e,t,r,n);if(a!==void 0)return a;if(km(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let i=new Array(e.length);n.set(e,i);for(let l=0;l{}):bk(e,t,function n(o,a,i,l,s,u){let c=r(o,a,i,l,s,u);return c!==void 0?!!c:bk(o,a,n,u,!1)},new Map,!0)}function bk(e,t,r,n,o=!1){if(t===e)return!0;switch(typeof t){case"object":return nK(e,t,r,n);case"function":return Object.keys(t).length>0?bk(e,{...t},r,n,o):Ql(e,t);default:return Rh(e)?o?typeof t=="string"?t==="":!0:Ql(e,t):Ql(e,t)}}function nK(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return fP(e,t,r,n);if(t instanceof Map)return oK(e,t,r,n);if(t instanceof Set)return aK(e,t,r,n);let o=Object.keys(t);if(e==null||km(e))return o.length===0;if(o.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let a=0;a{})}function pP(e){return e=dP(e),t=>e0(t,e)}function mP(e,t){return cP(e,(r,n,o,a)=>{let i=t?.(r,n,o,a);if(i!==void 0)return i;if(typeof e=="object"){if(Bi(e)==="[object Object]"&&typeof e.constructor!="function"){let l={};return a.set(e,l),oa(l,e,o,a),l}switch(Object.prototype.toString.call(e)){case Md:case Td:case Pd:{let l=new e.constructor(e?.valueOf());return oa(l,e),l}case zh:{let l={};return oa(l,e),l.length=e.length,l[Symbol.iterator]=e[Symbol.iterator],l}default:return}}})}function vP(e){return mP(e)}var iK=/^(?:0|[1-9]\d*)$/;function t0(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e=0}function r0(e){return e!=null&&typeof e!="function"&&bP(e.length)}function wP(e){return typeof e=="object"&&e!==null}function SP(e){return wP(e)&&r0(e)}function n0(e,t=Ih){return SP(e)?rP(Array.from(e),nP(xP(t),1)):[]}function o0(e,t,r){return t===!0?n0(e,r):typeof t=="function"?n0(e,t):e}var PP=te(TP()),Em=te(re());var MP=te(re()),_m=(0,MP.createContext)(null);var kK=e=>e,Xe=()=>{var e=(0,Em.useContext)(_m);return e?e.store.dispatch:kK},i0=()=>{},CK=()=>i0,NK=(e,t)=>e===t;function Ae(e){var t=(0,Em.useContext)(_m),r=(0,Em.useMemo)(()=>t?n=>{if(n!=null)return e(n)}:i0,[t,e]);return(0,PP.useSyncExternalStoreWithSelector)(t?t.subscription.addNestedSub:CK,t?t.store.getState:i0,t?t.store.getState:i0,r,NK)}function _K(e,t=`expected a function, instead received ${typeof e}`){if(typeof e!="function")throw new TypeError(t)}function EK(e,t="expected all items to be functions, instead received the following types: "){if(!e.every(r=>typeof r=="function")){let r=e.map(n=>typeof n=="function"?`function ${n.name||"unnamed"}()`:typeof n).join(", ");throw new TypeError(`${t}[${r}]`)}}var DP=e=>Array.isArray(e)?e:[e];function OK(e){let t=Array.isArray(e[0])?e[0]:e;return EK(t,"createSelector expects all input-selectors to be functions, but received the following types: "),t}function TK(e,t){let r=[],{length:n}=e;for(let o=0;otypeof WeakRef>"u"?MK:WeakRef,jP=PK(),DK=0,IP=1;function l0(){return{s:DK,v:void 0,o:null,p:null}}function IK(e){return e instanceof jP?e.deref():e}function zP(e,t={}){let r=l0(),{resultEqualityCheck:n}=t,o,a=0;function i(){let l=r,{length:s}=arguments;for(let d=0,f=s;d{r=l0(),i.resetResultsCount()},i.resultsCount=()=>a,i.resetResultsCount=()=>{a=0},i}function jK(e,...t){let r=typeof e=="function"?{memoize:e,memoizeOptions:t}:e,n=(...o)=>{let a=0,i=0,l,s={},u=o.pop();typeof u=="object"&&(s=u,u=o.pop()),_K(u,`createSelector expects an output function after the inputs, but received: [${typeof u}]`);let c={...r,...s},{memoize:d,memoizeOptions:f=[],argsMemoize:p=zP,argsMemoizeOptions:m=[]}=c,g=DP(f),h=DP(m),v=OK(o),y=d(function(){return a++,u.apply(null,arguments)},...g),b=!0,x=p(function(){i++;let w=TK(v,arguments);return l=y.apply(null,w),l},...h);return Object.assign(x,{resultFunc:u,memoizedResultFunc:y,dependencies:v,dependencyRecomputations:()=>i,resetDependencyRecomputations:()=>{i=0},lastResult:()=>l,recomputations:()=>a,resetRecomputations:()=>{a=0},memoize:d,argsMemoize:p})};return Object.assign(n,{withTypes:()=>n}),n}var J=jK(zP);function LP(e,t=1){let r=[],n=Math.floor(t),o=(a,i)=>{for(let l=0;l{if(e!==t){let n=BP(e),o=BP(t);if(n===o&&n===0){if(et)return r==="desc"?-1:1}return r==="desc"?o-n:n-o}return 0};function s0(e){return typeof e=="symbol"||e instanceof Symbol}var zK=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,LK=/^\w*$/;function FP(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||s0(e)?!0:typeof e=="string"&&(LK.test(e)||!zK.test(e))||t!=null&&Object.hasOwn(t,e)}function UP(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(l=>String(l));let o=(l,s)=>{let u=l;for(let c=0;cs==null||l==null?s:typeof l=="object"&&"key"in l?Object.hasOwn(s,l.key)?s[l.key]:o(s,l.path):typeof l=="function"?l(s):Array.isArray(l)?o(s,l):typeof s=="object"?s[l]:s,i=t.map(l=>(Array.isArray(l)&&l.length===1&&(l=l[0]),l==null||typeof l=="function"||Array.isArray(l)||FP(l)?l:{key:l,path:bd(l)}));return e.map(l=>({original:l,criteria:i.map(s=>a(s,l))})).slice().sort((l,s)=>{for(let u=0;ul.original)}function $i(e,...t){let r=t.length;return r>1&&Om(e,t[0],t[1])?t=[]:r>2&&Om(t[0],t[1],t[2])&&(t=[t[0]]),UP(e,LP(t),["asc"])}var Ak=e=>e.legend.settings,WP=e=>e.legend.size,BK=e=>e.legend.payload,HP=J([BK,Ak],(e,t)=>{var r=t.itemSorter,n=e.flat(1);return r?$i(n,r):n});function VP(){return Ae(HP)}var Fi=te(re());function $K(e,t){return HK(e)||WK(e,t)||UK(e,t)||FK()}function FK(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UK(e,t){if(e){if(typeof e=="string")return KP(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?KP(e,t):void 0}}function KP(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ru0||Math.abs(e.left-t.left)>u0||Math.abs(e.top-t.top)>u0||Math.abs(e.width-t.width)>u0}function GP(e){var t=e.getBoundingClientRect();return{height:t.height,left:t.left,top:t.top,width:t.width}}function c0(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=(0,Fi.useState)({height:0,left:0,top:0,width:0}),r=$K(t,2),n=r[0],o=r[1],a=(0,Fi.useRef)(null),i=(0,Fi.useRef)(n);i.current=n;var l=(0,Fi.useCallback)(s=>{if(a.current!=null&&(a.current.disconnect(),a.current=null),s!=null){var u=GP(s);if(qP(u,i.current)&&o(u),typeof ResizeObserver<"u"){var c=new ResizeObserver(()=>{var d=GP(s);qP(d,i.current)&&o(d)});c.observe(s),a.current=c}}},[...e]);return(0,Fi.useEffect)(()=>()=>{var s;(s=a.current)===null||s===void 0||s.disconnect()},[]),[n,l]}var u8=te(re());function wn(e){return`Minified Redux error #${e}; visit https://redux.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var VK=typeof Symbol=="function"&&Symbol.observable||"@@observable",YP=VK,kk=()=>Math.random().toString(36).substring(7).split("").join("."),KK={INIT:`@@redux/INIT${kk()}`,REPLACE:`@@redux/REPLACE${kk()}`,PROBE_UNKNOWN_ACTION:()=>`@@redux/PROBE_UNKNOWN_ACTION${kk()}`},d0=KK;function f0(e){if(typeof e!="object"||e===null)return!1;let t=e;for(;Object.getPrototypeOf(t)!==null;)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t||Object.getPrototypeOf(e)===null}function Ck(e,t,r){if(typeof e!="function")throw new Error(wn(2));if(typeof t=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(wn(0));if(typeof t=="function"&&typeof r>"u"&&(r=t,t=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(wn(1));return r(Ck)(e,t)}let n=e,o=t,a=new Map,i=a,l=0,s=!1;function u(){i===a&&(i=new Map,a.forEach((h,v)=>{i.set(v,h)}))}function c(){if(s)throw new Error(wn(3));return o}function d(h){if(typeof h!="function")throw new Error(wn(4));if(s)throw new Error(wn(5));let v=!0;u();let y=l++;return i.set(y,h),function(){if(v){if(s)throw new Error(wn(6));v=!1,u(),i.delete(y),a=null}}}function f(h){if(!f0(h))throw new Error(wn(7));if(typeof h.type>"u")throw new Error(wn(8));if(typeof h.type!="string")throw new Error(wn(17));if(s)throw new Error(wn(9));try{s=!0,o=n(o,h)}finally{s=!1}return(a=i).forEach(y=>{y()}),h}function p(h){if(typeof h!="function")throw new Error(wn(10));n=h,f({type:d0.REPLACE})}function m(){let h=d;return{subscribe(v){if(typeof v!="object"||v===null)throw new Error(wn(11));function y(){let x=v;x.next&&x.next(c())}return y(),{unsubscribe:h(y)}},[YP](){return this}}}return f({type:d0.INIT}),{dispatch:f,subscribe:d,getState:c,replaceReducer:p,[YP]:m}}function qK(e){Object.keys(e).forEach(t=>{let r=e[t];if(typeof r(void 0,{type:d0.INIT})>"u")throw new Error(wn(12));if(typeof r(void 0,{type:d0.PROBE_UNKNOWN_ACTION()})>"u")throw new Error(wn(13))})}function p0(e){let t=Object.keys(e),r={};for(let i=0;i"u"){let h=s&&s.type;throw new Error(wn(14))}c[f]=g,u=u||g!==m}return u=u||n.length!==Object.keys(l).length,u?c:l}}function Tm(...e){return e.length===0?t=>t:e.length===1?e[0]:e.reduce((t,r)=>(...n)=>t(r(...n)))}function XP(...e){return t=>(r,n)=>{let o=t(r,n),a=()=>{throw new Error(wn(15))},i={getState:o.getState,dispatch:(s,...u)=>a(s,...u)},l=e.map(s=>s(i));return a=Tm(...l)(o.dispatch),{...o,dispatch:a}}}function Nk(e){return f0(e)&&"type"in e&&typeof e.type=="string"}var oD=Symbol.for("immer-nothing"),ZP=Symbol.for("immer-draftable"),On=Symbol.for("immer-state");function Ea(e,...t){throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Co=Object,zd=Co.getPrototypeOf,y0="constructor",A0="prototype",Tk="configurable",h0="enumerable",v0="writable",Mm="value",Qa=e=>!!e&&!!e[On];function No(e){return e?aD(e)||C0(e)||!!e[ZP]||!!e[y0]?.[ZP]||N0(e)||_0(e):!1}var GK=Co[A0][y0].toString(),QP=new WeakMap;function aD(e){if(!e||!Bk(e))return!1;let t=zd(e);if(t===null||t===Co[A0])return!0;let r=Co.hasOwnProperty.call(t,y0)&&t[y0];if(r===Object)return!0;if(!jd(r))return!1;let n=QP.get(r);return n===void 0&&(n=Function.toString.call(r),QP.set(r,n)),n===GK}function k0(e,t,r=!0){Im(e)===0?(r?Reflect.ownKeys(e):Co.keys(e)).forEach(o=>{t(o,e[o],e)}):e.forEach((n,o)=>t(o,n,e))}function Im(e){let t=e[On];return t?t.type_:C0(e)?1:N0(e)?2:_0(e)?3:0}var _k=(e,t,r=Im(e))=>r===2?e.has(t):Co[A0].hasOwnProperty.call(e,t),Mk=(e,t,r=Im(e))=>r===2?e.get(t):e[t],x0=(e,t,r,n=Im(e))=>{n===2?e.set(t,r):n===3?e.add(r):e[t]=r};function YK(e,t){return e===t?e!==0||1/e===1/t:e!==e&&t!==t}var C0=Array.isArray,N0=e=>e instanceof Map,_0=e=>e instanceof Set,Bk=e=>typeof e=="object",jd=e=>typeof e=="function",Ek=e=>typeof e=="boolean";function XK(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ui=e=>e.copy_||e.base_;var $k=e=>e.modified_?e.copy_:e.base_;function Pk(e,t){if(N0(e))return new Map(e);if(_0(e))return new Set(e);if(C0(e))return Array[A0].slice.call(e);let r=aD(e);if(t===!0||t==="class_only"&&!r){let n=Co.getOwnPropertyDescriptors(e);delete n[On];let o=Reflect.ownKeys(n);for(let a=0;a1&&Co.defineProperties(e,{set:m0,add:m0,clear:m0,delete:m0}),Co.freeze(e),t&&k0(e,(r,n)=>{Fk(n,!0)},!1)),e}function ZK(){Ea(2)}var m0={[Mm]:ZK};function E0(e){return e===null||!Bk(e)?!0:Co.isFrozen(e)}var b0="MapSet",Dk="Patches",JP="ArrayMethods",iD={};function mu(e){let t=iD[e];return t||Ea(0,e),t}var RP=e=>!!iD[e];var Pm,lD=()=>Pm,QK=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:RP(b0)?mu(b0):void 0,arrayMethodsPlugin_:RP(JP)?mu(JP):void 0});function eD(e,t){t&&(e.patchPlugin_=mu(Dk),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Ik(e){jk(e),e.drafts_.forEach(JK),e.drafts_=null}function jk(e){e===Pm&&(Pm=e.parent_)}var tD=e=>Pm=QK(Pm,e);function JK(e){let t=e[On];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function rD(e,t){t.unfinalizedDrafts_=t.drafts_.length;let r=t.drafts_[0];if(e!==void 0&&e!==r){r[On].modified_&&(Ik(t),Ea(4)),No(e)&&(e=nD(t,e));let{patchPlugin_:o}=t;o&&o.generateReplacementPatches_(r[On].base_,e,t)}else e=nD(t,r);return RK(t,e,!0),Ik(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==oD?e:void 0}function nD(e,t){if(E0(t))return t;let r=t[On];if(!r)return w0(t,e.handledSet_,e);if(!O0(r,e))return t;if(!r.modified_)return r.base_;if(!r.finalized_){let{callbacks_:n}=r;if(n)for(;n.length>0;)n.pop()(e);cD(r,e)}return r.copy_}function RK(e,t,r=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Fk(t,r)}function sD(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var O0=(e,t)=>e.scope_===t,eq=[];function uD(e,t,r,n){let o=Ui(e),a=e.type_;if(n!==void 0&&Mk(o,n,a)===t){x0(o,n,r,a);return}if(!e.draftLocations_){let l=e.draftLocations_=new Map;k0(o,(s,u)=>{if(Qa(u)){let c=l.get(u)||[];c.push(s),l.set(u,c)}})}let i=e.draftLocations_.get(t)??eq;for(let l of i)x0(o,l,r,a)}function tq(e,t,r){e.callbacks_.push(function(o){let a=t;if(!a||!O0(a,o))return;o.mapSetPlugin_?.fixSetContents(a);let i=$k(a);uD(e,a.draft_??a,i,r),cD(a,o)})}function cD(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let o=n.getPath(e);o&&n.generatePatches_(e,o,t)}sD(e)}}function rq(e,t,r){let{scope_:n}=e;if(Qa(r)){let o=r[On];O0(o,n)&&o.callbacks_.push(function(){g0(e);let i=$k(o);uD(e,r,i,t)})}else No(r)&&e.callbacks_.push(function(){let a=Ui(e);e.type_===3?a.has(r)&&w0(r,n.handledSet_,n):Mk(a,t,e.type_)===r&&n.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&w0(Mk(e.copy_,t,e.type_),n.handledSet_,n)})}function w0(e,t,r){return!r.immer_.autoFreeze_&&r.unfinalizedDrafts_<1||Qa(e)||t.has(e)||!No(e)||E0(e)||(t.add(e),k0(e,(n,o)=>{if(Qa(o)){let a=o[On];if(O0(a,r)){let i=$k(a);x0(e,n,i,e.type_),sD(a)}}else No(o)&&w0(o,t,r)})),e}function nq(e,t){let r=C0(e),n={type_:r?1:0,scope_:t?t.scope_:lD(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},o=n,a=S0;r&&(o=[n],a=Dm);let{revoke:i,proxy:l}=Proxy.revocable(o,a);return n.draft_=l,n.revoke_=i,[l,n]}var S0={get(e,t){if(t===On)return e;let r=e.scope_.arrayMethodsPlugin_,n=e.type_===1&&typeof t=="string";if(n&&r?.isArrayOperationMethod(t))return r.createMethodInterceptor(e,t);let o=Ui(e);if(!_k(o,t,e.type_))return aq(e,o,t);let a=o[t];if(e.finalized_||!No(a)||n&&e.operationMethod&&r?.isMutatingArrayMethod(e.operationMethod)&&XK(t))return a;if(a===Ok(e.base_,t)||oq(e,t,a)){g0(e);let i=e.type_===1?+t:t,l=Lk(e.scope_,a,e,i);return e.copy_[i]=l}return a},has(e,t){return t in Ui(e)},ownKeys(e){return Reflect.ownKeys(Ui(e))},set(e,t,r){let n=dD(Ui(e),t);if(n?.set)return n.set.call(e.draft_,r),!0;if(!e.modified_){let o=Ok(Ui(e),t),a=o?.[On];if(a&&a.base_===r)return e.copy_[t]=r,e.assigned_.set(t,!1),!0;if(YK(r,o)&&(r!==void 0||_k(e.base_,t,e.type_)))return!0;g0(e),zk(e)}return e.copy_[t]===r&&(r!==void 0||_k(e.copy_,t,e.type_))||Number.isNaN(r)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=r,e.assigned_.set(t,!0),rq(e,t,r)),!0},deleteProperty(e,t){return g0(e),Ok(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),zk(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let r=Ui(e),n=Reflect.getOwnPropertyDescriptor(r,t);return n&&{[v0]:!0,[Tk]:e.type_!==1||t!=="length",[h0]:n[h0],[Mm]:r[t]}},defineProperty(){Ea(11)},getPrototypeOf(e){return zd(e.base_)},setPrototypeOf(){Ea(12)}},Dm={};for(let e in S0){let t=S0[e];Dm[e]=function(){let r=arguments;return r[0]=r[0][0],t.apply(this,r)}}Dm.deleteProperty=function(e,t){return Dm.set.call(this,e,t,void 0)};Dm.set=function(e,t,r){return S0.set.call(this,e[0],t,r,e[0])};function Ok(e,t){let r=e[On];return(r?Ui(r):e)[t]}function oq(e,t,r){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!No(r)||r[On]?!1:e.baseRefs_.has(r)}function aq(e,t,r){let n=dD(t,r);return n?Mm in n?n[Mm]:n.get?.call(e.draft_):void 0}function dD(e,t){if(!(t in e))return;let r=zd(e);for(;r;){let n=Object.getOwnPropertyDescriptor(r,t);if(n)return n;r=zd(r)}}function zk(e){e.modified_||(e.modified_=!0,e.parent_&&zk(e.parent_))}function g0(e){e.copy_||(e.assigned_=new Map,e.copy_=Pk(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var iq=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(t,r,n)=>{if(jd(t)&&!jd(r)){let a=r;r=t;let i=this;return function(s=a,...u){return i.produce(s,c=>r.call(this,c,...u))}}jd(r)||Ea(6),n!==void 0&&!jd(n)&&Ea(7);let o;if(No(t)){let a=tD(this),i=Lk(a,t,void 0),l=!0;try{o=r(i),l=!1}finally{l?Ik(a):jk(a)}return eD(a,n),rD(o,a)}else if(!t||!Bk(t)){if(o=r(t),o===void 0&&(o=t),o===oD&&(o=void 0),this.autoFreeze_&&Fk(o,!0),n){let a=[],i=[];mu(Dk).generateReplacementPatches_(t,o,{patches_:a,inversePatches_:i}),n(a,i)}return o}else Ea(1,t)},this.produceWithPatches=(t,r)=>{if(jd(t))return(i,...l)=>this.produceWithPatches(i,s=>t(s,...l));let n,o;return[this.produce(t,r,(i,l)=>{n=i,o=l}),n,o]},Ek(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ek(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ek(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){No(e)||Ea(8),Qa(e)&&(e=Sn(e));let t=tD(this),r=Lk(t,e,void 0);return r[On].isManual_=!0,jk(t),r}finishDraft(e,t){let r=e&&e[On];(!r||!r.isManual_)&&Ea(9);let{scope_:n}=r;return eD(n,t),rD(void 0,n)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let r;for(r=t.length-1;r>=0;r--){let o=t[r];if(o.path.length===0&&o.op==="replace"){e=o.value;break}}r>-1&&(t=t.slice(r+1));let n=mu(Dk).applyPatches_;return Qa(e)?n(e,t):this.produce(e,o=>n(o,t))}};function Lk(e,t,r,n){let[o,a]=N0(t)?mu(b0).proxyMap_(t,r):_0(t)?mu(b0).proxySet_(t,r):nq(t,r);return(r?.scope_??lD()).drafts_.push(o),a.callbacks_=r?.callbacks_??[],a.key_=n,r&&n!==void 0?tq(r,a,n):a.callbacks_.push(function(s){s.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:u}=s;a.modified_&&u&&u.generatePatches_(a,[],s)}),o}function Sn(e){return Qa(e)||Ea(10,e),fD(e)}function fD(e){if(!No(e)||E0(e))return e;let t=e[On],r,n=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,r=Pk(e,t.scope_.immer_.useStrictShallowCopy_),n=t.scope_.immer_.shouldUseStrictIteration()}else r=Pk(e,!0);return k0(r,(o,a)=>{x0(r,o,fD(a))},n),t&&(t.finalized_=!1),r}var lq=new iq,Uk=lq.produce;var st=e=>e;function pD(e){return({dispatch:r,getState:n})=>o=>a=>typeof a=="function"?a(r,n,e):o(a)}var mD=pD(),vD=pD;var sq=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__?window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__:function(){if(arguments.length!==0)return typeof arguments[0]=="object"?Tm:Tm.apply(null,arguments)},Vge=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__?window.__REDUX_DEVTOOLS_EXTENSION__:function(){return function(e){return e}},uq=e=>e&&typeof e.match=="function";function Gr(e,t){function r(...n){if(t){let o=t(...n);if(!o)throw new Error(_o(0));return{type:e,payload:o.payload,..."meta"in o&&{meta:o.meta},..."error"in o&&{error:o.error}}}return{type:e,payload:n[0]}}return r.toString=()=>`${e}`,r.type=e,r.match=n=>Nk(n)&&n.type===e,r}var AD=class jm extends Array{constructor(...t){super(...t),Object.setPrototypeOf(this,jm.prototype)}static get[Symbol.species](){return jm}concat(...t){return super.concat.apply(this,t)}prepend(...t){return t.length===1&&Array.isArray(t[0])?new jm(...t[0].concat(this)):new jm(...t.concat(this))}};function gD(e){return No(e)?Uk(e,()=>{}):e}function T0(e,t,r){return e.has(t)?e.get(t):e.set(t,r(t)).get(t)}function cq(e){return typeof e=="boolean"}var dq=()=>function(t){let{thunk:r=!0,immutableCheck:n=!0,serializableCheck:o=!0,actionCreatorCheck:a=!0}=t??{},i=new AD;return r&&(cq(r)?i.push(mD):i.push(vD(r.extraArgument))),i},kD="RTK_autoBatch",Ft=()=>e=>({payload:e,meta:{[kD]:!0}}),yD=e=>t=>{setTimeout(t,e)},fq=(e,t)=>r=>{let n=!1,o=()=>{n||(n=!0,cancelAnimationFrame(a),clearTimeout(i),r())},a=e(o),i=setTimeout(o,t)},Kk=(e={type:"raf"})=>t=>(...r)=>{let n=t(...r),o=!0,a=!1,i=!1,l=new Set,s=e.type==="tick"?queueMicrotask:e.type==="raf"?typeof window<"u"&&window.requestAnimationFrame?fq(window.requestAnimationFrame,100):yD(10):e.type==="callback"?e.queueNotification:yD(e.timeout),u=()=>{i=!1,a&&(a=!1,l.forEach(c=>c()))};return Object.assign({},n,{subscribe(c){let d=()=>o&&c(),f=n.subscribe(d);return l.add(c),()=>{f(),l.delete(c)}},dispatch(c){try{return o=!c?.meta?.[kD],a=!o,a&&(i||(i=!0,s(u))),n.dispatch(c)}finally{o=!0}}})},pq=e=>function(r){let{autoBatch:n=!0}=r??{},o=new AD(e);return n&&o.push(Kk(typeof n=="object"?n:void 0)),o};function CD(e){let t=dq(),{reducer:r=void 0,middleware:n,devTools:o=!0,duplicateMiddlewareCheck:a=!0,preloadedState:i=void 0,enhancers:l=void 0}=e||{},s;if(typeof r=="function")s=r;else if(f0(r))s=p0(r);else throw new Error(_o(1));let u;typeof n=="function"?u=n(t):u=t();let c=Tm;o&&(c=sq({trace:!1,...typeof o=="object"&&o}));let d=XP(...u),f=pq(d),p=typeof l=="function"?l(f):f(),m=c(...p);return Ck(s,i,m)}function ND(e){let t={},r=[],n,o={addCase(a,i){let l=typeof a=="string"?a:a.type;if(!l)throw new Error(_o(28));if(l in t)throw new Error(_o(29));return t[l]=i,o},addAsyncThunk(a,i){return i.pending&&(t[a.pending.type]=i.pending),i.rejected&&(t[a.rejected.type]=i.rejected),i.fulfilled&&(t[a.fulfilled.type]=i.fulfilled),i.settled&&r.push({matcher:a.settled,reducer:i.settled}),o},addMatcher(a,i){return r.push({matcher:a,reducer:i}),o},addDefaultCase(a){return n=a,o}};return e(o),[t,r,n]}function mq(e){return typeof e=="function"}function vq(e,t){let[r,n,o]=ND(t),a;if(mq(e))a=()=>gD(e());else{let l=gD(e);a=()=>l}function i(l=a(),s){let u=[r[s.type],...n.filter(({matcher:c})=>c(s)).map(({reducer:c})=>c)];return u.filter(c=>!!c).length===0&&(u=[o]),u.reduce((c,d)=>{if(d)if(Qa(c)){let p=d(c,s);return p===void 0?c:p}else{if(No(c))return Uk(c,f=>d(f,s));{let f=d(c,s);if(f===void 0){if(c===null)return c;throw Error("A case reducer on a non-draftable value must not return undefined")}return f}}return c},l)}return i.getInitialState=a,i}var gq=(e,t)=>uq(e)?e.match(t):e(t);function yq(...e){return t=>e.some(r=>gq(r,t))}var hq="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",_D=(e=21)=>{let t="",r=e;for(;r--;)t+=hq[Math.random()*64|0];return t},xq=["name","message","stack","code"],Wk=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},hD=class{constructor(e,t){this.payload=e,this.meta=t}payload;meta;_type},bq=e=>{if(typeof e=="object"&&e!==null){let t={};for(let r of xq)typeof e[r]=="string"&&(t[r]=e[r]);return t}return{message:String(e)}},xD="External signal was aborted",wq=(()=>{function e(t,r,n){let o=Gr(t+"/fulfilled",(s,u,c,d)=>({payload:s,meta:{...d||{},arg:c,requestId:u,requestStatus:"fulfilled"}})),a=Gr(t+"/pending",(s,u,c)=>({payload:void 0,meta:{...c||{},arg:u,requestId:s,requestStatus:"pending"}})),i=Gr(t+"/rejected",(s,u,c,d,f)=>({payload:d,error:(n&&n.serializeError||bq)(s||"Rejected"),meta:{...f||{},arg:c,requestId:u,rejectedWithValue:!!d,requestStatus:"rejected",aborted:s?.name==="AbortError",condition:s?.name==="ConditionError"}}));function l(s,{signal:u}={}){return(c,d,f)=>{let p=n?.idGenerator?n.idGenerator(s):_D(),m=new AbortController,g,h;function v(b){h=b,m.abort()}u&&(u.aborted?v(xD):u.addEventListener("abort",()=>v(xD),{once:!0}));let y=(async function(){let b;try{let S=n?.condition?.(s,{getState:d,extra:f});if(Aq(S)&&(S=await S),S===!1||m.signal.aborted)throw{name:"ConditionError",message:"Aborted due to condition callback returning false."};let w=new Promise((T,k)=>{g=()=>{k({name:"AbortError",message:h||"Aborted"})},m.signal.addEventListener("abort",g,{once:!0})});c(a(p,s,n?.getPendingMeta?.({requestId:p,arg:s},{getState:d,extra:f}))),b=await Promise.race([w,Promise.resolve(r(s,{dispatch:c,getState:d,extra:f,requestId:p,signal:m.signal,abort:v,rejectWithValue:((T,k)=>new Wk(T,k)),fulfillWithValue:((T,k)=>new hD(T,k))})).then(T=>{if(T instanceof Wk)throw T;return T instanceof hD?o(T.payload,p,s,T.meta):o(T,p,s)})])}catch(S){b=S instanceof Wk?i(null,p,s,S.payload,S.meta):i(S,p,s)}finally{g&&m.signal.removeEventListener("abort",g)}return n&&!n.dispatchConditionRejection&&i.match(b)&&b.meta.condition||c(b),b})();return Object.assign(y,{abort:v,requestId:p,arg:s,unwrap(){return y.then(Sq)}})}}return Object.assign(l,{pending:a,rejected:i,fulfilled:o,settled:yq(i,o),typePrefix:t})}return e.withTypes=()=>e,e})();function Sq(e){if(e.meta&&e.meta.rejectedWithValue)throw e.payload;if(e.error)throw e.error;return e.payload}function Aq(e){return e!==null&&typeof e=="object"&&typeof e.then=="function"}var ED=Symbol.for("rtk-slice-createasyncthunk"),qge={[ED]:wq};function kq(e,t){return`${e}/${t}`}function Cq({creators:e}={}){let t=e?.asyncThunk?.[ED];return function(n){let{name:o,reducerPath:a=o}=n;if(!o)throw new Error(_o(11));typeof process<"u";let i=(typeof n.reducers=="function"?n.reducers(_q()):n.reducers)||{},l=Object.keys(i),s={sliceCaseReducersByName:{},sliceCaseReducersByType:{},actionCreators:{},sliceMatchers:[]},u={addCase(b,x){let S=typeof b=="string"?b:b.type;if(!S)throw new Error(_o(12));if(S in s.sliceCaseReducersByType)throw new Error(_o(13));return s.sliceCaseReducersByType[S]=x,u},addMatcher(b,x){return s.sliceMatchers.push({matcher:b,reducer:x}),u},exposeAction(b,x){return s.actionCreators[b]=x,u},exposeCaseReducer(b,x){return s.sliceCaseReducersByName[b]=x,u}};l.forEach(b=>{let x=i[b],S={reducerName:b,type:kq(o,b),createNotation:typeof n.reducers=="function"};Oq(x)?Mq(S,x,u,t):Eq(S,x,u)});function c(){let[b={},x=[],S=void 0]=typeof n.extraReducers=="function"?ND(n.extraReducers):[n.extraReducers],w={...b,...s.sliceCaseReducersByType};return vq(n.initialState,T=>{for(let k in w)T.addCase(k,w[k]);for(let k of s.sliceMatchers)T.addMatcher(k.matcher,k.reducer);for(let k of x)T.addMatcher(k.matcher,k.reducer);S&&T.addDefaultCase(S)})}let d=b=>b,f=new Map,p=new WeakMap,m;function g(b,x){return m||(m=c()),m(b,x)}function h(){return m||(m=c()),m.getInitialState()}function v(b,x=!1){function S(T){let k=T[b];return typeof k>"u"&&x&&(k=T0(p,S,h)),k}function w(T=d){let k=T0(f,x,()=>new WeakMap);return T0(k,T,()=>{let A={};for(let[M,H]of Object.entries(n.selectors??{}))A[M]=Nq(H,T,()=>T0(p,T,h),x);return A})}return{reducerPath:b,getSelectors:w,get selectors(){return w(S)},selectSlice:S}}let y={name:o,reducer:g,actions:s.actionCreators,caseReducers:s.sliceCaseReducersByName,getInitialState:h,...v(a),injectInto(b,{reducerPath:x,...S}={}){let w=x??a;return b.inject({reducerPath:w,reducer:g},S),{...y,...v(w,!0)}}};return y}}function Nq(e,t,r,n){function o(a,...i){let l=t(a);return typeof l>"u"&&n&&(l=r()),e(l,...i)}return o.unwrapped=e,o}var Dt=Cq();function _q(){function e(t,r){return{_reducerDefinitionType:"asyncThunk",payloadCreator:t,...r}}return e.withTypes=()=>e,{reducer(t){return Object.assign({[t.name](...r){return t(...r)}}[t.name],{_reducerDefinitionType:"reducer"})},preparedReducer(t,r){return{_reducerDefinitionType:"reducerWithPrepare",prepare:t,reducer:r}},asyncThunk:e}}function Eq({type:e,reducerName:t,createNotation:r},n,o){let a,i;if("reducer"in n){if(r&&!Tq(n))throw new Error(_o(17));a=n.reducer,i=n.prepare}else a=n;o.addCase(e,a).exposeCaseReducer(t,a).exposeAction(t,i?Gr(e,i):Gr(e))}function Oq(e){return e._reducerDefinitionType==="asyncThunk"}function Tq(e){return e._reducerDefinitionType==="reducerWithPrepare"}function Mq({type:e,reducerName:t},r,n,o){if(!o)throw new Error(_o(18));let{payloadCreator:a,fulfilled:i,pending:l,rejected:s,settled:u,options:c}=r,d=o(e,a,c);n.exposeAction(t,d),i&&n.addCase(d.fulfilled,i),l&&n.addCase(d.pending,l),s&&n.addCase(d.rejected,s),u&&n.addMatcher(d.settled,u),n.exposeCaseReducer(t,{fulfilled:i||M0,pending:l||M0,rejected:s||M0,settled:u||M0})}function M0(){}var Pq="task",OD="listener",TD="completed",qk="cancelled",Dq=`task-${qk}`,Iq=`task-${TD}`,Hk=`${OD}-${qk}`,jq=`${OD}-${TD}`,I0=class{constructor(e){this.code=e,this.message=`${Pq} ${qk} (reason: ${e})`}code;name="TaskAbortError";message},Gk=(e,t)=>{if(typeof e!="function")throw new TypeError(_o(32))},P0=()=>{},MD=(e,t=P0)=>(e.catch(t),e),PD=(e,t)=>(e.addEventListener("abort",t,{once:!0}),()=>e.removeEventListener("abort",t)),vu=e=>{if(e.aborted)throw new I0(e.reason)};function DD(e,t){let r=P0;return new Promise((n,o)=>{let a=()=>o(new I0(e.reason));if(e.aborted){a();return}r=PD(e,a),t.finally(()=>r()).then(n,o)}).finally(()=>{r=P0})}var zq=async(e,t)=>{try{return await Promise.resolve(),{status:"ok",value:await e()}}catch(r){return{status:r instanceof I0?"cancelled":"rejected",error:r}}finally{t?.()}},D0=e=>t=>MD(DD(e,t).then(r=>(vu(e),r))),ID=e=>{let t=D0(e);return r=>t(new Promise(n=>setTimeout(n,r)))},{assign:Ld}=Object,bD={},j0="listenerMiddleware",Lq=(e,t)=>{let r=n=>PD(e,()=>n.abort(e.reason));return(n,o)=>{Gk(n,"taskExecutor");let a=new AbortController;r(a);let i=zq(async()=>{vu(e),vu(a.signal);let l=await n({pause:D0(a.signal),delay:ID(a.signal),signal:a.signal});return vu(a.signal),l},()=>a.abort(Iq));return o?.autoJoin&&t.push(i.catch(P0)),{result:D0(e)(i),cancel(){a.abort(Dq)}}}},Bq=(e,t)=>{let r=async(n,o)=>{vu(t);let a=()=>{},l=[new Promise((s,u)=>{let c=e({predicate:n,effect:(d,f)=>{f.unsubscribe(),s([d,f.getState(),f.getOriginalState()])}});a=()=>{c(),u()}})];o!=null&&l.push(new Promise(s=>setTimeout(s,o,null)));try{let s=await DD(t,Promise.race(l));return vu(t),s}finally{a()}};return((n,o)=>MD(r(n,o)))},jD=e=>{let{type:t,actionCreator:r,matcher:n,predicate:o,effect:a}=e;if(t)o=Gr(t).match;else if(r)t=r.type,o=r.match;else if(n)o=n;else if(!o)throw new Error(_o(21));return Gk(a,"options.listener"),{predicate:o,type:t,effect:a}},zD=Ld(e=>{let{type:t,predicate:r,effect:n}=jD(e);return{id:_D(),effect:n,type:t,predicate:r,pending:new Set,unsubscribe:()=>{throw new Error(_o(22))}}},{withTypes:()=>zD}),wD=(e,t)=>{let{type:r,effect:n,predicate:o}=jD(t);return Array.from(e.values()).find(a=>(typeof r=="string"?a.type===r:a.predicate===o)&&a.effect===n)},Vk=e=>{e.pending.forEach(t=>{t.abort(Hk)})},$q=(e,t)=>()=>{for(let r of t.keys())Vk(r);e.clear()},SD=(e,t,r)=>{try{e(t,r)}catch(n){setTimeout(()=>{throw n},0)}},LD=Ld(Gr(`${j0}/add`),{withTypes:()=>LD}),Fq=Gr(`${j0}/removeAll`),BD=Ld(Gr(`${j0}/remove`),{withTypes:()=>BD}),Uq=(...e)=>{console.error(`${j0}/error`,...e)},Wi=(e={})=>{let t=new Map,r=new Map,n=p=>{let m=r.get(p)??0;r.set(p,m+1)},o=p=>{let m=r.get(p)??1;m===1?r.delete(p):r.set(p,m-1)},{extra:a,onError:i=Uq}=e;Gk(i,"onError");let l=p=>(p.unsubscribe=()=>t.delete(p.id),t.set(p.id,p),m=>{p.unsubscribe(),m?.cancelActive&&Vk(p)}),s=(p=>{let m=wD(t,p)??zD(p);return l(m)});Ld(s,{withTypes:()=>s});let u=p=>{let m=wD(t,p);return m&&(m.unsubscribe(),p.cancelActive&&Vk(m)),!!m};Ld(u,{withTypes:()=>u});let c=async(p,m,g,h)=>{let v=new AbortController,y=Bq(s,v.signal),b=[];try{p.pending.add(v),n(p),await Promise.resolve(p.effect(m,Ld({},g,{getOriginalState:h,condition:(x,S)=>y(x,S).then(Boolean),take:y,delay:ID(v.signal),pause:D0(v.signal),extra:a,signal:v.signal,fork:Lq(v.signal,b),unsubscribe:p.unsubscribe,subscribe:()=>{t.set(p.id,p)},cancelActiveListeners:()=>{p.pending.forEach((x,S,w)=>{x!==v&&(x.abort(Hk),w.delete(x))})},cancel:()=>{v.abort(Hk),p.pending.delete(v)},throwIfCancelled:()=>{vu(v.signal)}})))}catch(x){x instanceof I0||SD(i,x,{raisedBy:"effect"})}finally{await Promise.all(b),v.abort(jq),o(p),p.pending.delete(v)}},d=$q(t,r);return{middleware:p=>m=>g=>{if(!Nk(g))return m(g);if(LD.match(g))return s(g.payload);if(Fq.match(g)){d();return}if(BD.match(g))return u(g.payload);let h=p.getState(),v=()=>{if(h===bD)throw new Error(_o(23));return h},y;try{if(y=m(g),t.size>0){let b=p.getState(),x=Array.from(t.values());for(let S of x){let w=!1;try{w=S.predicate(g,b,h)}catch(T){w=!1,SD(i,T,{raisedBy:"predicate"})}w&&c(S,g,p,v)}}}finally{h=bD}return y},startListening:s,stopListening:u,clearListeners:d}};function _o(e){return`Minified Redux Toolkit error #${e}; visit https://redux-toolkit.js.org/Errors?code=${e} for the full message or use the non-minified dev environment for full errors. `}var Wq={layoutType:"horizontal",width:0,height:0,margin:{top:5,right:5,bottom:5,left:5},scale:1},$D=Dt({name:"chartLayout",initialState:Wq,reducers:{setLayout(e,t){e.layoutType=t.payload},setChartSize(e,t){e.width=t.payload.width,e.height=t.payload.height},setMargin(e,t){var r,n,o,a;e.margin.top=(r=t.payload.top)!==null&&r!==void 0?r:0,e.margin.right=(n=t.payload.right)!==null&&n!==void 0?n:0,e.margin.bottom=(o=t.payload.bottom)!==null&&o!==void 0?o:0,e.margin.left=(a=t.payload.left)!==null&&a!==void 0?a:0},setScale(e,t){e.scale=t.payload}}}),z0=$D.actions,Yk=z0.setMargin,FD=z0.setLayout,UD=z0.setChartSize,WD=z0.setScale;var HD=$D.reducer;function L0(e,t,r){return Array.isArray(e)&&e&&t+r!==0?e.slice(t,r+1):e}function qe(e){return Number.isFinite(e)}function ro(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}function VD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function no(e){for(var t=1;t{if(t&&r){var n=r.width,o=r.height,a=t.align,i=t.verticalAlign,l=t.layout,s=t.position,u=t.offset,c=u===void 0?0:u;if(s!=null){if(wm(s)){if(s==="top"&&Se(e.top))return no(no({},e),{},{top:e.top+(o||0)+c});if(s==="bottom"&&Se(e.bottom))return no(no({},e),{},{bottom:e.bottom+(o||0)+c});if(s==="left"&&Se(e.left))return no(no({},e),{},{left:e.left+(n||0)+c});if(s==="right"&&Se(e.right))return no(no({},e),{},{right:e.right+(n||0)+c})}return e}if((l==="vertical"||l==="horizontal"&&i==="middle")&&a!=="center"&&Se(e[a]))return no(no({},e),{},{[a]:e[a]+(n||0)});if((l==="horizontal"||l==="vertical"&&a==="center")&&i!=="middle"&&Se(e[i]))return no(no({},e),{},{[i]:e[i]+(o||0)})}return e},Tn=(e,t)=>e==="horizontal"&&t==="xAxis"||e==="vertical"&&t==="yAxis"||e==="centric"&&t==="angleAxis"||e==="radial"&&t==="radiusAxis",Xk=(e,t,r,n)=>{if(n)return e.map(l=>l.coordinate);var o,a,i=e.map(l=>(l.coordinate===t&&(o=!0),l.coordinate===r&&(a=!0),l.coordinate));return o||i.push(t),a||i.push(r),i},Zk=(e,t,r)=>{if(!e)return null;var n=e.duplicateDomain,o=e.type,a=e.range,i=e.scale,l=e.realScaleType,s=e.isCategorical,u=e.categoricalDomain,c=e.tickCount,d=e.ticks,f=e.niceTicks,p=e.axisType;if(!i)return null;var m=l==="scaleBand"&&i.bandwidth?i.bandwidth()/2:2,g=(t||r)&&o==="category"&&i.bandwidth?i.bandwidth()/m:0;if(g=p==="angleAxis"&&a&&a.length>=2?Xt(a[0]-a[1])*2*g:g,t&&(d||f)){var h=(d||f||[]).map((v,y)=>{var b=n?n.indexOf(v):v,x=i.map(b);return qe(x)?{coordinate:x+g,value:v,offset:g,index:y}:null}).filter(en);return h}return s&&u?u.map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.ticks&&!r&&c!=null?i.ticks(c).map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:v,index:y,offset:g}:null}).filter(en):i.domain().map((v,y)=>{var b=i.map(v);return qe(b)?{coordinate:b+g,value:n?n[v]:v,index:y,offset:g}:null}).filter(en)},qD=(e,t)=>{if(!t||t.length!==2||!Se(t[0])||!Se(t[1]))return e;var r=Math.min(t[0],t[1]),n=Math.max(t[0],t[1]),o=[e[0],e[1]];return(!Se(e[0])||e[0]n)&&(o[1]=n),o[0]>n&&(o[0]=n),o[1]{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(u[0]=a,a+=f,u[1]=a):(u[0]=i,i+=f,u[1]=i)}}}},Gq=e=>{var t,r=e.length;if(!(r<=0)){var n=(t=e[0])===null||t===void 0?void 0:t.length;if(!(n==null||n<=0))for(var o=0;o=0?(s[0]=a,a+=u,s[1]=a):(s[0]=0,s[1]=0)}}}},Yq={sign:qq,expand:mk,none:ko,silhouette:vk,wiggle:gk,positive:Gq},GD=(e,t,r)=>{var n,o=(n=Yq[r])!==null&&n!==void 0?n:ko,a=pk().keys(t).value((l,s)=>Number(nt(l,s,0))).order(Ed).offset(o),i=a(e);return i.forEach((l,s)=>{l.forEach((u,c)=>{var d=nt(e[c],t[s],0);Array.isArray(d)&&d.length===2&&Se(d[0])&&Se(d[1])&&(u[0]=d[0],u[1]=d[1])})}),i};function B0(e){return e==null?void 0:String(e)}function Bd(e){var t=e.axis,r=e.ticks,n=e.bandSize,o=e.entry,a=e.index,i=e.dataKey;if(t.type==="category"){if(!t.allowDuplicatedCategory&&t.dataKey&&!mt(o[t.dataKey])){var l=Ah(r,"value",o[t.dataKey]);if(l)return l.coordinate+n/2}return r!=null&&r[a]?r[a].coordinate+n/2:null}var s=nt(o,mt(i)?t.dataKey:i),u=t.scale.map(s);return Se(u)?u:null}var Qk=e=>{var t=e.axis,r=e.ticks,n=e.offset,o=e.bandSize,a=e.entry,i=e.index;if(t.type==="category")return r[i]?r[i].coordinate+n:null;var l=nt(a,t.dataKey,t.scale.domain()[i]);if(mt(l))return null;var s=t.scale.map(l);return Se(s)?s-o/2+n:null},YD=e=>{var t=e.numericAxis,r=t.scale.domain();if(t.type==="number"){var n=Math.min(r[0],r[1]),o=Math.max(r[0],r[1]);return n<=0&&o>=0?0:o<0?o:n}return r[0]},Xq=e=>{var t=e.flat(2).filter(Se);return[Math.min(...t),Math.max(...t)]},Zq=e=>[e[0]===1/0?0:e[0],e[1]===-1/0?0:e[1]],XD=(e,t,r)=>{if(!(e==null||Object.keys(e).length===0))return Zq(Object.keys(e).reduce((n,o)=>{var a=e[o];if(!a)return n;var i=a.stackedData,l=i.reduce((s,u)=>{var c=L0(u,t,r),d=Xq(c);return!qe(d[0])||!qe(d[1])?s:[Math.min(s[0],d[0]),Math.max(s[1],d[1])]},[1/0,-1/0]);return[Math.min(l[0],n[0]),Math.max(l[1],n[1])]},[1/0,-1/0]))},Jk=/^dataMin[\s]*-[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,Rk=/^dataMax[\s]*\+[\s]*([0-9]+([.]{1}[0-9]+){0,1})$/,aa=(e,t,r)=>{if(e&&e.scale&&e.scale.bandwidth){var n=e.scale.bandwidth();if(!r||n>0)return n}if(e&&t&&t.length>=2){for(var o=$i(t,g=>g.coordinate),a=[],i=0,l=1,s=o.length;lf&&(p=Math.min(m,p));return p===1/0?0:p}return r?void 0:0};function eC(e){var t=e.tooltipEntrySettings,r=e.dataKey,n=e.payload,o=e.value,a=e.name;return no(no({},t),{},{dataKey:r,payload:n,value:o,name:a})}function Eo(e,t){if(e!=null)return String(e);if(typeof t=="string")return t}var ZD=(e,t)=>{if(t==="horizontal")return e.relativeX;if(t==="vertical")return e.relativeY},QD=(e,t)=>t==="centric"?e.angle:e.radius;var fn=e=>e.layout.width,pn=e=>e.layout.height,JD=e=>e.layout.scale,$d=e=>e.layout.margin;var Fd=J(e=>e.cartesianAxis.xAxis,e=>Object.values(e)),Ud=J(e=>e.cartesianAxis.yAxis,e=>Object.values(e));var $0="data-recharts-item-index",F0="data-recharts-item-id",gu=60,zm=30;function RD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function U0(e){for(var t=1;te.brush.height;function tG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="left"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:gu;return r+o}return r},0)}function rG(e){var t=Ud(e);return t.reduce((r,n)=>{if(n.orientation==="right"&&!n.mirror&&!n.hide){var o=typeof n.width=="number"?n.width:gu;return r+o}return r},0)}function nG(e){var t=Fd(e);return t.reduce((r,n)=>{if(n.orientation==="top"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:zm;return r+o}return r},0)}function oG(e){var t=Fd(e);return t.reduce((r,n)=>{if(n.orientation==="bottom"&&!n.mirror&&!n.hide){var o=typeof n.height=="number"?n.height:zm;return r+o}return r},0)}var Ht=J([fn,pn,$d,eG,tG,rG,nG,oG,Ak,WP],(e,t,r,n,o,a,i,l,s,u)=>{var c={left:(r.left||0)+o,right:(r.right||0)+a},d={top:(r.top||0)+i,bottom:(r.bottom||0)+l},f=U0(U0({},d),c),p=f.bottom;f.bottom+=n,f=KD(f,s,u);var m=e-f.left-f.right,g=t-f.top-f.bottom;return U0(U0({brushBottom:p},f),{},{width:Math.max(m,0),height:Math.max(g,0)})}),W0=J(Ht,e=>({x:e.left,y:e.top,width:e.width,height:e.height})),Wd=J(fn,pn,(e,t)=>({x:0,y:0,width:e,height:t}));var aG=te(re()),H0=te(re()),iG=(0,H0.createContext)(null),It=()=>(0,H0.useContext)(iG)!=null;var Hd=e=>e.brush,yu=J([Hd,Ht,$d],(e,t,r)=>({height:e.height,x:Se(e.x)?e.x:t.left,y:Se(e.y)?e.y:t.top+t.height+t.brushBottom-(r?.bottom||0),width:Se(e.width)?e.width:t.width}));var hu=te(re()),Yr=te(re());function e8(e,t,{signal:r,edges:n}={}){let o,a=null,i=n!=null&&n.includes("leading"),l=n==null||n.includes("trailing"),s=()=>{a!==null&&(e.apply(o,a),o=void 0,a=null)},u=()=>{l&&s(),p()},c=null,d=()=>{c!=null&&clearTimeout(c),c=setTimeout(()=>{c=null,u()},t)},f=()=>{c!==null&&(clearTimeout(c),c=null)},p=()=>{f(),o=void 0,a=null},m=()=>{s()},g=function(...h){if(r?.aborted)return;o=this,a=h;let v=c==null;d(),i&&v&&s()};return g.schedule=d,g.cancel=p,g.flush=m,r?.addEventListener("abort",p,{once:!0}),g}function t8(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:o=!0,maxWait:a}=r,i=Array(2);n&&(i[0]="leading"),o&&(i[1]="trailing");let l,s=null,u=e8(function(...f){l=e.apply(this,f),s=null},t,{edges:i}),c=function(...f){return a!=null&&(s===null&&(s=Date.now()),Date.now()-s>=a)?(l=e.apply(this,f),s=Date.now(),u.cancel(),u.schedule(),l):(u.apply(this,f),l)},d=()=>(u.flush(),l);return c.cancel=u.cancel,c.flush=d,c}function tC(e,t=0,r={}){let{leading:n=!0,trailing:o=!0}=r;return t8(e,t,{leading:n,maxWait:t,trailing:o})}var lG=!0,Vd=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),a=2;ao[i++]))}};var Oa={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},rC=(e,t,r)=>{var n=r.width,o=n===void 0?Oa.width:n,a=r.height,i=a===void 0?Oa.height:a,l=r.aspect,s=r.maxHeight,u=Ii(o)?e:Number(o),c=Ii(i)?t:Number(i);return l&&l>0&&(u?c=u/l:c&&(u=c*l),s&&c!=null&&c>s&&(c=s)),{calculatedWidth:u,calculatedHeight:c}},sG={width:0,height:0,overflow:"visible"},uG={width:0,overflowX:"visible"},cG={height:0,overflowY:"visible"},dG={},r8=e=>{var t=e.width,r=e.height,n=Ii(t),o=Ii(r);return n&&o?sG:n?uG:o?cG:dG};function n8(e){var t=e.width,r=e.height,n=e.aspect,o=t,a=r;return o===void 0&&a===void 0?(o=Oa.width,a=Oa.height):o===void 0?o=n&&n>0?void 0:Oa.width:a===void 0&&(a=n&&n>0?void 0:Oa.height),{width:o,height:a}}var fG=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function V0(){return V0=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({width:r,height:n}),[r,n]);return AG(o)?hu.createElement(l8.Provider,{value:o},t):null}var Lm=()=>(0,Yr.useContext)(l8),kG=(0,Yr.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,o=n===void 0?Oa.initialDimension:n,a=e.width,i=e.height,l=e.minWidth,s=l===void 0?Oa.minWidth:l,u=e.minHeight,c=e.maxHeight,d=e.children,f=e.debounce,p=f===void 0?Oa.debounce:f,m=e.id,g=e.className,h=e.onResize,v=e.style,y=v===void 0?{}:v,b=wG(e,fG),x=(0,Yr.useRef)(null),S=(0,Yr.useRef)();S.current=h,(0,Yr.useImperativeHandle)(t,()=>x.current);var w=(0,Yr.useState)({containerWidth:o.width,containerHeight:o.height}),T=gG(w,2),k=T[0],A=T[1],M=(0,Yr.useCallback)((C,_)=>{A(z=>{var D=Math.round(C),E=Math.round(_);return z.containerWidth===D&&z.containerHeight===E?z:{containerWidth:D,containerHeight:E}})},[]);(0,Yr.useEffect)(()=>{if(x.current==null||typeof ResizeObserver>"u")return Un;var C=j=>{var R,U=j[0];if(U!=null){var L=U.contentRect,K=L.width,ae=L.height;M(K,ae),(R=S.current)===null||R===void 0||R.call(S,K,ae)}};p>0&&(C=tC(C,p,{trailing:!0,leading:!1}));var _=new ResizeObserver(C),z=x.current.getBoundingClientRect(),D=z.width,E=z.height;return M(D,E),_.observe(x.current),()=>{_.disconnect()}},[M,p]);var H=k.containerWidth,F=k.containerHeight;Vd(!r||r>0,"The aspect(%s) must be greater than zero.",r);var X=rC(H,F,{width:a,height:i,aspect:r,maxHeight:c}),P=X.calculatedWidth,Y=X.calculatedHeight;return Vd(H<0||F<0||P!=null&&P>0||Y!=null&&Y>0,`The width(%s) and height(%s) of chart should be greater than 0, please check the style of container, or the props width(%s) and height(%s), or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the - height and width.`,D,Y,o,i,s,u,r),ru.createElement("div",h0({id:m?"".concat(m):void 0,className:Ue("recharts-responsive-container",g),style:xD(xD({},y),{},{width:o,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),ru.createElement("div",{style:gD({width:o,height:i})},ru.createElement(SD,{width:D,height:Y},d)))}),Bl=(0,Wr.forwardRef)((e,t)=>{var r=xm();if(Xn(r.width)&&Xn(r.height))return e.children;var n=yD({width:e.width,height:e.height,aspect:e.aspect}),a=n.width,o=n.height,i=Sk(void 0,void 0,{width:a,height:o,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return be(l)&&be(s)?ru.createElement(SD,{width:l,height:s},e.children):ru.createElement(Eq,h0({},e,{width:a,height:o,ref:t}))});var nu=()=>{var e,t=Et(),r=we(g0),n=we(tu),a=(e=we(Td))===null||e===void 0?void 0:e.padding;return!t||!n||!a?r:{width:n.width-a.left-a.right,height:n.height-a.top-a.bottom,x:a.left,y:a.top}},_q={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},x0=()=>{var e;return(e=we(jt))!==null&&e!==void 0?e:_q},Pd=()=>we(on),Dd=()=>we(ln),kD=()=>we(e=>e.layout.margin),qe=e=>e.layout.layoutType,Qn=()=>we(qe),Id=()=>{var e=Qn();if(e==="horizontal"||e==="vertical")return e},b0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},ND=()=>we(b0),CD=()=>{var e=Qn();return e!==void 0},au=e=>{var t=Ve(),r=Et(),n=e.width,a=e.height,o=xm(),i=n,l=a;return o&&(i=o.width>0?o.width:n,l=o.height>0?o.height:a),(0,AD.useEffect)(()=>{!r&&Xn(i)&&Xn(l)&&t(tD({width:i,height:l}))},[t,r,i,l]),null};var Oq={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},ED=Ct({name:"legend",initialState:Oq,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(tt(t.payload))},prepare:Pt()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).payload.indexOf(tt(n));o>-1&&(e.payload[o]=tt(a))},prepare:Pt()},removeLegendPayload:{reducer(e,t){var r=yn(e).payload.indexOf(tt(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Pt()}}}),bm=ED.actions,Ak=bm.setLegendSize,_D=bm.setLegendSettings,kk=bm.addLegendPayload,Nk=bm.replaceLegendPayload,Ck=bm.removeLegendPayload;var OD=ED.reducer;var Sr=te(ne(),1),nY=te(DD(),1);var Lq=Symbol.for("react.forward_ref");var Bq=Symbol.for("react.memo");var $q=Lq,Uq=Bq;function Fq(e){e()}function Wq(){let e=null,t=null;return{clear(){e=null,t=null},notify(){Fq(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){let r=[],n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0,a=t={callback:r,next:null,prev:t};return a.prev?a.prev.next=a:e=a,function(){!n||e===null||(n=!1,a.next?a.next.prev=a.prev:t=a.prev,a.prev?a.prev.next=a.next:e=a.next)}}}}var ID={notify(){},get:()=>[]};function Hq(e,t){let r,n=ID,a=0,o=!1;function i(g){c();let h=n.subscribe(g),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return o}function c(){a++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=Wq())}function d(){a--,r&&a===0&&(r(),r=void 0,n.clear(),n=ID)}function f(){o||(o=!0,c())}function p(){o&&(o=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var Vq=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Kq=Vq(),qq=()=>typeof navigator<"u"&&navigator.product==="ReactNative",Yq=qq(),Gq=()=>Kq||Yq?Sr.useLayoutEffect:Sr.useEffect,Xq=Gq();function jD(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function zD(e,t){if(jD(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let a=0;a{let s=Hq(a);return{store:a,subscription:s,getServerState:n?()=>n:void 0}},[a,n]),i=Sr.useMemo(()=>a.getState(),[a]);return Xq(()=>{let{subscription:s}=o;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==a.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[o,i]),Sr.createElement((r||tY).Provider,{value:o},t)}var LD=rY;var aY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function oY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function Jn(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(aY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!zD(e[n],t[n]))return!1}else if(!oY(e[n],t[n]))return!1;return!0}var BD=J([on,ln,Cd],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function $D(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},a={start:"0",middle:"-50%",end:"-100%"},o=e==="inherit"?"0":n[e],i=(r=a[t])!==null&&r!==void 0?r:"0";return"translate(".concat(o,", ").concat(i,")")}var iY=["contextPayload"];function Ek(){return Ek=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(_D({align:t,layout:r,verticalAlign:n,itemSorter:a,position:o,offset:i}))},[l,t,r,n,a,o,i]),null}function kY(e){var t=e.width,r=e.height,n=Ve();return(0,w0.useLayoutEffect)(()=>{n(Ak({width:t,height:r}))},[n,t,r]),(0,w0.useLayoutEffect)(()=>()=>{n(Ak({width:0,height:0}))},[n]),null}function NY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var CY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function EY(e){var t,r,n,a,o,i,l,s,u=lt(e,CY),c=e.layout&&e.layout!=="auto"?e.layout:xY(u.position),d=aP(),f=V3(),p=kD(),m=we(P=>bY(P,u.position)),g=u.width,h=u.height,v=u.wrapperStyle,y=u.portal,b=y==null&&(u.position==null||nm(u.position)),x=Bh([d]),S=lY(x,2),w=S[0],O=S[1],k=Pd(),A=Dd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),W=NY(c,h,g,M),L=u.position==null?null:Jy({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),H=wY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),D=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(a=m?.width)!==null&&a!==void 0?a:0,Y=c==="horizontal"?((o=m?.height)!==null&&o!==void 0?o:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,N=L?{width:"max-content",height:"max-content",maxWidth:D,maxHeight:Y,overflowY:"auto",top:L.y+((l=H.top)!==null&&l!==void 0?l:0),left:L.x+((s=H.left)!==null&&s!==void 0?s:0),transform:$D(L.horizontalAnchor,L.verticalAnchor)}:SY(v,u,p,k,A,w),_=y?v:jd(jd({position:"absolute",width:W?.width||g||"auto",height:W?.height||h||"auto"},N),v),z=y??f;if(z==null||d==null)return null;var j=Sa.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:O},Sa.createElement(AY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Sa.createElement(kY,w),Sa.createElement(hY,Ek({},u,{layout:c},W,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,WD.createPortal)(j,z)}var S0=Sa.memo(EY,Jn);S0.displayName="Legend";var eo=te(ne()),gz=te(ne()),yz=te(rp());var xo=te(ne());function _k(){return _k=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?zd.separator:t,n=e.contentStyle,a=e.itemStyle,o=e.labelStyle,i=o===void 0?zd.labelStyle:o,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,g=m===void 0?zd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=LY(l,u),M=A.map((W,L)=>{if(!W||W.type==="none")return null;var H=W.formatter||s||zY,D=W.value,Y=W.name,N=D,_=Y;if(H){var z=H(D,Y,W,L,l);if(Array.isArray(z)){var j=MY(z,2);N=j[0],_=j[1]}else if(z!=null)N=z;else return null}var P=Sm(Sm({},zd.itemStyle),{},{color:W.color||zd.itemStyle.color},a);return xo.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(L),style:P},Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Mn(_)?xo.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,xo.createElement("span",{className:"recharts-tooltip-item-value"},N),xo.createElement("span",{className:"recharts-tooltip-item-unit"},W.unit||""))});return xo.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Sm(Sm({},zd.contentStyle),n),y=Sm({margin:0},i),b=!ct(f),x=b?f:"",S=Ue("recharts-default-tooltip",c),w=Ue("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var O=g?{role:"status","aria-live":"assertive"}:{};return xo.createElement("div",_k({className:S,style:v},O),xo.createElement("p",{className:w,style:y},xo.isValidElement(x)?x:"".concat(x)),h())};var $l=te(ne());var Am="recharts-tooltip-wrapper",BY={visibility:"hidden"};function $Y(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return Ue(Am,{["".concat(Am,"-right")]:be(r)&&t&&be(t.x)&&r>=t.x,["".concat(Am,"-left")]:be(r)&&t&&be(t.x)&&r=t.y,["".concat(Am,"-top")]:be(n)&&t&&be(t.y)&&n0?a:0),d=r[n]+a;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function UY(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function YD(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,a=e.offsetLeft,o=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=qD({allowEscapeViewBox:t,coordinate:r,key:"x",offset:a,position:o,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=qD({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:o,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=UY({translateX:d,translateY:f,useTranslate3d:s})):c=BY,{cssProperties:c,cssClasses:$Y({translateX:d,translateY:f,coordinate:r})}}var A0=te(ne());var FY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),Ga={devToolsEnabled:!0,isSsr:FY()};function WY(e,t){return qY(e)||KY(e,t)||VY(e,t)||HY()}function HY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function VY(e,t){if(e){if(typeof e=="string")return GD(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?GD(e,t):void 0}}function GD(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);rGa.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=WY(e,2),r=t[0],n=t[1];return(0,A0.useEffect)(()=>{if(window.matchMedia){var a=window.matchMedia("(prefers-reduced-motion: reduce)"),o=()=>{n(a.matches)};return a.addEventListener("change",o),()=>{a.removeEventListener("change",o)}}},[]),r}function XD(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ld(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=ZY(s,2),c=u[0],d=u[1];$l.useEffect(()=>{var v=y=>{if(y.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(a=e.coordinate)===null||a===void 0?void 0:a.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((o=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&o!==void 0?o:0)!==c.dismissedAtCoordinate.y)&&d(Ld(Ld({},c),{},{dismissed:!1}));var f=YD({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,g=e.hasPortalFromProps?{}:Ld(Ld({transition:tG({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Ld(Ld({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return $l.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var QD=$l.memo(rG);var N0=()=>{var e;return(e=we(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var db=te(ne()),ff=te(ne());var n8=te(ne());function Ok(){return Ok=Object.assign?Object.assign.bind():function(e){for(var t=1;tHe(e.x)&&He(e.y),t8=e=>e.base!=null&&C0(e.base)&&C0(e),km=e=>e.x,Nm=e=>e.y,iG=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(Ci(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=e8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return e8[r]||jl},r8={connectNulls:!1,type:"linear"},lG=e=>{var t=e.type,r=t===void 0?r8.type:t,n=e.points,a=n===void 0?[]:n,o=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?r8.connectNulls:l,u=iG(r,i),c=s?a.filter(C0):a;if(Array.isArray(o)){var d,f=a.map((v,y)=>RD(RD({},v),{},{base:o[y]}));i==="vertical"?d=dd().y(Nm).x1(km).x0(v=>v.base.x):d=dd().x(km).y1(Nm).y0(v=>v.base.y);var p=d.defined(t8).curve(u),m=s?f.filter(t8):f;return p(m)}var g;i==="vertical"&&be(o)?g=dd().y(Nm).x1(km).x0(o):be(o)?g=dd().x(km).y1(Nm).y0(o):g=om().x(km).y(Nm);var h=g.defined(C0).curve(u);return h(c)},Fo=e=>{var t=e.className,r=e.points,n=e.path,a=e.pathRef,o=Qn();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||o,connectNulls:e.connectNulls},l=r&&r.length?lG(i):n;return n8.createElement("path",Ok({},tr(e),gd(e),{className:Ue("recharts-curve",t),d:l===null?void 0:l,ref:a}))};var o8=te(ne());var sG=["x","y","top","left","width","height","className"];function Tk(){return Tk=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(a,"v").concat(n,"M").concat(o,",").concat(t,"h").concat(r),i8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,a=n===void 0?0:n,o=e.top,i=o===void 0?0:o,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=pG(e,sG),g=uG({x:r,y:a,top:i,left:s,width:c,height:f},m);return!be(r)||!be(a)||!be(c)||!be(f)||!be(i)||!be(s)?null:o8.createElement("path",Tk({},rr(g),{className:Ue("recharts-cross",p),d:vG(r,a,c,f,i,s)}))};function l8(e,t,r,n){var a=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-a:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-a,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var P0=te(ne()),Xa=te(ne());var Cm=te(ne());var E0=1e-4,c8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],d8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),s8=(e,t)=>r=>{var n=c8(e,t);return d8(n,r)},gG=(e,t)=>r=>{var n=c8(e,t),a=[...n.map((o,i)=>o*i).slice(1),0];return d8(a,r)},yG=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var a=n.map(o=>parseFloat(o));return[a[0],a[1],a[2],a[3]]},hG=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var a=s8(e,r),o=s8(t,n),i=gG(e,r),l=u=>u>1?1:u<0?0:u,s=u=>{for(var c=u>1?1:u,d=c,f=0;f<8;++f){var p=a(d)-c,m=i(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,a=t.damping,o=a===void 0?8:a,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var y,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),O=S-w;return((y=u[w])!==null&&y!==void 0?y:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*O}},f8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return u8(e);case"spring":return bG();default:if(e.split("(")[0]==="cubic-bezier")return u8(e)}return typeof e=="function"?e:null};var Bd=te(ne());var p8=(e,t,r)=>{var n,a=o=>{var i=t.tick(o);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(a,i);return}n=e.setTimeout(a,i)};return n=e.setTimeout(a,0),()=>{var o;return(o=n)===null||o===void 0?void 0:o()}};var m8=(0,Bd.createContext)(p8),nhe=m8.Provider;function v8(e){var t=(0,Bd.useContext)(m8);return(0,Bd.useMemo)(()=>e??t,[e,t])}function wG(e,t,r){return(t=SG(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function SG(e){var t=AG(e,"string");return typeof t=="symbol"?t:t+""}function AG(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var g8="init",y8="pending",h8="active",kG="completed";function Mk(e){return Math.max(0,e)}var Pk=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;wG(this,"state",g8),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=Mk(t.animationDuration),this.animationBegin=Mk(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===g8)return this.state=y8,this.beginStartedTime=t,this.animationBegin;if(this.getState()===y8){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=h8,this.animationStartedTime=t,this.nextAnimationUpdate(0)):Mk(this.animationBegin-r)}if(this.getState()===h8){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=kG}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},_0=class extends Pk{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Nt(this.getFrom(),this.getTo(),this.getProgress()))}};var O0=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),a=null,o=i=>{i-n>=r?t(i):a=requestAnimationFrame(o)};return a=requestAnimationFrame(o),()=>{a!=null&&cancelAnimationFrame(a)}}};function NG(e,t){return OG(e)||_G(e,t)||EG(e,t)||CG()}function CG(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function EG(e,t){if(e){if(typeof e=="string")return x8(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x8(e,t):void 0}}function x8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},b8=0,Dk=1;function T0(e){var t=lt(e,TG),r=t.animationId,n=t.isActive,a=t.canBegin,o=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=k0(),f=n==="auto"?!Ga.isSsr&&!d:n,p=v8(t.animationController),m=(0,Cm.useState)(f?b8:Dk),g=NG(m,2),h=g[0],v=g[1];return(0,Cm.useEffect)(()=>{f||v(Dk)},[f]),(0,Cm.useEffect)(()=>{var y=f8(i);if(!f||!a||y==null)return Pn;var b=new O0,x=new _0({animationId:r,easing:y,animationDuration:o,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:b8,to:Dk});return p(b,x,v)},[p,r,f,a,o,i,l,u,s]),c(Number(h))}var Ik=te(ne());function M0(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,Ik.useRef)(Ni(t)),n=(0,Ik.useRef)(e);return n.current!==e&&(r.current=Ni(t),n.current=e),r.current}var MG=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),w8=(e,t,r)=>e.map(n=>"".concat(MG(n)," ").concat(t,"ms ").concat(r)).join(",");var PG=["radius"],DG=["radius"],S8,A8,k8,N8,C8,E8,_8,O8,T8,M8;function P8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function D8(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var o=Wa(r),i=Wa(n),l=Math.min(Math.abs(o)/2,Math.abs(i)/2),s=i>=0?1:-1,u=o>=0?1:-1,c=i>=0&&o>=0||i<0&&o<0?1:0,d;if(l>0&&Array.isArray(a)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=qr(S8||(S8=Wo(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=qr(A8||(A8=Wo(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=qr(k8||(k8=Wo(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=qr(N8||(N8=Wo(["A ",",",",0,0,",`, - `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=qr(C8||(C8=Wo(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=qr(E8||(E8=Wo(["A ",",",",0,0,",`, - `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=qr(_8||(_8=Wo(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=qr(O8||(O8=Wo(["A ",",",",0,0,",`, - `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&a===+a&&a>0){var v=Math.min(l,a);d=qr(T8||(T8=Wo(["M ",",",` + height and width.`,P,Y,a,i,s,u,r),hu.createElement("div",V0({id:m?"".concat(m):void 0,className:He("recharts-responsive-container",g),style:a8(a8({},y),{},{width:a,height:i,minWidth:s,minHeight:u,maxHeight:c}),ref:x},b),hu.createElement("div",{style:r8({width:a,height:i})},hu.createElement(s8,{width:P,height:Y},d)))}),Jl=(0,Yr.forwardRef)((e,t)=>{var r=Lm();if(ro(r.width)&&ro(r.height))return e.children;var n=n8({width:e.width,height:e.height,aspect:e.aspect}),o=n.width,a=n.height,i=rC(void 0,void 0,{width:o,height:a,aspect:e.aspect,maxHeight:e.maxHeight}),l=i.calculatedWidth,s=i.calculatedHeight;return Se(l)&&Se(s)?hu.createElement(s8,{width:l,height:s},e.children):hu.createElement(kG,V0({},e,{width:o,height:a,ref:t}))});var xu=()=>{var e,t=It(),r=Ae(W0),n=Ae(yu),o=(e=Ae(Hd))===null||e===void 0?void 0:e.padding;return!t||!n||!o?r:{width:n.width-o.left-o.right,height:n.height-o.top-o.bottom,x:o.left,y:o.top}},CG={top:0,bottom:0,left:0,right:0,width:0,height:0,brushBottom:0},K0=()=>{var e;return(e=Ae(Ht))!==null&&e!==void 0?e:CG},Kd=()=>Ae(fn),qd=()=>Ae(pn),c8=()=>Ae(e=>e.layout.margin),Qe=e=>e.layout.layoutType,oo=()=>Ae(Qe),Gd=()=>{var e=oo();if(e==="horizontal"||e==="vertical")return e},q0=e=>{var t=e.layout.layoutType;if(t==="centric"||t==="radial")return t},d8=()=>Ae(q0),f8=()=>{var e=oo();return e!==void 0},bu=e=>{var t=Xe(),r=It(),n=e.width,o=e.height,a=Lm(),i=n,l=o;return a&&(i=a.width>0?a.width:n,l=a.height>0?a.height:o),(0,u8.useEffect)(()=>{!r&&ro(i)&&ro(l)&&t(UD({width:i,height:l}))},[t,r,i,l]),null};var NG={settings:{layout:"horizontal",align:"center",verticalAlign:"bottom",itemSorter:"value",position:void 0,offset:0},size:{width:0,height:0},payload:[]},p8=Dt({name:"legend",initialState:NG,reducers:{setLegendSize(e,t){e.size.width=t.payload.width,e.size.height=t.payload.height},setLegendSettings(e,t){e.settings.align=t.payload.align,e.settings.layout=t.payload.layout,e.settings.verticalAlign=t.payload.verticalAlign,e.settings.itemSorter=t.payload.itemSorter,e.settings.position=t.payload.position,e.settings.offset=t.payload.offset},addLegendPayload:{reducer(e,t){e.payload.push(st(t.payload))},prepare:Ft()},replaceLegendPayload:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).payload.indexOf(st(n));a>-1&&(e.payload[a]=st(o))},prepare:Ft()},removeLegendPayload:{reducer(e,t){var r=Sn(e).payload.indexOf(st(t.payload));r>-1&&e.payload.splice(r,1)},prepare:Ft()}}}),Bm=p8.actions,nC=Bm.setLegendSize,m8=Bm.setLegendSettings,oC=Bm.addLegendPayload,aC=Bm.replaceLegendPayload,iC=Bm.removeLegendPayload;var v8=p8.reducer;var Er=te(re(),1),eY=te(x8(),1);var IG=Symbol.for("react.forward_ref");var jG=Symbol.for("react.memo");var zG=IG,LG=jG;function BG(e){e()}function $G(){let e=null,t=null;return{clear(){e=null,t=null},notify(){BG(()=>{let r=e;for(;r;)r.callback(),r=r.next})},get(){let r=[],n=e;for(;n;)r.push(n),n=n.next;return r},subscribe(r){let n=!0,o=t={callback:r,next:null,prev:t};return o.prev?o.prev.next=o:e=o,function(){!n||e===null||(n=!1,o.next?o.next.prev=o.prev:t=o.prev,o.prev?o.prev.next=o.next:e=o.next)}}}}var b8={notify(){},get:()=>[]};function FG(e,t){let r,n=b8,o=0,a=!1;function i(g){c();let h=n.subscribe(g),v=!1;return()=>{v||(v=!0,h(),d())}}function l(){n.notify()}function s(){m.onStateChange&&m.onStateChange()}function u(){return a}function c(){o++,r||(r=t?t.addNestedSub(s):e.subscribe(s),n=$G())}function d(){o--,r&&o===0&&(r(),r=void 0,n.clear(),n=b8)}function f(){a||(a=!0,c())}function p(){a&&(a=!1,d())}let m={addNestedSub:i,notifyNestedSubs:l,handleChangeWrapper:s,isSubscribed:u,trySubscribe:f,tryUnsubscribe:p,getListeners:()=>n};return m}var UG=()=>typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",WG=UG(),HG=()=>typeof navigator<"u"&&navigator.product==="ReactNative",VG=HG(),KG=()=>WG||VG?Er.useLayoutEffect:Er.useEffect,qG=KG();function w8(e,t){return e===t?e!==0||t!==0||1/e===1/t:e!==e&&t!==t}function S8(e,t){if(w8(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let o=0;o{let s=FG(o);return{store:o,subscription:s,getServerState:n?()=>n:void 0}},[o,n]),i=Er.useMemo(()=>o.getState(),[o]);return qG(()=>{let{subscription:s}=a;return s.onStateChange=s.notifyNestedSubs,s.trySubscribe(),i!==o.getState()&&s.notifyNestedSubs(),()=>{s.tryUnsubscribe(),s.onStateChange=void 0}},[a,i]),Er.createElement((r||JG).Provider,{value:a},t)}var A8=RG;var tY=new Set(["axisLine","tickLine","activeBar","activeDot","activeLabel","activeShape","allowEscapeViewBox","background","cursor","dot","label","line","margin","padding","position","shape","style","tick","wrapperStyle","radius","throttledEvents"]);function rY(e,t){return e==null&&t==null?!0:typeof e=="number"&&typeof t=="number"?e===t||e!==e&&t!==t:e===t}function ao(e,t){var r=new Set([...Object.keys(e),...Object.keys(t)]);for(var n of r)if(tY.has(n)){if(e[n]==null&&t[n]==null)continue;if(!S8(e[n],t[n]))return!1}else if(!rY(e[n],t[n]))return!1;return!0}var k8=J([fn,pn,$d],(e,t,r)=>({x:r.left||0,y:r.top||0,width:Math.max(e-(r.left||0)-(r.right||0),0),height:Math.max(t-(r.top||0)-(r.bottom||0),0)}));function C8(e,t){var r;if(e==="start"&&t==="start")return"";var n={start:"0",middle:"-50%",end:"-100%"},o={start:"0",middle:"-50%",end:"-100%"},a=e==="inherit"?"0":n[e],i=(r=o[t])!==null&&r!==void 0?r:"0";return"translate(".concat(a,", ").concat(i,")")}var nY=["contextPayload"];function lC(){return lC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{l(m8({align:t,layout:r,verticalAlign:n,itemSorter:o,position:a,offset:i}))},[l,t,r,n,o,a,i]),null}function wY(e){var t=e.width,r=e.height,n=Xe();return(0,G0.useLayoutEffect)(()=>{n(nC({width:t,height:r}))},[n,t,r]),(0,G0.useLayoutEffect)(()=>()=>{n(nC({width:0,height:0}))},[n]),null}function SY(e,t,r,n){return e==="vertical"&&t!=null?{height:t}:e==="horizontal"?{width:r||n}:null}var AY={align:"center",iconSize:14,inactiveColor:"#ccc",itemSorter:"value",labelStyle:{},layout:"auto",verticalAlign:"bottom",offset:0};function kY(e){var t,r,n,o,a,i,l,s,u=ft(e,AY),c=e.layout&&e.layout!=="auto"?e.layout:gY(u.position),d=VP(),f=TM(),p=c8(),m=Ae(E=>yY(E,u.position)),g=u.width,h=u.height,v=u.wrapperStyle,y=u.portal,b=y==null&&(u.position==null||wm(u.position)),x=c0([d]),S=oY(x,2),w=S[0],T=S[1],k=Kd(),A=qd();if(k==null||A==null||u.position!=null&&m==null)return null;var M=k-(p?.left||0)-(p?.right||0),H=SY(c,h,g,M),F=u.position==null?null:kh({viewBox:m??{x:0,y:0,width:k,height:A},position:u.position,offset:(t=u.offset)!==null&&t!==void 0?t:0}),X=hY(u.position,(r=u.offset)!==null&&r!==void 0?r:0,w),P=c==="vertical"?((n=m?.width)!==null&&n!==void 0?n:0)/2:(o=m?.width)!==null&&o!==void 0?o:0,Y=c==="horizontal"?((a=m?.height)!==null&&a!==void 0?a:0)/2:(i=m?.height)!==null&&i!==void 0?i:0,C=F?{width:"max-content",height:"max-content",maxWidth:P,maxHeight:Y,overflowY:"auto",top:F.y+((l=X.top)!==null&&l!==void 0?l:0),left:F.x+((s=X.left)!==null&&s!==void 0?s:0),transform:C8(F.horizontalAnchor,F.verticalAnchor)}:xY(v,u,p,k,A,w),_=y?v:Yd(Yd({position:"absolute",width:H?.width||g||"auto",height:H?.height||h||"auto"},C),v),z=y??f;if(z==null||d==null)return null;var D=Oo.createElement("div",{className:"recharts-legend-wrapper",style:_,ref:T},Oo.createElement(bY,{layout:c,align:u.align,verticalAlign:u.verticalAlign,itemSorter:u.itemSorter,position:u.position,offset:u.offset}),b&&Oo.createElement(wY,w),Oo.createElement(vY,lC({},u,{layout:c},H,{margin:p,chartWidth:k,chartHeight:A,contextPayload:d})));return(0,E8.createPortal)(D,z)}var Y0=Oo.memo(kY,ao);Y0.displayName="Legend";var fa=te(re()),rL=te(re()),nL=te(bp());var Ta=te(re());function sC(){return sC=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.separator,r=t===void 0?Xd.separator:t,n=e.contentStyle,o=e.itemStyle,a=e.labelStyle,i=a===void 0?Xd.labelStyle:a,l=e.payload,s=e.formatter,u=e.itemSorter,c=e.wrapperClassName,d=e.labelClassName,f=e.label,p=e.labelFormatter,m=e.accessibilityLayer,g=m===void 0?Xd.accessibilityLayer:m,h=()=>{if(l&&l.length){var k={padding:0,margin:0},A=IY(l,u),M=A.map((H,F)=>{if(!H||H.type==="none")return null;var X=H.formatter||s||DY,P=H.value,Y=H.name,C=P,_=Y;if(X){var z=X(P,Y,H,F,l);if(Array.isArray(z)){var D=EY(z,2);C=D[0],_=D[1]}else if(z!=null)C=z;else return null}var E=Fm(Fm({},Xd.itemStyle),{},{color:H.color||Xd.itemStyle.color},o);return Ta.createElement("li",{className:"recharts-tooltip-item",key:"tooltip-item-".concat(F),style:E},Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-name"},_):null,Fn(_)?Ta.createElement("span",{className:"recharts-tooltip-item-separator"},r):null,Ta.createElement("span",{className:"recharts-tooltip-item-value"},C),Ta.createElement("span",{className:"recharts-tooltip-item-unit"},H.unit||""))});return Ta.createElement("ul",{className:"recharts-tooltip-item-list",style:k},M)}return null},v=Fm(Fm({},Xd.contentStyle),n),y=Fm({margin:0},i),b=!mt(f),x=b?f:"",S=He("recharts-default-tooltip",c),w=He("recharts-tooltip-label",d);b&&p&&l!==void 0&&l!==null&&(x=p(f,l));var T=g?{role:"status","aria-live":"assertive"}:{};return Ta.createElement("div",sC({className:S,style:v},T),Ta.createElement("p",{className:w,style:y},Ta.isValidElement(x)?x:"".concat(x)),h())};var Rl=te(re());var Um="recharts-tooltip-wrapper",jY={visibility:"hidden"};function zY(e){var t=e.coordinate,r=e.translateX,n=e.translateY;return He(Um,{["".concat(Um,"-right")]:Se(r)&&t&&Se(t.x)&&r>=t.x,["".concat(Um,"-left")]:Se(r)&&t&&Se(t.x)&&r=t.y,["".concat(Um,"-top")]:Se(n)&&t&&Se(t.y)&&n0?o:0),d=r[n]+o;if(t[n])return i[n]?c:d;var f=s[n];if(f==null)return 0;if(i[n]){var p=c,m=f;return ph?Math.max(c,f):Math.max(d,f)}function LY(e){var t=e.translateX,r=e.translateY,n=e.useTranslate3d;return{transform:n?"translate3d(".concat(t,"px, ").concat(r,"px, 0)"):"translate(".concat(t,"px, ").concat(r,"px)")}}function D8(e){var t=e.allowEscapeViewBox,r=e.coordinate,n=e.offsetTop,o=e.offsetLeft,a=e.position,i=e.reverseDirection,l=e.tooltipBox,s=e.useTranslate3d,u=e.viewBox,c,d,f;return l&&l.height>0&&l.width>0&&r?(d=P8({allowEscapeViewBox:t,coordinate:r,key:"x",offset:o,position:a,reverseDirection:i,tooltipDimension:l.width,viewBox:u,viewBoxDimension:u.width}),f=P8({allowEscapeViewBox:t,coordinate:r,key:"y",offset:n,position:a,reverseDirection:i,tooltipDimension:l.height,viewBox:u,viewBoxDimension:u.height}),c=LY({translateX:d,translateY:f,useTranslate3d:s})):c=jY,{cssProperties:c,cssClasses:zY({translateX:d,translateY:f,coordinate:r})}}var X0=te(re());var BY=()=>!(typeof window<"u"&&window.document&&window.document.createElement&&window.setTimeout),ia={devToolsEnabled:!0,isSsr:BY()};function $Y(e,t){return HY(e)||WY(e,t)||UY(e,t)||FY()}function FY(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function UY(e,t){if(e){if(typeof e=="string")return I8(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?I8(e,t):void 0}}function I8(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);ria.isSsr||!window.matchMedia?!1:window.matchMedia("(prefers-reduced-motion: reduce)").matches),t=$Y(e,2),r=t[0],n=t[1];return(0,X0.useEffect)(()=>{if(window.matchMedia){var o=window.matchMedia("(prefers-reduced-motion: reduce)"),a=()=>{n(o.matches)};return o.addEventListener("change",a),()=>{o.removeEventListener("change",a)}}},[]),r}function j8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Zd(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r({dismissed:!1,dismissedAtCoordinate:{x:0,y:0}})),u=GY(s,2),c=u[0],d=u[1];Rl.useEffect(()=>{var v=y=>{if(y.key==="Escape"){var b,x,S,w;d({dismissed:!0,dismissedAtCoordinate:{x:(b=(x=e.coordinate)===null||x===void 0?void 0:x.x)!==null&&b!==void 0?b:0,y:(S=(w=e.coordinate)===null||w===void 0?void 0:w.y)!==null&&S!==void 0?S:0}})}};return document.addEventListener("keydown",v),()=>{document.removeEventListener("keydown",v)}},[(t=e.coordinate)===null||t===void 0?void 0:t.x,(r=e.coordinate)===null||r===void 0?void 0:r.y]),c.dismissed&&(((n=(o=e.coordinate)===null||o===void 0?void 0:o.x)!==null&&n!==void 0?n:0)!==c.dismissedAtCoordinate.x||((a=(i=e.coordinate)===null||i===void 0?void 0:i.y)!==null&&a!==void 0?a:0)!==c.dismissedAtCoordinate.y)&&d(Zd(Zd({},c),{},{dismissed:!1}));var f=D8({allowEscapeViewBox:e.allowEscapeViewBox,coordinate:e.coordinate,offsetLeft:typeof e.offset=="number"?e.offset:e.offset.x,offsetTop:typeof e.offset=="number"?e.offset:e.offset.y,position:e.position,reverseDirection:e.reverseDirection,tooltipBox:e.lastBoundingBox,useTranslate3d:e.useTranslate3d,viewBox:e.viewBox}),p=f.cssClasses,m=f.cssProperties,g=e.hasPortalFromProps?{}:Zd(Zd({transition:JY({prefersReducedMotion:l,isAnimationActive:e.isAnimationActive,active:e.active,animationDuration:e.animationDuration,animationEasing:e.animationEasing})},m),{},{pointerEvents:"none",position:"absolute",top:0,left:0}),h=Zd(Zd({},g),{},{visibility:!c.dismissed&&e.active&&e.hasPayload?"visible":"hidden"},e.wrapperStyle);return Rl.createElement("div",{xmlns:"http://www.w3.org/1999/xhtml",tabIndex:-1,className:p,style:h,ref:e.innerRef},e.children)}var L8=Rl.memo(RY);var Q0=()=>{var e;return(e=Ae(t=>t.rootProps.accessibilityLayer))!==null&&e!==void 0?e:!0};var Lb=te(re()),Cf=te(re());var H8=te(re());function uC(){return uC=Object.assign?Object.assign.bind():function(e){for(var t=1;tqe(e.x)&&qe(e.y),U8=e=>e.base!=null&&J0(e.base)&&J0(e),Wm=e=>e.x,Hm=e=>e.y,nX=(e,t)=>{if(typeof e=="function")return e;var r="curve".concat(zi(e));if((r==="curveMonotone"||r==="curveBump")&&t){var n=F8["".concat(r).concat(t==="vertical"?"Y":"X")];if(n)return n}return F8[r]||Xl},W8={connectNulls:!1,type:"linear"},oX=e=>{var t=e.type,r=t===void 0?W8.type:t,n=e.points,o=n===void 0?[]:n,a=e.baseLine,i=e.layout,l=e.connectNulls,s=l===void 0?W8.connectNulls:l,u=nX(r,i),c=s?o.filter(J0):o;if(Array.isArray(a)){var d,f=o.map((v,y)=>$8($8({},v),{},{base:a[y]}));i==="vertical"?d=kd().y(Hm).x1(Wm).x0(v=>v.base.x):d=kd().x(Wm).y1(Hm).y0(v=>v.base.y);var p=d.defined(U8).curve(u),m=s?f.filter(U8):f;return p(m)}var g;i==="vertical"&&Se(a)?g=kd().y(Hm).x1(Wm).x0(a):Se(a)?g=kd().x(Wm).y1(Hm).y0(a):g=Am().x(Wm).y(Hm);var h=g.defined(J0).curve(u);return h(c)},Ja=e=>{var t=e.className,r=e.points,n=e.path,o=e.pathRef,a=oo();if((!r||!r.length)&&!n)return null;var i={type:e.type,points:e.points,baseLine:e.baseLine,layout:e.layout||a,connectNulls:e.connectNulls},l=r&&r.length?oX(i):n;return H8.createElement("path",uC({},cr(e),Od(e),{className:He("recharts-curve",t),d:l===null?void 0:l,ref:o}))};var K8=te(re());var aX=["x","y","top","left","width","height","className"];function cC(){return cC=Object.assign?Object.assign.bind():function(e){for(var t=1;t"M".concat(e,",").concat(o,"v").concat(n,"M").concat(a,",").concat(t,"h").concat(r),q8=e=>{var t=e.x,r=t===void 0?0:t,n=e.y,o=n===void 0?0:n,a=e.top,i=a===void 0?0:a,l=e.left,s=l===void 0?0:l,u=e.width,c=u===void 0?0:u,d=e.height,f=d===void 0?0:d,p=e.className,m=cX(e,aX),g=iX({x:r,y:o,top:i,left:s,width:c,height:f},m);return!Se(r)||!Se(o)||!Se(c)||!Se(f)||!Se(i)||!Se(s)?null:K8.createElement("path",cC({},dr(g),{className:He("recharts-cross",p),d:fX(r,o,c,f,i,s)}))};function G8(e,t,r,n){var o=n/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-o:r.left+.5,y:e==="horizontal"?r.top+.5:t.y-o,width:e==="horizontal"?n:r.width-1,height:e==="horizontal"?r.height-1:n}}var ox=te(re()),la=te(re());var Vm=te(re());var R0=1e-4,Z8=(e,t)=>[0,3*e,3*t-6*e,3*e-3*t+1],Q8=(e,t)=>e.map((r,n)=>r*t**n).reduce((r,n)=>r+n),Y8=(e,t)=>r=>{var n=Z8(e,t);return Q8(n,r)},pX=(e,t)=>r=>{var n=Z8(e,t),o=[...n.map((a,i)=>a*i).slice(1),0];return Q8(o,r)},mX=e=>{var t,r=e.split("(");if(r.length!==2||r[0]!=="cubic-bezier")return null;var n=(t=r[1])===null||t===void 0||(t=t.split(")")[0])===null||t===void 0?void 0:t.split(",");if(n==null||n.length!==4)return null;var o=n.map(a=>parseFloat(a));return[o[0],o[1],o[2],o[3]]},vX=function(){for(var t=arguments.length,r=new Array(t),n=0;n{var o=Y8(e,r),a=Y8(t,n),i=pX(e,r),l=u=>u>1?1:u<0?0:u,s=u=>{for(var c=u>1?1:u,d=c,f=0;f<8;++f){var p=o(d)-c,m=i(d);if(Math.abs(p-c)0&&arguments[0]!==void 0?arguments[0]:{},r=t.stiff,n=r===void 0?100:r,o=t.damping,a=o===void 0?8:o,i=t.dt,l=i===void 0?16.67:i,s=1,u=[0],c=0,d=0,f=1e4,p=0;p{var y,b,x;if(v<=0)return 0;if(v>=1)return s;var S=v*h,w=Math.floor(S),T=S-w;return((y=u[w])!==null&&y!==void 0?y:0)+(((b=u[w+1])!==null&&b!==void 0?b:0)-((x=u[w])!==null&&x!==void 0?x:0))*T}},J8=e=>{if(typeof e=="string")switch(e){case"ease":case"ease-in-out":case"ease-out":case"ease-in":case"linear":return X8(e);case"spring":return yX();default:if(e.split("(")[0]==="cubic-bezier")return X8(e)}return typeof e=="function"?e:null};var Qd=te(re());var R8=(e,t,r)=>{var n,o=a=>{var i=t.tick(a);if(t.getState()==="active"){if(r(t.getInterpolated()),t.getProgress()===1){t.complete(),n=void 0;return}n=e.setTimeout(o,i);return}n=e.setTimeout(o,i)};return n=e.setTimeout(o,0),()=>{var a;return(a=n)===null||a===void 0?void 0:a()}};var eI=(0,Qd.createContext)(R8),a0e=eI.Provider;function tI(e){var t=(0,Qd.useContext)(eI);return(0,Qd.useMemo)(()=>e??t,[e,t])}function hX(e,t,r){return(t=xX(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function xX(e){var t=bX(e,"string");return typeof t=="symbol"?t:t+""}function bX(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var rI="init",nI="pending",oI="active",wX="completed";function dC(e){return Math.max(0,e)}var fC=class{getAnimationStartedTime(){return this.animationStartedTime}getBeginStartedTime(){return this.beginStartedTime}constructor(t){var r;hX(this,"state",rI),this.animationId=t.animationId,this.onAnimationEnd=t.onAnimationEnd,this.animationDuration=dC(t.animationDuration),this.animationBegin=dC(t.animationBegin),this.progress=0,this.from=t.from,this.to=t.to,this.easing=t.easing,(r=t.onAnimationStart)===null||r===void 0||r.call(t)}getState(){return this.state}getEasing(){return this.easing}getAnimationDuration(){return this.animationDuration}tick(t){if(this.getState()===rI)return this.state=nI,this.beginStartedTime=t,this.animationBegin;if(this.getState()===nI){if(this.beginStartedTime==null)throw new Error;var r=t-this.beginStartedTime;return r>=this.animationBegin?(this.state=oI,this.animationStartedTime=t,this.nextAnimationUpdate(0)):dC(this.animationBegin-r)}if(this.getState()===oI){if(this.animationStartedTime==null)throw new Error;var n=t-this.animationStartedTime;return this.setProgress(n/this.animationDuration),this.nextAnimationUpdate(n)}return 0}setProgress(t){this.progress=Math.min(1,Math.max(0,t))}getProgress(){return this.progress}complete(){if(this.progress=1,this.state==="active"){var t;(t=this.onAnimationEnd)===null||t===void 0||t.call(this)}this.state=wX}getFrom(){return this.from}getTo(){return this.to}getAnimationId(){return this.animationId}getAnimationBegin(){return this.animationBegin}},ex=class extends fC{nextAnimationUpdate(){return 0}getInterpolated(){return this.easing(Pt(this.getFrom(),this.getTo(),this.getProgress()))}};var tx=class{setTimeout(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=performance.now(),o=null,a=i=>{i-n>=r?t(i):o=requestAnimationFrame(a)};return o=requestAnimationFrame(a),()=>{o!=null&&cancelAnimationFrame(o)}}};function SX(e,t){return NX(e)||CX(e,t)||kX(e,t)||AX()}function AX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function kX(e,t){if(e){if(typeof e=="string")return aI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?aI(e,t):void 0}}function aI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{},onAnimationStart:()=>{}},iI=0,pC=1;function rx(e){var t=ft(e,_X),r=t.animationId,n=t.isActive,o=t.canBegin,a=t.duration,i=t.easing,l=t.begin,s=t.onAnimationEnd,u=t.onAnimationStart,c=t.children,d=Z0(),f=n==="auto"?!ia.isSsr&&!d:n,p=tI(t.animationController),m=(0,Vm.useState)(f?iI:pC),g=SX(m,2),h=g[0],v=g[1];return(0,Vm.useEffect)(()=>{f||v(pC)},[f]),(0,Vm.useEffect)(()=>{var y=J8(i);if(!f||!o||y==null)return Un;var b=new tx,x=new ex({animationId:r,easing:y,animationDuration:a,animationBegin:l,onAnimationStart:u,onAnimationEnd:s,from:iI,to:pC});return p(b,x,v)},[p,r,f,o,a,i,l,u,s]),c(Number(h))}var mC=te(re());function nx(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"animation-",r=(0,mC.useRef)(ji(t)),n=(0,mC.useRef)(e);return n.current!==e&&(r.current=ji(t),n.current=e),r.current}var EX=e=>e.replace(/([A-Z])/g,t=>"-".concat(t.toLowerCase())),lI=(e,t,r)=>e.map(n=>"".concat(EX(n)," ").concat(t,"ms ").concat(r)).join(",");var OX=["radius"],TX=["radius"],sI,uI,cI,dI,fI,pI,mI,vI,gI,yI;function hI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function xI(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{var a=ea(r),i=ea(n),l=Math.min(Math.abs(a)/2,Math.abs(i)/2),s=i>=0?1:-1,u=a>=0?1:-1,c=i>=0&&a>=0||i<0&&a<0?1:0,d;if(l>0&&Array.isArray(o)){for(var f=[0,0,0,0],p=0,m=4;pl?l:h}d=Rr(sI||(sI=Ra(["M",",",""])),e,t+s*f[0]),f[0]>0&&(d+=Rr(uI||(uI=Ra(["A ",",",",0,0,",",",",",""])),f[0],f[0],c,e+u*f[0],t)),d+=Rr(cI||(cI=Ra(["L ",",",""])),e+r-u*f[1],t),f[1]>0&&(d+=Rr(dI||(dI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[1],f[1],c,e+r,t+s*f[1])),d+=Rr(fI||(fI=Ra(["L ",",",""])),e+r,t+n-s*f[2]),f[2]>0&&(d+=Rr(pI||(pI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[2],f[2],c,e+r-u*f[2],t+n)),d+=Rr(mI||(mI=Ra(["L ",",",""])),e+u*f[3],t+n),f[3]>0&&(d+=Rr(vI||(vI=Ra(["A ",",",",0,0,",`, + `,",",""])),f[3],f[3],c,e,t+n-s*f[3])),d+="Z"}else if(l>0&&o===+o&&o>0){var v=Math.min(l,o);d=Rr(gI||(gI=Ra(["M ",",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` A `,",",",0,0,",",",",",` L `,",",` - A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=qr(M8||(M8=Wo(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},L8={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},I0=e=>{var t=lt(e,L8),r=(0,Xa.useRef)(null),n=(0,Xa.useState)(-1),a=BG(n,2),o=a[0],i=a[1];(0,Xa.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var j=r.current.getTotalLength();j&&i(j)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,g=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,y=(0,Xa.useRef)(u),b=(0,Xa.useRef)(c),x=(0,Xa.useRef)(l),S=(0,Xa.useRef)(s),w=(0,Xa.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),O=M0(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=Ue("recharts-rectangle",f);if(!v){var A=rr(t),M=A.radius,W=I8(A,PG);return P0.createElement("path",D0({},W,{x:Wa(l),y:Wa(s),width:Wa(u),height:Wa(c),radius:typeof d=="number"?d:void 0,className:k,d:z8(l,s,u,c,d)}))}var L=y.current,H=b.current,D=x.current,Y=S.current,N="0px ".concat(o===-1?1:o,"px"),_="".concat(o,"px ").concat(o,"px"),z=w8(["strokeDasharray"],m,typeof p=="string"?p:L8.animationEasing);return P0.createElement(T0,{animationId:O,key:O,canBegin:o>0,duration:m,easing:p,isActive:v,begin:g},j=>{var P=Nt(L,u,j),B=Nt(H,c,j),R=Nt(D,l,j),F=Nt(Y,s,j);r.current&&(y.current=P,b.current=B,x.current=R,S.current=F);var G;h?j>0?G={transition:z,strokeDasharray:_}:G={strokeDasharray:N}:G={strokeDasharray:_};var ee=rr(t),fe=ee.radius,de=I8(ee,DG);return P0.createElement("path",D0({},de,{radius:typeof d=="number"?d:void 0,className:k,d:z8(R,F,P,B,d),ref:r,style:D8(D8({},G),t.style)}))})};function B8(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function $8(e){for(var t=1;te*180/Math.PI,qt=(e,t,r,n)=>({x:e+Math.cos(-Em*n)*r,y:t+Math.sin(-Em*n)*r}),j0=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},YG=(e,t)=>{var r=e.x,n=e.y,a=t.x,o=t.y;return Math.sqrt((r-a)**2+(n-o)**2)},GG=(e,t)=>{var r=e.x,n=e.y,a=t.cx,o=t.cy,i=YG({x:r,y:n},{x:a,y:o});if(i<=0)return{radius:i,angle:0};var l=(r-a)/i,s=Math.acos(l);return n>o&&(s=2*Math.PI-s),{radius:i,angle:qG(s),angleInRadian:s}},XG=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),a=Math.floor(r/360),o=Math.min(n,a);return{startAngle:t-o*360,endAngle:r-o*360}},ZG=(e,t)=>{var r=t.startAngle,n=t.endAngle,a=Math.floor(r/360),o=Math.floor(n/360),i=Math.min(a,o);return e+i*360},U8=(e,t)=>{var r=e.relativeX,n=e.relativeY,a=GG({x:r,y:n},t),o=a.radius,i=a.angle,l=t.innerRadius,s=t.outerRadius;if(os||o===0)return null;var u=XG(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?$8($8({},t),{},{radius:o,angle:ZG(f,t)}):null};function z0(e){var t=e.cx,r=e.cy,n=e.radius,a=e.startAngle,o=e.endAngle,i=qt(t,r,n,a),l=qt(t,r,n,o);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:a,endAngle:o}}var G8=te(ne());var F8,W8,H8,V8,K8,q8,Y8;function jk(){return jk=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Ft(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},L0=e=>{var t=e.cx,r=e.cy,n=e.radius,a=e.angle,o=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Em,d=s?a:a+o*c,f=qt(t,r,u,d),p=qt(t,r,n,d),m=s?a-o*c:a,g=qt(t,r,u*Math.cos(c*Em),m);return{center:f,circleTangency:p,lineTangency:g,theta:c}},X8=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=QG(o,i),s=o+l,u=qt(t,r,a,o),c=qt(t,r,a,s),d=qr(F8||(F8=ou(["M ",",",` + A `,",",",0,0,",",",","," Z"])),e,t+s*v,v,v,c,e+u*v,t,e+r-u*v,t,v,v,c,e+r,t+s*v,e+r,t+n-s*v,v,v,c,e+r-u*v,t+n,e+u*v,t+n,v,v,c,e,t+n-s*v)}else d=Rr(yI||(yI=Ra(["M ",","," h "," v "," h "," Z"])),e,t,r,n,-r);return d},AI={x:0,y:0,width:0,height:0,radius:0,isAnimationActive:!1,isUpdateAnimationActive:!1,animationBegin:0,animationDuration:1500,animationEasing:"ease"},ix=e=>{var t=ft(e,AI),r=(0,la.useRef)(null),n=(0,la.useState)(-1),o=jX(n,2),a=o[0],i=o[1];(0,la.useEffect)(()=>{if(r.current&&r.current.getTotalLength)try{var D=r.current.getTotalLength();D&&i(D)}catch{}},[]);var l=t.x,s=t.y,u=t.width,c=t.height,d=t.radius,f=t.className,p=t.animationEasing,m=t.animationDuration,g=t.animationBegin,h=t.isAnimationActive,v=t.isUpdateAnimationActive,y=(0,la.useRef)(u),b=(0,la.useRef)(c),x=(0,la.useRef)(l),S=(0,la.useRef)(s),w=(0,la.useMemo)(()=>({x:l,y:s,width:u,height:c,radius:d}),[l,s,u,c,d]),T=nx(w,"rectangle-");if(l!==+l||s!==+s||u!==+u||c!==+c||u===0||c===0)return null;var k=He("recharts-rectangle",f);if(!v){var A=dr(t),M=A.radius,H=bI(A,OX);return ox.createElement("path",ax({},H,{x:ea(l),y:ea(s),width:ea(u),height:ea(c),radius:typeof d=="number"?d:void 0,className:k,d:SI(l,s,u,c,d)}))}var F=y.current,X=b.current,P=x.current,Y=S.current,C="0px ".concat(a===-1?1:a,"px"),_="".concat(a,"px ").concat(a,"px"),z=lI(["strokeDasharray"],m,typeof p=="string"?p:AI.animationEasing);return ox.createElement(rx,{animationId:T,key:T,canBegin:a>0,duration:m,easing:p,isActive:v,begin:g},D=>{var E=Pt(F,u,D),j=Pt(X,c,D),R=Pt(P,l,D),U=Pt(Y,s,D);r.current&&(y.current=E,b.current=j,x.current=R,S.current=U);var L;h?D>0?L={transition:z,strokeDasharray:_}:L={strokeDasharray:C}:L={strokeDasharray:_};var K=dr(t),ae=K.radius,de=bI(K,TX);return ox.createElement("path",ax({},de,{radius:typeof d=="number"?d:void 0,className:k,d:SI(R,U,E,j,d),ref:r,style:xI(xI({},L),t.style)}))})};function kI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function CI(e){for(var t=1;te*180/Math.PI,tr=(e,t,r,n)=>({x:e+Math.cos(-Km*n)*r,y:t+Math.sin(-Km*n)*r}),lx=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{top:0,right:0,bottom:0,left:0,width:0,height:0,brushBottom:0};return Math.min(Math.abs(t-(n.left||0)-(n.right||0)),Math.abs(r-(n.top||0)-(n.bottom||0)))/2},VX=(e,t)=>{var r=e.x,n=e.y,o=t.x,a=t.y;return Math.sqrt((r-o)**2+(n-a)**2)},KX=(e,t)=>{var r=e.x,n=e.y,o=t.cx,a=t.cy,i=VX({x:r,y:n},{x:o,y:a});if(i<=0)return{radius:i,angle:0};var l=(r-o)/i,s=Math.acos(l);return n>a&&(s=2*Math.PI-s),{radius:i,angle:HX(s),angleInRadian:s}},qX=e=>{var t=e.startAngle,r=e.endAngle,n=Math.floor(t/360),o=Math.floor(r/360),a=Math.min(n,o);return{startAngle:t-a*360,endAngle:r-a*360}},GX=(e,t)=>{var r=t.startAngle,n=t.endAngle,o=Math.floor(r/360),a=Math.floor(n/360),i=Math.min(o,a);return e+i*360},NI=(e,t)=>{var r=e.relativeX,n=e.relativeY,o=KX({x:r,y:n},t),a=o.radius,i=o.angle,l=t.innerRadius,s=t.outerRadius;if(as||a===0)return null;var u=qX(t),c=u.startAngle,d=u.endAngle,f=i,p;if(c<=d){for(;f>d;)f-=360;for(;f=c&&f<=d}else{for(;f>c;)f-=360;for(;f=d&&f<=c}return p?CI(CI({},t),{},{radius:a,angle:GX(f,t)}):null};function sx(e){var t=e.cx,r=e.cy,n=e.radius,o=e.startAngle,a=e.endAngle,i=tr(t,r,n,o),l=tr(t,r,n,a);return{points:[i,l],cx:t,cy:r,radius:n,startAngle:o,endAngle:a}}var II=te(re());var _I,EI,OI,TI,MI,PI,DI;function vC(){return vC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=Xt(t-e),n=Math.min(Math.abs(t-e),359.999);return r*n},ux=e=>{var t=e.cx,r=e.cy,n=e.radius,o=e.angle,a=e.sign,i=e.isExternal,l=e.cornerRadius,s=e.cornerIsExternal,u=l*(i?1:-1)+n,c=Math.asin(l/u)/Km,d=s?o:o+a*c,f=tr(t,r,u,d),p=tr(t,r,n,d),m=s?o-a*c:o,g=tr(t,r,u*Math.cos(c*Km),m);return{center:f,circleTangency:p,lineTangency:g,theta:c}},jI=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=YX(a,i),s=a+l,u=tr(t,r,o,a),c=tr(t,r,o,s),d=Rr(_I||(_I=wu(["M ",",",` A `,",",`,0, `,",",`, `,",",` - `])),u.x,u.y,a,a,+(Math.abs(l)>180),+(o>s),c.x,c.y);if(n>0){var f=qt(t,r,n,o),p=qt(t,r,n,s);d+=qr(W8||(W8=ou(["L ",",",` + `])),u.x,u.y,o,o,+(Math.abs(l)>180),+(a>s),c.x,c.y);if(n>0){var f=tr(t,r,n,a),p=tr(t,r,n,s);d+=Rr(EI||(EI=wu(["L ",",",` A `,",",`,0, `,",",`, - `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(o<=s),f.x,f.y)}else d+=qr(H8||(H8=ou(["L ",","," Z"])),t,r);return d},JG=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Ft(u-s),d=L0({cx:t,cy:r,radius:a,angle:s,sign:c,cornerRadius:o,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,g=L0({cx:t,cy:r,radius:a,angle:u,sign:-c,cornerRadius:o,cornerIsExternal:l}),h=g.circleTangency,v=g.lineTangency,y=g.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-y;if(b<0)return i?qr(V8||(V8=ou(["M ",",",` + `,","," Z"])),p.x,p.y,n,n,+(Math.abs(l)>180),+(a<=s),f.x,f.y)}else d+=Rr(OI||(OI=wu(["L ",","," Z"])),t,r);return d},XX=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.cornerRadius,i=e.forceCornerRadius,l=e.cornerIsExternal,s=e.startAngle,u=e.endAngle,c=Xt(u-s),d=ux({cx:t,cy:r,radius:o,angle:s,sign:c,cornerRadius:a,cornerIsExternal:l}),f=d.circleTangency,p=d.lineTangency,m=d.theta,g=ux({cx:t,cy:r,radius:o,angle:u,sign:-c,cornerRadius:a,cornerIsExternal:l}),h=g.circleTangency,v=g.lineTangency,y=g.theta,b=l?Math.abs(s-u):Math.abs(s-u)-m-y;if(b<0)return i?Rr(TI||(TI=wu(["M ",",",` a`,",",",0,0,1,",`,0 a`,",",",0,0,1,",`,0 - `])),p.x,p.y,o,o,o*2,o,o,-o*2):X8({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:s,endAngle:u});var x=qr(K8||(K8=ou(["M ",",",` + `])),p.x,p.y,a,a,a*2,a,a,-a*2):jI({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:s,endAngle:u});var x=Rr(MI||(MI=wu(["M ",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` A`,",",",0,0,",",",",",` - `])),p.x,p.y,o,o,+(c<0),f.x,f.y,a,a,+(b>180),+(c<0),h.x,h.y,o,o,+(c<0),v.x,v.y);if(n>0){var S=L0({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),w=S.circleTangency,O=S.lineTangency,k=S.theta,A=L0({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:o,cornerIsExternal:l}),M=A.circleTangency,W=A.lineTangency,L=A.theta,H=l?Math.abs(s-u):Math.abs(s-u)-k-L;if(H<0&&o===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=qr(q8||(q8=ou(["L",",",` + `])),p.x,p.y,a,a,+(c<0),f.x,f.y,o,o,+(b>180),+(c<0),h.x,h.y,a,a,+(c<0),v.x,v.y);if(n>0){var S=ux({cx:t,cy:r,radius:n,angle:s,sign:c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),w=S.circleTangency,T=S.lineTangency,k=S.theta,A=ux({cx:t,cy:r,radius:n,angle:u,sign:-c,isExternal:!0,cornerRadius:a,cornerIsExternal:l}),M=A.circleTangency,H=A.lineTangency,F=A.theta,X=l?Math.abs(s-u):Math.abs(s-u)-k-F;if(X<0&&a===0)return"".concat(x,"L").concat(t,",").concat(r,"Z");x+=Rr(PI||(PI=wu(["L",",",` A`,",",",0,0,",",",",",` A`,",",",0,",",",",",",",` - A`,",",",0,0,",",",",","Z"])),W.x,W.y,o,o,+(c<0),M.x,M.y,n,n,+(H>180),+(c>0),w.x,w.y,o,o,+(c<0),O.x,O.y)}else x+=qr(Y8||(Y8=ou(["L",",","Z"])),t,r);return x},RG={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},B0=e=>{var t=lt(e,RG),r=t.cx,n=t.cy,a=t.innerRadius,o=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(o0&&Math.abs(u-c)<360?g=JG({cx:r,cy:n,innerRadius:a,outerRadius:o,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=X8({cx:r,cy:n,innerRadius:a,outerRadius:o,startAngle:u,endAngle:c}),G8.createElement("path",jk({},rr(t),{className:f,d:g}))};function Z8(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(ih(t)){if(e==="centric"){var n=t.cx,a=t.cy,o=t.innerRadius,i=t.outerRadius,l=t.angle,s=qt(n,a,o,l),u=qt(n,a,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return z0(t)}}function Q8(e){return zh(e)?NaN:Number(e)}function $0(e){return e?(e=Q8(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function U0(e,t,r){r&&typeof r!="number"&&dm(e,t,r)&&(t=r=void 0),e=$0(e),t===void 0?(t=e,e=0):t=$0(t),r=r===void 0?ee.chartData,iu=J([Rn],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),lu=(e,t,r,n)=>n?iu(e):Rn(e),F0=(e,t,r)=>r?iu(e):Rn(e),J8=J([lu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),R8=J([iu],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),e6=J([Rn],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function zk(e,t){return nX(e)||rX(e,t)||tX(e,t)||eX()}function eX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function tX(e,t){if(e){if(typeof e=="string")return t6(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t6(e,t):void 0}}function t6(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=_m(e,2),r=t[0],n=t[1],a=r,o=n;return r>n&&(a=n,o=r),[a,o]},Fk=(e,t,r)=>{if(e.lte(0))return new wt.default(0);var n=$k(e.toNumber()),a=new wt.default(10).pow(n),o=e.div(a),i=n!==1?.05:.1,l=new wt.default(Math.ceil(o.div(i).toNumber())).add(r).mul(i),s=l.mul(a);return t?new wt.default(s.toNumber()):new wt.default(Math.ceil(s.toNumber()))},l6=(e,t,r)=>{var n;if(e.lte(0))return new wt.default(0);var a=[1,2,2.5,5],o=e.toNumber(),i=Math.floor(new wt.default(o).abs().log(10).toNumber()),l=new wt.default(10).pow(i),s=e.div(l).toNumber(),u=a.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=a.length){var c=Math.floor(u/a.length);u%=a.length,l=l.mul(new wt.default(10).pow(c))}var d=(n=a[u])!==null&&n!==void 0?n:1,f=new wt.default(d).mul(l);return t?f:new wt.default(Math.ceil(f.toNumber()))},sX=(e,t,r)=>{var n=new wt.default(1),a=new wt.default(e);if(!a.isint()&&r){var o=Math.abs(e);o<1?(n=new wt.default(10).pow($k(e)-1),a=new wt.default(Math.floor(a.div(n).toNumber())).mul(n)):o>1&&(a=new wt.default(Math.floor(e)))}else e===0?a=new wt.default(Math.floor((t-1)/2)):r||(a=new wt.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:Fk;if(!Number.isFinite((r-t)/(n-1)))return{step:new wt.default(0),tickMin:new wt.default(0),tickMax:new wt.default(0)};var l=i(new wt.default(r).sub(t).div(n-1),a,o),s;t<=0&&r>=0?s=new wt.default(0):(s=new wt.default(t).add(r).div(2),s=s.sub(new wt.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new wt.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?s6(t,r,n,a,o+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new wt.default(u).mul(l)),tickMax:s.add(new wt.default(c).mul(l))})};var V0=function(t){var r=_m(t,2),n=r[0],a=r[1],o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(o,2),u=i6([n,a]),c=_m(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(o-1).fill(1/0)]:[...Array(o-1).fill(-1/0),f];return n>a?p.reverse():p}if(d===f)return sX(d,o,i);var m=l==="snap125"?l6:Fk,g=s6(d,f,s,i,0,m),h=g.step,v=g.tickMin,y=g.tickMax,b=Uk(v,y.add(new wt.default(.1).mul(h)),h);return n>a?b.reverse():b},K0=function(t,r){var n=_m(t,2),a=n[0],o=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=i6([a,o]),u=_m(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[a,o];if(c===d)return[c];var f=l==="snap125"?l6:Fk,p=Math.max(r,2),m=f(new wt.default(d).sub(c).div(p-1),i,0),g=[...Uk(new wt.default(c),new wt.default(d),m),d];if(i===!1){g=g.map(v=>Math.round(v));var h=g.length-1;h>0&&g[h]===g[h-1]&&(g=g.slice(0,h))}return a>o?g.reverse():g};var Wk=e=>e.rootProps.maxBarSize,u6=e=>e.rootProps.barGap,q0=e=>e.rootProps.barCategoryGap,c6=e=>e.rootProps.barSize,Ul=e=>e.rootProps.stackOffset,Y0=e=>e.rootProps.reverseStackOrder,$d=e=>e.options.chartName,G0=e=>e.rootProps.syncId,Hk=e=>e.rootProps.syncMethod,X0=e=>e.options.eventEmitter,d6=e=>e.rootProps.baseValue;var dt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3};var Fl={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:"polygon",cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:"auto",orientation:"outer",reversed:!1,scale:"auto",tick:!0,tickLine:!0,tickSize:8,type:"auto",zIndex:dt.axis};var bo={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:"auto",label:!1,orientation:"right",radiusAxisId:0,reversed:!1,scale:"auto",stroke:"#ccc",tick:!0,tickCount:5,tickLine:!0,type:"auto",zIndex:dt.axis};var su=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function uu(e,t,r){if(r!=="auto")return r;if(e!=null)return wn(e,t)?"category":"number"}function f6(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Z0(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Q0=J([fX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"angleAxis",p6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},p6),{},{type:n})}),pX=(e,t)=>e.polarAxis.radiusAxis[t],J0=J([pX,b0],(e,t)=>{var r;if(e!=null)return e;var n=(r=uu(t,"radiusAxis",m6.type))!==null&&r!==void 0?r:"category";return Z0(Z0({},m6),{},{type:n})}),R0=e=>e.polarOptions,Vk=J([on,ln,jt],j0),v6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.innerRadius,t,0)}),g6=J([R0,Vk],(e,t)=>{if(e!=null)return vr(e.outerRadius,t,t*.8)}),mX=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},Kk=J([R0],mX),_0e=J([Q0,Kk],su),qk=J([Vk,v6,g6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),O0e=J([J0,qk],su),ex=J([qe,R0,v6,g6,on,ln],(e,t,r,n,a,o)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:vr(i,a,a/2),cy:vr(l,o,o/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var nr=(e,t)=>t;var cu=(e,t,r)=>r;function Wl(e){return e?.id}function tx(e,t,r){var n=t.chartData,a=n===void 0?[]:n,o=r.allowDuplicatedCategory,i=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:a;if(!(c==null||c.length===0)){var d=Wl(s);c.forEach((f,p)=>{var m=i==null||o?p:String(Qe(f,i,null)),g=Qe(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:g}),l.set(m,h)})}}),Array.from(l.values())}function du(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var fu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Ud(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function y6(e,t){if(e.length===t.length){for(var r=0;r{var t=qe(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"};var Hl=e=>e.tooltip.settings.axisId;function Om(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),a=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(o){function i(){return o.apply(this,arguments)}return i.toString=function(){return o.toString()},i})(()=>a),rangeMin:()=>a[0],rangeMax:()=>a[1],isInRange(o){var i=a[0],l=a[1];return i<=l?o>=i&&o<=l:o>=l&&o<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?o=>t.call(e,o):void 0,map:(o,i)=>{var l=e(o);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var rx=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!Aa(t)){for(var r,n,a=0;an)&&(n=o))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var Zm={};fU(Zm,{scaleBand:()=>Dm,scaleDiverging:()=>Lx,scaleDivergingLog:()=>NN,scaleDivergingPow:()=>Bx,scaleDivergingSqrt:()=>$I,scaleDivergingSymlog:()=>CN,scaleIdentity:()=>wx,scaleImplicit:()=>ux,scaleLinear:()=>bx,scaleLog:()=>Sx,scaleOrdinal:()=>Hd,scalePoint:()=>k6,scalePow:()=>Vm,scaleQuantile:()=>Nx,scaleQuantize:()=>Cx,scaleRadial:()=>kx,scaleSequential:()=>Dx,scaleSequentialLog:()=>AN,scaleSequentialPow:()=>Ix,scaleSequentialQuantile:()=>jx,scaleSequentialSqrt:()=>BI,scaleSequentialSymlog:()=>kN,scaleSqrt:()=>iI,scaleSymlog:()=>Ax,scaleThreshold:()=>Ex,scaleTime:()=>wN,scaleUtc:()=>SN,tickFormat:()=>$m});function In(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Yk(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function pu(e){let t,r,n;e.length!==2?(t=In,r=(l,s)=>In(e(l),s),n=(l,s)=>e(l)-s):(t=e===In||e===Yk?e:vX,r=e,n=e);function a(l,s,u=0,c=l.length){if(u>>1;r(l[d],s)<0?u=d+1:c=d}while(u>>1;r(l[d],s)<=0?u=d+1:c=d}while(uu&&n(l[d-1],s)>-n(l[d],s)?d-1:d}return{left:a,center:i,right:o}}function vX(){return 0}function Tm(e){return e===null?NaN:+e}function*h6(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var x6=pu(In),b6=x6.right,gX=x6.left,yX=pu(Tm).center,wo=b6;var Fd=class extends Map{constructor(t,r=bX){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,a]of t)this.set(n,a)}get(t){return super.get(w6(this,t))}has(t){return super.has(w6(this,t))}set(t,r){return super.set(hX(this,t),r)}delete(t){return super.delete(xX(this,t))}};function w6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function hX({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function xX({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function bX(e){return e!==null&&typeof e=="object"?e.valueOf():e}function S6(e=In){if(e===In)return Gk;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function Gk(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var wX=Math.sqrt(50),SX=Math.sqrt(10),AX=Math.sqrt(2);function nx(e,t,r){let n=(t-e)/Math.max(0,r),a=Math.floor(Math.log10(n)),o=n/Math.pow(10,a),i=o>=wX?10:o>=SX?5:o>=AX?2:1,l,s,u;return a<0?(u=Math.pow(10,-a)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,a)*i,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=a))return[];let l=o-a+1,s=new Array(l);if(n)if(i<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r=a)&&(r=a)}return r}function ox(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let a of e)(a=t(a,++n,e))!=null&&(r>a||r===void 0&&a>=a)&&(r=a)}return r}function ix(e,t,r=0,n=1/0,a){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(a=a===void 0?Gk:S6(a);n>r;){if(n-r>600){let s=n-r+1,u=t-r+1,c=Math.log(s),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(s-d)/s)*(u-s/2<0?-1:1),p=Math.max(r,Math.floor(t-u*d/s+f)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));ix(e,t,p,m,a)}let o=e[t],i=r,l=n;for(Pm(e,r,t),a(e[n],o)>0&&Pm(e,r,n);i0;)--l}a(e[r],o)===0?Pm(e,r,l):(++l,Pm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Pm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function lx(e,t,r){if(e=Float64Array.from(h6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return ox(e);if(t>=1)return ax(e);var n,a=(n-1)*t,o=Math.floor(a),i=ax(ix(e,o).subarray(0,o+1)),l=ox(e.subarray(o+1));return i+(l-i)*(a-o)}}function Xk(e,t,r=Tm){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,a=(n-1)*t,o=Math.floor(a),i=+r(e[o],o,e),l=+r(e[o+1],o+1,e);return i+(l-i)*(a-o)}}function sx(e,t,r){e=+e,t=+t,r=(a=arguments.length)<2?(t=e,e=0,1):a<3?1:+r;for(var n=-1,a=Math.max(0,Math.ceil((t-e)/r))|0,o=new Array(a);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?dx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?dx(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=NX.exec(e))?new ea(t[1],t[2],t[3],1):(t=CX.exec(e))?new ea(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=EX.exec(e))?dx(t[1],t[2],t[3],t[4]):(t=_X.exec(e))?dx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=OX.exec(e))?M6(t[1],t[2]/100,t[3]/100,1):(t=TX.exec(e))?M6(t[1],t[2]/100,t[3]/100,t[4]):N6.hasOwnProperty(e)?_6(N6[e]):e==="transparent"?new ea(NaN,NaN,NaN,0):null}function _6(e){return new ea(e>>16&255,e>>8&255,e&255,1)}function dx(e,t,r,n){return n<=0&&(e=t=r=NaN),new ea(e,t,r,n)}function DX(e){return e instanceof zm||(e=Vl(e)),e?(e=e.rgb(),new ea(e.r,e.g,e.b,e.opacity)):new ea}function Kd(e,t,r,n){return arguments.length===1?DX(e):new ea(e,t,r,n??1)}function ea(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}cx(ea,Kd,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new ea(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new ea(gu(this.r),gu(this.g),gu(this.b),mx(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:O6,formatHex:O6,formatHex8:IX,formatRgb:T6,toString:T6}));function O6(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}`}function IX(){return`#${vu(this.r)}${vu(this.g)}${vu(this.b)}${vu((isNaN(this.opacity)?1:this.opacity)*255)}`}function T6(){let e=mx(this.opacity);return`${e===1?"rgb(":"rgba("}${gu(this.r)}, ${gu(this.g)}, ${gu(this.b)}${e===1?")":`, ${e})`}`}function mx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function gu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vu(e){return e=gu(e),(e<16?"0":"")+e.toString(16)}function M6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new So(e,t,r,n)}function D6(e){if(e instanceof So)return new So(e.h,e.s,e.l,e.opacity);if(e instanceof zm||(e=Vl(e)),!e)return new So;if(e instanceof So)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,a=Math.min(t,r,n),o=Math.max(t,r,n),i=NaN,l=o-a,s=(o+a)/2;return l?(t===o?i=(r-n)/l+(r0&&s<1?0:i,new So(i,l,s,e.opacity)}function I6(e,t,r,n){return arguments.length===1?D6(e):new So(e,t,r,n??1)}function So(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}cx(So,I6,Zk(zm,{brighter(e){return e=e==null?px:Math.pow(px,e),new So(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Im:Math.pow(Im,e),new So(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,n=r+(r<.5?r:1-r)*t,a=2*r-n;return new ea(Qk(e>=240?e-240:e+120,a,n),Qk(e,a,n),Qk(e<120?e+240:e-120,a,n),this.opacity)},clamp(){return new So(P6(this.h),fx(this.s),fx(this.l),mx(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(){let e=mx(this.opacity);return`${e===1?"hsl(":"hsla("}${P6(this.h)}, ${fx(this.s)*100}%, ${fx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P6(e){return e=(e||0)%360,e<0?e+360:e}function fx(e){return Math.max(0,Math.min(1,e||0))}function Qk(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function Jk(e,t,r,n,a){var o=e*e,i=o*e;return((1-3*e+3*o-i)*t+(4-6*o+3*i)*r+(1+3*e+3*o-3*i)*n+i*a)/6}function j6(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),a=e[n],o=e[n+1],i=n>0?e[n-1]:2*a-o,l=n()=>e;function jX(e,t){return function(r){return e+r*t}}function zX(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function L6(e){return(e=+e)==1?vx:function(t,r){return r-t?zX(t,r,e):Lm(isNaN(t)?r:t)}}function vx(e,t){var r=t-e;return r?jX(e,r):Lm(isNaN(e)?t:e)}var Rk=(function e(t){var r=L6(t);function n(a,o){var i=r((a=Kd(a)).r,(o=Kd(o)).r),l=r(a.g,o.g),s=r(a.b,o.b),u=vx(a.opacity,o.opacity);return function(c){return a.r=i(c),a.g=l(c),a.b=s(c),a.opacity=u(c),a+""}}return n.gamma=e,n})(1);function B6(e){return function(t){var r=t.length,n=new Array(r),a=new Array(r),o=new Array(r),i,l;for(i=0;ir&&(o=t.slice(r,o),l[i]?l[i]+=o:l[++i]=o),(n=n[0])===(a=a[0])?l[i]?l[i]+=a:l[++i]=a:(l[++i]=null,s.push({i,x:Kl(n,a)})),r=eN.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function UX(e,t,r){var n=e[0],a=e[1],o=t[0],i=t[1];return a2?FX:UX,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?o:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(a((u||(u=l(t,e.map(n),Kl)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,ql),c()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),c()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),r=yu,c()},d.clamp=function(f){return arguments.length?(i=f?!0:Gr,c()):i!==Gr},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(o=f,d):o},function(f,p){return n=f,a=p,c()}}function xu(){return hu()(Gr,Gr)}function q6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function bu(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function Ko(e){return e=bu(Math.abs(e)),e?e[1]:NaN}function Y6(e,t){return function(r,n){for(var a=r.length,o=[],i=0,l=e[0],s=0;a>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),o.push(r.substring(a-=l,a+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return o.reverse().join(t)}}function G6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var WX=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function qo(e){if(!(t=WX.exec(e)))throw new Error("invalid format: "+e);var t;return new yx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}qo.prototype=yx.prototype;function yx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}yx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function X6(e){e:for(var t=e.length,r=1,n=-1,a;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(a+1):e}var Bm;function Z6(e,t){var r=bu(e,t);if(!r)return Bm=void 0,e.toPrecision(t);var n=r[0],a=r[1],o=a-(Bm=Math.max(-8,Math.min(8,Math.floor(a/3)))*3)+1,i=n.length;return o===i?n:o>i?n+new Array(o-i+1).join("0"):o>0?n.slice(0,o)+"."+n.slice(o):"0."+new Array(1-o).join("0")+bu(e,Math.max(0,t+o-1))[0]}function aN(e,t){var r=bu(e,t);if(!r)return e+"";var n=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+n:n.length>a+1?n.slice(0,a+1)+"."+n.slice(a+1):n+new Array(a-n.length+2).join("0")}var oN={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:q6,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>aN(e*100,t),r:aN,s:Z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function iN(e){return e}var Q6=Array.prototype.map,J6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function R6(e){var t=e.grouping===void 0||e.thousands===void 0?iN:Y6(Q6.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",a=e.decimal===void 0?".":e.decimal+"",o=e.numerals===void 0?iN:G6(Q6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=qo(d);var p=d.fill,m=d.align,g=d.sign,h=d.symbol,v=d.zero,y=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):oN[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var O=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=oN[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function W(L){var H=O,D=k,Y,N,_;if(w==="c")D=A(L)+D,L="";else{L=+L;var z=L<0||1/L<0;if(L=isNaN(L)?s:A(Math.abs(L),x),S&&(L=X6(L)),z&&+L==0&&g!=="+"&&(z=!1),H=(z?g==="("?g:l:g==="-"||g==="("?"":g)+H,D=(w==="s"&&!isNaN(L)&&Bm!==void 0?J6[8+Bm/3]:"")+D+(z&&g==="("?")":""),M){for(Y=-1,N=L.length;++Y_||_>57){D=(_===46?a+L.slice(Y+1):L.slice(Y))+D,L=L.slice(0,Y);break}}}b&&!v&&(L=t(L,1/0));var j=H.length+L.length+D.length,P=j>1)+H+L+D+P.slice(j);break;default:L=P+H+L+D;break}return o(L)}return W.toString=function(){return d+""},W}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(Ko(f)/3)))*3,m=Math.pow(10,-p),g=u((d=qo(d),d.type="f",d),{suffix:J6[8+p/3]});return function(h){return g(m*h)}}return{format:u,formatPrefix:c}}var hx,qd,xx;lN({thousands:",",grouping:[3],currency:["$",""]});function lN(e){return hx=R6(e),qd=hx.format,xx=hx.formatPrefix,hx}function sN(e){return Math.max(0,-Ko(Math.abs(e)))}function uN(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ko(t)/3)))*3-Ko(Math.abs(e)))}function cN(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Ko(t)-Ko(e))+1}function $m(e,t,r,n){var a=Wd(e,t,r),o;switch(n=qo(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(o=uN(a,i))&&(n.precision=o),xx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(o=cN(a,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=o-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(o=sN(a))&&(n.precision=o-(n.type==="%")*2);break}}return qd(n)}function jn(e){var t=e.domain;return e.ticks=function(r){var n=t();return mu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var a=t();return $m(a[0],a[a.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),a=0,o=n.length-1,i=n[a],l=n[o],s,u,c=10;for(l0;){if(u=Mm(i,l,r),u===s)return n[a]=i,n[o]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function bx(){var e=xu();return e.copy=function(){return Vo(e,bx())},sr.apply(e,arguments),jn(e)}function wx(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,ql),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return wx(e).unknown(t)},e=arguments.length?Array.from(e,ql):[0,1],jn(r)}function Um(e,t){e=e.slice();var r=0,n=e.length-1,a=e[r],o=e[n],i;return oMath.pow(e,t)}function YX(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function rI(e){return(t,r)=>-e(-t,r)}function Fm(e){let t=e(eI,tI),r=t.domain,n=10,a,o;function i(){return a=YX(n),o=qX(n),r()[0]<0?(a=rI(a),o=rI(o),e(HX,VX)):e(eI,tI),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(g)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(g=f>0?m/o(-f):m*o(f),!(gc)break;v.push(g)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=qo(s)).precision==null&&(s.trim=!0),s=qd(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/o(Math.round(a(c)));return d*nr(Um(r(),{floor:l=>o(Math.floor(a(l))),ceil:l=>o(Math.ceil(a(l)))})),t}function Sx(){let e=Fm(hu()).domain([1,10]);return e.copy=()=>Vo(e,Sx()).base(e.base()),sr.apply(e,arguments),e}function nI(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function aI(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wm(e){var t=1,r=e(nI(t),aI(t));return r.constant=function(n){return arguments.length?e(nI(t=+n),aI(t)):t},jn(r)}function Ax(){var e=Wm(hu());return e.copy=function(){return Vo(e,Ax()).constant(e.constant())},sr.apply(e,arguments)}function oI(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function GX(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function XX(e){return e<0?-e*e:e*e}function Hm(e){var t=e(Gr,Gr),r=1;function n(){return r===1?e(Gr,Gr):r===.5?e(GX,XX):e(oI(r),oI(1/r))}return t.exponent=function(a){return arguments.length?(r=+a,n()):r},jn(t)}function Vm(){var e=Hm(hu());return e.copy=function(){return Vo(e,Vm()).exponent(e.exponent())},sr.apply(e,arguments),e}function iI(){return Vm.apply(null,arguments).exponent(.5)}function lI(e){return Math.sign(e)*e*e}function ZX(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function kx(){var e=xu(),t=[0,1],r=!1,n;function a(o){var i=ZX(e(o));return isNaN(i)?n:r?Math.round(i):i}return a.invert=function(o){return e.invert(lI(o))},a.domain=function(o){return arguments.length?(e.domain(o),a):e.domain()},a.range=function(o){return arguments.length?(e.range((t=Array.from(o,ql)).map(lI)),a):t.slice()},a.rangeRound=function(o){return a.range(o).round(!0)},a.round=function(o){return arguments.length?(r=!!o,a):r},a.clamp=function(o){return arguments.length?(e.clamp(o),a):e.clamp()},a.unknown=function(o){return arguments.length?(n=o,a):n},a.copy=function(){return kx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},sr.apply(a,arguments),jn(a)}function Nx(){var e=[],t=[],r=[],n;function a(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(o=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Cx().domain([e,t]).range(a).unknown(o)},sr.apply(jn(i),arguments)}function Ex(){var e=[.5],t=[0,1],r,n=1;function a(o){return o!=null&&o<=o?t[wo(e,o,0,n)]:r}return a.domain=function(o){return arguments.length?(e=Array.from(o),n=Math.min(e.length,t.length-1),a):e.slice()},a.range=function(o){return arguments.length?(t=Array.from(o),n=Math.min(e.length,t.length-1),a):t.slice()},a.invertExtent=function(o){var i=t.indexOf(o);return[e[i-1],e[i]]},a.unknown=function(o){return arguments.length?(r=o,a):r},a.copy=function(){return Ex().domain(e).range(t).unknown(r)},sr.apply(a,arguments)}var dN=new Date,fN=new Date;function Wt(e,t,r,n){function a(o){return e(o=arguments.length===0?new Date:new Date(+o)),o}return a.floor=o=>(e(o=new Date(+o)),o),a.ceil=o=>(e(o=new Date(o-1)),t(o,1),e(o),o),a.round=o=>{let i=a(o),l=a.ceil(o);return o-i(t(o=new Date(+o),i==null?1:Math.floor(i)),o),a.range=(o,i,l)=>{let s=[];if(o=a.ceil(o),l=l==null?1:Math.floor(l),!(o0))return s;let u;do s.push(u=new Date(+o)),t(o,l),e(o);while(uWt(i=>{if(i>=i)for(;e(i),!o(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!o(i););else for(;--l>=0;)for(;t(i,1),!o(i););}),r&&(a.count=(o,i)=>(dN.setTime(+o),fN.setTime(+i),e(dN),e(fN),Math.floor(r(dN,fN))),a.every=o=>(o=Math.floor(o),!isFinite(o)||!(o>0)?null:o>1?a.filter(n?i=>n(i)%o===0:i=>a.count(0,i)%o===0):a)),a}var Km=Wt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Km.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Wt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Km);var lwe=Km.range;var Qa=Wt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),sI=Qa.range;var Yd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),QX=Yd.range,Gd=Wt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),JX=Gd.range;var Xd=Wt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),RX=Xd.range,Zd=Wt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),eZ=Zd.range;var Di=Wt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),tZ=Di.range,Au=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),rZ=Au.range,_x=Wt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),nZ=_x.range;function ku(e){return Wt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var Ii=ku(0),Qd=ku(1),cI=ku(2),dI=ku(3),Yl=ku(4),fI=ku(5),pI=ku(6),mI=Ii.range,aZ=Qd.range,oZ=cI.range,iZ=dI.range,lZ=Yl.range,sZ=fI.range,uZ=pI.range;function Nu(e){return Wt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var ji=Nu(0),Jd=Nu(1),vI=Nu(2),gI=Nu(3),Gl=Nu(4),yI=Nu(5),hI=Nu(6),xI=ji.range,cZ=Jd.range,dZ=vI.range,fZ=gI.range,pZ=Gl.range,mZ=yI.range,vZ=hI.range;var Rd=Wt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),gZ=Rd.range,ef=Wt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),yZ=ef.range;var Na=Wt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Na.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var hZ=Na.range,Ca=Wt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Ca.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Wt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var xZ=Ca.range;function wI(e,t,r,n,a,o){let i=[[Qa,1,1e3],[Qa,5,5*1e3],[Qa,15,15*1e3],[Qa,30,30*1e3],[o,1,6e4],[o,5,5*6e4],[o,15,15*6e4],[o,30,30*6e4],[a,1,36e5],[a,3,3*36e5],[a,6,6*36e5],[a,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function l(u,c,d){let f=ch).right(i,f);if(p===i.length)return e.every(Wd(u/31536e6,c/31536e6,d));if(p===0)return Km.every(Math.max(Wd(u,c,d),1));let[m,g]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(T=hN(Ym(I.y,0,1)),X=T.getUTCDay(),T=X>4||X===0?Jd.ceil(T):Jd(T),T=Au.offset(T,(I.V-1)*7),I.y=T.getUTCFullYear(),I.m=T.getUTCMonth(),I.d=T.getUTCDate()+(I.w+6)%7):(T=yN(Ym(I.y,0,1)),X=T.getDay(),T=X>4||X===0?Qd.ceil(T):Qd(T),T=Di.offset(T,(I.V-1)*7),I.y=T.getFullYear(),I.m=T.getMonth(),I.d=T.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),X="Z"in I?hN(Ym(I.y,0,1)).getUTCDay():yN(Ym(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(X+5)%7:I.w+I.U*7-(X+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,hN(I)):yN(I)}}function k(le,Te,K,I){for(var C=0,T=Te.length,X=K.length,$,Ne;C=X)return-1;if($=Te.charCodeAt(C++),$===37){if($=Te.charAt(C++),Ne=S[$ in SI?Te.charAt(C++):$],!Ne||(I=Ne(le,K,I))<0)return-1}else if($!=K.charCodeAt(I++))return-1}return I}function A(le,Te,K){var I=u.exec(Te.slice(K));return I?(le.p=c.get(I[0].toLowerCase()),K+I[0].length):-1}function M(le,Te,K){var I=p.exec(Te.slice(K));return I?(le.w=m.get(I[0].toLowerCase()),K+I[0].length):-1}function W(le,Te,K){var I=d.exec(Te.slice(K));return I?(le.w=f.get(I[0].toLowerCase()),K+I[0].length):-1}function L(le,Te,K){var I=v.exec(Te.slice(K));return I?(le.m=y.get(I[0].toLowerCase()),K+I[0].length):-1}function H(le,Te,K){var I=g.exec(Te.slice(K));return I?(le.m=h.get(I[0].toLowerCase()),K+I[0].length):-1}function D(le,Te,K){return k(le,t,Te,K)}function Y(le,Te,K){return k(le,r,Te,K)}function N(le,Te,K){return k(le,n,Te,K)}function _(le){return i[le.getDay()]}function z(le){return o[le.getDay()]}function j(le){return s[le.getMonth()]}function P(le){return l[le.getMonth()]}function B(le){return a[+(le.getHours()>=12)]}function R(le){return 1+~~(le.getMonth()/3)}function F(le){return i[le.getUTCDay()]}function G(le){return o[le.getUTCDay()]}function ee(le){return s[le.getUTCMonth()]}function fe(le){return l[le.getUTCMonth()]}function de(le){return a[+(le.getUTCHours()>=12)]}function De(le){return 1+~~(le.getUTCMonth()/3)}return{format:function(le){var Te=w(le+="",b);return Te.toString=function(){return le},Te},parse:function(le){var Te=O(le+="",!1);return Te.toString=function(){return le},Te},utcFormat:function(le){var Te=w(le+="",x);return Te.toString=function(){return le},Te},utcParse:function(le){var Te=O(le+="",!0);return Te.toString=function(){return le},Te}}}var SI={"-":"",_:" ",0:"0"},sn=/^\s*\d+/,wZ=/^%/,SZ=/[\\^$*+?|[\]().{}]/g;function _t(e,t,r){var n=e<0?"-":"",a=(n?-e:e)+"",o=a.length;return n+(o[t.toLowerCase(),r]))}function kZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function NZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function CZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function EZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function _Z(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function AI(e,t,r){var n=sn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function kI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function OZ(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function TZ(e,t,r){var n=sn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function MZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function NI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function PZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function CI(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function DZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function IZ(e,t,r){var n=sn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function jZ(e,t,r){var n=sn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function zZ(e,t,r){var n=sn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function LZ(e,t,r){var n=wZ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function BZ(e,t,r){var n=sn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function $Z(e,t,r){var n=sn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function EI(e,t){return _t(e.getDate(),t,2)}function UZ(e,t){return _t(e.getHours(),t,2)}function FZ(e,t){return _t(e.getHours()%12||12,t,2)}function WZ(e,t){return _t(1+Di.count(Na(e),e),t,3)}function PI(e,t){return _t(e.getMilliseconds(),t,3)}function HZ(e,t){return PI(e,t)+"000"}function VZ(e,t){return _t(e.getMonth()+1,t,2)}function KZ(e,t){return _t(e.getMinutes(),t,2)}function qZ(e,t){return _t(e.getSeconds(),t,2)}function YZ(e){var t=e.getDay();return t===0?7:t}function GZ(e,t){return _t(Ii.count(Na(e)-1,e),t,2)}function DI(e){var t=e.getDay();return t>=4||t===0?Yl(e):Yl.ceil(e)}function XZ(e,t){return e=DI(e),_t(Yl.count(Na(e),e)+(Na(e).getDay()===4),t,2)}function ZZ(e){return e.getDay()}function QZ(e,t){return _t(Qd.count(Na(e)-1,e),t,2)}function JZ(e,t){return _t(e.getFullYear()%100,t,2)}function RZ(e,t){return e=DI(e),_t(e.getFullYear()%100,t,2)}function eQ(e,t){return _t(e.getFullYear()%1e4,t,4)}function tQ(e,t){var r=e.getDay();return e=r>=4||r===0?Yl(e):Yl.ceil(e),_t(e.getFullYear()%1e4,t,4)}function rQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+_t(t/60|0,"0",2)+_t(t%60,"0",2)}function _I(e,t){return _t(e.getUTCDate(),t,2)}function nQ(e,t){return _t(e.getUTCHours(),t,2)}function aQ(e,t){return _t(e.getUTCHours()%12||12,t,2)}function oQ(e,t){return _t(1+Au.count(Ca(e),e),t,3)}function II(e,t){return _t(e.getUTCMilliseconds(),t,3)}function iQ(e,t){return II(e,t)+"000"}function lQ(e,t){return _t(e.getUTCMonth()+1,t,2)}function sQ(e,t){return _t(e.getUTCMinutes(),t,2)}function uQ(e,t){return _t(e.getUTCSeconds(),t,2)}function cQ(e){var t=e.getUTCDay();return t===0?7:t}function dQ(e,t){return _t(ji.count(Ca(e)-1,e),t,2)}function jI(e){var t=e.getUTCDay();return t>=4||t===0?Gl(e):Gl.ceil(e)}function fQ(e,t){return e=jI(e),_t(Gl.count(Ca(e),e)+(Ca(e).getUTCDay()===4),t,2)}function pQ(e){return e.getUTCDay()}function mQ(e,t){return _t(Jd.count(Ca(e)-1,e),t,2)}function vQ(e,t){return _t(e.getUTCFullYear()%100,t,2)}function gQ(e,t){return e=jI(e),_t(e.getUTCFullYear()%100,t,2)}function yQ(e,t){return _t(e.getUTCFullYear()%1e4,t,4)}function hQ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?Gl(e):Gl.ceil(e),_t(e.getUTCFullYear()%1e4,t,4)}function xQ(){return"+0000"}function OI(){return"%"}function TI(e){return+e}function MI(e){return Math.floor(+e/1e3)}var tf,Ox,zI,Tx,LI;bN({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function bN(e){return tf=xN(e),Ox=tf.format,zI=tf.parse,Tx=tf.utcFormat,LI=tf.utcParse,tf}function bQ(e){return new Date(e)}function wQ(e){return e instanceof Date?+e:+new Date(+e)}function Mx(e,t,r,n,a,o,i,l,s,u){var c=xu(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(a/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(a,o)=>lx(e,o/n))},r.copy=function(){return jx(t).domain(e)},Za.apply(r,arguments)}function zx(){var e=0,t=.5,r=1,n=1,a,o,i,l,s,u=Gr,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-o)*(n*g{if(e!=null){var n=e.scale,a=e.type;if(n==="auto")return a==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":a==="category"?"band":"linear";if(typeof n=="string")return kQ(n)?n:"point"}};function NQ(e,t){for(var r=0,n=e.length,a=e[0]t)?r=o+1:n=o}return r}function Ux(e,t){if(e){var r=t??e.domain(),n=r.map(o=>{var i;return(i=e(o))!==null&&i!==void 0?i:0}),a=e.range();if(!(r.length===0||a.length<2))return o=>{var i,l,s=NQ(n,o);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(o-u)<=Math.abs(o-c)?r[s-1]:r[s]}}}function FI(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):Ux(e,void 0)}function WI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Fx(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],Go=(e,t)=>{var r=_N(e,t);return r??Mr},Pr={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:EN,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:eu},ON=(e,t)=>e.cartesianAxis.yAxis[t],Xo=(e,t)=>{var r=ON(e,t);return r??Pr},DQ={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},TN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??DQ},ur=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"zAxis":return TN(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},IQ=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Cu=(e,t,r)=>{switch(t){case"xAxis":return Go(e,r);case"yAxis":return Xo(e,r);case"angleAxis":return Q0(e,r);case"radiusAxis":return J0(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function Rm(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var Xl=e=>e.graphicalItems.cartesianItems,jQ=J([nr,cu],Rm),ev=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),nf=J([Xl,ur,jQ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),qI=J([nf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(du)),PN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),zQ=J([nf],PN),tv=e=>e.map(t=>t.data).filter(Boolean).flat(1),LQ=J([nf],e=>e.some(t=>!t.data)),YI=J([nf],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),rv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,a=t.dataStartIndex,o=t.dataEndIndex;return e.length>0?e:n.slice(a,o+1)},DN=J([YI,lu],rv),IN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(a=>({value:Qe(a,n)}))):e.map(n=>({value:n})),jN=(e,t,r,n,a,o)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=IN(e,t,r);if(a&&t?.dataKey!=null&&o.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:Qe(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},nv=J([DN,ur,nf,lu,LQ,YI],jN);function rf(e){if(Mn(e)||e instanceof Date){var t=Number(e);if(He(t))return t}}function VI(e){if(Array.isArray(e)){var t=[rf(e[0]),rf(e[1])];return Aa(t)?t:void 0}var r=rf(e);if(r!=null)return[r,r]}function Ao(e){return e.map(rf).filter(Yr)}function BQ(e,t){var r=rf(e),n=rf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var $Q=J([nv],e=>e?.map(t=>t.value).sort(BQ));function GI(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function UQ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!nn(t))n=t;else if(Array.isArray(t)){var a=Ao(t);a.length>0&&(n=Math.max(...a))}return n==null?[]:Ao(r.flatMap(o=>{var i=Qe(e,o.dataKey),l,s;if(Array.isArray(i)){var u=KI(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!He(l)||!He(s)))return[n-l,n+s]}))}var Dr=e=>{var t=Tr(e),r=Hl(e);return Cu(e,t,r)},Li=J([Dr],e=>e?.dataKey),FQ=J([qI,lu,Dr],tx),zN=(e,t,r,n)=>{var a={},o=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},a);return Object.fromEntries(Object.entries(o).map(i=>{var l=KI(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(Wl);return[s,{stackedData:lD(e,d,r),graphicalItems:c}]}))},af=J([FQ,qI,Ul,Y0],zN),LN=(e,t,r,n)=>{var a=t.dataStartIndex,o=t.dataEndIndex;if(n==null&&r!=="zAxis")return uD(e,a,o)},WQ=J([ur],e=>e.allowDataOverflow),Wx=e=>{var t;if(e==null||!("domain"in e))return EN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ao(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:EN},Hx=J([ur],Wx),Vx=J([Hx,WQ],W0),HQ=J([af,Rn,nr,Vx],LN,{memoizeOptions:{resultEqualityCheck:fu}}),of=e=>e.errorBars,VQ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>GI(r,n)),Jm=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=a[u.id])===null||c===void 0?void 0:c.filter(p=>GI(o,p));d.forEach(p=>{var m,g=Qe(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=UQ(p,g,f);if(h.length>=2){var v=Math.min(...h),y=Math.max(...h);(l==null||vs)&&(s=y)}var b=VI(g);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=VI(Qe(u,r.dataKey));c!=null&&(l=l==null?c[0]:Math.min(l,c[0]),s=s==null?c[1]:Math.max(s,c[1]))}),He(l)&&He(s))return[l,s]},KQ=J([DN,ur,zQ,of,nr,J8],av,{memoizeOptions:{resultEqualityCheck:fu}});function qQ(e){var t=e.value;if(Mn(t)||t instanceof Date)return t}var YQ=(e,t,r)=>{var n=e.map(qQ).filter(a=>a!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&lA(n))?U0(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},BN=e=>e.referenceElements.dots,Eu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),GQ=J([BN,nr,cu],Eu),$N=e=>e.referenceElements.areas,XQ=J([$N,nr,cu],Eu),UN=e=>e.referenceElements.lines,ZQ=J([UN,nr,cu],Eu),FN=(e,t)=>{if(e!=null){var r=Ao(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},QQ=J(GQ,nr,FN),WN=(e,t)=>{if(e!=null){var r=Ao(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},JQ=J([XQ,nr],WN);function RQ(e){var t;if(e.x!=null)return Ao([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ao(r)}function eJ(e){var t;if(e.y!=null)return Ao([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ao(r)}var HN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?RQ(n):eJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},tJ=J([ZQ,nr],HN),rJ=J(QQ,tJ,JQ,(e,t,r)=>Jm(e,r,t)),ov=(e,t,r,n,a,o,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?Jm(n,o,a):Jm(o,a),d=n6(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},nJ=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ao(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},aJ=J([ur],nJ,{memoizeOptions:{resultEqualityCheck:fu}}),oJ=J([ur,Hx,Vx,HQ,KQ,rJ,qe,nr,aJ],ov,{memoizeOptions:{resultEqualityCheck:fu}}),iJ=[0,1],iv=(e,t,r,n,a,o,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=wn(t,o);if(u&&l==null){var c;return U0(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?YQ(n,e,u):a==="expand"&&!u?iJ:i}},VN=J([ur,qe,DN,nv,Ul,nr,oJ],iv),Bi=J([ur,MN,$d],$x),lv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var a=Wx(t),o=Array.isArray(a)&&(a[0]==="auto"||a[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&Aa(e)){if(o)return V0(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return K0(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(o&&Aa(e))return V0(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&Aa(e))return K0(e,t.tickCount,t.allowDecimals,"adaptive")}}},KN=J([VN,Cu,Bi],lv),sv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&Aa(t)&&Array.isArray(r)&&r.length>0){var a,o,i=t[0],l=(a=r[0])!==null&&a!==void 0?a:0,s=t[1],u=(o=r[r.length-1])!==null&&o!==void 0?o:0;return[Math.min(i,l),Math.max(s,u)]}return t},lJ=J([ur,VN,KN,nr],sv),sJ=J(nv,ur,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ao(e.map(d=>d.value))).sort((d,f)=>d-f),a=n[0],o=n[n.length-1];if(a==null||o==null)return 1/0;var i=o-a;if(i===0)return 1/0;for(var l=0;la,(e,t,r,n,a)=>{if(!He(e))return 0;var o=t==="vertical"?n.height:n.width;if(a==="gap")return e*o/2;if(a==="no-gap"){var i=vr(r,e*o),l=e*o/2;return l-i-(l-i)/o*i}return 0}),uJ=(e,t,r)=>{var n=Go(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"xAxis",t,r,n.padding)},cJ=(e,t,r)=>{var n=Xo(e,t);return n==null||typeof n.padding!="string"?0:XI(e,"yAxis",t,r,n.padding)},dJ=J(Go,uJ,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var a=e.padding;return typeof a=="string"?{left:t,right:t}:{left:((r=a.left)!==null&&r!==void 0?r:0)+t,right:((n=a.right)!==null&&n!==void 0?n:0)+t}}),fJ=J(Xo,cJ,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var a=e.padding;return typeof a=="string"?{top:t,bottom:t}:{top:((r=a.top)!==null&&r!==void 0?r:0)+t,bottom:((n=a.bottom)!==null&&n!==void 0?n:0)+t}}),qN=J([jt,dJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a)=>{var o=n.padding;return a?[o.left,r.width-o.right]:[e.left+t.left,e.left+e.width-t.right]}),YN=J([jt,qe,fJ,tu,Td,(e,t,r)=>r],(e,t,r,n,a,o)=>{var i=a.padding;return o?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),lf=(e,t,r,n)=>{var a;switch(t){case"xAxis":return qN(e,r,n);case"yAxis":return YN(e,r,n);case"zAxis":return(a=TN(e,r))===null||a===void 0?void 0:a.range;case"angleAxis":return Kk(e);case"radiusAxis":return qk(e,r);default:return}},ZI=J([ur,lf],su),pJ=J([Bi,lJ],rx),GN=J([ur,Bi,pJ,ZI],Qm),XN=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var a=r.type,o=r.scale,i=wn(e,n);if(i&&(a==="number"||o!=="auto"))return t.map(l=>l.value)}},ZN=J([qe,nv,Cu,nr],XN),Kx=J([GN],Om),T2e=J([GN],FI),M2e=J([GN,$Q],Ux),P2e=J([nf,of,nr],VQ);function QI(e,t){return e.idt.id?1:0}var qx=(e,t)=>t,Yx=(e,t,r)=>r,mJ=J(Ed,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),vJ=J(_d,qx,Yx,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(QI)),JI=(e,t)=>{var r=typeof t.height=="number"?t.height:hm;return{width:e.width,height:r}},gJ=(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}},QN=J(jt,Go,JI),yJ=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},hJ=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},xJ=J(ln,jt,mJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=JI(t,l);i==null&&(i=yJ(t,n,e));var u=n==="top"&&!a||n==="bottom"&&a;o[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),o}),bJ=J(on,jt,vJ,qx,Yx,(e,t,r,n,a)=>{var o={},i;return r.forEach(l=>{var s=gJ(t,l);i==null&&(i=hJ(t,n,e));var u=n==="left"&&!a||n==="right"&&a;o[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),o}),wJ=(e,t)=>{var r=Go(e,t);if(r!=null)return xJ(e,r.orientation,r.mirror)},RI=J([jt,Go,wJ,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:e.left,y:0}:{x:e.left,y:a}}}),SJ=(e,t)=>{var r=Xo(e,t);if(r!=null)return bJ(e,r.orientation,r.mirror)},ej=J([jt,Xo,SJ,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var a=r?.[n];return a==null?{x:0,y:e.top}:{x:a,y:e.top}}}),JN=J(jt,Xo,(e,t)=>{var r=typeof t.width=="number"?t.width:eu;return{width:r,height:e.height}}),RN=(e,t,r)=>{switch(t){case"xAxis":return QN(e,r).width;case"yAxis":return JN(e,r).height;default:return}},eC=(e,t,r,n)=>{if(r!=null){var a=r.allowDuplicatedCategory,o=r.type,i=r.dataKey,l=wn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&o==="category"&&a&&lA(u))return s}},tC=J([qe,nv,ur,nr],eC),rC=J([qe,IQ,Bi,Kx,tC,ZN,lf,KN,nr],(e,t,r,n,a,o,i,l,s)=>{if(t!=null){var u=wn(e,s);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:s,categoricalDomain:o,duplicateDomain:a,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),AJ=(e,t,r,n,a,o,i,l,s)=>{if(!(t==null||n==null)){var u=wn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&o!=null&&o.length>=2?Ft(o[0]-o[1])*2*m:m;var g=d||a;return g?g.map((h,v)=>{var y=i?i.indexOf(h):h,b=n.map(y);return He(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(Yr):u&&l?l.map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(Yr):n.ticks?n.ticks(f).map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(Yr):n.domain().map((h,v)=>{var y=n.map(h);return He(y)?{coordinate:y+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(Yr)}},Gx=J([qe,Cu,Bi,Kx,KN,lf,tC,ZN,nr],AJ),kJ=(e,t,r,n,a,o,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=wn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Ft(n[0]-n[1])*2*u:u,l&&o?o.map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(Yr):r.domain().map((c,d)=>{var f=r.map(c);return He(f)?{coordinate:f+u,value:a?a[c]:c,index:d,offset:u}:null}).filter(Yr)}},Ea=J([qe,Cu,Kx,lf,tC,ZN,nr],kJ),_a=J(ur,Kx,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),NJ=J([ur,Bi,VN,ZI],Qm),CJ=J([NJ],Om),D2e=J((e,t,r)=>TN(e,r),CJ,(e,t)=>{if(!(e==null||t==null))return Fx(Fx({},e),{},{scale:t})}),tj=J([qe,Ed,_d],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),EJ=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},I2e=J([EJ],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,a=e[0];for(var o of e){var i=Math.abs(o.coordinate-t);ie.options.defaultTooltipEventType,aC=e=>e.options.validateTooltipEventTypes;function oC(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function Zl(e,t){var r=nC(e),n=aC(e);return oC(t,r,n)}function rj(e){return we(t=>Zl(t,e))}var Xx=(e,t)=>{var r,n=Number(t);if(!(nn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var nj=e=>e.tooltip.settings;var $i={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},_J={itemInteraction:{click:$i,hover:$i},axisInteraction:{click:$i,hover:$i},keyboardInteraction:$i,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},aj=Ct({name:"tooltip",initialState:_J,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(tt(t.payload))},prepare:Pt()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).tooltipItemPayloads.indexOf(tt(n));o>-1&&(e.tooltipItemPayloads[o]=tt(a))},prepare:Pt()},removeTooltipEntrySettings:{reducer(e,t){var r=yn(e).tooltipItemPayloads.indexOf(tt(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Pt()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),Ja=aj.actions,oj=Ja.addTooltipEntrySettings,ij=Ja.replaceTooltipEntrySettings,lj=Ja.removeTooltipEntrySettings,sj=Ja.setTooltipSettingsState,Zx=Ja.setActiveMouseOverItemIndex,uj=Ja.mouseLeaveItem,Qx=Ja.mouseLeaveChart,cj=Ja.setActiveClickItemIndex,Jx=Ja.setMouseOverAxisIndex,dj=Ja.setMouseClickAxisIndex,sf=Ja.setSyncInteraction,uv=Ja.setKeyboardInteraction;var fj=aj.reducer;function pj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Rx(e){for(var t=1;t{if(t==null)return $i;var a=PJ(e,t,r);if(a==null)return $i;if(a.active)return a;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var o=e.settings.active===!0;if(DJ(a)){if(o)return Rx(Rx({},a),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Rx(Rx({},$i),{},{coordinate:a.coordinate})};function IJ(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function jJ(e,t){var r=IJ(e),n=t[0],a=t[1];if(r===void 0)return!1;var o=Math.min(n,a),i=Math.max(n,a);return r>=o&&r<=i}function zJ(e,t,r){if(r==null||t==null)return!0;var n=Qe(e,t);return n==null||!Aa(r)?!0:jJ(n,r)}var Ql=(e,t,r,n)=>{var a=e?.index;if(a==null)return null;var o=Number(a);if(!He(o))return a;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(o,l)),u=t[s];return u==null||zJ(u,r,n)?String(s):null};var tb=(e,t,r,n,a,o,i)=>{if(o!=null){var l=i[0],s=l?.getPosition(o);if(s!=null)return s;var u=a?.[Number(o)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var rb=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var a;if(r==="hover"?a=e.itemInteraction.hover.graphicalItemId:a=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&a==null)return e.tooltipItemPayloads;if(a==null&&(n!=null||e.keyboardInteraction.active)){var o=e.tooltipItemPayloads[0];return o!=null?[o]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===a})};var nb=e=>e.options.tooltipPayloadSearcher;var Ui=e=>e.tooltip;function mj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function vj(e){for(var t=1;te(t)}function gj(e){if(typeof e=="string")return e}function HJ(e){if(!(e==null||typeof e!="object")){var t="name"in e?UJ(e.name):void 0,r="unit"in e?FJ(e.unit):void 0,n="dataKey"in e?WJ(e.dataKey):void 0,a="payload"in e?e.payload:void 0,o="color"in e?gj(e.color):void 0,i="fill"in e?gj(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:a,color:o,fill:i}}}function VJ(e,t){return e??t}var ab=(e,t,r,n,a,o,i)=>{if(!(t==null||o==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,g=p.dataDefinedOnItem,h=p.settings,v=VJ(g,l),y=Array.isArray(v)?d0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(y)&&!Array.isArray(y[0])&&i==="axis"?(S=Qy(y,n,a),S==null&&(S=o(y,t,s,x))):S=o(y,t,s,x),Array.isArray(S))S.forEach(O=>{var k,A,M=HJ(O),W=M?.name,L=M?.dataKey,H=M?.payload,D=vj(vj({},h),{},{name:W,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(bk({tooltipEntrySettings:D,dataKey:L,payload:H,value:Qe(H,L),name:W==null?void 0:String(W)}))});else{var w;f.push(bk({tooltipEntrySettings:h,dataKey:b,payload:S,value:Qe(S,b),name:(w=Qe(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var iC=J([Dr,MN,$d],$x),KJ=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),qJ=J([Tr,Hl],Rm),Jl=J([KJ,Dr,qJ],ev,{memoizeOptions:{resultEqualityCheck:Ud}}),YJ=J([Jl],e=>e.filter(du)),yj=J([Jl],tv,{memoizeOptions:{resultEqualityCheck:Ud}}),GJ=J([Jl],e=>e.some(t=>!t.data)),Fi=J([yj,Rn],rv),XJ=J([YJ,Rn,Dr],tx),lC=J([Fi,Dr,Jl,Rn,GJ,yj],jN),hj=J([Dr],Wx),ZJ=J([Dr],e=>e.allowDataOverflow),xj=J([hj,ZJ],W0),QJ=J([Jl],e=>e.filter(du)),JJ=J([XJ,QJ,Ul,Y0],zN),RJ=J([JJ,Rn,Tr,xj],LN),eR=J([Jl],PN),tR=J([Fi,Dr,eR,of,Tr,e6],av,{memoizeOptions:{resultEqualityCheck:fu}}),rR=J([BN,Tr,Hl],Eu),nR=J([rR,Tr],FN),aR=J([$N,Tr,Hl],Eu),oR=J([aR,Tr],WN),iR=J([UN,Tr,Hl],Eu),lR=J([iR,Tr],HN),sR=J([nR,lR,oR],Jm),uR=J([Dr,hj,xj,RJ,tR,sR,qe,Tr],ov),Rl=J([Dr,qe,Fi,lC,Ul,Tr,uR],iv),cR=J([Rl,Dr,iC],lv),dR=J([Dr,Rl,cR,Tr],sv),bj=e=>{var t=Tr(e),r=Hl(e),n=!1;return lf(e,t,r,n)},sC=J([Dr,bj],su),fR=J([Dr,iC,dR,sC],Qm),uC=J([fR],Om),pR=J([qe,lC,Dr,Tr],eC),mR=J([qe,lC,Dr,Tr],XN),vR=(e,t,r,n,a,o,i,l)=>{if(t){var s=t.type,u=wn(e,l);if(n){var c=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,d=s==="category"&&n.bandwidth?n.bandwidth()/c:0;return d=l==="angleAxis"&&a!=null&&a?.length>=2?Ft(a[0]-a[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(Yr):n.domain().map((f,p)=>{var m=n.map(f);return He(m)?{coordinate:m+d,value:o?o[f]:f,index:p,offset:d}:null}).filter(Yr)}}},ta=J([qe,Dr,iC,uC,bj,pR,mR,Tr],vR),cC=J([nC,aC,nj],(e,t,r)=>oC(r.shared,e,t)),wj=e=>e.tooltip.settings.trigger,dC=e=>e.tooltip.settings.defaultIndex,cv=J([Ui,cC,wj,dC],eb),Ra=J([cv,Fi,Li,Rl],Ql),ob=J([ta,Ra],Xx),uf=J([cv],e=>{if(e)return e.dataKey}),ib=J([cv],e=>{if(e)return e.graphicalItemId}),Sj=J([Ui,cC,wj,dC],rb),gR=J([on,ln,qe,jt,ta,dC,Sj],tb),fC=J([cv,gR],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),pC=J([cv],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),yR=J([Sj,Ra,Rn,Li,ob,nb,cC],ab),Aj=J([yR],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function kj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Nj(e){for(var t=1;twe(Dr),Cj=()=>{var e=wR(),t=we(ta),r=we(uC);return!e||!r?Ya(void 0,t):Ya(Nj(Nj({},e),{},{scale:r}),t)};function Ej(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function cf(e){for(var t=1;t{var a=t.find(o=>o&&o.index===r);if(a){if(e==="horizontal")return{x:a.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:a.coordinate}}return{x:0,y:0}},Oj=(e,t,r,n)=>{var a=t.find(u=>u&&u.index===r);if(a){if(e==="centric"){var o=a.coordinate,i=n.radius;return cf(cf(cf({},n),qt(n.cx,n.cy,i,o)),{},{angle:o,radius:i})}var l=a.coordinate,s=n.angle;return cf(cf(cf({},n),qt(n.cx,n.cy,l,s)),{},{angle:s,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function Tj(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var mC=(e,t,r,n,a)=>{var o,i=(o=t?.length)!==null&&o!==void 0?o:0;if(i<=1||e==null)return 0;if(n==="angleAxis"&&a!=null&&Math.abs(Math.abs(a[1]-a[0])-360)<=1e-6)for(var l=a[1]-a[0],s=(Y,N,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=N),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,y=void 0;if(!(g==null||h==null||v==null))if(Ft(h-g)!==Ft(v-h)){var b=[];if(Ft(v-h)===Ft(a[1]-a[0])){y=v;var x=h+a[1]-a[0];b[0]=Math.min(x,(x+g)/2),b[1]=Math.max(x,(x+g)/2)}else{y=g;var S=v+a[1]-a[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(y+h)/2),Math.max(h,(y+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var O;return(O=r[u])===null||O===void 0?void 0:O.index}}else{var k=Math.min(g,v),A=Math.max(g,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var W=0;W(L.coordinate+D.coordinate)/2||W>0&&W(L.coordinate+D.coordinate)/2&&e<=(L.coordinate+H.coordinate)/2)return L.index}}return-1};var lb=()=>we($d),vC=(e,t)=>t,Mj=(e,t,r)=>r,gC=(e,t,r,n)=>n,Pj=J(ta,e=>Oi(e,t=>t.coordinate)),yC=J([Ui,vC,Mj,gC],eb),hC=J([yC,Fi,Li,Rl],Ql),Dj=(e,t,r)=>{if(t!=null){var n=Ui(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},Ij=J([Ui,vC,Mj,gC],rb),dv=J([on,ln,qe,jt,ta,gC,Ij],tb),jj=J([yC,dv],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),xC=J([ta,hC],Xx),zj=J([Ij,hC,Rn,Li,xC,nb,vC],ab),Lj=J([yC,hC],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),NR=(e,t,r,n,a,o,i)=>{if(!(!e||!r||!n||!a)&&Tj(e,i)){var l=cD(e,t),s=mC(l,o,a,r,n),u=_j(t,a,s,e);return{activeIndex:String(s),activeCoordinate:u}}},CR=(e,t,r,n,a,o,i)=>{if(!(!e||!n||!a||!o||!r)){var l=U8(e,r);if(l){var s=dD(l,t),u=mC(s,i,o,n,a),c=Oj(t,o,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},Bj=(e,t,r,n,a,o,i,l)=>{if(!(!e||!t||!n||!a||!o))return t==="horizontal"||t==="vertical"?NR(e,t,n,a,o,i,l):CR(e,t,r,n,a,o,i)};var df=te(ne()),Gj=te(rp());var $j=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Uj=J(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(dt)),r=Array.from(new Set(t));return r.sort((n,a)=>n-a)},{memoizeOptions:{resultEqualityCheck:y6}});function Fj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Wj(e){for(var t=1;tWj(Wj({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),TR)},PR=new Set(Object.values(dt));function DR(e){return PR.has(e)}var Hj=Ct({name:"zIndex",initialState:MR,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Pt()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!DR(r)&&delete e.zIndexMap[r])},prepare:Pt()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,a=r.element,o=r.isPanorama;e.zIndexMap[n]?o?e.zIndexMap[n].panoramaElement=tt(a):e.zIndexMap[n].element=tt(a):e.zIndexMap[n]={consumers:0,element:o?void 0:tt(a),panoramaElement:o?tt(a):void 0}},prepare:Pt()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Pt()}}}),sb=Hj.actions,Vj=sb.registerZIndexPortal,ub=sb.unregisterZIndexPortal,Kj=sb.registerZIndexPortalElement,qj=sb.unregisterZIndexPortalElement;var Yj=Hj.reducer;function Yt(e){var t=e.zIndex,r=e.children,n=CD(),a=n&&t!==void 0&&t!==0,o=Et(),i=(0,df.useRef)(void 0),l=(0,df.useRef)(new Set),s=Ve(),u=we(d=>$j(d,t,o));if((0,df.useLayoutEffect)(()=>{if(!a){var d=l.current;d.forEach(p=>{s(ub({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Vj({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(ub({zIndex:p})),f.delete(p))})}},[s,t,a,u]),(0,df.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(ub({zIndex:f}))}),d.clear()}},[s]),!a)return r;var c=u??i.current;return c?(0,Gj.createPortal)(r,c):null}function bC(){return bC=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,fb.useContext)(wC);var pv=te(ne());var ez=te(Rj(),1);var tz=ez.default;var pf=new tz;var mb="recharts.syncEvent.tooltip",AC="recharts.syncEvent.brush";var es=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!nn(r))return e[r]}},FR={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},rz=Ct({name:"options",initialState:FR,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),nz=rz.reducer,az=rz.actions.createEventEmitter;function oz(e){return e.tooltip.syncInteraction}var WR={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},iz=Ct({name:"chartData",initialState:WR,reducers:{setChartData(e,t){if(e.chartData=tt(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,a=r.endIndex;n!=null&&(e.dataStartIndex=n),a!=null&&(e.dataEndIndex=a)}}}),kC=iz.actions,NC=kC.setChartData,lz=kC.setDataStartEndIndexes,HR=kC.setComputedData;var sz=iz.reducer;var VR=["x","y"];function uz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function mf(e){for(var t=1;ts.rootProps.className);(0,pv.useEffect)(()=>{if(e==null)return Pn;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,g=p.y,h=GR(p,VR),v=c.payload.sourceViewBox,y=v.x,b=v.y,x=v.width,S=v.height,w=mf(mf({},h),{},{x:i.x+(x?(m-y)/x:0)*i.width,y:i.y+(S?(g-b)/S:0)*i.height});r(mf(mf({},c),{},{payload:mf(mf({},c.payload),{},{coordinate:w})}))}else r(c);return}if(a!=null){var O;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(a,k);O=a[A]}else n==="value"&&(O=a.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(O==null){r(sf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var W=M.x,L=M.y,H=Math.min(W,i.x+i.width),D=Math.min(L,i.y+i.height),Y={x:o==="horizontal"?O.coordinate:H,y:o==="horizontal"?D:O.coordinate},N=sf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(O.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(N)}}};return pf.on(mb,s),()=>{pf.off(mb,s)}},[l,r,t,e,n,a,o,i])}function QR(){var e=we(G0),t=we(X0),r=Ve();(0,pv.useEffect)(()=>{if(e==null)return Pn;var n=(a,o,i)=>{t!==i&&e===a&&r(lz(o))};return pf.on(AC,n),()=>{pf.off(AC,n)}},[r,t,e])}function cz(){var e=Ve();(0,pv.useEffect)(()=>{e(az())},[e]),ZR(),QR()}function dz(e,t,r,n,a,o){var i=we(m=>Dj(m,e,t)),l=we(ib),s=we(X0),u=we(G0),c=we(Hk),d=we(oz),f=d?.sourceViewBox!=null,p=nu();(0,pv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=sf({active:o,coordinate:r,dataKey:i,index:a,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});pf.emit(mb,u,m,s)}},[f,r,i,l,a,n,s,u,c,o,p])}function fz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function pz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{O(sj({shared:y,trigger:b,axisId:w,active:a,defaultIndex:k}))},[O,y,b,w,a,k]);var A=nu(),M=N0(),W=rj(y),L=(t=we(K=>Lj(K,W,b,k)))!==null&&t!==void 0?t:{},H=L.activeIndex,D=L.isActive,Y=we(K=>zj(K,W,b,k)),N=we(K=>xC(K,W,b,k)),_=we(K=>jj(K,W,b,k)),z=Y,j=Qj(),P=(r=a??D)!==null&&r!==void 0?r:!1,B=Bh([z,P]),R=tee(B,2),F=R[0],G=R[1],ee=W==="axis"?N:void 0;dz(W,b,_,ee,H,P);var fe=S??j;if(fe==null||A==null||W==null)return null;var de=z??vz;P||(de=vz),u&&de.length&&(de=Ph(de.filter(K=>K.value!=null&&(K.hide!==!0||n.includeHidden)),f,iee));var De=de.length>0,le=pz(pz({},n),{},{payload:de,label:ee,active:P,activeIndex:H,coordinate:_,accessibilityLayer:M}),Te=eo.createElement(QD,{allowEscapeViewBox:o,animationDuration:i,animationEasing:l,isAnimationActive:c,active:P,coordinate:_,hasPayload:De,offset:d,position:p,reverseDirection:m,useTranslate3d:g,viewBox:A,wrapperStyle:h,lastBoundingBox:F,innerRef:G,hasPortalFromProps:!!S},lee(s,le));return eo.createElement(eo.Fragment,null,(0,yz.createPortal)(Te,fe),P&&eo.createElement(Zj,{cursor:v,tooltipEventType:W,coordinate:_,payload:de,index:H}))}var Wi=e=>null;Wi.displayName="Cell";var EC=te(ne()),hb=te(ne());function uee(e,t,r){return(t=cee(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function cee(e){var t=dee(e,"string");return typeof t=="symbol"?t:t+""}function dee(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var vb=class{constructor(t){uee(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}};function hz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function fee(e){for(var t=1;t{try{var r=document.getElementById(bz);r||(r=document.createElement("span"),r.setAttribute("id",bz),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,yee,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},_u=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||Ga.isSsr)return{width:0,height:0};if(!Sz.enableCache)return wz(t,r);var n=hee(t,r),a=xz.get(n);if(a)return a;var o=wz(t,r);return xz.set(n,o),o};var Ez;function gb(e,t){return See(e)||wee(e,t)||bee(e,t)||xee()}function xee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function bee(e,t){if(e){if(typeof e=="string")return Az(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Az(e,t):void 0}}function Az(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var a=[];ct(t)||(r?a=t.toString().split(""):a=t.toString().split(Iz));var o=a.map(l=>({word:l,width:_u(l,n).width})),i=r?0:_u("\xA0",n).width;return{wordsWithComputedWidth:o,spaceWidth:i}}catch{return null}};function xb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function zz(e){return ct(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var Lz=(e,t,r,n)=>e.reduce((a,o)=>{var i=o.word,l=o.width,s=a[a.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),Wee="\u2026",Pz=(e,t,r,n,a,o,i,l)=>{var s=e.slice(0,t),u=jz({breakAll:r,style:n,children:s+Wee});if(!u)return[!1,[]];var c=Lz(u.wordsWithComputedWidth,o,i,l),d=c.length>a||Bz(c).width>Number(o);return[d,c]},Hee=(e,t,r,n,a)=>{var o=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=be(o),c=String(i),d=Lz(t,n,r,a);if(!u||a)return d;var f=d.length>o||Bz(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,g=0,h;p<=m&&g<=c.length-1;){var v=Math.floor((p+m)/2),y=v-1,b=Pz(c,y,s,l,o,n,r,a),x=Tz(b,2),S=x[0],w=x[1],O=Pz(c,v,s,l,o,n,r,a),k=Tz(O,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}g++}return h||d},Dz=e=>{var t=ct(e)?[]:e.toString().split(Iz);return[{words:t,width:void 0}]},Vee=e=>{var t=e.width,r=e.scaleToFit,n=e.children,a=e.style,o=e.breakAll,i=e.maxLines;if((t||r)&&!Ga.isSsr){var l,s,u=jz({breakAll:o,children:n,style:a});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return Dz(n);return Hee({breakAll:o,children:n,maxLines:i,style:a},l,s,t,!!r)}return Dz(n)},$z="#808080",Kee={angle:0,breakAll:!1,capHeight:"0.71em",fill:$z,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ou=(0,hb.forwardRef)((e,t)=>{var r=lt(e,Kee),n=r.x,a=r.y,o=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=Oz(r,jee),f=(0,hb.useMemo)(()=>Vee({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,g=d.angle,h=d.className,v=d.breakAll,y=Oz(d,zee);if(!Mn(n)||!Mn(a)||f.length===0)return null;var b=Number(n)+(be(p)?p:0),x=Number(a)+(be(m)?m:0);if(!He(b)||!He(x))return null;var S;switch(c){case"start":S=yb("calc(".concat(i,")"));break;case"middle":S=yb("calc(".concat((f.length-1)/2," * -").concat(o," + (").concat(i," / 2))"));break;default:S=yb("calc(".concat(f.length-1," * -").concat(o,")"));break}var w=[],O=f[0];if(s&&O!=null){var k=O.width,A=d.width;w.push("scale(".concat(be(A)&&be(k)?A/k:1,")"))}return g&&w.push("rotate(".concat(g,", ").concat(b,", ").concat(x,")")),w.length&&(y.transform=w.join(" ")),EC.createElement("text",CC({},rr(y),{ref:t,x:b,y:x,className:Ue("recharts-text",h),textAnchor:u,fill:l.includes("url")?$z:l}),f.map((M,W)=>{var L=M.words.join(v?"":" ");return EC.createElement("tspan",{x:b,dy:W===0?S:o,key:"".concat(L,"-").concat(W)},L)}))});Ou.displayName="Text";var ra=te(ne()),Xr=te(ne());var qee=["labelRef"],Yee=["content"];function Uz(e,t){if(e==null)return{};var r,n,a=Gee(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,a=e.lowerWidth,o=e.width,i=e.height,l=e.children,s=(0,Xr.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:a,width:o,height:i}),[t,r,n,a,o,i]);return ra.createElement(Wz.Provider,{value:s},l)},Vz=()=>{var e=(0,Xr.useContext)(Wz),t=nu();return e||(t?rm(t):void 0)},Kz=(0,Xr.createContext)(null),qz=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,a=e.outerRadius,o=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,Xr.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:a,startAngle:o,endAngle:i,clockWise:l}),[t,r,n,a,o,i,l]);return ra.createElement(Kz.Provider,{value:u},s)},Jee=()=>{var e=(0,Xr.useContext)(Kz),t=we(ex);return e||t},Ree=e=>{var t=e.value,r=e.formatter,n=ct(e.children)?t:e.children;return typeof r=="function"?r(n):n},Mu=e=>e!=null&&typeof e=="function",ete=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},tte=(e,t,r,n,a)=>{var o=e.offset,i=e.className,l=a.cx,s=a.cy,u=a.innerRadius,c=a.outerRadius,d=a.startAngle,f=a.endAngle,p=a.clockWise,m=(u+c)/2,g=ete(d,f),h=g>=0?1:-1,v,y;switch(t){case"insideStart":v=d+h*o,y=p;break;case"insideEnd":v=f-h*o,y=!p;break;case"end":v=f+h*o,y=p;break;default:throw new Error("Unsupported position ".concat(t))}y=g<=0?y:!y;var b=qt(l,s,m,v),x=qt(l,s,m,v+(y?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` + A`,",",",0,0,",",",",","Z"])),H.x,H.y,a,a,+(c<0),M.x,M.y,n,n,+(X>180),+(c>0),w.x,w.y,a,a,+(c<0),T.x,T.y)}else x+=Rr(DI||(DI=wu(["L",",","Z"])),t,r);return x},ZX={cx:0,cy:0,innerRadius:0,outerRadius:0,startAngle:0,endAngle:0,cornerRadius:0,forceCornerRadius:!1,cornerIsExternal:!1},cx=e=>{var t=ft(e,ZX),r=t.cx,n=t.cy,o=t.innerRadius,a=t.outerRadius,i=t.cornerRadius,l=t.forceCornerRadius,s=t.cornerIsExternal,u=t.startAngle,c=t.endAngle,d=t.className;if(a0&&Math.abs(u-c)<360?g=XX({cx:r,cy:n,innerRadius:o,outerRadius:a,cornerRadius:Math.min(m,p/2),forceCornerRadius:l,cornerIsExternal:s,startAngle:u,endAngle:c}):g=jI({cx:r,cy:n,innerRadius:o,outerRadius:a,startAngle:u,endAngle:c}),II.createElement("path",vC({},dr(t),{className:f,d:g}))};function zI(e,t,r){if(e==="horizontal")return[{x:t.x,y:r.top},{x:t.x,y:r.top+r.height}];if(e==="vertical")return[{x:r.left,y:t.y},{x:r.left+r.width,y:t.y}];if(Ph(t)){if(e==="centric"){var n=t.cx,o=t.cy,a=t.innerRadius,i=t.outerRadius,l=t.angle,s=tr(n,o,a,l),u=tr(n,o,i,l);return[{x:s.x,y:s.y},{x:u.x,y:u.y}]}return sx(t)}}function LI(e){return s0(e)?NaN:Number(e)}function dx(e){return e?(e=LI(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}function fx(e,t,r){r&&typeof r!="number"&&Om(e,t,r)&&(t=r=void 0),e=dx(e),t===void 0?(t=e,e=0):t=dx(t),r=r===void 0?ee.chartData,Su=J([io],e=>{var t=e.chartData!=null?e.chartData.length-1:0;return{chartData:e.chartData,computedData:e.computedData,dataEndIndex:t,dataStartIndex:0}}),Au=(e,t,r,n)=>n?Su(e):io(e),px=(e,t,r)=>r?Su(e):io(e),BI=J([Au],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),$I=J([Su],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]}),FI=J([io],e=>{var t=e.chartData,r=e.dataStartIndex,n=e.dataEndIndex;return t!=null?t.slice(r,n+1):[]});function gC(e,t){return eZ(e)||RX(e,t)||JX(e,t)||QX()}function QX(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function JX(e,t){if(e){if(typeof e=="string")return UI(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?UI(e,t):void 0}}function UI(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=qm(e,2),r=t[0],n=t[1],o=r,a=n;return r>n&&(o=n,a=r),[o,a]},wC=(e,t,r)=>{if(e.lte(0))return new Et.default(0);var n=xC(e.toNumber()),o=new Et.default(10).pow(n),a=e.div(o),i=n!==1?.05:.1,l=new Et.default(Math.ceil(a.div(i).toNumber())).add(r).mul(i),s=l.mul(o);return t?new Et.default(s.toNumber()):new Et.default(Math.ceil(s.toNumber()))},GI=(e,t,r)=>{var n;if(e.lte(0))return new Et.default(0);var o=[1,2,2.5,5],a=e.toNumber(),i=Math.floor(new Et.default(a).abs().log(10).toNumber()),l=new Et.default(10).pow(i),s=e.div(l).toNumber(),u=o.findIndex(p=>p>=s-1e-10);if(u===-1&&(l=l.mul(10),u=0),u+=r,u>=o.length){var c=Math.floor(u/o.length);u%=o.length,l=l.mul(new Et.default(10).pow(c))}var d=(n=o[u])!==null&&n!==void 0?n:1,f=new Et.default(d).mul(l);return t?f:new Et.default(Math.ceil(f.toNumber()))},aZ=(e,t,r)=>{var n=new Et.default(1),o=new Et.default(e);if(!o.isint()&&r){var a=Math.abs(e);a<1?(n=new Et.default(10).pow(xC(e)-1),o=new Et.default(Math.floor(o.div(n).toNumber())).mul(n)):a>1&&(o=new Et.default(Math.floor(e)))}else e===0?o=new Et.default(Math.floor((t-1)/2)):r||(o=new Et.default(Math.floor(e)));for(var i=Math.floor((t-1)/2),l=[],s=0;s4&&arguments[4]!==void 0?arguments[4]:0,i=arguments.length>5&&arguments[5]!==void 0?arguments[5]:wC;if(!Number.isFinite((r-t)/(n-1)))return{step:new Et.default(0),tickMin:new Et.default(0),tickMax:new Et.default(0)};var l=i(new Et.default(r).sub(t).div(n-1),o,a),s;t<=0&&r>=0?s=new Et.default(0):(s=new Et.default(t).add(r).div(2),s=s.sub(new Et.default(s).mod(l)));var u=Math.ceil(s.sub(t).div(l).toNumber()),c=Math.ceil(new Et.default(r).sub(s).div(l).toNumber()),d=u+c+1;return d>n?YI(t,r,n,o,a+1,i):(d0?c+(n-d):c,u=r>0?u:u+(n-d)),{step:l,tickMin:s.sub(new Et.default(u).mul(l)),tickMax:s.add(new Et.default(c).mul(l))})};var gx=function(t){var r=qm(t,2),n=r[0],o=r[1],a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:6,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=Math.max(a,2),u=qI([n,o]),c=qm(u,2),d=c[0],f=c[1];if(d===-1/0||f===1/0){var p=f===1/0?[d,...Array(a-1).fill(1/0)]:[...Array(a-1).fill(-1/0),f];return n>o?p.reverse():p}if(d===f)return aZ(d,a,i);var m=l==="snap125"?GI:wC,g=YI(d,f,s,i,0,m),h=g.step,v=g.tickMin,y=g.tickMax,b=bC(v,y.add(new Et.default(.1).mul(h)),h);return n>o?b.reverse():b},yx=function(t,r){var n=qm(t,2),o=n[0],a=n[1],i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0,l=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"auto",s=qI([o,a]),u=qm(s,2),c=u[0],d=u[1];if(c===-1/0||d===1/0)return[o,a];if(c===d)return[c];var f=l==="snap125"?GI:wC,p=Math.max(r,2),m=f(new Et.default(d).sub(c).div(p-1),i,0),g=[...bC(new Et.default(c),new Et.default(d),m),d];if(i===!1){g=g.map(v=>Math.round(v));var h=g.length-1;h>0&&g[h]===g[h-1]&&(g=g.slice(0,h))}return o>a?g.reverse():g};var SC=e=>e.rootProps.maxBarSize,XI=e=>e.rootProps.barGap,hx=e=>e.rootProps.barCategoryGap,ZI=e=>e.rootProps.barSize,es=e=>e.rootProps.stackOffset,xx=e=>e.rootProps.reverseStackOrder,Jd=e=>e.options.chartName,bx=e=>e.rootProps.syncId,AC=e=>e.rootProps.syncMethod,wx=e=>e.options.eventEmitter,QI=e=>e.rootProps.baseValue;var vt={grid:-100,barBackground:-50,area:100,cursorRectangle:200,bar:300,line:400,axis:500,scatter:600,activeBar:1e3,cursorLine:1100,activeDot:1200,label:2e3};var ts={allowDecimals:!1,allowDuplicatedCategory:!0,allowDataOverflow:!1,angle:0,angleAxisId:0,axisLine:!0,axisLineType:"polygon",cx:0,cy:0,hide:!1,includeHidden:!1,label:!1,niceTicks:"auto",orientation:"outer",reversed:!1,scale:"auto",tick:!0,tickLine:!0,tickSize:8,type:"auto",zIndex:vt.axis};var Ma={allowDataOverflow:!1,allowDecimals:!1,allowDuplicatedCategory:!0,angle:0,axisLine:!0,includeHidden:!1,hide:!1,niceTicks:"auto",label:!1,orientation:"right",radiusAxisId:0,reversed:!1,scale:"auto",stroke:"#ccc",tick:!0,tickCount:5,tickLine:!0,type:"auto",zIndex:vt.axis};var ku=(e,t)=>{if(!(!e||!t))return e!=null&&e.reversed?[t[1],t[0]]:t};function Cu(e,t,r){if(r!=="auto")return r;if(e!=null)return Tn(e,t)?"category":"number"}function JI(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Sx(e){for(var t=1;t{if(t!=null)return e.polarAxis.angleAxis[t]},Ax=J([uZ,q0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Cu(t,"angleAxis",RI.type))!==null&&r!==void 0?r:"category";return Sx(Sx({},RI),{},{type:n})}),cZ=(e,t)=>e.polarAxis.radiusAxis[t],kx=J([cZ,q0],(e,t)=>{var r;if(e!=null)return e;var n=(r=Cu(t,"radiusAxis",e6.type))!==null&&r!==void 0?r:"category";return Sx(Sx({},e6),{},{type:n})}),Cx=e=>e.polarOptions,kC=J([fn,pn,Ht],lx),t6=J([Cx,kC],(e,t)=>{if(e!=null)return Sr(e.innerRadius,t,0)}),r6=J([Cx,kC],(e,t)=>{if(e!=null)return Sr(e.outerRadius,t,t*.8)}),dZ=e=>{if(e==null)return[0,0];var t=e.startAngle,r=e.endAngle;return[t,r]},CC=J([Cx],dZ),Txe=J([Ax,CC],ku),NC=J([kC,t6,r6],(e,t,r)=>{if(!(e==null||t==null||r==null))return[t,r]}),Mxe=J([kx,NC],ku),Nx=J([Qe,Cx,t6,r6,fn,pn],(e,t,r,n,o,a)=>{if(!(e!=="centric"&&e!=="radial"||t==null||r==null||n==null)){var i=t.cx,l=t.cy,s=t.startAngle,u=t.endAngle;return{cx:Sr(i,o,o/2),cy:Sr(l,a,a/2),innerRadius:r,outerRadius:n,startAngle:s,endAngle:u,clockWise:!1}}});var fr=(e,t)=>t;var Nu=(e,t,r)=>r;function rs(e){return e?.id}function _x(e,t,r){var n=t.chartData,o=n===void 0?[]:n,a=r.allowDuplicatedCategory,i=r.dataKey,l=new Map;return e.forEach(s=>{var u,c=(u=s.data)!==null&&u!==void 0?u:o;if(!(c==null||c.length===0)){var d=rs(s);c.forEach((f,p)=>{var m=i==null||a?p:String(nt(f,i,null)),g=nt(f,s.dataKey,0),h;l.has(m)?h=l.get(m):h={},Object.assign(h,{[d]:g}),l.set(m,h)})}}),Array.from(l.values())}function _u(e){return"stackId"in e&&e.stackId!=null&&e.dataKey!=null}var Eu=(e,t)=>e===t?!0:e==null||t==null?!1:e[0]===t[0]&&e[1]===t[1];function Rd(e,t){return Array.isArray(e)&&Array.isArray(t)&&e.length===0&&t.length===0?!0:e===t}function n6(e,t){if(e.length===t.length){for(var r=0;r{var t=Qe(e);return t==="horizontal"?"xAxis":t==="vertical"?"yAxis":t==="centric"?"angleAxis":"radiusAxis"};var ns=e=>e.tooltip.settings.axisId;function Gm(e){if(e!=null){var t=e.ticks,r=e.bandwidth,n=e.range(),o=[Math.min(...n),Math.max(...n)];return{domain:()=>e.domain(),range:(function(a){function i(){return a.apply(this,arguments)}return i.toString=function(){return a.toString()},i})(()=>o),rangeMin:()=>o[0],rangeMax:()=>o[1],isInRange(a){var i=o[0],l=o[1];return i<=l?a>=i&&a<=l:a>=l&&a<=i},bandwidth:r?()=>r.call(e):void 0,ticks:t?a=>t.call(e,a):void 0,map:(a,i)=>{var l=e(a);if(l!=null){if(e.bandwidth&&i!==null&&i!==void 0&&i.position){var s=e.bandwidth();switch(i.position){case"middle":l+=s/2;break;case"end":l+=s;break;default:break}}return l}}}}}var Ex=(e,t)=>{if(t!=null)switch(e){case"linear":{if(!To(t)){for(var r,n,o=0;on)&&(n=a))}return r!==void 0&&n!==void 0?[r,n]:void 0}return t}default:return t}};var mv={};uU(mv,{scaleBand:()=>Qm,scaleDiverging:()=>ub,scaleDivergingLog:()=>aN,scaleDivergingPow:()=>cb,scaleDivergingSqrt:()=>Cj,scaleDivergingSymlog:()=>iN,scaleIdentity:()=>Gx,scaleImplicit:()=>jx,scaleLinear:()=>qx,scaleLog:()=>Yx,scaleOrdinal:()=>rf,scalePoint:()=>c6,scalePow:()=>sv,scaleQuantile:()=>Qx,scaleQuantize:()=>Jx,scaleRadial:()=>Zx,scaleSequential:()=>ab,scaleSequentialLog:()=>nN,scaleSequentialPow:()=>ib,scaleSequentialQuantile:()=>lb,scaleSequentialSqrt:()=>kj,scaleSequentialSymlog:()=>oN,scaleSqrt:()=>q6,scaleSymlog:()=>Xx,scaleThreshold:()=>Rx,scaleTime:()=>tN,scaleUtc:()=>rN,tickFormat:()=>nv});function Hn(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function _C(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function Ou(e){let t,r,n;e.length!==2?(t=Hn,r=(l,s)=>Hn(e(l),s),n=(l,s)=>e(l)-s):(t=e===Hn||e===_C?e:fZ,r=e,n=e);function o(l,s,u=0,c=l.length){if(u>>1;r(l[d],s)<0?u=d+1:c=d}while(u>>1;r(l[d],s)<=0?u=d+1:c=d}while(uu&&n(l[d-1],s)>-n(l[d],s)?d-1:d}return{left:o,center:i,right:a}}function fZ(){return 0}function Ym(e){return e===null?NaN:+e}function*o6(e,t){if(t===void 0)for(let r of e)r!=null&&(r=+r)>=r&&(yield r);else{let r=-1;for(let n of e)(n=t(n,++r,e))!=null&&(n=+n)>=n&&(yield n)}}var a6=Ou(Hn),i6=a6.right,pZ=a6.left,mZ=Ou(Ym).center,Pa=i6;var ef=class extends Map{constructor(t,r=yZ){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:r}}),t!=null)for(let[n,o]of t)this.set(n,o)}get(t){return super.get(l6(this,t))}has(t){return super.has(l6(this,t))}set(t,r){return super.set(vZ(this,t),r)}delete(t){return super.delete(gZ(this,t))}};function l6({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):r}function vZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)?e.get(n):(e.set(n,r),r)}function gZ({_intern:e,_key:t},r){let n=t(r);return e.has(n)&&(r=e.get(n),e.delete(n)),r}function yZ(e){return e!==null&&typeof e=="object"?e.valueOf():e}function s6(e=Hn){if(e===Hn)return EC;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,r)=>{let n=e(t,r);return n||n===0?n:(e(r,r)===0)-(e(t,t)===0)}}function EC(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}var hZ=Math.sqrt(50),xZ=Math.sqrt(10),bZ=Math.sqrt(2);function Ox(e,t,r){let n=(t-e)/Math.max(0,r),o=Math.floor(Math.log10(n)),a=n/Math.pow(10,o),i=a>=hZ?10:a>=xZ?5:a>=bZ?2:1,l,s,u;return o<0?(u=Math.pow(10,-o)/i,l=Math.round(e*u),s=Math.round(t*u),l/ut&&--s,u=-u):(u=Math.pow(10,o)*i,l=Math.round(e/u),s=Math.round(t/u),l*ut&&--s),s0))return[];if(e===t)return[e];let n=t=o))return[];let l=a-o+1,s=new Array(l);if(n)if(i<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r=o)&&(r=o)}return r}function Mx(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r>n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r>o||r===void 0&&o>=o)&&(r=o)}return r}function Px(e,t,r=0,n=1/0,o){if(t=Math.floor(t),r=Math.floor(Math.max(0,r)),n=Math.floor(Math.min(e.length-1,n)),!(r<=t&&t<=n))return e;for(o=o===void 0?EC:s6(o);n>r;){if(n-r>600){let s=n-r+1,u=t-r+1,c=Math.log(s),d=.5*Math.exp(2*c/3),f=.5*Math.sqrt(c*d*(s-d)/s)*(u-s/2<0?-1:1),p=Math.max(r,Math.floor(t-u*d/s+f)),m=Math.min(n,Math.floor(t+(s-u)*d/s+f));Px(e,t,p,m,o)}let a=e[t],i=r,l=n;for(Zm(e,r,t),o(e[n],a)>0&&Zm(e,r,n);i0;)--l}o(e[r],a)===0?Zm(e,r,l):(++l,Zm(e,l,n)),l<=t&&(r=l+1),t<=l&&(n=l-1)}return e}function Zm(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}function Dx(e,t,r){if(e=Float64Array.from(o6(e,r)),!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return Mx(e);if(t>=1)return Tx(e);var n,o=(n-1)*t,a=Math.floor(o),i=Tx(Px(e,a).subarray(0,a+1)),l=Mx(e.subarray(a+1));return i+(l-i)*(o-a)}}function OC(e,t,r=Ym){if(!(!(n=e.length)||isNaN(t=+t))){if(t<=0||n<2)return+r(e[0],0,e);if(t>=1)return+r(e[n-1],n-1,e);var n,o=(n-1)*t,a=Math.floor(o),i=+r(e[a],a,e),l=+r(e[a+1],a+1,e);return i+(l-i)*(o-a)}}function Ix(e,t,r){e=+e,t=+t,r=(o=arguments.length)<2?(t=e,e=0,1):o<3?1:+r;for(var n=-1,o=Math.max(0,Math.ceil((t-e)/r))|0,a=new Array(o);++n>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?Lx(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?Lx(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=SZ.exec(e))?new lo(t[1],t[2],t[3],1):(t=AZ.exec(e))?new lo(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=kZ.exec(e))?Lx(t[1],t[2],t[3],t[4]):(t=CZ.exec(e))?Lx(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=NZ.exec(e))?y6(t[1],t[2]/100,t[3]/100,1):(t=_Z.exec(e))?y6(t[1],t[2]/100,t[3]/100,t[4]):d6.hasOwnProperty(e)?m6(d6[e]):e==="transparent"?new lo(NaN,NaN,NaN,0):null}function m6(e){return new lo(e>>16&255,e>>8&255,e&255,1)}function Lx(e,t,r,n){return n<=0&&(e=t=r=NaN),new lo(e,t,r,n)}function TZ(e){return e instanceof ev||(e=os(e)),e?(e=e.rgb(),new lo(e.r,e.g,e.b,e.opacity)):new lo}function of(e,t,r,n){return arguments.length===1?TZ(e):new lo(e,t,r,n??1)}function lo(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}zx(lo,of,TC(ev,{brighter(e){return e=e==null?$x:Math.pow($x,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Jm:Math.pow(Jm,e),new lo(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new lo(Pu(this.r),Pu(this.g),Pu(this.b),Fx(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:v6,formatHex:v6,formatHex8:MZ,formatRgb:g6,toString:g6}));function v6(){return`#${Mu(this.r)}${Mu(this.g)}${Mu(this.b)}`}function MZ(){return`#${Mu(this.r)}${Mu(this.g)}${Mu(this.b)}${Mu((isNaN(this.opacity)?1:this.opacity)*255)}`}function g6(){let e=Fx(this.opacity);return`${e===1?"rgb(":"rgba("}${Pu(this.r)}, ${Pu(this.g)}, ${Pu(this.b)}${e===1?")":`, ${e})`}`}function Fx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Pu(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mu(e){return e=Pu(e),(e<16?"0":"")+e.toString(16)}function y6(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new Da(e,t,r,n)}function x6(e){if(e instanceof Da)return new Da(e.h,e.s,e.l,e.opacity);if(e instanceof ev||(e=os(e)),!e)return new Da;if(e instanceof Da)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,o=Math.min(t,r,n),a=Math.max(t,r,n),i=NaN,l=a-o,s=(a+o)/2;return l?(t===a?i=(r-n)/l+(r0&&s<1?0:i,new Da(i,l,s,e.opacity)}function b6(e,t,r,n){return arguments.length===1?x6(e):new Da(e,t,r,n??1)}function Da(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}zx(Da,b6,TC(ev,{brighter(e){return e=e==null?$x:Math.pow($x,e),new Da(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Jm:Math.pow(Jm,e),new Da(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,n=r+(r<.5?r:1-r)*t,o=2*r-n;return new lo(MC(e>=240?e-240:e+120,o,n),MC(e,o,n),MC(e<120?e+240:e-120,o,n),this.opacity)},clamp(){return new Da(h6(this.h),Bx(this.s),Bx(this.l),Fx(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(){let e=Fx(this.opacity);return`${e===1?"hsl(":"hsla("}${h6(this.h)}, ${Bx(this.s)*100}%, ${Bx(this.l)*100}%${e===1?")":`, ${e})`}`}}));function h6(e){return e=(e||0)%360,e<0?e+360:e}function Bx(e){return Math.max(0,Math.min(1,e||0))}function MC(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}function PC(e,t,r,n,o){var a=e*e,i=a*e;return((1-3*e+3*a-i)*t+(4-6*a+3*i)*r+(1+3*e+3*a-3*i)*n+i*o)/6}function w6(e){var t=e.length-1;return function(r){var n=r<=0?r=0:r>=1?(r=1,t-1):Math.floor(r*t),o=e[n],a=e[n+1],i=n>0?e[n-1]:2*o-a,l=n()=>e;function PZ(e,t){return function(r){return e+r*t}}function DZ(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function A6(e){return(e=+e)==1?Ux:function(t,r){return r-t?DZ(t,r,e):tv(isNaN(t)?r:t)}}function Ux(e,t){var r=t-e;return r?PZ(e,r):tv(isNaN(e)?t:e)}var DC=(function e(t){var r=A6(t);function n(o,a){var i=r((o=of(o)).r,(a=of(a)).r),l=r(o.g,a.g),s=r(o.b,a.b),u=Ux(o.opacity,a.opacity);return function(c){return o.r=i(c),o.g=l(c),o.b=s(c),o.opacity=u(c),o+""}}return n.gamma=e,n})(1);function k6(e){return function(t){var r=t.length,n=new Array(r),o=new Array(r),a=new Array(r),i,l;for(i=0;ir&&(a=t.slice(r,a),l[i]?l[i]+=a:l[++i]=a),(n=n[0])===(o=o[0])?l[i]?l[i]+=o:l[++i]=o:(l[++i]=null,s.push({i,x:as(n,o)})),r=IC.lastIndex;return rt&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function LZ(e,t,r){var n=e[0],o=e[1],a=t[0],i=t[1];return o2?BZ:LZ,s=u=null,d}function d(f){return f==null||isNaN(f=+f)?a:(s||(s=l(e.map(n),t,r)))(n(i(f)))}return d.invert=function(f){return i(o((u||(u=l(t,e.map(n),as)))(f)))},d.domain=function(f){return arguments.length?(e=Array.from(f,is),c()):e.slice()},d.range=function(f){return arguments.length?(t=Array.from(f),c()):t.slice()},d.rangeRound=function(f){return t=Array.from(f),r=Du,c()},d.clamp=function(f){return arguments.length?(i=f?!0:tn,c()):i!==tn},d.interpolate=function(f){return arguments.length?(r=f,c()):r},d.unknown=function(f){return arguments.length?(a=f,d):a},function(f,p){return n=f,o=p,c()}}function ju(){return Iu()(tn,tn)}function P6(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function zu(e,t){if(!isFinite(e)||e===0)return null;var r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"),n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ri(e){return e=zu(Math.abs(e)),e?e[1]:NaN}function D6(e,t){return function(r,n){for(var o=r.length,a=[],i=0,l=e[0],s=0;o>0&&l>0&&(s+l+1>n&&(l=Math.max(1,n-s)),a.push(r.substring(o-=l,o+l)),!((s+=l+1)>n));)l=e[i=(i+1)%e.length];return a.reverse().join(t)}}function I6(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var $Z=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function ni(e){if(!(t=$Z.exec(e)))throw new Error("invalid format: "+e);var t;return new Hx({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}ni.prototype=Hx.prototype;function Hx(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Hx.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function j6(e){e:for(var t=e.length,r=1,n=-1,o;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(o+1):e}var rv;function z6(e,t){var r=zu(e,t);if(!r)return rv=void 0,e.toPrecision(t);var n=r[0],o=r[1],a=o-(rv=Math.max(-8,Math.min(8,Math.floor(o/3)))*3)+1,i=n.length;return a===i?n:a>i?n+new Array(a-i+1).join("0"):a>0?n.slice(0,a)+"."+n.slice(a):"0."+new Array(1-a).join("0")+zu(e,Math.max(0,t+a-1))[0]}function BC(e,t){var r=zu(e,t);if(!r)return e+"";var n=r[0],o=r[1];return o<0?"0."+new Array(-o).join("0")+n:n.length>o+1?n.slice(0,o+1)+"."+n.slice(o+1):n+new Array(o-n.length+2).join("0")}var $C={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:P6,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>BC(e*100,t),r:BC,s:z6,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function FC(e){return e}var L6=Array.prototype.map,B6=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function $6(e){var t=e.grouping===void 0||e.thousands===void 0?FC:D6(L6.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",o=e.decimal===void 0?".":e.decimal+"",a=e.numerals===void 0?FC:I6(L6.call(e.numerals,String)),i=e.percent===void 0?"%":e.percent+"",l=e.minus===void 0?"\u2212":e.minus+"",s=e.nan===void 0?"NaN":e.nan+"";function u(d,f){d=ni(d);var p=d.fill,m=d.align,g=d.sign,h=d.symbol,v=d.zero,y=d.width,b=d.comma,x=d.precision,S=d.trim,w=d.type;w==="n"?(b=!0,w="g"):$C[w]||(x===void 0&&(x=12),S=!0,w="g"),(v||p==="0"&&m==="=")&&(v=!0,p="0",m="=");var T=(f&&f.prefix!==void 0?f.prefix:"")+(h==="$"?r:h==="#"&&/[boxX]/.test(w)?"0"+w.toLowerCase():""),k=(h==="$"?n:/[%p]/.test(w)?i:"")+(f&&f.suffix!==void 0?f.suffix:""),A=$C[w],M=/[defgprs%]/.test(w);x=x===void 0?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function H(F){var X=T,P=k,Y,C,_;if(w==="c")P=A(F)+P,F="";else{F=+F;var z=F<0||1/F<0;if(F=isNaN(F)?s:A(Math.abs(F),x),S&&(F=j6(F)),z&&+F==0&&g!=="+"&&(z=!1),X=(z?g==="("?g:l:g==="-"||g==="("?"":g)+X,P=(w==="s"&&!isNaN(F)&&rv!==void 0?B6[8+rv/3]:"")+P+(z&&g==="("?")":""),M){for(Y=-1,C=F.length;++Y_||_>57){P=(_===46?o+F.slice(Y+1):F.slice(Y))+P,F=F.slice(0,Y);break}}}b&&!v&&(F=t(F,1/0));var D=X.length+F.length+P.length,E=D>1)+X+F+P+E.slice(D);break;default:F=E+X+F+P;break}return a(F)}return H.toString=function(){return d+""},H}function c(d,f){var p=Math.max(-8,Math.min(8,Math.floor(ri(f)/3)))*3,m=Math.pow(10,-p),g=u((d=ni(d),d.type="f",d),{suffix:B6[8+p/3]});return function(h){return g(m*h)}}return{format:u,formatPrefix:c}}var Vx,af,Kx;UC({thousands:",",grouping:[3],currency:["$",""]});function UC(e){return Vx=$6(e),af=Vx.format,Kx=Vx.formatPrefix,Vx}function WC(e){return Math.max(0,-ri(Math.abs(e)))}function HC(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ri(t)/3)))*3-ri(Math.abs(e)))}function VC(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ri(t)-ri(e))+1}function nv(e,t,r,n){var o=tf(e,t,r),a;switch(n=ni(n??",f"),n.type){case"s":{var i=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(a=HC(o,i))&&(n.precision=a),Kx(n,i)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(a=VC(o,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=a-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(a=WC(o))&&(n.precision=a-(n.type==="%")*2);break}}return af(n)}function Vn(e){var t=e.domain;return e.ticks=function(r){var n=t();return Tu(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var o=t();return nv(o[0],o[o.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),o=0,a=n.length-1,i=n[o],l=n[a],s,u,c=10;for(l0;){if(u=Xm(i,l,r),u===s)return n[o]=i,n[a]=l,t(n);if(u>0)i=Math.floor(i/u)*u,l=Math.ceil(l/u)*u;else if(u<0)i=Math.ceil(i*u)/u,l=Math.floor(l*u)/u;else break;s=u}return e},e}function qx(){var e=ju();return e.copy=function(){return ti(e,qx())},yr.apply(e,arguments),Vn(e)}function Gx(e){var t;function r(n){return n==null||isNaN(n=+n)?t:n}return r.invert=r,r.domain=r.range=function(n){return arguments.length?(e=Array.from(n,is),r):e.slice()},r.unknown=function(n){return arguments.length?(t=n,r):t},r.copy=function(){return Gx(e).unknown(t)},e=arguments.length?Array.from(e,is):[0,1],Vn(r)}function ov(e,t){e=e.slice();var r=0,n=e.length-1,o=e[r],a=e[n],i;return aMath.pow(e,t)}function VZ(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function W6(e){return(t,r)=>-e(-t,r)}function av(e){let t=e(F6,U6),r=t.domain,n=10,o,a;function i(){return o=VZ(n),a=HZ(n),r()[0]<0?(o=W6(o),a=W6(a),e(FZ,UZ)):e(F6,U6),t}return t.base=function(l){return arguments.length?(n=+l,i()):n},t.domain=function(l){return arguments.length?(r(l),i()):r()},t.ticks=l=>{let s=r(),u=s[0],c=s[s.length-1],d=c0){for(;f<=p;++f)for(m=1;mc)break;v.push(g)}}else for(;f<=p;++f)for(m=n-1;m>=1;--m)if(g=f>0?m/a(-f):m*a(f),!(gc)break;v.push(g)}v.length*2{if(l==null&&(l=10),s==null&&(s=n===10?"s":","),typeof s!="function"&&(!(n%1)&&(s=ni(s)).precision==null&&(s.trim=!0),s=af(s)),l===1/0)return s;let u=Math.max(1,n*l/t.ticks().length);return c=>{let d=c/a(Math.round(o(c)));return d*nr(ov(r(),{floor:l=>a(Math.floor(o(l))),ceil:l=>a(Math.ceil(o(l)))})),t}function Yx(){let e=av(Iu()).domain([1,10]);return e.copy=()=>ti(e,Yx()).base(e.base()),yr.apply(e,arguments),e}function H6(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function V6(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function iv(e){var t=1,r=e(H6(t),V6(t));return r.constant=function(n){return arguments.length?e(H6(t=+n),V6(t)):t},Vn(r)}function Xx(){var e=iv(Iu());return e.copy=function(){return ti(e,Xx()).constant(e.constant())},yr.apply(e,arguments)}function K6(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function KZ(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function qZ(e){return e<0?-e*e:e*e}function lv(e){var t=e(tn,tn),r=1;function n(){return r===1?e(tn,tn):r===.5?e(KZ,qZ):e(K6(r),K6(1/r))}return t.exponent=function(o){return arguments.length?(r=+o,n()):r},Vn(t)}function sv(){var e=lv(Iu());return e.copy=function(){return ti(e,sv()).exponent(e.exponent())},yr.apply(e,arguments),e}function q6(){return sv.apply(null,arguments).exponent(.5)}function G6(e){return Math.sign(e)*e*e}function GZ(e){return Math.sign(e)*Math.sqrt(Math.abs(e))}function Zx(){var e=ju(),t=[0,1],r=!1,n;function o(a){var i=GZ(e(a));return isNaN(i)?n:r?Math.round(i):i}return o.invert=function(a){return e.invert(G6(a))},o.domain=function(a){return arguments.length?(e.domain(a),o):e.domain()},o.range=function(a){return arguments.length?(e.range((t=Array.from(a,is)).map(G6)),o):t.slice()},o.rangeRound=function(a){return o.range(a).round(!0)},o.round=function(a){return arguments.length?(r=!!a,o):r},o.clamp=function(a){return arguments.length?(e.clamp(a),o):e.clamp()},o.unknown=function(a){return arguments.length?(n=a,o):n},o.copy=function(){return Zx(e.domain(),t).round(r).clamp(e.clamp()).unknown(n)},yr.apply(o,arguments),Vn(o)}function Qx(){var e=[],t=[],r=[],n;function o(){var i=0,l=Math.max(1,t.length);for(r=new Array(l-1);++i0?r[l-1]:e[0],l=r?[n[r-1],t]:[n[u-1],n[u]]},i.unknown=function(s){return arguments.length&&(a=s),i},i.thresholds=function(){return n.slice()},i.copy=function(){return Jx().domain([e,t]).range(o).unknown(a)},yr.apply(Vn(i),arguments)}function Rx(){var e=[.5],t=[0,1],r,n=1;function o(a){return a!=null&&a<=a?t[Pa(e,a,0,n)]:r}return o.domain=function(a){return arguments.length?(e=Array.from(a),n=Math.min(e.length,t.length-1),o):e.slice()},o.range=function(a){return arguments.length?(t=Array.from(a),n=Math.min(e.length,t.length-1),o):t.slice()},o.invertExtent=function(a){var i=t.indexOf(a);return[e[i-1],e[i]]},o.unknown=function(a){return arguments.length?(r=a,o):r},o.copy=function(){return Rx().domain(e).range(t).unknown(r)},yr.apply(o,arguments)}var KC=new Date,qC=new Date;function Zt(e,t,r,n){function o(a){return e(a=arguments.length===0?new Date:new Date(+a)),a}return o.floor=a=>(e(a=new Date(+a)),a),o.ceil=a=>(e(a=new Date(a-1)),t(a,1),e(a),a),o.round=a=>{let i=o(a),l=o.ceil(a);return a-i(t(a=new Date(+a),i==null?1:Math.floor(i)),a),o.range=(a,i,l)=>{let s=[];if(a=o.ceil(a),l=l==null?1:Math.floor(l),!(a0))return s;let u;do s.push(u=new Date(+a)),t(a,l),e(a);while(uZt(i=>{if(i>=i)for(;e(i),!a(i);)i.setTime(i-1)},(i,l)=>{if(i>=i)if(l<0)for(;++l<=0;)for(;t(i,-1),!a(i););else for(;--l>=0;)for(;t(i,1),!a(i););}),r&&(o.count=(a,i)=>(KC.setTime(+a),qC.setTime(+i),e(KC),e(qC),Math.floor(r(KC,qC))),o.every=a=>(a=Math.floor(a),!isFinite(a)||!(a>0)?null:a>1?o.filter(n?i=>n(i)%a===0:i=>o.count(0,i)%a===0):o)),o}var uv=Zt(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);uv.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Zt(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):uv);var uSe=uv.range;var ua=Zt(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*1e3)},(e,t)=>(t-e)/1e3,e=>e.getUTCSeconds()),Y6=ua.range;var lf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getMinutes()),YZ=lf.range,sf=Zt(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*6e4)},(e,t)=>(t-e)/6e4,e=>e.getUTCMinutes()),XZ=sf.range;var uf=Zt(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*1e3-e.getMinutes()*6e4)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getHours()),ZZ=uf.range,cf=Zt(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*36e5)},(e,t)=>(t-e)/36e5,e=>e.getUTCHours()),QZ=cf.range;var Hi=Zt(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*6e4)/864e5,e=>e.getDate()-1),JZ=Hi.range,$u=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>e.getUTCDate()-1),RZ=$u.range,eb=Zt(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/864e5,e=>Math.floor(e/864e5)),eQ=eb.range;function Fu(e){return Zt(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*6e4)/6048e5)}var Vi=Fu(0),df=Fu(1),Z6=Fu(2),Q6=Fu(3),ls=Fu(4),J6=Fu(5),R6=Fu(6),ej=Vi.range,tQ=df.range,rQ=Z6.range,nQ=Q6.range,oQ=ls.range,aQ=J6.range,iQ=R6.range;function Uu(e){return Zt(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/6048e5)}var Ki=Uu(0),ff=Uu(1),tj=Uu(2),rj=Uu(3),ss=Uu(4),nj=Uu(5),oj=Uu(6),aj=Ki.range,lQ=ff.range,sQ=tj.range,uQ=rj.range,cQ=ss.range,dQ=nj.range,fQ=oj.range;var pf=Zt(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth()),pQ=pf.range,mf=Zt(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth()),mQ=mf.range;var Po=Zt(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());Po.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});var vQ=Po.range,Do=Zt(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());Do.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Zt(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});var gQ=Do.range;function lj(e,t,r,n,o,a){let i=[[ua,1,1e3],[ua,5,5*1e3],[ua,15,15*1e3],[ua,30,30*1e3],[a,1,6e4],[a,5,5*6e4],[a,15,15*6e4],[a,30,30*6e4],[o,1,36e5],[o,3,3*36e5],[o,6,6*36e5],[o,12,12*36e5],[n,1,864e5],[n,2,2*864e5],[r,1,6048e5],[t,1,2592e6],[t,3,3*2592e6],[e,1,31536e6]];function l(u,c,d){let f=ch).right(i,f);if(p===i.length)return e.every(tf(u/31536e6,c/31536e6,d));if(p===0)return uv.every(Math.max(tf(u,c,d),1));let[m,g]=i[f/i[p-1][2]53)return null;"w"in I||(I.w=1),"Z"in I?(O=JC(dv(I.y,0,1)),Z=O.getUTCDay(),O=Z>4||Z===0?ff.ceil(O):ff(O),O=$u.offset(O,(I.V-1)*7),I.y=O.getUTCFullYear(),I.m=O.getUTCMonth(),I.d=O.getUTCDate()+(I.w+6)%7):(O=QC(dv(I.y,0,1)),Z=O.getDay(),O=Z>4||Z===0?df.ceil(O):df(O),O=Hi.offset(O,(I.V-1)*7),I.y=O.getFullYear(),I.m=O.getMonth(),I.d=O.getDate()+(I.w+6)%7)}else("W"in I||"U"in I)&&("w"in I||(I.w="u"in I?I.u%7:"W"in I?1:0),Z="Z"in I?JC(dv(I.y,0,1)).getUTCDay():QC(dv(I.y,0,1)).getDay(),I.m=0,I.d="W"in I?(I.w+6)%7+I.W*7-(Z+5)%7:I.w+I.U*7-(Z+6)%7);return"Z"in I?(I.H+=I.Z/100|0,I.M+=I.Z%100,JC(I)):QC(I)}}function k(oe,Ee,V,I){for(var N=0,O=Ee.length,Z=V.length,B,we;N=Z)return-1;if(B=Ee.charCodeAt(N++),B===37){if(B=Ee.charAt(N++),we=S[B in sj?Ee.charAt(N++):B],!we||(I=we(oe,V,I))<0)return-1}else if(B!=V.charCodeAt(I++))return-1}return I}function A(oe,Ee,V){var I=u.exec(Ee.slice(V));return I?(oe.p=c.get(I[0].toLowerCase()),V+I[0].length):-1}function M(oe,Ee,V){var I=p.exec(Ee.slice(V));return I?(oe.w=m.get(I[0].toLowerCase()),V+I[0].length):-1}function H(oe,Ee,V){var I=d.exec(Ee.slice(V));return I?(oe.w=f.get(I[0].toLowerCase()),V+I[0].length):-1}function F(oe,Ee,V){var I=v.exec(Ee.slice(V));return I?(oe.m=y.get(I[0].toLowerCase()),V+I[0].length):-1}function X(oe,Ee,V){var I=g.exec(Ee.slice(V));return I?(oe.m=h.get(I[0].toLowerCase()),V+I[0].length):-1}function P(oe,Ee,V){return k(oe,t,Ee,V)}function Y(oe,Ee,V){return k(oe,r,Ee,V)}function C(oe,Ee,V){return k(oe,n,Ee,V)}function _(oe){return i[oe.getDay()]}function z(oe){return a[oe.getDay()]}function D(oe){return s[oe.getMonth()]}function E(oe){return l[oe.getMonth()]}function j(oe){return o[+(oe.getHours()>=12)]}function R(oe){return 1+~~(oe.getMonth()/3)}function U(oe){return i[oe.getUTCDay()]}function L(oe){return a[oe.getUTCDay()]}function K(oe){return s[oe.getUTCMonth()]}function ae(oe){return l[oe.getUTCMonth()]}function de(oe){return o[+(oe.getUTCHours()>=12)]}function ze(oe){return 1+~~(oe.getUTCMonth()/3)}return{format:function(oe){var Ee=w(oe+="",b);return Ee.toString=function(){return oe},Ee},parse:function(oe){var Ee=T(oe+="",!1);return Ee.toString=function(){return oe},Ee},utcFormat:function(oe){var Ee=w(oe+="",x);return Ee.toString=function(){return oe},Ee},utcParse:function(oe){var Ee=T(oe+="",!0);return Ee.toString=function(){return oe},Ee}}}var sj={"-":"",_:" ",0:"0"},mn=/^\s*\d+/,hQ=/^%/,xQ=/[\\^$*+?|[\]().{}]/g;function jt(e,t,r){var n=e<0?"-":"",o=(n?-e:e)+"",a=o.length;return n+(a[t.toLowerCase(),r]))}function wQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function SQ(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function AQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function kQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function CQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function uj(e,t,r){var n=mn.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function cj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function NQ(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function _Q(e,t,r){var n=mn.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function EQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function dj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function OQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function fj(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function TQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function MQ(e,t,r){var n=mn.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function PQ(e,t,r){var n=mn.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function DQ(e,t,r){var n=mn.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function IQ(e,t,r){var n=hQ.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function jQ(e,t,r){var n=mn.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function zQ(e,t,r){var n=mn.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function pj(e,t){return jt(e.getDate(),t,2)}function LQ(e,t){return jt(e.getHours(),t,2)}function BQ(e,t){return jt(e.getHours()%12||12,t,2)}function $Q(e,t){return jt(1+Hi.count(Po(e),e),t,3)}function hj(e,t){return jt(e.getMilliseconds(),t,3)}function FQ(e,t){return hj(e,t)+"000"}function UQ(e,t){return jt(e.getMonth()+1,t,2)}function WQ(e,t){return jt(e.getMinutes(),t,2)}function HQ(e,t){return jt(e.getSeconds(),t,2)}function VQ(e){var t=e.getDay();return t===0?7:t}function KQ(e,t){return jt(Vi.count(Po(e)-1,e),t,2)}function xj(e){var t=e.getDay();return t>=4||t===0?ls(e):ls.ceil(e)}function qQ(e,t){return e=xj(e),jt(ls.count(Po(e),e)+(Po(e).getDay()===4),t,2)}function GQ(e){return e.getDay()}function YQ(e,t){return jt(df.count(Po(e)-1,e),t,2)}function XQ(e,t){return jt(e.getFullYear()%100,t,2)}function ZQ(e,t){return e=xj(e),jt(e.getFullYear()%100,t,2)}function QQ(e,t){return jt(e.getFullYear()%1e4,t,4)}function JQ(e,t){var r=e.getDay();return e=r>=4||r===0?ls(e):ls.ceil(e),jt(e.getFullYear()%1e4,t,4)}function RQ(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+jt(t/60|0,"0",2)+jt(t%60,"0",2)}function mj(e,t){return jt(e.getUTCDate(),t,2)}function eJ(e,t){return jt(e.getUTCHours(),t,2)}function tJ(e,t){return jt(e.getUTCHours()%12||12,t,2)}function rJ(e,t){return jt(1+$u.count(Do(e),e),t,3)}function bj(e,t){return jt(e.getUTCMilliseconds(),t,3)}function nJ(e,t){return bj(e,t)+"000"}function oJ(e,t){return jt(e.getUTCMonth()+1,t,2)}function aJ(e,t){return jt(e.getUTCMinutes(),t,2)}function iJ(e,t){return jt(e.getUTCSeconds(),t,2)}function lJ(e){var t=e.getUTCDay();return t===0?7:t}function sJ(e,t){return jt(Ki.count(Do(e)-1,e),t,2)}function wj(e){var t=e.getUTCDay();return t>=4||t===0?ss(e):ss.ceil(e)}function uJ(e,t){return e=wj(e),jt(ss.count(Do(e),e)+(Do(e).getUTCDay()===4),t,2)}function cJ(e){return e.getUTCDay()}function dJ(e,t){return jt(ff.count(Do(e)-1,e),t,2)}function fJ(e,t){return jt(e.getUTCFullYear()%100,t,2)}function pJ(e,t){return e=wj(e),jt(e.getUTCFullYear()%100,t,2)}function mJ(e,t){return jt(e.getUTCFullYear()%1e4,t,4)}function vJ(e,t){var r=e.getUTCDay();return e=r>=4||r===0?ss(e):ss.ceil(e),jt(e.getUTCFullYear()%1e4,t,4)}function gJ(){return"+0000"}function vj(){return"%"}function gj(e){return+e}function yj(e){return Math.floor(+e/1e3)}var vf,tb,Sj,rb,Aj;eN({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function eN(e){return vf=RC(e),tb=vf.format,Sj=vf.parse,rb=vf.utcFormat,Aj=vf.utcParse,vf}function yJ(e){return new Date(e)}function hJ(e){return e instanceof Date?+e:+new Date(+e)}function nb(e,t,r,n,o,a,i,l,s,u){var c=ju(),d=c.invert,f=c.domain,p=u(".%L"),m=u(":%S"),g=u("%I:%M"),h=u("%I %p"),v=u("%a %d"),y=u("%b %d"),b=u("%B"),x=u("%Y");function S(w){return(s(w)t(o/(e.length-1)))},r.quantiles=function(n){return Array.from({length:n+1},(o,a)=>Dx(e,a/n))},r.copy=function(){return lb(t).domain(e)},sa.apply(r,arguments)}function sb(){var e=0,t=.5,r=1,n=1,o,a,i,l,s,u=tn,c,d=!1,f;function p(g){return isNaN(g=+g)?f:(g=.5+((g=+c(g))-a)*(n*g{if(e!=null){var n=e.scale,o=e.type;if(n==="auto")return o==="category"&&r&&(r.indexOf("LineChart")>=0||r.indexOf("AreaChart")>=0||r.indexOf("ComposedChart")>=0&&!t)?"point":o==="category"?"band":"linear";if(typeof n=="string")return wJ(n)?n:"point"}};function SJ(e,t){for(var r=0,n=e.length,o=e[0]t)?r=a+1:n=a}return r}function fb(e,t){if(e){var r=t??e.domain(),n=r.map(a=>{var i;return(i=e(a))!==null&&i!==void 0?i:0}),o=e.range();if(!(r.length===0||o.length<2))return a=>{var i,l,s=SJ(n,a);if(s<=0)return r[0];if(s>=r.length)return r[r.length-1];var u=(i=n[s-1])!==null&&i!==void 0?i:0,c=(l=n[s])!==null&&l!==void 0?l:0;return Math.abs(a-u)<=Math.abs(a-c)?r[s-1]:r[s]}}}function _j(e){if(e!=null)return"invert"in e&&typeof e.invert=="function"?e.invert.bind(e):fb(e,void 0)}function Ej(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function pb(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);re.cartesianAxis.xAxis[t],ai=(e,t)=>{var r=sN(e,t);return r??Fr},Ur={allowDataOverflow:!1,allowDecimals:!0,allowDuplicatedCategory:!0,angle:0,dataKey:void 0,domain:lN,hide:!0,id:0,includeHidden:!1,interval:"preserveEnd",minTickGap:5,mirror:!1,name:void 0,orientation:"left",padding:{top:0,bottom:0},reversed:!1,scale:"auto",tick:!0,tickCount:5,tickFormatter:void 0,ticks:void 0,type:"number",unit:void 0,niceTicks:"auto",width:gu},uN=(e,t)=>e.cartesianAxis.yAxis[t],ii=(e,t)=>{var r=uN(e,t);return r??Ur},TJ={domain:[0,"auto"],includeHidden:!1,reversed:!1,allowDataOverflow:!1,allowDuplicatedCategory:!1,dataKey:void 0,id:0,name:"",range:[64,64],scale:"auto",type:"number",unit:""},cN=(e,t)=>{var r=e.cartesianAxis.zAxis[t];return r??TJ},hr=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"zAxis":return cN(e,r);case"angleAxis":return Ax(e,r);case"radiusAxis":return kx(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},MJ=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},Wu=(e,t,r)=>{switch(t){case"xAxis":return ai(e,r);case"yAxis":return ii(e,r);case"angleAxis":return Ax(e,r);case"radiusAxis":return kx(e,r);default:throw new Error("Unexpected axis type: ".concat(t))}},dN=e=>e.graphicalItems.cartesianItems.some(t=>t.type==="bar")||e.graphicalItems.polarItems.some(t=>t.type==="radialBar");function yv(e,t){return r=>{switch(e){case"xAxis":return"xAxisId"in r&&r.xAxisId===t;case"yAxis":return"yAxisId"in r&&r.yAxisId===t;case"zAxis":return"zAxisId"in r&&r.zAxisId===t;case"angleAxis":return"angleAxisId"in r&&r.angleAxisId===t;case"radiusAxis":return"radiusAxisId"in r&&r.radiusAxisId===t;default:return!1}}}var us=e=>e.graphicalItems.cartesianItems,PJ=J([fr,Nu],yv),hv=(e,t,r)=>e.filter(r).filter(n=>t?.includeHidden===!0?!0:!n.hide),yf=J([us,hr,PJ],hv,{memoizeOptions:{resultEqualityCheck:Rd}}),Pj=J([yf],e=>e.filter(t=>t.type==="area"||t.type==="bar").filter(_u)),fN=e=>e.filter(t=>!("stackId"in t)||t.stackId===void 0),DJ=J([yf],fN),xv=e=>e.map(t=>t.data).filter(Boolean).flat(1),IJ=J([yf],e=>e.some(t=>!t.data)),Dj=J([yf],xv,{memoizeOptions:{resultEqualityCheck:Rd}}),bv=(e,t)=>{var r=t.chartData,n=r===void 0?[]:r,o=t.dataStartIndex,a=t.dataEndIndex;return e.length>0?e:n.slice(o,a+1)},pN=J([Dj,Au],bv),mN=(e,t,r)=>t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey)})):r.length>0?r.map(n=>n.dataKey).flatMap(n=>e.map(o=>({value:nt(o,n)}))):e.map(n=>({value:n})),vN=(e,t,r,n,o,a)=>{var i=n.chartData,l=i===void 0?[]:i,s=n.dataStartIndex,u=n.dataEndIndex,c=mN(e,t,r);if(o&&t?.dataKey!=null&&a.length>0){var d=l.slice(s,u+1),f=d.map(p=>({value:nt(p,t.dataKey)})).filter(p=>p.value!=null);return[...f,...c]}return c},wv=J([pN,hr,yf,Au,IJ,Dj],vN);function gf(e){if(Fn(e)||e instanceof Date){var t=Number(e);if(qe(t))return t}}function Tj(e){if(Array.isArray(e)){var t=[gf(e[0]),gf(e[1])];return To(t)?t:void 0}var r=gf(e);if(r!=null)return[r,r]}function Ia(e){return e.map(gf).filter(en)}function jJ(e,t){var r=gf(e),n=gf(t);return r==null&&n==null?0:r==null?-1:n==null?1:r-n}var zJ=J([wv],e=>e?.map(t=>t.value).sort(jJ));function Ij(e,t){switch(e){case"xAxis":return t.direction==="x";case"yAxis":return t.direction==="y";default:return!1}}function LJ(e,t,r){if(!r)return[];if(!r.length)return[];var n;if(typeof t=="number"&&!cn(t))n=t;else if(Array.isArray(t)){var o=Ia(t);o.length>0&&(n=Math.max(...o))}return n==null?[]:Ia(r.flatMap(a=>{var i=nt(e,a.dataKey),l,s;if(Array.isArray(i)){var u=Mj(i,2);l=u[0],s=u[1]}else l=s=i;if(!(!qe(l)||!qe(s)))return[n-l,n+s]}))}var Wr=e=>{var t=$r(e),r=ns(e);return Wu(e,t,r)},Gi=J([Wr],e=>e?.dataKey),BJ=J([Pj,Au,Wr],_x),gN=(e,t,r,n)=>{var o={},a=t.reduce((i,l)=>{if(l.stackId==null)return i;var s=i[l.stackId];return s==null&&(s=[]),s.push(l),i[l.stackId]=s,i},o);return Object.fromEntries(Object.entries(a).map(i=>{var l=Mj(i,2),s=l[0],u=l[1],c=n?[...u].reverse():u,d=c.map(rs);return[s,{stackedData:GD(e,d,r),graphicalItems:c}]}))},hf=J([BJ,Pj,es,xx],gN),yN=(e,t,r,n)=>{var o=t.dataStartIndex,a=t.dataEndIndex;if(n==null&&r!=="zAxis")return XD(e,o,a)},$J=J([hr],e=>e.allowDataOverflow),mb=e=>{var t;if(e==null||!("domain"in e))return lN;if(e.domain!=null)return e.domain;if("ticks"in e&&e.ticks!=null){if(e.type==="number"){var r=Ia(e.ticks);return[Math.min(...r),Math.max(...r)]}if(e.type==="category")return e.ticks.map(String)}return(t=e?.domain)!==null&&t!==void 0?t:lN},vb=J([hr],mb),gb=J([vb,$J],mx),FJ=J([hf,io,fr,gb],yN,{memoizeOptions:{resultEqualityCheck:Eu}}),xf=e=>e.errorBars,UJ=(e,t,r)=>e.flatMap(n=>t[n.id]).filter(Boolean).filter(n=>Ij(r,n)),gv=function(){for(var t=arguments.length,r=new Array(t),n=0;n5&&arguments[5]!==void 0?arguments[5]:[],l,s;if(n.length>0&&n.forEach(u=>{var c,d=u.data!=null?[...u.data]:i,f=(c=o[u.id])===null||c===void 0?void 0:c.filter(p=>Ij(a,p));d.forEach(p=>{var m,g=nt(p,(m=r.dataKey)!==null&&m!==void 0?m:u.dataKey),h=LJ(p,g,f);if(h.length>=2){var v=Math.min(...h),y=Math.max(...h);(l==null||vs)&&(s=y)}var b=Tj(g);b!=null&&(l=l==null?b[0]:Math.min(l,b[0]),s=s==null?b[1]:Math.max(s,b[1]))})}),r?.dataKey!=null&&n.length===0&&t.forEach(u=>{var c=Tj(nt(u,r.dataKey));c!=null&&(l=l==null?c[0]:Math.min(l,c[0]),s=s==null?c[1]:Math.max(s,c[1]))}),qe(l)&&qe(s))return[l,s]},WJ=J([pN,hr,DJ,xf,fr,BI],Sv,{memoizeOptions:{resultEqualityCheck:Eu}});function HJ(e){var t=e.value;if(Fn(t)||t instanceof Date)return t}var VJ=(e,t,r)=>{var n=e.map(HJ).filter(o=>o!=null);return r&&(t.dataKey==null||t.allowDuplicatedCategory&&UA(n))?fx(0,e.length):t.allowDuplicatedCategory?n:Array.from(new Set(n))},hN=e=>e.referenceElements.dots,Hu=(e,t,r)=>e.filter(n=>n.ifOverflow==="extendDomain").filter(n=>t==="xAxis"?n.xAxisId===r:n.yAxisId===r),KJ=J([hN,fr,Nu],Hu),xN=e=>e.referenceElements.areas,qJ=J([xN,fr,Nu],Hu),bN=e=>e.referenceElements.lines,GJ=J([bN,fr,Nu],Hu),wN=(e,t)=>{if(e!=null){var r=Ia(e.map(n=>t==="xAxis"?n.x:n.y));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},YJ=J(KJ,fr,wN),SN=(e,t)=>{if(e!=null){var r=Ia(e.flatMap(n=>[t==="xAxis"?n.x1:n.y1,t==="xAxis"?n.x2:n.y2]));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},XJ=J([qJ,fr],SN);function ZJ(e){var t;if(e.x!=null)return Ia([e.x]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.x);return r==null||r.length===0?[]:Ia(r)}function QJ(e){var t;if(e.y!=null)return Ia([e.y]);var r=(t=e.segment)===null||t===void 0?void 0:t.map(n=>n.y);return r==null||r.length===0?[]:Ia(r)}var AN=(e,t)=>{if(e!=null){var r=e.flatMap(n=>t==="xAxis"?ZJ(n):QJ(n));if(r.length!==0)return[Math.min(...r),Math.max(...r)]}},JJ=J([GJ,fr],AN),RJ=J(YJ,JJ,XJ,(e,t,r)=>gv(e,r,t)),Av=(e,t,r,n,o,a,i,l,s)=>{if(r!=null)return r;var u=i==="vertical"&&l==="xAxis"||i==="horizontal"&&l==="yAxis",c=u?gv(n,a,o):gv(a,o),d=HI(t,c,e.allowDataOverflow);return d??(e.allowDataOverflow&&c==null&&s!=null?s:d)},eR=e=>{if(!(e==null||e.type!=="number"||!("ticks"in e)||e.ticks==null)){var t=Ia(e.ticks);if(t.length!==0)return[Math.min(...t),Math.max(...t)]}},tR=J([hr],eR,{memoizeOptions:{resultEqualityCheck:Eu}}),rR=J([hr,vb,gb,FJ,WJ,RJ,Qe,fr,tR],Av,{memoizeOptions:{resultEqualityCheck:Eu}}),nR=[0,1],kv=(e,t,r,n,o,a,i)=>{if(!((e==null||r==null||r.length===0)&&i===void 0)){var l=e.dataKey,s=e.type,u=Tn(t,a);if(u&&l==null){var c;return fx(0,(c=r?.length)!==null&&c!==void 0?c:0)}return s==="category"?VJ(n,e,u):o==="expand"&&!u?nR:i}},kN=J([hr,Qe,pN,wv,es,fr,rR],kv),Yi=J([hr,dN,Jd],db),Cv=(e,t,r)=>{var n=t.niceTicks;if(n!=="none"){var o=mb(t),a=Array.isArray(o)&&(o[0]==="auto"||o[1]==="auto");if((n==="snap125"||n==="adaptive")&&t!=null&&t.tickCount&&To(e)){if(a)return gx(e,t.tickCount,t.allowDecimals,n);if(t.type==="number")return yx(e,t.tickCount,t.allowDecimals,n)}if(n==="auto"&&r==="linear"&&t!=null&&t.tickCount){if(a&&To(e))return gx(e,t.tickCount,t.allowDecimals,"adaptive");if(t.type==="number"&&To(e))return yx(e,t.tickCount,t.allowDecimals,"adaptive")}}},CN=J([kN,Wu,Yi],Cv),Nv=(e,t,r,n)=>{if(n!=="angleAxis"&&e?.type==="number"&&To(t)&&Array.isArray(r)&&r.length>0){var o,a,i=t[0],l=(o=r[0])!==null&&o!==void 0?o:0,s=t[1],u=(a=r[r.length-1])!==null&&a!==void 0?a:0;return[Math.min(i,l),Math.max(s,u)]}return t},oR=J([hr,kN,CN,fr],Nv),aR=J(wv,hr,(e,t)=>{if(!(!t||t.type!=="number")){var r=1/0,n=Array.from(Ia(e.map(d=>d.value))).sort((d,f)=>d-f),o=n[0],a=n[n.length-1];if(o==null||a==null)return 1/0;var i=a-o;if(i===0)return 1/0;for(var l=0;lo,(e,t,r,n,o)=>{if(!qe(e))return 0;var a=t==="vertical"?n.height:n.width;if(o==="gap")return e*a/2;if(o==="no-gap"){var i=Sr(r,e*a),l=e*a/2;return l-i-(l-i)/a*i}return 0}),iR=(e,t,r)=>{var n=ai(e,t);return n==null||typeof n.padding!="string"?0:jj(e,"xAxis",t,r,n.padding)},lR=(e,t,r)=>{var n=ii(e,t);return n==null||typeof n.padding!="string"?0:jj(e,"yAxis",t,r,n.padding)},sR=J(ai,iR,(e,t)=>{var r,n;if(e==null)return{left:0,right:0};var o=e.padding;return typeof o=="string"?{left:t,right:t}:{left:((r=o.left)!==null&&r!==void 0?r:0)+t,right:((n=o.right)!==null&&n!==void 0?n:0)+t}}),uR=J(ii,lR,(e,t)=>{var r,n;if(e==null)return{top:0,bottom:0};var o=e.padding;return typeof o=="string"?{top:t,bottom:t}:{top:((r=o.top)!==null&&r!==void 0?r:0)+t,bottom:((n=o.bottom)!==null&&n!==void 0?n:0)+t}}),NN=J([Ht,sR,yu,Hd,(e,t,r)=>r],(e,t,r,n,o)=>{var a=n.padding;return o?[a.left,r.width-a.right]:[e.left+t.left,e.left+e.width-t.right]}),_N=J([Ht,Qe,uR,yu,Hd,(e,t,r)=>r],(e,t,r,n,o,a)=>{var i=o.padding;return a?[n.height-i.bottom,i.top]:t==="horizontal"?[e.top+e.height-r.bottom,e.top+r.top]:[e.top+r.top,e.top+e.height-r.bottom]}),bf=(e,t,r,n)=>{var o;switch(t){case"xAxis":return NN(e,r,n);case"yAxis":return _N(e,r,n);case"zAxis":return(o=cN(e,r))===null||o===void 0?void 0:o.range;case"angleAxis":return CC(e);case"radiusAxis":return NC(e,r);default:return}},zj=J([hr,bf],ku),cR=J([Yi,oR],Ex),EN=J([hr,Yi,cR,zj],vv),ON=(e,t,r,n)=>{if(!(r==null||r.dataKey==null)){var o=r.type,a=r.scale,i=Tn(e,n);if(i&&(o==="number"||a!=="auto"))return t.map(l=>l.value)}},TN=J([Qe,wv,Wu,fr],ON),yb=J([EN],Gm),PAe=J([EN],_j),DAe=J([EN,zJ],fb),IAe=J([yf,xf,fr],UJ);function Lj(e,t){return e.idt.id?1:0}var hb=(e,t)=>t,xb=(e,t,r)=>r,dR=J(Fd,hb,xb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Lj)),fR=J(Ud,hb,xb,(e,t,r)=>e.filter(n=>n.orientation===t).filter(n=>n.mirror===r).sort(Lj)),Bj=(e,t)=>{var r=typeof t.height=="number"?t.height:zm;return{width:e.width,height:r}},pR=(e,t)=>{var r=typeof t.width=="number"?t.width:gu;return{width:r,height:e.height}},MN=J(Ht,ai,Bj),mR=(e,t,r)=>{switch(t){case"top":return e.top;case"bottom":return r-e.bottom;default:return 0}},vR=(e,t,r)=>{switch(t){case"left":return e.left;case"right":return r-e.right;default:return 0}},gR=J(pn,Ht,dR,hb,xb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=Bj(t,l);i==null&&(i=mR(t,n,e));var u=n==="top"&&!o||n==="bottom"&&o;a[l.id]=i-Number(u)*s.height,i+=(u?-1:1)*s.height}),a}),yR=J(fn,Ht,fR,hb,xb,(e,t,r,n,o)=>{var a={},i;return r.forEach(l=>{var s=pR(t,l);i==null&&(i=vR(t,n,e));var u=n==="left"&&!o||n==="right"&&o;a[l.id]=i-Number(u)*s.width,i+=(u?-1:1)*s.width}),a}),hR=(e,t)=>{var r=ai(e,t);if(r!=null)return gR(e,r.orientation,r.mirror)},$j=J([Ht,ai,hR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:e.left,y:0}:{x:e.left,y:o}}}),xR=(e,t)=>{var r=ii(e,t);if(r!=null)return yR(e,r.orientation,r.mirror)},Fj=J([Ht,ii,xR,(e,t)=>t],(e,t,r,n)=>{if(t!=null){var o=r?.[n];return o==null?{x:0,y:e.top}:{x:o,y:e.top}}}),PN=J(Ht,ii,(e,t)=>{var r=typeof t.width=="number"?t.width:gu;return{width:r,height:e.height}}),DN=(e,t,r)=>{switch(t){case"xAxis":return MN(e,r).width;case"yAxis":return PN(e,r).height;default:return}},IN=(e,t,r,n)=>{if(r!=null){var o=r.allowDuplicatedCategory,a=r.type,i=r.dataKey,l=Tn(e,n),s=t.map(c=>c.value),u=s.filter(c=>c!=null);if(i&&l&&a==="category"&&o&&UA(u))return s}},jN=J([Qe,wv,hr,fr],IN),zN=J([Qe,MJ,Yi,yb,jN,TN,bf,CN,fr],(e,t,r,n,o,a,i,l,s)=>{if(t!=null){var u=Tn(e,s);return{angle:t.angle,interval:t.interval,minTickGap:t.minTickGap,orientation:t.orientation,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,axisType:s,categoricalDomain:a,duplicateDomain:o,isCategorical:u,niceTicks:l,range:i,realScaleType:r,scale:n}}}),bR=(e,t,r,n,o,a,i,l,s)=>{if(!(t==null||n==null)){var u=Tn(e,s),c=t.type,d=t.ticks,f=t.tickCount,p=r==="scaleBand"&&typeof n.bandwidth=="function"?n.bandwidth()/2:2,m=c==="category"&&n.bandwidth?n.bandwidth()/p:0;m=s==="angleAxis"&&a!=null&&a.length>=2?Xt(a[0]-a[1])*2*m:m;var g=d||o;return g?g.map((h,v)=>{var y=i?i.indexOf(h):h,b=n.map(y);return qe(b)?{index:v,coordinate:b+m,value:h,offset:m}:null}).filter(en):u&&l?l.map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.ticks?n.ticks(f).map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:h,index:v,offset:m}:null}).filter(en):n.domain().map((h,v)=>{var y=n.map(h);return qe(y)?{coordinate:y+m,value:i?i[h]:h,index:v,offset:m}:null}).filter(en)}},bb=J([Qe,Wu,Yi,yb,CN,bf,jN,TN,fr],bR),wR=(e,t,r,n,o,a,i)=>{if(!(t==null||r==null||n==null||n[0]===n[1])){var l=Tn(e,i),s=t.tickCount,u=0;return u=i==="angleAxis"&&n?.length>=2?Xt(n[0]-n[1])*2*u:u,l&&a?a.map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.ticks?r.ticks(s).map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:c,index:d,offset:u}:null}).filter(en):r.domain().map((c,d)=>{var f=r.map(c);return qe(f)?{coordinate:f+u,value:o?o[c]:c,index:d,offset:u}:null}).filter(en)}},Io=J([Qe,Wu,yb,bf,jN,TN,fr],wR),jo=J(hr,yb,(e,t)=>{if(!(e==null||t==null))return pb(pb({},e),{},{scale:t})}),SR=J([hr,Yi,kN,zj],vv),AR=J([SR],Gm),jAe=J((e,t,r)=>cN(e,r),AR,(e,t)=>{if(!(e==null||t==null))return pb(pb({},e),{},{scale:t})}),Uj=J([Qe,Fd,Ud],(e,t,r)=>{switch(e){case"horizontal":return t.some(n=>n.reversed)?"right-to-left":"left-to-right";case"vertical":return r.some(n=>n.reversed)?"bottom-to-top":"top-to-bottom";case"centric":case"radial":return"left-to-right";default:return}}),kR=(e,t,r)=>{var n;return(n=e.renderedTicks[t])===null||n===void 0?void 0:n[r]},zAe=J([kR],e=>{if(!(!e||e.length===0))return t=>{var r,n=1/0,o=e[0];for(var a of e){var i=Math.abs(a.coordinate-t);ie.options.defaultTooltipEventType,BN=e=>e.options.validateTooltipEventTypes;function $N(e,t,r){if(e==null)return t;var n=e?"axis":"item";return r==null?t:r.includes(n)?n:t}function cs(e,t){var r=LN(e),n=BN(e);return $N(t,r,n)}function Wj(e){return Ae(t=>cs(t,e))}var wb=(e,t)=>{var r,n=Number(t);if(!(cn(n)||t==null))return n>=0?e==null||(r=e[n])===null||r===void 0?void 0:r.value:void 0};var Hj=e=>e.tooltip.settings;var Xi={active:!1,index:null,dataKey:void 0,graphicalItemId:void 0,coordinate:void 0},CR={itemInteraction:{click:Xi,hover:Xi},axisInteraction:{click:Xi,hover:Xi},keyboardInteraction:Xi,syncInteraction:{active:!1,index:null,dataKey:void 0,label:void 0,coordinate:void 0,sourceViewBox:void 0,graphicalItemId:void 0},tooltipItemPayloads:[],settings:{shared:void 0,trigger:"hover",axisId:0,active:!1,defaultIndex:void 0}},Vj=Dt({name:"tooltip",initialState:CR,reducers:{addTooltipEntrySettings:{reducer(e,t){e.tooltipItemPayloads.push(st(t.payload))},prepare:Ft()},replaceTooltipEntrySettings:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).tooltipItemPayloads.indexOf(st(n));a>-1&&(e.tooltipItemPayloads[a]=st(o))},prepare:Ft()},removeTooltipEntrySettings:{reducer(e,t){var r=Sn(e).tooltipItemPayloads.indexOf(st(t.payload));r>-1&&e.tooltipItemPayloads.splice(r,1)},prepare:Ft()},setTooltipSettingsState(e,t){e.settings=t.payload},setActiveMouseOverItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.itemInteraction.hover.active=!0,e.itemInteraction.hover.index=t.payload.activeIndex,e.itemInteraction.hover.dataKey=t.payload.activeDataKey,e.itemInteraction.hover.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.hover.coordinate=t.payload.activeCoordinate},mouseLeaveChart(e){e.itemInteraction.hover.active=!1,e.axisInteraction.hover.active=!1},mouseLeaveItem(e){e.itemInteraction.hover.active=!1},setActiveClickItemIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.itemInteraction.click.active=!0,e.keyboardInteraction.active=!1,e.itemInteraction.click.index=t.payload.activeIndex,e.itemInteraction.click.dataKey=t.payload.activeDataKey,e.itemInteraction.click.graphicalItemId=t.payload.activeGraphicalItemId,e.itemInteraction.click.coordinate=t.payload.activeCoordinate},setMouseOverAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.axisInteraction.hover.active=!0,e.keyboardInteraction.active=!1,e.axisInteraction.hover.index=t.payload.activeIndex,e.axisInteraction.hover.dataKey=t.payload.activeDataKey,e.axisInteraction.hover.coordinate=t.payload.activeCoordinate},setMouseClickAxisIndex(e,t){e.syncInteraction.active=!1,e.syncInteraction.sourceViewBox=void 0,e.keyboardInteraction.active=!1,e.axisInteraction.click.active=!0,e.axisInteraction.click.index=t.payload.activeIndex,e.axisInteraction.click.dataKey=t.payload.activeDataKey,e.axisInteraction.click.coordinate=t.payload.activeCoordinate},setSyncInteraction(e,t){e.syncInteraction=t.payload},setKeyboardInteraction(e,t){e.keyboardInteraction.active=t.payload.active,e.keyboardInteraction.index=t.payload.activeIndex,e.keyboardInteraction.coordinate=t.payload.activeCoordinate}}}),ca=Vj.actions,Kj=ca.addTooltipEntrySettings,qj=ca.replaceTooltipEntrySettings,Gj=ca.removeTooltipEntrySettings,Yj=ca.setTooltipSettingsState,Sb=ca.setActiveMouseOverItemIndex,Xj=ca.mouseLeaveItem,Ab=ca.mouseLeaveChart,Zj=ca.setActiveClickItemIndex,kb=ca.setMouseOverAxisIndex,Qj=ca.setMouseClickAxisIndex,wf=ca.setSyncInteraction,_v=ca.setKeyboardInteraction;var Jj=Vj.reducer;function Rj(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Cb(e){for(var t=1;t{if(t==null)return Xi;var o=OR(e,t,r);if(o==null)return Xi;if(o.active)return o;if(e.keyboardInteraction.active)return e.keyboardInteraction;if(e.syncInteraction.active&&e.syncInteraction.index!=null)return e.syncInteraction;var a=e.settings.active===!0;if(TR(o)){if(a)return Cb(Cb({},o),{},{active:!0})}else if(n!=null)return{active:!0,coordinate:void 0,dataKey:void 0,index:n,graphicalItemId:void 0};return Cb(Cb({},Xi),{},{coordinate:o.coordinate})};function MR(e){if(typeof e=="number")return Number.isFinite(e)?e:void 0;if(e instanceof Date){var t=e.valueOf();return Number.isFinite(t)?t:void 0}var r=Number(e);return Number.isFinite(r)?r:void 0}function PR(e,t){var r=MR(e),n=t[0],o=t[1];if(r===void 0)return!1;var a=Math.min(n,o),i=Math.max(n,o);return r>=a&&r<=i}function DR(e,t,r){if(r==null||t==null)return!0;var n=nt(e,t);return n==null||!To(r)?!0:PR(n,r)}var ds=(e,t,r,n)=>{var o=e?.index;if(o==null)return null;var a=Number(o);if(!qe(a))return o;var i=0,l=1/0;t.length>0&&(l=t.length-1);var s=Math.max(i,Math.min(a,l)),u=t[s];return u==null||DR(u,r,n)?String(s):null};var _b=(e,t,r,n,o,a,i)=>{if(a!=null){var l=i[0],s=l?.getPosition(a);if(s!=null)return s;var u=o?.[Number(a)];if(u)return r==="horizontal"?{x:u.coordinate,y:(n.top+t)/2}:{x:(n.left+e)/2,y:u.coordinate}}};var Eb=(e,t,r,n)=>{if(t==="axis")return e.tooltipItemPayloads;if(e.tooltipItemPayloads.length===0)return[];var o;if(r==="hover"?o=e.itemInteraction.hover.graphicalItemId:o=e.itemInteraction.click.graphicalItemId,e.syncInteraction.active&&o==null)return e.tooltipItemPayloads;if(o==null&&(n!=null||e.keyboardInteraction.active)){var a=e.tooltipItemPayloads[0];return a!=null?[a]:[]}return e.tooltipItemPayloads.filter(i=>{var l;return((l=i.settings)===null||l===void 0?void 0:l.graphicalItemId)===o})};var Ob=e=>e.options.tooltipPayloadSearcher;var Zi=e=>e.tooltip;function ez(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function tz(e){for(var t=1;te(t)}function rz(e){if(typeof e=="string")return e}function FR(e){if(!(e==null||typeof e!="object")){var t="name"in e?LR(e.name):void 0,r="unit"in e?BR(e.unit):void 0,n="dataKey"in e?$R(e.dataKey):void 0,o="payload"in e?e.payload:void 0,a="color"in e?rz(e.color):void 0,i="fill"in e?rz(e.fill):void 0;return{name:t,unit:r,dataKey:n,payload:o,color:a,fill:i}}}function UR(e,t){return e??t}var Tb=(e,t,r,n,o,a,i)=>{if(!(t==null||a==null)){var l=r.chartData,s=r.computedData,u=r.dataStartIndex,c=r.dataEndIndex,d=[];return e.reduce((f,p)=>{var m,g=p.dataDefinedOnItem,h=p.settings,v=UR(g,l),y=Array.isArray(v)?L0(v,u,c):v,b=(m=h?.dataKey)!==null&&m!==void 0?m:n,x=h?.nameKey,S;if(n&&Array.isArray(y)&&!Array.isArray(y[0])&&i==="axis"?(S=Ah(y,n,o),S==null&&(S=a(y,t,s,x))):S=a(y,t,s,x),Array.isArray(S))S.forEach(T=>{var k,A,M=FR(T),H=M?.name,F=M?.dataKey,X=M?.payload,P=tz(tz({},h),{},{name:H,unit:M?.unit,color:(k=M?.color)!==null&&k!==void 0?k:h?.color,fill:(A=M?.fill)!==null&&A!==void 0?A:h?.fill});f.push(eC({tooltipEntrySettings:P,dataKey:F,payload:X,value:nt(X,F),name:H==null?void 0:String(H)}))});else{var w;f.push(eC({tooltipEntrySettings:h,dataKey:b,payload:S,value:nt(S,b),name:(w=nt(S,x))!==null&&w!==void 0?w:h?.name}))}return f},d)}};var FN=J([Wr,dN,Jd],db),WR=J([e=>e.graphicalItems.cartesianItems,e=>e.graphicalItems.polarItems],(e,t)=>[...e,...t]),HR=J([$r,ns],yv),fs=J([WR,Wr,HR],hv,{memoizeOptions:{resultEqualityCheck:Rd}}),VR=J([fs],e=>e.filter(_u)),nz=J([fs],xv,{memoizeOptions:{resultEqualityCheck:Rd}}),KR=J([fs],e=>e.some(t=>!t.data)),Qi=J([nz,io],bv),qR=J([VR,io,Wr],_x),UN=J([Qi,Wr,fs,io,KR,nz],vN),oz=J([Wr],mb),GR=J([Wr],e=>e.allowDataOverflow),az=J([oz,GR],mx),YR=J([fs],e=>e.filter(_u)),XR=J([qR,YR,es,xx],gN),ZR=J([XR,io,$r,az],yN),QR=J([fs],fN),JR=J([Qi,Wr,QR,xf,$r,FI],Sv,{memoizeOptions:{resultEqualityCheck:Eu}}),RR=J([hN,$r,ns],Hu),eee=J([RR,$r],wN),tee=J([xN,$r,ns],Hu),ree=J([tee,$r],SN),nee=J([bN,$r,ns],Hu),oee=J([nee,$r],AN),aee=J([eee,oee,ree],gv),iee=J([Wr,oz,az,ZR,JR,aee,Qe,$r],Av),ps=J([Wr,Qe,Qi,UN,es,$r,iee],kv),lee=J([ps,Wr,FN],Cv),see=J([Wr,ps,lee,$r],Nv),iz=e=>{var t=$r(e),r=ns(e),n=!1;return bf(e,t,r,n)},WN=J([Wr,iz],ku),uee=J([Wr,FN,see,WN],vv),HN=J([uee],Gm),cee=J([Qe,UN,Wr,$r],IN),dee=J([Qe,UN,Wr,$r],ON),fee=(e,t,r,n,o,a,i,l)=>{if(t){var s=t.type,u=Tn(e,l);if(n){var c=r==="scaleBand"&&n.bandwidth?n.bandwidth()/2:2,d=s==="category"&&n.bandwidth?n.bandwidth()/c:0;return d=l==="angleAxis"&&o!=null&&o?.length>=2?Xt(o[0]-o[1])*2*d:d,u&&i?i.map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:f,index:p,offset:d}:null}).filter(en):n.domain().map((f,p)=>{var m=n.map(f);return qe(m)?{coordinate:m+d,value:a?a[f]:f,index:p,offset:d}:null}).filter(en)}}},so=J([Qe,Wr,FN,HN,iz,cee,dee,$r],fee),VN=J([LN,BN,Hj],(e,t,r)=>$N(r.shared,e,t)),lz=e=>e.tooltip.settings.trigger,KN=e=>e.tooltip.settings.defaultIndex,Ev=J([Zi,VN,lz,KN],Nb),da=J([Ev,Qi,Gi,ps],ds),Mb=J([so,da],wb),Sf=J([Ev],e=>{if(e)return e.dataKey}),Pb=J([Ev],e=>{if(e)return e.graphicalItemId}),sz=J([Zi,VN,lz,KN],Eb),pee=J([fn,pn,Qe,Ht,so,KN,sz],_b),qN=J([Ev,pee],(e,t)=>e!=null&&e.coordinate?e.coordinate:t),GN=J([Ev],e=>{var t;return(t=e?.active)!==null&&t!==void 0?t:!1}),mee=J([sz,da,io,Gi,Mb,Ob,VN],Tb),uz=J([mee],e=>{if(e!=null){var t=e.map(r=>r.payload).filter(r=>r!=null);return Array.from(new Set(t))}});function cz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function dz(e){for(var t=1;tAe(Wr),fz=()=>{var e=hee(),t=Ae(so),r=Ae(HN);return!e||!r?aa(void 0,t):aa(dz(dz({},e),{},{scale:r}),t)};function pz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Af(e){for(var t=1;t{var o=t.find(a=>a&&a.index===r);if(o){if(e==="horizontal")return{x:o.coordinate,y:n.relativeY};if(e==="vertical")return{x:n.relativeX,y:o.coordinate}}return{x:0,y:0}},vz=(e,t,r,n)=>{var o=t.find(u=>u&&u.index===r);if(o){if(e==="centric"){var a=o.coordinate,i=n.radius;return Af(Af(Af({},n),tr(n.cx,n.cy,i,a)),{},{angle:a,radius:i})}var l=o.coordinate,s=n.angle;return Af(Af(Af({},n),tr(n.cx,n.cy,l,s)),{},{angle:s,radius:l})}return{angle:0,clockWise:!1,cx:0,cy:0,endAngle:0,innerRadius:0,outerRadius:0,radius:0,startAngle:0,x:0,y:0}};function gz(e,t){var r=e.relativeX,n=e.relativeY;return r>=t.left&&r<=t.left+t.width&&n>=t.top&&n<=t.top+t.height}var YN=(e,t,r,n,o)=>{var a,i=(a=t?.length)!==null&&a!==void 0?a:0;if(i<=1||e==null)return 0;if(n==="angleAxis"&&o!=null&&Math.abs(Math.abs(o[1]-o[0])-360)<=1e-6)for(var l=o[1]-o[0],s=(Y,C,_)=>[e,e+l,e-l].some(z=>(_?z>=Y:z>Y)&&z<=C),u=0;u0?(c=r[u-1])===null||c===void 0?void 0:c.coordinate:(d=r[i-1])===null||d===void 0?void 0:d.coordinate,h=(f=r[u])===null||f===void 0?void 0:f.coordinate,v=u>=i-1?(p=r[0])===null||p===void 0?void 0:p.coordinate:(m=r[u+1])===null||m===void 0?void 0:m.coordinate,y=void 0;if(!(g==null||h==null||v==null))if(Xt(h-g)!==Xt(v-h)){var b=[];if(Xt(v-h)===Xt(o[1]-o[0])){y=v;var x=h+o[1]-o[0];b[0]=Math.min(x,(x+g)/2),b[1]=Math.max(x,(x+g)/2)}else{y=g;var S=v+o[1]-o[0];b[0]=Math.min(h,(S+h)/2),b[1]=Math.max(h,(S+h)/2)}var w=[Math.min(h,(y+h)/2),Math.max(h,(y+h)/2)];if(s(w[0],w[1],!1)||s(b[0],b[1],!0)){var T;return(T=r[u])===null||T===void 0?void 0:T.index}}else{var k=Math.min(g,v),A=Math.max(g,v);if(s((k+h)/2,(A+h)/2,!1)){var M;return(M=r[u])===null||M===void 0?void 0:M.index}}}else if(t)for(var H=0;H(F.coordinate+P.coordinate)/2||H>0&&H(F.coordinate+P.coordinate)/2&&e<=(F.coordinate+X.coordinate)/2)return F.index}}return-1};var Db=()=>Ae(Jd),XN=(e,t)=>t,yz=(e,t,r)=>r,ZN=(e,t,r,n)=>n,hz=J(so,e=>$i(e,t=>t.coordinate)),QN=J([Zi,XN,yz,ZN],Nb),JN=J([QN,Qi,Gi,ps],ds),xz=(e,t,r)=>{if(t!=null){var n=Zi(e);return t==="axis"?r==="hover"?n.axisInteraction.hover.dataKey:n.axisInteraction.click.dataKey:r==="hover"?n.itemInteraction.hover.dataKey:n.itemInteraction.click.dataKey}},bz=J([Zi,XN,yz,ZN],Eb),Ov=J([fn,pn,Qe,Ht,so,ZN,bz],_b),wz=J([QN,Ov],(e,t)=>{var r;return(r=e.coordinate)!==null&&r!==void 0?r:t}),RN=J([so,JN],wb),Sz=J([bz,JN,io,Gi,RN,Ob,XN],Tb),Az=J([QN,JN],(e,t)=>({isActive:e.active&&t!=null,activeIndex:t})),See=(e,t,r,n,o,a,i)=>{if(!(!e||!r||!n||!o)&&gz(e,i)){var l=ZD(e,t),s=YN(l,a,o,r,n),u=mz(t,o,s,e);return{activeIndex:String(s),activeCoordinate:u}}},Aee=(e,t,r,n,o,a,i)=>{if(!(!e||!n||!o||!a||!r)){var l=NI(e,r);if(l){var s=QD(l,t),u=YN(s,i,a,n,o),c=vz(t,a,u,l);return{activeIndex:String(u),activeCoordinate:c}}}},kz=(e,t,r,n,o,a,i,l)=>{if(!(!e||!t||!n||!o||!a))return t==="horizontal"||t==="vertical"?See(e,t,n,o,a,i,l):Aee(e,t,r,n,o,a,i)};var kf=te(re()),Iz=te(bp());var Cz=J(e=>e.zIndex.zIndexMap,(e,t)=>t,(e,t,r)=>r,(e,t,r)=>{if(t!=null){var n=e[t];if(n!=null)return r?n.panoramaElement:n.element}}),Nz=J(e=>e.zIndex.zIndexMap,e=>{var t=Object.keys(e).map(n=>parseInt(n,10)).concat(Object.values(vt)),r=Array.from(new Set(t));return r.sort((n,o)=>n-o)},{memoizeOptions:{resultEqualityCheck:n6}});function _z(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Ez(e){for(var t=1;tEz(Ez({},e),{},{[t]:{element:void 0,panoramaElement:void 0,consumers:0}}),_ee)},Oee=new Set(Object.values(vt));function Tee(e){return Oee.has(e)}var Oz=Dt({name:"zIndex",initialState:Eee,reducers:{registerZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]?e.zIndexMap[r].consumers+=1:e.zIndexMap[r]={consumers:1,element:void 0,panoramaElement:void 0}},prepare:Ft()},unregisterZIndexPortal:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(e.zIndexMap[r].consumers-=1,e.zIndexMap[r].consumers<=0&&!Tee(r)&&delete e.zIndexMap[r])},prepare:Ft()},registerZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload,n=r.zIndex,o=r.element,a=r.isPanorama;e.zIndexMap[n]?a?e.zIndexMap[n].panoramaElement=st(o):e.zIndexMap[n].element=st(o):e.zIndexMap[n]={consumers:0,element:a?void 0:st(o),panoramaElement:a?st(o):void 0}},prepare:Ft()},unregisterZIndexPortalElement:{reducer:(e,t)=>{var r=t.payload.zIndex;e.zIndexMap[r]&&(t.payload.isPanorama?e.zIndexMap[r].panoramaElement=void 0:e.zIndexMap[r].element=void 0)},prepare:Ft()}}}),Ib=Oz.actions,Tz=Ib.registerZIndexPortal,jb=Ib.unregisterZIndexPortal,Mz=Ib.registerZIndexPortalElement,Pz=Ib.unregisterZIndexPortalElement;var Dz=Oz.reducer;function rr(e){var t=e.zIndex,r=e.children,n=f8(),o=n&&t!==void 0&&t!==0,a=It(),i=(0,kf.useRef)(void 0),l=(0,kf.useRef)(new Set),s=Xe(),u=Ae(d=>Cz(d,t,a));if((0,kf.useLayoutEffect)(()=>{if(!o){var d=l.current;d.forEach(p=>{s(jb({zIndex:p}))}),d.clear(),i.current=void 0;return}if(l.current.has(t)||(s(Tz({zIndex:t})),l.current.add(t)),u){i.current=u;var f=l.current;f.forEach(p=>{p!==t&&(s(jb({zIndex:p})),f.delete(p))})}},[s,t,o,u]),(0,kf.useLayoutEffect)(()=>{var d=l.current;return()=>{d.forEach(f=>{s(jb({zIndex:f}))}),d.clear()}},[s]),!o)return r;var c=u??i.current;return c?(0,Iz.createPortal)(r,c):null}function e_(){return e_=Object.assign?Object.assign.bind():function(e){for(var t=1;t(0,Bb.useContext)(t_);var Mv=te(re());var Fz=te($z(),1);var Uz=Fz.default;var Nf=new Uz;var Fb="recharts.syncEvent.tooltip",n_="recharts.syncEvent.brush";var ms=(e,t)=>{if(t&&Array.isArray(e)){var r=Number.parseInt(t,10);if(!cn(r))return e[r]}},Bee={chartName:"",tooltipPayloadSearcher:()=>{},eventEmitter:void 0,defaultTooltipEventType:"axis"},Wz=Dt({name:"options",initialState:Bee,reducers:{createEventEmitter:e=>{e.eventEmitter==null&&(e.eventEmitter=Symbol("rechartsEventEmitter"))}}}),Hz=Wz.reducer,Vz=Wz.actions.createEventEmitter;function Kz(e){return e.tooltip.syncInteraction}var $ee={chartData:void 0,computedData:void 0,dataStartIndex:0,dataEndIndex:0},qz=Dt({name:"chartData",initialState:$ee,reducers:{setChartData(e,t){if(e.chartData=st(t.payload),t.payload==null){e.dataStartIndex=0,e.dataEndIndex=0;return}t.payload.length>0&&e.dataEndIndex!==t.payload.length-1&&(e.dataEndIndex=t.payload.length-1)},setComputedData(e,t){e.computedData=t.payload},setDataStartEndIndexes(e,t){var r=t.payload,n=r.startIndex,o=r.endIndex;n!=null&&(e.dataStartIndex=n),o!=null&&(e.dataEndIndex=o)}}}),o_=qz.actions,a_=o_.setChartData,Gz=o_.setDataStartEndIndexes,Fee=o_.setComputedData;var Yz=qz.reducer;var Uee=["x","y"];function Xz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function _f(e){for(var t=1;ts.rootProps.className);(0,Mv.useEffect)(()=>{if(e==null)return Un;var s=(u,c,d)=>{if(t!==d&&e===u){if(c.payload.active===!1){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(n==="index"){var f;if(i&&c!==null&&c!==void 0&&(f=c.payload)!==null&&f!==void 0&&f.coordinate&&c.payload.sourceViewBox){var p=c.payload.coordinate,m=p.x,g=p.y,h=Kee(p,Uee),v=c.payload.sourceViewBox,y=v.x,b=v.y,x=v.width,S=v.height,w=_f(_f({},h),{},{x:i.x+(x?(m-y)/x:0)*i.width,y:i.y+(S?(g-b)/S:0)*i.height});r(_f(_f({},c),{},{payload:_f(_f({},c.payload),{},{coordinate:w})}))}else r(c);return}if(o!=null){var T;if(typeof n=="function"){var k={activeTooltipIndex:c.payload.index==null?void 0:Number(c.payload.index),isTooltipActive:c.payload.active,activeIndex:c.payload.index==null?void 0:Number(c.payload.index),activeLabel:c.payload.label,activeDataKey:c.payload.dataKey,activeCoordinate:c.payload.coordinate},A=n(o,k);T=o[A]}else n==="value"&&(T=o.find(_=>String(_.value)===c.payload.label));var M=c.payload.coordinate;if(M==null||i==null){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:void 0,graphicalItemId:void 0}));return}if(T==null){r(wf({active:!1,coordinate:void 0,dataKey:void 0,index:null,label:void 0,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:void 0}));return}var H=M.x,F=M.y,X=Math.min(H,i.x+i.width),P=Math.min(F,i.y+i.height),Y={x:a==="horizontal"?T.coordinate:X,y:a==="horizontal"?P:T.coordinate},C=wf({active:c.payload.active,coordinate:Y,dataKey:c.payload.dataKey,index:String(T.index),label:c.payload.label,sourceViewBox:c.payload.sourceViewBox,graphicalItemId:c.payload.graphicalItemId});r(C)}}};return Nf.on(Fb,s),()=>{Nf.off(Fb,s)}},[l,r,t,e,n,o,a,i])}function Yee(){var e=Ae(bx),t=Ae(wx),r=Xe();(0,Mv.useEffect)(()=>{if(e==null)return Un;var n=(o,a,i)=>{t!==i&&e===o&&r(Gz(a))};return Nf.on(n_,n),()=>{Nf.off(n_,n)}},[r,t,e])}function Zz(){var e=Xe();(0,Mv.useEffect)(()=>{e(Vz())},[e]),Gee(),Yee()}function Qz(e,t,r,n,o,a){var i=Ae(m=>xz(m,e,t)),l=Ae(Pb),s=Ae(wx),u=Ae(bx),c=Ae(AC),d=Ae(Kz),f=d?.sourceViewBox!=null,p=xu();(0,Mv.useEffect)(()=>{if(!f&&u!=null&&s!=null){var m=wf({active:a,coordinate:r,dataKey:i,index:o,label:typeof n=="number"?String(n):n,sourceViewBox:p,graphicalItemId:l});Nf.emit(Fb,u,m,s)}},[f,r,i,l,o,n,s,u,c,a,p])}function Jz(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function Rz(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r{T(Yj({shared:y,trigger:b,axisId:w,active:o,defaultIndex:k}))},[T,y,b,w,o,k]);var A=xu(),M=Q0(),H=Wj(y),F=(t=Ae(V=>Az(V,H,b,k)))!==null&&t!==void 0?t:{},X=F.activeIndex,P=F.isActive,Y=Ae(V=>Sz(V,H,b,k)),C=Ae(V=>RN(V,H,b,k)),_=Ae(V=>wz(V,H,b,k)),z=Y,D=Lz(),E=(r=o??P)!==null&&r!==void 0?r:!1,j=c0([z,E]),R=Jee(j,2),U=R[0],L=R[1],K=H==="axis"?C:void 0;Qz(H,b,_,K,X,E);var ae=S??D;if(ae==null||A==null||H==null)return null;var de=z??tL;E||(de=tL),u&&de.length&&(de=o0(de.filter(V=>V.value!=null&&(V.hide!==!0||n.includeHidden)),f,nte));var ze=de.length>0,oe=Rz(Rz({},n),{},{payload:de,label:K,active:E,activeIndex:X,coordinate:_,accessibilityLayer:M}),Ee=fa.createElement(L8,{allowEscapeViewBox:a,animationDuration:i,animationEasing:l,isAnimationActive:c,active:E,coordinate:_,hasPayload:ze,offset:d,position:p,reverseDirection:m,useTranslate3d:g,viewBox:A,wrapperStyle:h,lastBoundingBox:U,innerRef:L,hasPortalFromProps:!!S},ote(s,oe));return fa.createElement(fa.Fragment,null,(0,nL.createPortal)(Ee,ae),E&&fa.createElement(zz,{cursor:v,tooltipEventType:H,coordinate:_,payload:de,index:X}))}var Ji=e=>null;Ji.displayName="Cell";var l_=te(re()),Vb=te(re());function ite(e,t,r){return(t=lte(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function lte(e){var t=ste(e,"string");return typeof t=="symbol"?t:t+""}function ste(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Ub=class{constructor(t){ite(this,"cache",new Map),this.maxSize=t}get(t){var r=this.cache.get(t);return r!==void 0&&(this.cache.delete(t),this.cache.set(t,r)),r}set(t,r){if(this.cache.has(t))this.cache.delete(t);else if(this.cache.size>=this.maxSize){var n=this.cache.keys().next().value;n!=null&&this.cache.delete(n)}this.cache.set(t,r)}clear(){this.cache.clear()}size(){return this.cache.size}};function oL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function ute(e){for(var t=1;t{try{var r=document.getElementById(iL);r||(r=document.createElement("span"),r.setAttribute("id",iL),r.setAttribute("aria-hidden","true"),document.body.appendChild(r)),Object.assign(r.style,mte,t),r.textContent="".concat(e);var n=r.getBoundingClientRect();return{width:n.width,height:n.height}}catch{return{width:0,height:0}}},Vu=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(t==null||ia.isSsr)return{width:0,height:0};if(!sL.enableCache)return lL(t,r);var n=vte(t,r),o=aL.get(n);if(o)return o;var a=lL(t,r);return aL.set(n,a),a};var pL;function Wb(e,t){return xte(e)||hte(e,t)||yte(e,t)||gte()}function gte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yte(e,t){if(e){if(typeof e=="string")return uL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?uL(e,t):void 0}}function uL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);re.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=e.breakAll,n=e.style;try{var o=[];mt(t)||(r?o=t.toString().split(""):o=t.toString().split(bL));var a=o.map(l=>({word:l,width:Vu(l,n).width})),i=r?0:Vu("\xA0",n).width;return{wordsWithComputedWidth:a,spaceWidth:i}}catch{return null}};function Kb(e){return e==="start"||e==="middle"||e==="end"||e==="inherit"}function SL(e){return mt(e)||typeof e=="string"||typeof e=="number"||typeof e=="boolean"}var AL=(e,t,r,n)=>e.reduce((o,a)=>{var i=a.word,l=a.width,s=o[o.length-1];if(s&&l!=null&&(t==null||n||s.width+l+re.reduce((t,r)=>t.width>r.width?t:r),$te="\u2026",hL=(e,t,r,n,o,a,i,l)=>{var s=e.slice(0,t),u=wL({breakAll:r,style:n,children:s+$te});if(!u)return[!1,[]];var c=AL(u.wordsWithComputedWidth,a,i,l),d=c.length>o||kL(c).width>Number(a);return[d,c]},Fte=(e,t,r,n,o)=>{var a=e.maxLines,i=e.children,l=e.style,s=e.breakAll,u=Se(a),c=String(i),d=AL(t,n,r,o);if(!u||o)return d;var f=d.length>a||kL(d).width>Number(n);if(!f)return d;for(var p=0,m=c.length-1,g=0,h;p<=m&&g<=c.length-1;){var v=Math.floor((p+m)/2),y=v-1,b=hL(c,y,s,l,a,n,r,o),x=gL(b,2),S=x[0],w=x[1],T=hL(c,v,s,l,a,n,r,o),k=gL(T,1),A=k[0];if(!S&&!A&&(p=v+1),S&&A&&(m=v-1),!S&&A){h=w;break}g++}return h||d},xL=e=>{var t=mt(e)?[]:e.toString().split(bL);return[{words:t,width:void 0}]},Ute=e=>{var t=e.width,r=e.scaleToFit,n=e.children,o=e.style,a=e.breakAll,i=e.maxLines;if((t||r)&&!ia.isSsr){var l,s,u=wL({breakAll:a,children:n,style:o});if(u){var c=u.wordsWithComputedWidth,d=u.spaceWidth;l=c,s=d}else return xL(n);return Fte({breakAll:a,children:n,maxLines:i,style:o},l,s,t,!!r)}return xL(n)},CL="#808080",Wte={angle:0,breakAll:!1,capHeight:"0.71em",fill:CL,lineHeight:"1em",scaleToFit:!1,textAnchor:"start",verticalAnchor:"end",x:0,y:0},Ku=(0,Vb.forwardRef)((e,t)=>{var r=ft(e,Wte),n=r.x,o=r.y,a=r.lineHeight,i=r.capHeight,l=r.fill,s=r.scaleToFit,u=r.textAnchor,c=r.verticalAnchor,d=vL(r,Pte),f=(0,Vb.useMemo)(()=>Ute({breakAll:d.breakAll,children:d.children,maxLines:d.maxLines,scaleToFit:s,style:d.style,width:d.width}),[d.breakAll,d.children,d.maxLines,s,d.style,d.width]),p=d.dx,m=d.dy,g=d.angle,h=d.className,v=d.breakAll,y=vL(d,Dte);if(!Fn(n)||!Fn(o)||f.length===0)return null;var b=Number(n)+(Se(p)?p:0),x=Number(o)+(Se(m)?m:0);if(!qe(b)||!qe(x))return null;var S;switch(c){case"start":S=Hb("calc(".concat(i,")"));break;case"middle":S=Hb("calc(".concat((f.length-1)/2," * -").concat(a," + (").concat(i," / 2))"));break;default:S=Hb("calc(".concat(f.length-1," * -").concat(a,")"));break}var w=[],T=f[0];if(s&&T!=null){var k=T.width,A=d.width;w.push("scale(".concat(Se(A)&&Se(k)?A/k:1,")"))}return g&&w.push("rotate(".concat(g,", ").concat(b,", ").concat(x,")")),w.length&&(y.transform=w.join(" ")),l_.createElement("text",i_({},dr(y),{ref:t,x:b,y:x,className:He("recharts-text",h),textAnchor:u,fill:l.includes("url")?CL:l}),f.map((M,H)=>{var F=M.words.join(v?"":" ");return l_.createElement("tspan",{x:b,dy:H===0?S:a,key:"".concat(F,"-").concat(H)},F)}))});Ku.displayName="Text";var uo=te(re()),rn=te(re());var Hte=["labelRef"],Vte=["content"];function NL(e,t){if(e==null)return{};var r,n,o=Kte(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var t=e.x,r=e.y,n=e.upperWidth,o=e.lowerWidth,a=e.width,i=e.height,l=e.children,s=(0,rn.useMemo)(()=>({x:t,y:r,upperWidth:n,lowerWidth:o,width:a,height:i}),[t,r,n,o,a,i]);return uo.createElement(EL.Provider,{value:s},l)},TL=()=>{var e=(0,rn.useContext)(EL),t=xu();return e||(t?bm(t):void 0)},ML=(0,rn.createContext)(null),PL=e=>{var t=e.cx,r=e.cy,n=e.innerRadius,o=e.outerRadius,a=e.startAngle,i=e.endAngle,l=e.clockWise,s=e.children,u=(0,rn.useMemo)(()=>({cx:t,cy:r,innerRadius:n,outerRadius:o,startAngle:a,endAngle:i,clockWise:l}),[t,r,n,o,a,i,l]);return uo.createElement(ML.Provider,{value:u},s)},Xte=()=>{var e=(0,rn.useContext)(ML),t=Ae(Nx);return e||t},Zte=e=>{var t=e.value,r=e.formatter,n=mt(e.children)?t:e.children;return typeof r=="function"?r(n):n},Gu=e=>e!=null&&typeof e=="function",Qte=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},Jte=(e,t,r,n,o)=>{var a=e.offset,i=e.className,l=o.cx,s=o.cy,u=o.innerRadius,c=o.outerRadius,d=o.startAngle,f=o.endAngle,p=o.clockWise,m=(u+c)/2,g=Qte(d,f),h=g>=0?1:-1,v,y;switch(t){case"insideStart":v=d+h*a,y=p;break;case"insideEnd":v=f-h*a,y=!p;break;case"end":v=f+h*a,y=p;break;default:throw new Error("Unsupported position ".concat(t))}y=g<=0?y:!y;var b=tr(l,s,m,v),x=tr(l,s,m,v+(y?1:-1)*359),S="M".concat(b.x,",").concat(b.y,` A`).concat(m,",").concat(m,",0,1,").concat(y?0:1,`, - `).concat(x.x,",").concat(x.y),w=ct(e.id)?Ni("recharts-radial-line-"):e.id;return ra.createElement("text",Vi({},n,{dominantBaseline:"central",className:Ue("recharts-radial-bar-label",i)}),ra.createElement("defs",null,ra.createElement("path",{id:w,d:S})),ra.createElement("textPath",{xlinkHref:"#".concat(w)},r))},rte=(e,t,r)=>{var n=e.cx,a=e.cy,o=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=qt(n,a,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:a,textAnchor:"middle",verticalAnchor:"end"};var p=(o+i)/2,m=qt(n,a,p,u),g=m.x,h=m.y;return{x:g,y:h,textAnchor:"middle",verticalAnchor:"middle"}},gf=e=>e!=null&&"cx"in e&&be(e.cx),nte={angle:0,offset:5,zIndex:dt.label,position:"middle",textBreakAll:!1};function ate(e){if(!gf(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,a=n*2;return{x:t-n,y:r-n,width:a,upperWidth:a,lowerWidth:a,height:a}}function Hi(e){var t,r,n=lt(e,nte),a=n.viewBox,o=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Jee(),g=Vz(),h=i==="center"?g:m??g,v,y,b;a==null?v=h:gf(a)?v=a:v=rm(a);var x=ate(v);if(!v||ct(l)&&ct(s)&&!(0,Xr.isValidElement)(u)&&typeof u!="function")return null;var S=gf(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(gf(v))S||(b=rte(v,n.offset,n.position));else if(x){var w=Jy({viewBox:x,position:i,offset:n.offset,parentViewBox:gf(o)?void 0:o,clamp:!0});b=Tu(Tu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var O=Tu(Tu(Tu(Tu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,Xr.isValidElement)(u)){var k=O.labelRef,A=Uz(O,qee);return(0,Xr.cloneElement)(u,A)}if(typeof u=="function"){var M=O.content,W=Uz(O,Yee);if(y=(0,Xr.createElement)(u,W),(0,Xr.isValidElement)(y))return y}else y=Ree(n);var L=rr(n);return S&&gf(v)?tte(n,i,y,L,v):b==null?null:ra.createElement(Yt,{zIndex:n.zIndex},ra.createElement(Ou,Vi({ref:p,className:Ue("recharts-label",d)},L,b,{textAnchor:xb(L.textAnchor)?L.textAnchor:b.textAnchor,breakAll:f}),y))}Hi.displayName="Label";var ote=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?ra.createElement(Hi,Vi({key:"label-implicit"},n)):Mn(e)?ra.createElement(Hi,Vi({key:"label-implicit",value:e},n)):(0,Xr.isValidElement)(e)?e.type===Hi?(0,Xr.cloneElement)(e,Tu({key:"label-implicit"},n)):ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):Mu(e)?ra.createElement(Hi,Vi({key:"label-implicit",content:e},n)):e&&typeof e=="object"?ra.createElement(Hi,Vi({},e,{key:"label-implicit"},n)):null};function Yz(e){var t=e.label,r=e.labelRef,n=Vz();return ote(t,n,r)||null}var Ki=te(ne()),yf=te(ne());var ite=["valueAccessor"],lte=["dataKey","clockWise","id","textBreakAll","zIndex"];function wb(){return wb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(zz(t))return t},Xz=(0,yf.createContext)(void 0),hf=Xz.Provider,Zz=(0,yf.createContext)(void 0),Qz=Zz.Provider;function cte(){return(0,yf.useContext)(Xz)}function dte(){return(0,yf.useContext)(Zz)}function bb(e){var t=e.valueAccessor,r=t===void 0?ute:t,n=Gz(e,ite),a=n.dataKey,o=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=Gz(n,lte),c=cte(),d=dte(),f=c||d;return!f||!f.length?null:Ki.createElement(Yt,{zIndex:s??dt.label},Ki.createElement(bt,{className:"recharts-label-list"},f.map((p,m)=>{var g,h=ct(a)?r(p,m):Qe(p.payload,a),v=ct(i)?{}:{id:"".concat(i,"-").concat(m)};return Ki.createElement(Hi,wb({key:"label-".concat(m)},rr(p),u,v,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}bb.displayName="LabelList";function ns(e){var t=e.label;return t?t===!0?Ki.createElement(bb,{key:"labelList-implicit"}):Ki.isValidElement(t)||Mu(t)?Ki.createElement(bb,{key:"labelList-implicit",content:t}):typeof t=="object"?Ki.createElement(bb,wb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var Jz=te(ne());function _C(){return _C=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,a=e.className,o=Ue("recharts-dot",a);return be(t)&&be(r)&&be(n)?Jz.createElement("circle",_C({},tr(e),gd(e),{className:o,cx:t,cy:r,r:n})):null};var OC=e=>e.graphicalItems.polarItems,fte=J([nr,cu],Rm),Ab=J([OC,ur,fte],ev),pte=J([Ab],tv),kb=J([pte,iu],rv),mte=J([kb,ur,Ab],IN),CCe=J([kb,ur,Ab],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(a=>{var o,i=Qe(n,(o=t.dataKey)!==null&&o!==void 0?o:a.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:Qe(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),Rz=()=>{},vte=J([kb,ur,Ab,of,nr,R8],av),gte=J([ur,Hx,Vx,Rz,vte,Rz,qe,nr],ov),eL=J([ur,qe,kb,mte,Ul,nr,gte],iv),yte=J([eL,Cu,Bi],lv),hte=J([ur,eL,yte,nr],sv),ECe=J([Bi,hte],rx);var xte={radiusAxis:{},angleAxis:{}},tL=Ct({name:"polarAxis",initialState:xte,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=tt(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=tt(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Nb=tL.actions,MCe=Nb.addRadiusAxis,PCe=Nb.removeRadiusAxis,DCe=Nb.addAngleAxis,ICe=Nb.removeAngleAxis;var rL=tL.reducer;function Cb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var Re=te(ne()),Nf=te(ne());function nL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function aL(e){for(var t=1;tt,TC=J([OC,Ate],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),kte=[],MC=(e,t,r)=>r?.length===0?kte:r,oL=J([iu,TC,MC],(e,t,r)=>{var n=e.chartData;if(t!=null){var a;if(t?.data!=null&&t.data.length>0?a=t.data:a=n,(!a||!a.length)&&r!=null&&(a=r.map(o=>aL(aL({},t.presentationProps),o.props))),a!=null)return a}}),iL=J([oL,TC,MC],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,a)=>{var o,i=Qe(n,t.nameKey,t.name),l;return r!=null&&(o=r[a])!==null&&o!==void 0&&(o=o.props)!==null&&o!==void 0&&o.fill?l=r[a].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:wa(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),lL=J([oL,TC,MC,jt],(e,t,r,n)=>{if(!(t==null||e==null))return sL({offset:n,pieSettings:t,displayedData:e,cells:r})});var mL=te(ne()),vL=te(dL());var fL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",pL=null,IC=null,gL=e=>{if(e===pL&&Array.isArray(IC))return IC;var t=[];return mL.Children.forEach(e,r=>{ct(r)||((0,vL.isFragment)(r)?t=t.concat(gL(r.props.children)):t.push(r))}),IC=t,pL=e,t};function mv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(a=>fL(a)):n=[fL(t)],gL(e).forEach(a=>{var o=rn(a,"type.displayName")||rn(a,"type.name");o&&n.indexOf(o)!==-1&&r.push(a)}),r}var xf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var bf=te(ne()),vv=te(ne());function yL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function hL(e){for(var t=1;t{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(Zx({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}},yv=e=>{var t=Ve();return(r,n)=>a=>{e?.(r,n,a),t(uj())}},hv=(e,t,r)=>{var n=Ve();return(a,o)=>i=>{e?.(a,o,i),n(cj({activeIndex:String(o),activeDataKey:t,activeCoordinate:a.tooltipPosition,activeGraphicalItemId:r}))}};var xv=te(ne());function os(e){var t=e.tooltipEntrySettings,r=Ve(),n=Et(),a=(0,xv.useRef)(null);return(0,xv.useLayoutEffect)(()=>{n||(a.current===null?r(oj(t)):a.current!==t&&r(ij({prev:a.current,next:t})),a.current=t)},[t,r,n]),(0,xv.useLayoutEffect)(()=>()=>{a.current&&(r(lj(a.current)),a.current=null)},[r]),null}var is=te(ne());function wf(e){var t=e.legendPayload,r=Ve(),n=Et(),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}function bL(e){var t=e.legendPayload,r=Ve(),n=we(qe),a=(0,is.useRef)(null);return(0,is.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(a.current===null?r(kk(t)):a.current!==t&&r(Nk({prev:a.current,next:t})),a.current=t)},[r,n,t]),(0,is.useLayoutEffect)(()=>()=>{a.current&&(r(Ck(a.current)),a.current=null)},[r]),null}var AL=te(ne()),Sv=te(ne());function Ite(e,t){return Bte(e)||Lte(e,t)||zte(e,t)||jte()}function jte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function zte(e,t){if(e){if(typeof e=="string")return wL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?wL(e,t):void 0}}function wL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var a of r)n.push({status:"removed",prev:a});for(var o=0;oe[Math.floor(o*r)]);return jC(n,t)}function Ute(e,t){var r=t.map((n,a)=>e[a]);return jC(r,t)}function Fte(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return a.add(p),m}}),i=[];for(var l of n){var s=Ite(l,2),u=s[0],c=s[1];a.has(u)||i.push(c)}return jC(o,t,i)}function wv(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Pu?$te(e,t):r===bv?Ute(e,t):Wte(e,t,r)}var Sf=te(ne());function Lb(e,t){var r=(0,Sf.useRef)(e),n=(0,Sf.useRef)(t.current),a=(0,Sf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,a.current=!1);var o=(0,Sf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){a.current=!0;return}l===1&&(n.current=i),l>0&&a.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:o}}function Hte(e,t){return Yte(e)||qte(e,t)||Kte(e,t)||Vte()}function Vte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kte(e,t){if(e){if(typeof e=="string")return SL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?SL(e,t):void 0}}function SL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),o(!0)},[e]),l=(0,Sv.useCallback)(()=>{typeof t=="function"&&t(),o(!1)},[t]);return{isAnimating:a,handleAnimationStart:i,handleAnimationEnd:l}}function ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,a=e.items,o=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,g=e.children,h=e.layout,v=M0(r,n),y=Lb(v,o),b=(t=y.startValue)!==null&&t!==void 0?t:null,x=wv(b,a,p??Pu);return AL.createElement(T0,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,O=a==null?a:f(x,S,h),k=m?m(S):S>0;return y.syncStepValue(O,S,k),O==null?null:g(O,S,w)})}var CL=te(ne()),LC=te(ne());var Bb=te(ne());var zC;function Gte(e,t){return Jte(e)||Qte(e,t)||Zte(e,t)||Xte()}function Xte(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Zte(e,t){if(e){if(typeof e=="string")return kL(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?kL(e,t):void 0}}function kL(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=Bb.useState(()=>Ni("uid-")),t=Gte(e,1),r=t[0];return r},$b=(zC=Bb.useId)!==null&&zC!==void 0?zC:Rte;function NL(e,t){var r=$b();return t||(e?"".concat(e,"-").concat(r):r)}var ere=(0,LC.createContext)(void 0),us=e=>{var t=e.id,r=e.type,n=e.children,a=NL("recharts-".concat(r),t);return CL.createElement(ere.Provider,{value:a},n(a))};var ko=te(ne());var tre={cartesianItems:[],polarItems:[]},EL=Ct({name:"graphicalItems",initialState:tre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(tt(t.payload))},prepare:Pt()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).cartesianItems.indexOf(tt(n));o>-1&&(e.cartesianItems[o]=tt(a))},prepare:Pt()},removeCartesianGraphicalItem:{reducer(e,t){var r=yn(e).cartesianItems.indexOf(tt(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Pt()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(tt(t.payload))},prepare:Pt()},removePolarGraphicalItem:{reducer(e,t){var r=yn(e).polarItems.indexOf(tt(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Pt()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,a=r.next,o=yn(e).polarItems.indexOf(tt(n));o>-1&&(e.polarItems[o]=tt(a))},prepare:Pt()}}}),Af=EL.actions,_L=Af.addCartesianGraphicalItem,OL=Af.replaceCartesianGraphicalItem,TL=Af.removeCartesianGraphicalItem,ML=Af.addPolarGraphicalItem,PL=Af.removePolarGraphicalItem,DL=Af.replacePolarGraphicalItem;var IL=EL.reducer;var rre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(_L(e)):r.current!==e&&t(OL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(TL(r.current)),r.current=null)},[t]),null},kf=(0,ko.memo)(rre),nre=e=>{var t=Ve(),r=(0,ko.useRef)(null);return(0,ko.useLayoutEffect)(()=>{r.current===null?t(ML(e)):r.current!==e&&t(DL({prev:r.current,next:e})),r.current=e},[t,e]),(0,ko.useLayoutEffect)(()=>()=>{r.current&&(t(PL(r.current)),r.current=null)},[t]),null},jL=(0,ko.memo)(nre);var are=["key"],ore=["onMouseEnter","onClick","onMouseLeave"],ire=["id"],lre=["id"];function Du(){return Du=Object.assign?Object.assign.bind():function(e){for(var t=1;tmv(e.children,Wi),[e.children]),r=we(n=>iL(n,e.id,t));return r==null?null:Re.createElement(bL,{legendPayload:r})}function pre(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(Re.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var mre=Re.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,a=e.stroke,o=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=pre(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(y=>cr(cr({},y),{},{color:p,fill:p}))}),g={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:a,strokeWidth:o,fill:i,dataKey:t,nameKey:r,name:wa(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return Re.createElement(os,{tooltipEntrySettings:g})}),vre=(e,t)=>e>t?"start":etypeof t=="function"?vr(t(e),r,r*.8):vr(t,r,r*.8),yre=(e,t,r)=>{var n=t.top,a=t.left,o=t.width,i=t.height,l=j0(o,i),s=a+vr(e.cx,o,o/2),u=n+vr(e.cy,i,i/2),c=vr(e.innerRadius,l,0),d=gre(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(o*o+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},hre=(e,t)=>{var r=Ft(t-e),n=Math.min(Math.abs(t-e),360);return r*n},xre=(e,t)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);if(typeof e=="function")return e(t);var r=Ue("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,a=Ub(t,are);return Re.createElement(Fo,Du({},a,{type:"linear",className:r}))},bre=(e,t,r)=>{if(Re.isValidElement(e))return Re.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),Re.isValidElement(n)))return n;var a=Ue("recharts-pie-label-text",Cb(e));return Re.createElement(Ou,Du({},t,{alignmentBaseline:"middle",className:a}),n)};function wre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label,o=r.labelLine,i=r.dataKey;if(!n||!a||!t)return null;var l=tr(r),s=ga(a),u=ga(o),c=typeof a=="object"&&"offsetRadius"in a&&typeof a.offsetRadius=="number"&&a.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,g=qt(f.cx,f.cy,f.outerRadius+c,m),h=cr(cr(cr(cr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:vre(g.x,f.cx)},g),v=cr(cr(cr(cr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[qt(f.cx,f.cy,f.outerRadius,m),g],key:"line"});return Re.createElement(Yt,{zIndex:dt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},Re.createElement(bt,null,o&&xre(o,v),bre(a,h,Qe(f,i))))});return Re.createElement(bt,{className:"recharts-pie-labels"},d)}function Sre(e){var t=e.sectors,r=e.props,n=e.showLabels,a=r.label;return typeof a=="object"&&a!=null&&"position"in a?Re.createElement(ns,{label:a}):Re.createElement(wre,{sectors:t,props:r,showLabels:n})}function Are(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,a=e.allOtherPieProps,o=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=we(Ra),d=we(uf),f=we(ib),p=a.onMouseEnter,m=a.onClick,g=a.onMouseLeave,h=Ub(a,ore),v=gv(p,a.dataKey,i),y=yv(g),b=hv(m,a.dataKey,i);return t==null||t.length===0?null:Re.createElement(Re.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,O=String(S)===c&&(d==null||a.dataKey===d)&&w,k=c?n:null,A=r&&O?r:k,M=cr(cr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:O,animationElapsedTime:l,isAnimating:s,isEntrance:u,[p0]:S,[m0]:i});return Re.createElement(bt,Du({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Ei(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:y(x,S),onClick:b(x,S)}),Re.createElement(as,{option:A??o,DefaultShape:LL,shapeProps:M}))}))}function sL(e){var t,r=e.pieSettings,n=e.displayedData,a=e.cells,o=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=hre(l,s),m=Math.abs(p),g=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>Qe(k,u,0)!==0).length,v=(m>=360?h:h-1)*g,y=n.reduce((k,A)=>{var M=Qe(A,u,0);return k+(be(M)?M:0)},0),b=f>0&&y>0&&n.some(k=>{var A=Qe(k,u,0),M=(be(A)?A:0)/y;return A!==0&&M*m0){var O;w=n.map((k,A)=>{var M=Qe(k,u,0),W=Qe(k,c,A),L=yre(r,o,k),H=(be(M)?M:0)/y,D,Y=cr(cr({},k),a&&a[A]&&a[A].props),N=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?D=O.endAngle+Ft(p)*g*(M!==0?1:0):D=l;var _=D+Ft(p)*((M!==0?x:0)+H*S),z=(D+_)/2,j=(L.innerRadius+L.outerRadius)/2,P=[{name:W,value:M,payload:Y,dataKey:u,type:d,color:N,fill:N,graphicalItemId:r.id}],B=qt(L.cx,L.cy,j,z);return O=cr(cr(cr(cr({},r.presentationProps),{},{percent:H,cornerRadius:typeof i=="string"?parseFloat(i):i,name:W,tooltipPayload:P,midAngle:z,middleRadius:j,tooltipPosition:B},Y),L),{},{value:M,dataKey:u,startAngle:D,endAngle:_,payload:Y,paddingAngle:M!==0?Ft(p)*g:0}),O})}return w}function kre(e){var t=e.showLabels,r=e.sectors,n=e.children,a=(0,Nf.useMemo)(()=>!t||!r?[]:r.map(o=>({value:o.value,payload:o.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:o.cx,cy:o.cy,innerRadius:o.innerRadius,outerRadius:o.outerRadius,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},fill:o.fill})),[r,t]);return Re.createElement(Qz,{value:t?a:void 0},n)}var Nre=(e,t)=>{if(e==null)return[];var r=[],n=e.find(o=>o.status!=="removed"),a=n?n.next.startAngle:0;return e.forEach((o,i)=>{if(o.status!=="removed"){var l=i>0?rn(o.next,"paddingAngle",0):0;if(o.status==="matched"){var s=Nt(o.prev.endAngle-o.prev.startAngle,o.next.endAngle-o.next.startAngle,t),u=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+s+l});r.push(u),a=u.endAngle}else{var c=Nt(0,o.next.endAngle-o.next.startAngle,t),d=cr(cr({},o.next),{},{startAngle:a+l,endAngle:a+c+l});r.push(d),a=d.endAngle}}}),r};function Cre(e){var t,r,n,a,o=e.props,i=e.previousSectorsRef,l=e.id,s=o.sectors,u=o.activeShape,c=o.inactiveShape,d=o.animationInterpolateFn,f=ls(o.onAnimationStart,o.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,g=f.handleAnimationEnd,h=ND();if(h==null)return null;var v=s[0];return Re.createElement(kre,{showLabels:!p,sectors:s},Re.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:o.isAnimationActive,animationBegin:o.animationBegin,animationDuration:o.animationDuration,animationEasing:o.animationEasing,onAnimationStart:m,onAnimationEnd:g,animationInterpolateFn:d,animationMatchBy:o.animationMatchBy,layout:h},(y,b,x)=>Re.createElement(bt,null,Re.createElement(Are,{sectors:y,activeShape:u,inactiveShape:c,allOtherPieProps:o,shape:o.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),Re.createElement(Sre,{showLabels:!p,sectors:s,props:o}),Re.createElement(qz,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(a=v?.outerRadius)!==null&&a!==void 0?a:0,startAngle:o.startAngle,endAngle:o.endAngle,clockWise:!1},o.children))}var Ere={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Nre,animationMatchBy:bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:LL,startAngle:0,stroke:"#fff",zIndex:dt.area};function _re(e){var t=e.id,r=Ub(e,ire),n=e.hide,a=e.className,o=e.rootTabIndex,i=(0,Nf.useMemo)(()=>mv(e.children,Wi),[e.children]),l=we(c=>lL(c,t,i)),s=(0,Nf.useRef)(null),u=Ue("recharts-pie",a);return n||l==null?(s.current=null,Re.createElement(bt,{tabIndex:o,className:u})):Re.createElement(Yt,{zIndex:e.zIndex},Re.createElement(mre,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),Re.createElement(bt,{tabIndex:o,className:u},Re.createElement(Cre,{props:cr(cr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Ore(e){var t=lt(e,Ere),r=t.id,n=Ub(t,lre),a=tr(n);return Re.createElement(us,{id:r,type:"pie"},o=>Re.createElement(Re.Fragment,null,Re.createElement(jL,{type:"pie",id:o,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:a,maxRadius:t.maxRadius}),Re.createElement(fre,Du({},n,{id:o})),Re.createElement(_re,Du({},n,{id:o}))))}var Fb=Ore;Fb.displayName="Pie";var Av=te(ne()),Hb=te(ne());var Tre=["points"];function BL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function BC(e){for(var t=1;t{var v,y,b=BC(BC(BC({r:3},i),f),{},{index:h,cx:(v=g.x)!==null&&v!==void 0?v:void 0,cy:(y=g.y)!==null&&y!==void 0?y:void 0,dataKey:o,value:g.value,payload:g.payload,points:t});return Av.createElement(zre,{key:"dot-".concat(h),option:r,dotProps:b,className:a})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Av.createElement(Yt,{zIndex:c},Av.createElement(bt,Wb({className:n},m),p))}var kv=te(ne()),qb=te(ne());function $L(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Kb(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var QL=J([ZL,on,ln],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var cs=()=>we(QL),JL=()=>we(Aj);function RL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function UC(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,a=e.activeDot,o=e.dataKey,i=e.clipPath;if(a===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:o,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=UC(UC(UC({},l),ga(a)),gd(a)),u;return(0,qb.isValidElement)(a)?u=(0,qb.cloneElement)(a,s):typeof a=="function"?u=a(s):u=kv.createElement(Sb,s),kv.createElement(bt,{className:"recharts-active-dot",clipPath:i},u)};function Nv(e){var t=e.points,r=e.mainColor,n=e.activeDot,a=e.itemDataKey,o=e.clipPath,i=e.zIndex,l=i===void 0?dt.activeDot:i,s=we(Ra),u=JL();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return ct(c)?null:kv.createElement(Yt,{zIndex:l},kv.createElement(Kre,{point:c,childIndex:Number(s),mainColor:r,dataKey:a,activeDot:n,clipPath:o}))}function qre(e,t){return Zre(e)||Xre(e,t)||Gre(e,t)||Yre()}function Yre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return eB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?eB(e,t):void 0}}function eB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!ct(n))return vr(n,t,0)},rB=(e,t,r)=>{var n={},a=e.filter(du),o=e.filter(u=>u.stackId==null),i=a.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=qre(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),g=tB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:g}}),s=o.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=tB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function nB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Yb(e){for(var t=1;ty+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((y,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...y,S];return m=S.position,w},u)}else{var g=vr(t,r,0,!0);r-2*g-(i-1)*l<=0&&(l=0);var h=(r-2*g-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=He(a)?Math.min(h,a):h;s=n.reduce((y,b,x)=>[...y,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:g+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var aB=(e,t,r,n,a,o,i)=>{var l=ct(i)?t:i,s=ene(r,n,a!==o?a:o,e,l);return a!==o&&s!=null&&(s=s.map(u=>Yb(Yb({},u),{},{position:Yb(Yb({},u.position),{},{offset:u.position.offset-a/2})}))),s};var oB=(e,t)=>{var r=Wl(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var a=e[n];if(a){var o=a.stackedData;if(o)return o.find(i=>i.key===r)}}}};var iB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function lB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&He(e.zIndex)?e.zIndex:t}var sB=te(ne());var Gb=e=>{var t=e.chartData,r=Ve(),n=Et();return(0,sB.useEffect)(()=>n?()=>{}:(r(NC(t)),()=>{r(NC(void 0))}),[t,r,n]),null};var uB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},cB=Ct({name:"brush",initialState:uB,reducers:{setBrushSettings(e,t){return t.payload==null?uB:t.payload}}}),o5e=cB.actions.setBrushSettings;var dB=cB.reducer;function tne(e){return(e%180+180)%180}var fB=function(t){var r=t.width,n=t.height,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,o=tne(a),i=o*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=yn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=yn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(tt(t.payload))},removeLine:(e,t)=>{var r=yn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),Cf=pB.actions,c5e=Cf.addDot,d5e=Cf.removeDot,f5e=Cf.addArea,p5e=Cf.removeArea,m5e=Cf.addLine,v5e=Cf.removeLine;var mB=pB.reducer;var Cv=te(ne()),Ev=te(ne());function nne(e,t){return lne(e)||ine(e,t)||one(e,t)||ane()}function ane(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function one(e,t){if(e){if(typeof e=="string")return vB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?vB(e,t):void 0}}function vB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Ev.useState)("".concat(Ni("recharts"),"-clip")),n=nne(r,1),a=n[0],o=cs();if(o==null)return null;var i=o.x,l=o.y,s=o.width,u=o.height;return Cv.createElement(sne.Provider,{value:a},Cv.createElement("defs",null,Cv.createElement("clipPath",{id:a},Cv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var ar=te(ne()),kn=te(ne());function yB(){}function FC(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function hB(e,t,r){return _v(e,t,void 0,void 0,void 0,void 0,r)}function _v(e,t,r,n,a,o,i){let l=i(e,t,r,n,a,o);if(l!==void 0)return l;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return Ov(e,t,o,i)}return Ov(e,t,o,i)}function Ov(e,t,r,n){if(Object.is(e,t))return!0;let a=_i(e),o=_i(t);if(a==="[object Arguments]"&&(a=bd),o==="[object Arguments]"&&(o=bd),a!==o)return!1;switch(a){case yd:return e.toString()===t.toString();case hd:return Ll(e.valueOf(),t.valueOf());case xd:case fh:case dh:return Object.is(e.valueOf(),t.valueOf());case uh:return e.source===t.source&&e.flags===t.flags;case bM:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(a){case ph:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!_v(u,t.get(s),s,e,t,r,n))return!1;return!0;case mh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;c_v(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case vh:case hh:case xh:case bh:case wh:case SM:case Sh:case Ah:case kh:case AM:case Nh:case Ch:if(sm(e)!==sm(t)||e.length!==t.length)return!1;for(let s=0;se*a)return!1;var o=r();return e*(t-e*o/2-n)>=0&&e*(t+e*o/2-a)<=0}function wB(e,t){return Xb(e,t+1)}function SB(e,t,r,n,a){for(var o=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:Xb(n,u)};var g=s,h,v=()=>(h===void 0&&(h=r(m,g)),h),y=m.coordinate,b=s===0||Iu(e,y,v,c,l);b||(s=0,c=i,u+=1),b&&(c=y+e*(v()/2+a),s+=u)},f;u<=o.length;)if(f=d(),f)return f.v;return[]}function AB(e,t,r,n,a){var o=(n||[]).slice(),i=o.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[g];if(x==null)return 0;var S=g,w,O=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=g===c||Iu(e,k,O,d,s);if(!A)return f=!1,1;A&&(d=k+e*(O()/2+a))},m,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);o[f]=m=An(An({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else o[f]=m=An(An({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var y=Iu(e,m.tickCoord,h,l,s);y&&(s=m.tickCoord-e*(h()/2+a),o[f]=An(An({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return o}function pne(e,t,r,n,a,o){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(o){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=An(An({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Iu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+a),i[l-1]=An(An({},c),{},{isShow:!0}))}}}for(var m=o?l-1:l,g=function(y){var b=i[y];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,y)),S);if(y===0){var O=e*(x.coordinate-e*w()/2-s);i[y]=x=An(An({},x),{},{tickCoord:O<0?x.coordinate-O*e:x.coordinate})}else i[y]=x=An(An({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Iu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+a),i[y]=An(An({},x),{},{isShow:!0}))}},h=0;h{var O=typeof u=="function"?u(S.value,w):S.value;return m==="width"?xB(_u(O,{fontSize:t,letterSpacing:r}),g,d):_u(O,{fontSize:t,letterSpacing:r})[m]},v=a[0],y=a[1],b=a.length>=2&&v!=null&&y!=null?Ft(y.coordinate-v.coordinate):1,x=bB(o,b,m);return s==="equidistantPreserveStart"?SB(b,x,h,a,i):s==="equidistantPreserveEnd"?AB(b,x,h,a,i):(s==="preserveStart"||s==="preserveStartEnd"?p=pne(b,x,h,a,i,s==="preserveStartEnd"):p=fne(b,x,h,a,i),p.filter(S=>S.isShow))}var NB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var CB=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,a=n===void 0?5:n,o=e.tickSize,i=o===void 0?0:o,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?a:0);return Math.round(f)}return 0};var mne={xAxis:{},yAxis:{}},EB=Ct({name:"renderedTicks",initialState:mne,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId,o=r.ticks;e[n][a]=tt(o)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,a=r.axisId;delete e[n][a]}}}),_B=EB.actions,OB=_B.setRenderedTicks,TB=_B.removeRenderedTicks;var MB=EB.reducer;var vne=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function PB(e,t){return xne(e)||hne(e,t)||yne(e,t)||gne()}function gne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function yne(e,t){if(e){if(typeof e=="string")return DB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?DB(e,t):void 0}}function DB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=o.current;l!=null&&l.axisId===n&&l.axisType===r&&WC(l.ticks,i)||(o.current={ticks:i,axisId:n,axisType:r},a(OB({ticks:i,axisId:n,axisType:r})))}},[a,t,n,r]),(0,kn.useEffect)(()=>n==null||r==null?Pn:()=>{a(TB({axisId:n,axisType:r}))},[a,n,r]),null}var Mne=(0,kn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,a=e.tick,o=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,g=e.width,h=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,O=e.axisType,k=e.axisId,A=Tv(Ar(Ar({},S),{},{ticks:n}),b,x),M=tr(S),W=ga(a),L=xb(M.textAnchor)?M.textAnchor:Ene(d,f),H=_ne(d,f),D={};typeof o=="object"&&(D=o);var Y=Ar(Ar({},M),{},{fill:"none"},D),N=A.map(j=>Ar({entry:j},Cne(j,p,m,g,h,d,v,f,y))),_=N.map(j=>{var P=j.entry,B=j.line;return ar.createElement(bt,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(P.value,"-").concat(P.coordinate,"-").concat(P.tickCoord)},o&&ar.createElement("line",ju({},Y,B,{className:Ue("recharts-cartesian-axis-tick-line",rn(o,"className"))})))}),z=N.map((j,P)=>{var B,R,F=j.entry,G=j.tick,ee=Ar(Ar(Ar(Ar({verticalAnchor:H},M),{},{textAnchor:L,stroke:"none",fill:i},G),{},{index:P,payload:F,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(B=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&B!==void 0?B:0}),fe=Ar(Ar({},ee),W);return ar.createElement(bt,ju({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(F.value,"-").concat(F.coordinate,"-").concat(F.tickCoord)},Ei(w,F,P)),a&&ar.createElement(One,{option:a,tickProps:fe,value:"".concat(typeof l=="function"?l(F.value,P):F.value).concat(s||"")}))});return ar.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(O,"-ticks")},ar.createElement(Tne,{ticks:A,axisId:k,axisType:O}),z.length>0&&ar.createElement(Yt,{zIndex:dt.label},ar.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(O,"-tick-labels"),ref:t},z)),_.length>0&&ar.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(O,"-tick-lines")},_))}),Pne=(0,kn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,a=e.height,o=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=bne(e,vne),d=(0,kn.useState)(""),f=PB(d,2),p=f[0],m=f[1],g=(0,kn.useState)(""),h=PB(g,2),v=h[0],y=h[1],b=(0,kn.useRef)(null);(0,kn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return NB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return CB({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,kn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var O=w[0];if(O){var k=window.getComputedStyle(O),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),y(M))}}},[p,v]);return i||n!=null&&n<=0||a!=null&&a<=0?null:ar.createElement(Yt,{zIndex:e.zIndex},ar.createElement(bt,{className:Ue("recharts-cartesian-axis",o)},ar.createElement(Nne,{x:e.x,y:e.y,width:n,height:a,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:tr(e)}),ar.createElement(Mne,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),ar.createElement(Hz,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},ar.createElement(Yz,{label:e.label,labelRef:e.labelRef}),e.children)))}),Mv=ar.forwardRef((e,t)=>{var r=lt(e,ro);return ar.createElement(Pne,ju({},r,{ref:t}))});Mv.displayName="CartesianAxis";var kr=te(ne());var Zb=te(ne());var jB={grid:{stroke:"#ccc",fill:"none"}};var zB=(0,Zb.createContext)(jB),xOe=zB.Provider,LB=()=>(0,Zb.useContext)(zB);var Dne=["x1","y1","x2","y2","key"],Ine=["offset"],jne=["xAxisId","yAxisId"],zne=["xAxisId","yAxisId"];function BB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Nn(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.ry;return kr.createElement("rect",{x:n,y:a,ry:l,width:o,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function $B(e){var t=e.option,r=e.lineItemProps,n;if(kr.isValidElement(t))n=kr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var a,o=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=Qb(r,Dne),d=(a=tr(c))!==null&&a!==void 0?a:{},f=d.offset,p=Qb(d,Ine),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=kr.createElement("line",zu({},p,{strokeDasharray:m,x1:o,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function Wne(e){var t=e.x,r=e.width,n=e.horizontal,a=n===void 0?!0:n,o=e.horizontalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,jne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return kr.createElement($B,{key:"line-".concat(d),option:a,lineItemProps:f})});return kr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Hne(e){var t=e.y,r=e.height,n=e.vertical,a=n===void 0?!0:n,o=e.verticalPoints;if(!a||!o||!o.length)return null;var i=e.xAxisId,l=e.yAxisId,s=Qb(e,zne),u=o.map((c,d)=>{var f=Nn(Nn({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return kr.createElement($B,{option:a,lineItemProps:f,key:"line-".concat(d)})});return kr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Vne(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,a=e.y,o=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?a+i-f:m-f;if(h<=0)return null;var v=p%t.length;return kr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:o,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Kne(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,a=e.fillOpacity,o=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?o+l-f:m-f;if(h<=0)return null;var v=p%n.length;return kr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:a,className:"recharts-cartesian-grid-bg"})});return kr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var qne=(e,t)=>{var r=e.xAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.left,o.left+o.width,t)},Yne=(e,t)=>{var r=e.yAxis,n=e.width,a=e.height,o=e.offset;return vk(Tv(Nn(Nn(Nn({},ro),r),{},{ticks:gk(r,!0),viewBox:{x:0,y:0,width:n,height:a}})),o.top,o.top+o.height,t)},Gne={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:dt.grid};function qi(e){var t,r,n,a,o,i,l=Pd(),s=Dd(),u=x0(),c=Nn(Nn({},lt(e,Gne)),{},{x:be(e.x)?e.x:u.left,y:be(e.y)?e.y:u.top,width:be(e.width)?e.width:u.width,height:be(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,g=c.width,h=c.height,v=c.syncWithTicks,y=c.horizontalValues,b=c.verticalValues,x=Et(),S=we(_=>rC(_,"xAxis",d,x)),w=we(_=>rC(_,"yAxis",f,x)),O=LB(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:O.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:O.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:O.grid.strokeOpacity,strokeDasharray:(a=c.strokeDasharray)!==null&&a!==void 0?a:O.grid.strokeDasharray};if(!Xn(g)||!Xn(h)||!be(p)||!be(m))return null;var A=c.verticalCoordinatesGenerator||qne,M=c.horizontalCoordinatesGenerator||Yne,W=c.horizontalPoints,L=c.verticalPoints;if((!W||!W.length)&&typeof M=="function"){var H=y&&y.length,D=M({yAxis:w?Nn(Nn({},w),{},{ticks:H?y:w.ticks}):void 0,width:l??g,height:s??h,offset:u},H?!0:v);Md(Array.isArray(D),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof D,"]")),Array.isArray(D)&&(W=D)}if((!L||!L.length)&&typeof A=="function"){var Y=b&&b.length,N=A({xAxis:S?Nn(Nn({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??g,height:s??h,offset:u},Y?!0:v);Md(Array.isArray(N),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof N,"]")),Array.isArray(N)&&(L=N)}return kr.createElement(Yt,{zIndex:c.zIndex},kr.createElement("g",{className:"recharts-cartesian-grid"},kr.createElement(Fne,{fill:(o=c.fill)!==null&&o!==void 0?o:O.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:O.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),kr.createElement(Vne,zu({},c,{horizontalPoints:W})),kr.createElement(Kne,zu({},c,{verticalPoints:L})),kr.createElement(Wne,zu({},c,k,{offset:u,horizontalPoints:W,xAxis:S,yAxis:w})),kr.createElement(Hne,zu({},c,k,{offset:u,verticalPoints:L,xAxis:S,yAxis:w}))))}qi.displayName="CartesianGrid";var St=te(ne()),Yi=te(ne());var UB=te(ne());var Xne=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function HC(){return HC=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!a)return FB(t,e);for(var o=Math.floor(e/a),i=e%a,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...eae(n,o),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function rae(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(a=>parseFloat(a));return tae(r,t,n)}return FB(t,r)}function WB(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,a=e.visibleLength,o=e.strokeDasharray,i=e.connectNulls,l=Zne(e,Xne),s=i??!1,u;if(a!=null){var c,d=l.pathRef,f=Jne((c=d?.current)!==null&&c!==void 0?c:null);u=rae(o,f,a)}else o!=null&&(u=String(o));return UB.createElement(Fo,HC({},l,{connectNulls:s,strokeDasharray:u}))}var Lu=te(ne());function HB(e){var t=(0,Lu.useRef)(0),r=(0,Lu.useRef)(0),n=(0,Lu.useRef)(!1),a=(0,Lu.useRef)(e);return a.current!==e&&(t.current=r.current,a.current=e),(0,Lu.useCallback)((o,i)=>{if(n.current)return null;var l=Math.min(Wa(t.current+o*i),i);return o>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var qB=te(ne()),Pv=te(ne());var nae={},VB=Ct({name:"errorBars",initialState:nae,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]||(e[n]=[]),e[n].push(a)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.prev,o=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===a.dataKey&&i.direction===a.direction?o:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,a=r.errorBar;e[n]&&(e[n]=e[n].filter(o=>o.dataKey!==a.dataKey||o.direction!==a.direction))}}}),VC=VB.actions,WOe=VC.addErrorBar,HOe=VC.replaceErrorBar,VOe=VC.removeErrorBar;var KB=VB.reducer;var aae=["children"];function oae(e,t){if(e==null)return{};var r,n,a=iae(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},sae=(0,Pv.createContext)(lae);function Jb(e){var t=e.children,r=oae(e,aae);return qB.createElement(sae.Provider,{value:r},t)}var KC=te(ne());function Bu(e,t){var r,n,a=we(u=>Go(u,e)),o=we(u=>Xo(u,t)),i=(r=a?.allowDataOverflow)!==null&&r!==void 0?r:Mr.allowDataOverflow,l=(n=o?.allowDataOverflow)!==null&&n!==void 0?n:Pr.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ef(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,a=cs(),o=Bu(t,r),i=o.needClipX,l=o.needClipY,s=o.needClip,u=we(b=>qN(b,t,!1)),c=we(b=>YN(b,r,!1));if(!s||!a)return null;var d=a.x,f=a.y,p=a.width,m=a.height,g=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,y=l&&c?Math.abs(c[1]-c[0]):m*2;return KC.createElement("clipPath",{id:"clipPath-".concat(n)},KC.createElement("rect",{x:g,y:h,width:v,height:y}))}var YB=(e,t,r,n)=>_a(e,"xAxis",t,n),GB=(e,t,r,n)=>Ea(e,"xAxis",t,n),XB=(e,t,r,n)=>_a(e,"yAxis",r,n),ZB=(e,t,r,n)=>Ea(e,"yAxis",r,n),uae=J([qe,YB,XB,GB,ZB],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),cae=(e,t,r,n,a)=>a;function dae(e){return e.type==="line"}var fae=J([Xl,cae],(e,t)=>e.filter(dae).find(r=>r.id===t)),QB=J([qe,YB,XB,GB,ZB,fae,uae,lu],(e,t,r,n,a,o,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(o==null||t==null||r==null||n==null||a==null||n.length===0||a.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=o.dataKey,f=o.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return JB({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataKey:d,bandSize:i,displayedData:p})}});function Rb(e){var t=ga(e),r=3,n=2;if(t!=null){var a=t.r,o=t.strokeWidth,i=Number(a),l=Number(o);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var pae=["id"],mae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],vae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function e1(){return e1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var Sae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=wae(e),n=[];for(var a of e)if(a.status==="matched")n.push(Zo(Zo({},a.next),{},{x:Nt(a.prev.x,a.next.x,t),y:Nt(a.prev.y,a.next.y,t)}));else if(a.status==="added")if(a.next.x!=null){var o=a.next.x-r;n.push(Zo(Zo({},a.next),{},{x:Nt(o,a.next.x,t),y:a.next.y}))}else n.push(a.next);else if(a.status==="removed"&&a.prev.x!=null){var i=a.prev.x+r;n.push(Zo(Zo({},a.prev),{},{x:Nt(a.prev.x,i,t),y:a.prev.y}))}return n},GC={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sae,animationMatchBy:Pu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:WB,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:dt.line,type:"linear"},Aae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},kae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return St.createElement(os,{tooltipEntrySettings:f})});function Nae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.dot,o=n.dataKey,i=n.needClip,l=n.id,s=YC(n,pae),u=tr(s);return St.createElement(Vb,{points:r,dot:a,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:o,baseProps:u,needClip:i,clipPathId:t})}function Cae(e){var t=e.showLabels,r=e.children,n=e.points,a=(0,Yi.useMemo)(()=>n?.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Zo(Zo({},s),{},{value:o.value,payload:o.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return St.createElement(hf,{value:t?a:void 0},r)}function Eae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,a=e.props,o=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=a.type,c=a.layout,d=a.connectNulls,f=a.needClip,p=a.shape,m=a.strokeDasharray,g=YC(a,mae),h=Zo(Zo({},rr(g)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??a.strokeDasharray,pathRef:r,animationElapsedTime:o,isAnimating:i,isEntrance:a.animateNewValues?l:!1,visibleLength:s});return St.createElement(St.Fragment,null,n?.length>1&&St.createElement(as,{option:p,DefaultShape:GC.shape,shapeProps:h}),St.createElement(Nae,{points:n,clipPathId:t,props:a}))}function _ae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,a=e.previousPointsRef,o=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=bae(n.current),m=ls(r.onAnimationStart,r.onAnimationEnd),g=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,y=!g,b=HB(o),x=(0,Yi.useCallback)(S=>S>0&&p>0,[p]);return St.createElement(Cae,{points:o,showLabels:y},r.children,St.createElement(ss,{animationInput:o,animationIdPrefix:"recharts-line-",items:o,previousItemsRef:a,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,O)=>{var k=g||w<1,A=k?b(w,p):null;return St.createElement(Eae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:O,visibleLength:A})}),St.createElement(ns,{label:r.label}))}function Oae(e){var t=e.clipPathId,r=e.props,n=(0,Yi.useRef)(null),a=(0,Yi.useRef)(null);return St.createElement(_ae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:a})}var Tae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:Qe(e.payload,t)}},qC=class extends Yi.Component{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var g=Ue("recharts-line",o),h=f,v=Rb(n),y=v.r,b=v.strokeWidth,x=xf(n),S=y*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return St.createElement(Yt,{zIndex:m},St.createElement(bt,{className:g},p&&St.createElement("defs",null,St.createElement(Ef,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&St.createElement("clipPath",{id:"clipPath-dots-".concat(h)},St.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),St.createElement(Jb,{xAxisId:i,yAxisId:l,data:a,dataPointFormatter:Tae,errorBarOffset:0},St.createElement(Oae,{props:this.props,clipPathId:h}))),St.createElement(Nv,{activeDot:this.props.activeDot,points:a,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Mae(e){var t=lt(e,GC),r=t.activeDot,n=t.animateNewValues,a=t.animationBegin,o=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,h=YC(t,vae),v=Bu(p,m),y=v.needClip,b=cs(),x=Qn(),S=Et(),w=we(W=>QB(W,p,m,S,g));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var O=b.height,k=b.width,A=b.x,M=b.y;return St.createElement(qC,e1({},h,{id:g,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:a,animationDuration:o,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:O,width:k,left:A,top:M,needClip:y}))}function JB(e){var t=e.layout,r=e.xAxis,n=e.yAxis,a=e.xAxisTicks,o=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=Qe(u,i);if(t==="horizontal"){var f=Nd({axis:r,ticks:a,bandSize:l,entry:u,index:c}),p=ct(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=ct(d)?null:r.scale.map(d),g=Nd({axis:n,ticks:o,bandSize:l,entry:u,index:c});return m==null||g==null?null:{x:m,y:g,value:d,payload:u}}).filter(Boolean)}function Pae(e){var t=lt(e,GC),r=Et();return St.createElement(us,{id:t.id,type:"line"},n=>St.createElement(St.Fragment,null,St.createElement(wf,{legendPayload:Aae(t)}),St.createElement(kae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(kf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),St.createElement(Mae,e1({},t,{id:n}))))}var t1=St.memo(Pae,Jn);t1.displayName="Line";var ht=te(ne()),$u=te(ne());function no(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:$C}function ao(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(a=>a.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:$C}var e9=(e,t,r)=>_a(e,"xAxis",no(e,t),r),t9=(e,t,r)=>Ea(e,"xAxis",no(e,t),r),r9=(e,t,r)=>_a(e,"yAxis",ao(e,t),r),n9=(e,t,r)=>Ea(e,"yAxis",ao(e,t),r),Dae=J([qe,e9,r9,t9,n9],(e,t,r,n,a)=>wn(e,"xAxis")?Ya(t,n,!1):Ya(r,a,!1)),Iae=(e,t)=>t,XC=J([Xl,Iae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),a9=e=>{var t=qe(e),r=wn(t,"xAxis");return r?"yAxis":"xAxis"},jae=(e,t)=>{var r=a9(e);return r==="yAxis"?ao(e,t):no(e,t)},o9=(e,t,r)=>af(e,a9(e),jae(e,t),r),zae=J([XC,o9],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,a=Wl(e);if(!(n==null||a==null)){var o=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=o?.find(l=>l.key===a);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Lae=J([XC,o9],(e,t)=>{if(!(e==null||e.stackId==null||t==null)){var r=t[e.stackId];if(r!=null)return r.graphicalItems.map(n=>n.dataKey).filter(Yr)}}),i9=J([qe,e9,r9,t9,n9,zae,F0,Dae,XC,d6,Lae],(e,t,r,n,a,o,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||a==null||n.length===0||a.length===0||l==null)){var m=s.data,g;if(m&&m.length>0?g=m:g=d?.slice(f,p+1),g!=null)return l9({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:a,dataStartIndex:f,areaSettings:s,stackedData:o,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var Cn=te(ne());var Bae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],$ae=["id","baseLine"];function Dv(){return Dv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.y||0),c)),be(c)?Cn.createElement("rect",{x:ld.x||0));return be(a)?c=Math.max(a,c):a&&Array.isArray(a)&&a.length&&(c=Math.max(...a.map(d=>d.x||0),c)),be(c)?Cn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[_f(_f({},r.next),{},{x:Nt(r.prev.x,r.next.x,t),y:Nt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),f9={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Pu,animationInterpolateFn:Zae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:u9,xAxisId:0,yAxisId:0,zIndex:dt.area};function n1(e,t){return e&&e!=="none"?e:t}var Qae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,a=e.fill,o=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:o,color:n1(n,a),value:wa(r,t),payload:e}]},Jae=ht.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,a=e.strokeWidth,o=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Pn,settings:{stroke:n,strokeWidth:a,fill:o,dataKey:t,nameKey:void 0,name:wa(i,t),hide:l,type:c,color:n1(n,o),unit:s,formatter:u,graphicalItemId:d}};return ht.createElement(os,{tooltipEntrySettings:f})});function Rae(e){var t=e.clipPathId,r=e.points,n=e.props,a=n.needClip,o=n.dot,i=n.dataKey,l=tr(n);return ht.createElement(Vb,{points:r,dot:o,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:a,clipPathId:t})}function eoe(e){var t=e.showLabels,r=e.children,n=e.points,a=n.map(o=>{var i,l,s={x:(i=o.x)!==null&&i!==void 0?i:0,y:(l=o.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return _f(_f({},s),{},{value:o.value,payload:o.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return ht.createElement(hf,{value:t?a:void 0},r)}function toe(e){var t=e.points,r=e.baseLine,n=e.needClip,a=e.clipPathId,o=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=o.layout,c=o.type,d=o.stroke,f=o.connectNulls,p=o.isRange,m=o.shape,g=o.id,h=d9(o,Vae),v=rr(h),y=_f(_f({},v),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return ht.createElement(ht.Fragment,null,t?.length>1&&ht.createElement(bt,{clipPath:n?"url(#clipPath-".concat(a,")"):void 0},ht.createElement(as,{option:m,DefaultShape:f9.shape,shapeProps:y})),ht.createElement(Rae,{points:t,props:h,clipPathId:a}))}function roe(e,t,r){if(be(e)){var n=be(t)?t:void 0;return Nt(n,e,r)}if(ct(e)||nn(e)){var a=be(t)?t:void 0;return Nt(a,0,r)}return e}function noe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=e.previousPointsRef,o=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,$u.useMemo)(()=>({points:i,baseLine:l}),[i,l]),g=Lb(m,o),h=Id(),v=ls(n.onAnimationStart,n.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=wv(S,l,f):Array.isArray(l)?w=wv(null,l,f):w=null,ht.createElement(ss,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:a,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(O,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:roe(l,S,k),g.syncStepValue(M,k),ht.createElement(eoe,{showLabels:!y,points:i},n.children,ht.createElement(toe,{points:O,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:y||k<1,isEntrance:A}),ht.createElement(ns,{label:n.label}))})}function aoe(e){var t=e.needClip,r=e.clipPathId,n=e.props,a=(0,$u.useRef)(null),o=(0,$u.useRef)();return ht.createElement(noe,{needClip:t,clipPathId:r,props:n,previousPointsRef:a,previousBaselineRef:o})}var ZC=class extends $u.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,a=t.points,o=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,g=t.zIndex;if(r)return null;var h=Ue("recharts-area",o),v=p,y=Rb(n),b=y.r,x=y.strokeWidth,S=xf(n),w=b*2+x,O=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return ht.createElement(Yt,{zIndex:g},ht.createElement(bt,{className:h},s&&ht.createElement("defs",null,ht.createElement(Ef,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&ht.createElement("clipPath",{id:"clipPath-dots-".concat(v)},ht.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),ht.createElement(aoe,{needClip:s,clipPathId:v,props:this.props})),ht.createElement(Nv,{points:a,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}),this.props.isRange&&Array.isArray(m)&&ht.createElement(Nv,{points:m,mainColor:n1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:O}))}};function ooe(e){var t,r=e.activeDot,n=e.animationBegin,a=e.animationDuration,o=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,g=e.yAxisId,h=d9(e,Kae),v=Qn(),y=lb(),b=Bu(m,g),x=b.needClip,S=Et(),w=(t=we(Y=>i9(Y,e.id,S)))!==null&&t!==void 0?t:{},O=w.points,k=w.isRange,A=w.baseLine,M=cs();if(v!=="horizontal"&&v!=="vertical"||M==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var W=M.height,L=M.width,H=M.x,D=M.y;return!O||!O.length?null:ht.createElement(ZC,r1({},h,{activeDot:r,animationBegin:n,animationDuration:a,animationEasing:o,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:W,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:O,stroke:p,width:L,left:H,top:D,xAxisId:m,yAxisId:g}))}var ioe=(e,t,r,n,a)=>{var o=r??t;if(be(o))return o;var i=e==="horizontal"?a:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return o==="dataMin"?u:o==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return o==="dataMin"?l[0]:o==="dataMax"?l[1]:l[0]};function l9(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,a=t.dataKey,o=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,g=e.stackDataKeys,h=o&&o.length,v=ioe(i,l,n,s,u),y=i==="horizontal",b=!1,x=c.map((w,O)=>{var k,A,M,W;if(h)W=o[d+O];else{var L=Qe(w,a);Array.isArray(L)?(W=L,b=!0):W=[v,L]}var H=(k=(A=W)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,D=Qe(w,a),Y=h&&D==null&&g!=null&&g.length>0&&g.every(z=>Qe(w,z)==null),N=H==null||h&&!r&&D==null||Y;if(y){var _;return{x:Nd({axis:s,ticks:f,bandSize:m,entry:w,index:O}),y:N?null:(_=u.scale.map(H))!==null&&_!==void 0?_:null,value:W,payload:w}}return{x:N?null:(M=s.scale.map(H))!==null&&M!==void 0?M:null,y:Nd({axis:u,ticks:p,bandSize:m,entry:w,index:O}),value:W,payload:w}}),S;return h||b?S=x.map(w=>{var O,k=Array.isArray(w.value)?w.value[0]:null;if(y){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(O=s.scale.map(k))!==null&&O!==void 0?O:null,y:w.y,payload:w.payload}}):S=y?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function loe(e){var t=lt(e,f9),r=Et();return ht.createElement(us,{id:t.id,type:"area"},n=>ht.createElement(ht.Fragment,null,ht.createElement(wf,{legendPayload:Qae(t)}),ht.createElement(Jae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),ht.createElement(kf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:f0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),ht.createElement(ooe,r1({},t,{id:n}))))}var Gi=ht.memo(loe,Jn);Gi.displayName="Area";var ot=te(ne()),Co=te(ne());var m9=te(ne());var soe=!0,QC="Invariant failed";function p9(e,t){if(!e){if(soe)throw new Error(QC);var r=typeof t=="function"?t():t,n=r?"".concat(QC,": ").concat(r):QC;throw new Error(n)}}var uoe=["option"];function coe(e,t){if(e==null)return{};var r,n,a=doe(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,a)=>{if(be(t))return t;var o=be(n)||ct(n);return o?t(n,a):(o||p9(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var foe=(e,t,r)=>r,poe=(e,t)=>t,Iv=J([Xl,poe],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),moe=J([Iv],e=>e?.maxBarSize),voe=(e,t,r,n)=>n,goe=J([qe,Xl,no,ao,foe],(e,t,r,n,a)=>t.filter(o=>e==="horizontal"?o.xAxisId===r:o.yAxisId===n).filter(o=>o.isPanorama===a).filter(o=>o.hide===!1).filter(o=>o.type==="bar")),yoe=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null))return n==="horizontal"?af(e,"yAxis",o,r):af(e,"xAxis",a,r)},hoe=(e,t)=>{var r=qe(e),n=no(e,t),a=ao(e,t);if(!(n==null||a==null))return r==="horizontal"?RN(e,"xAxis",n):RN(e,"yAxis",a)},xoe=J([goe,c6,hoe],rB),boe=(e,t,r)=>{var n,a,o=Iv(e,t);if(o==null)return 0;var i=no(e,t),l=ao(e,t);if(i==null||l==null)return 0;var s=qe(e),u=Wk(e),c=o.maxBarSize,d=ct(c)?u:c,f,p;return s==="horizontal"?(f=_a(e,"xAxis",i,r),p=Ea(e,"xAxis",i,r)):(f=_a(e,"yAxis",l,r),p=Ea(e,"yAxis",l,r)),(n=(a=Ya(f,p,!0))!==null&&a!==void 0?a:d)!==null&&n!==void 0?n:0},g9=(e,t,r)=>{var n=qe(e),a=no(e,t),o=ao(e,t);if(!(a==null||o==null)){var i,l;return n==="horizontal"?(i=_a(e,"xAxis",a,r),l=Ea(e,"xAxis",a,r)):(i=_a(e,"yAxis",o,r),l=Ea(e,"yAxis",o,r)),Ya(i,l)}},woe=J([xoe,Wk,u6,q0,boe,g9,moe],aB),Soe=(e,t,r)=>{var n=no(e,t);if(n!=null)return _a(e,"xAxis",n,r)},Aoe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return _a(e,"yAxis",n,r)},koe=(e,t,r)=>{var n=no(e,t);if(n!=null)return Ea(e,"xAxis",n,r)},Noe=(e,t,r)=>{var n=ao(e,t);if(n!=null)return Ea(e,"yAxis",n,r)},Coe=J([woe,Iv],iB),Eoe=J([yoe,Iv],oB),y9=J([jt,Od,Soe,Aoe,koe,Noe,Coe,qe,F0,g9,Eoe,Iv,voe],(e,t,r,n,a,o,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,g=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||a==null||o==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,g+1),v!=null)return h9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:a,yAxisTicks:o,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var RC=te(ne()),Of=te(ne());var _oe=["index"];function JC(){return JC=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Of.useContext)(x9);if(t!=null)return t.stackId;if(e!=null)return f0(e)};var Moe=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Poe=e=>{var t=(0,Of.useContext)(x9);if(t!=null){var r=t.stackId;return"url(#".concat(Moe(r,e),")")}},eE=e=>{var t=e.index,r=Ooe(e,_oe),n=Poe(t);return RC.createElement(bt,JC({className:"recharts-bar-stack-layer",clipPath:n},r))};var Doe=["onMouseEnter","onMouseLeave","onClick"],Ioe=["value","background","tooltipPosition"],joe=["id"],zoe=["onMouseEnter","onClick","onMouseLeave"];function w9(e,t){return Uoe(e)||$oe(e,t)||Boe(e,t)||Loe()}function Loe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Boe(e,t){if(e){if(typeof e=="string")return S9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?S9(e,t):void 0}}function S9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,a=e.legendType,o=e.hide;return[{inactive:o,dataKey:t,type:a,color:n,value:wa(r,t),payload:e}]},qoe=ot.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,a=e.fill,o=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Pn,settings:{stroke:r,strokeWidth:n,fill:a,dataKey:t,nameKey:void 0,name:wa(o,t),hide:i,type:u,color:a,unit:l,formatter:s,graphicalItemId:c}};return ot.createElement(os,{tooltipEntrySettings:d})});function Yoe(e){var t=we(Ra),r=e.data,n=e.dataKey,a=e.background,o=e.allOtherBarProps,i=o.onMouseEnter,l=o.onMouseLeave,s=o.onClick,u=i1(o,Doe),c=gv(i,n,o.id),d=yv(l),f=hv(s,n,o.id);if(!a||r==null)return null;var p=ga(a);return ot.createElement(Yt,{zIndex:lB(a,dt.barBackground)},r.map((m,g)=>{var h=m.value,v=m.background,y=m.tooltipPosition,b=i1(m,Ioe);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),O=Zr(Zr(Zr(Zr(Zr({option:a,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),Ei(u,m,g)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:g,className:"recharts-bar-background-rectangle"});return ot.createElement(o1,ds({key:"background-bar-".concat(g)},O))}))}function Goe(e){var t=e.showLabels,r=e.children,n=e.rects,a=n?.map(o=>{var i={x:o.x,y:o.y,width:o.width,lowerWidth:o.width,upperWidth:o.width,height:o.height};return Zr(Zr({},i),{},{value:o.value,payload:o.payload,parentViewBox:o.parentViewBox,viewBox:i,fill:o.fill})});return ot.createElement(hf,{value:t?a:void 0},r)}function Xoe(e){var t=e.shape,r=e.activeBar,n=e.baseProps,a=e.entry,o=e.index,i=e.dataKey,l=we(Ra),s=we(uf),u=r&&String(a.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(a.originalDataIndex)!==l||s!=null&&i!==s),d=(0,Co.useState)(!1),f=w9(d,2),p=f[0],m=f[1],g=(0,Co.useState)(!1),h=w9(g,2),v=h[0],y=h[1];(0,Co.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{y(!0)})):(y(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,Co.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var O=ot.createElement(o1,ds({},n,{name:String(n.name)},a,{isActive:x,option:w,index:o,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ot.createElement(Yt,{zIndex:dt.activeBar},ot.createElement(eE,{index:a.originalDataIndex},O)):O}function Zoe(e){var t=e.shape,r=e.baseProps,n=e.entry,a=e.index,o=e.dataKey;return ot.createElement(o1,ds({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:a,dataKey:o,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Qoe(e){var t,r=e.data,n=e.props,a=e.animationElapsedTime,o=e.isAnimating,i=e.isEntrance,l=(t=tr(n))!==null&&t!==void 0?t:{},s=l.id,u=i1(l,joe),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,g=n.onMouseLeave,h=i1(n,zoe),v=gv(p,d,s),y=yv(g),b=hv(m,d,s);return r?ot.createElement(ot.Fragment,null,r.map((x,S)=>ot.createElement(eE,ds({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},Ei(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:y(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ot.createElement(Xoe,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i}):ot.createElement(Zoe,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:a,isAnimating:o,isEntrance:i})))):null}var Joe=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[Zr(Zr({},n.prev),{},{height:Nt(n.prev.height,0,t),y:Nt(n.prev.y,n.prev.y+n.prev.height,t)})]:[Zr(Zr({},n.prev),{},{width:Nt(n.prev.width,0,t)})];if(n.status==="matched")return[Zr(Zr({},n.next),{},{x:Nt(n.prev.x,n.next.x,t),y:Nt(n.prev.y,n.next.y,t),width:Nt(n.prev.width,n.next.width,t),height:Nt(n.prev.height,n.next.height,t)})];var a=n.next;return r==="horizontal"?[Zr(Zr({},a),{},{height:Nt(0,a.height,t),y:Nt(a.stackedBarStart,a.y,t)})]:[Zr(Zr({},a),{},{width:Nt(0,a.width,t),x:Nt(a.stackedBarStart,a.x,t)})]});function Roe(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,a=t.isAnimationActive,o=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ls(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ot.createElement(Goe,{showLabels:!d,rects:n},ot.createElement(ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:a,animationBegin:o,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,g,h)=>ot.createElement(bt,null,ot.createElement(Qoe,{props:t,data:m,animationElapsedTime:g,isAnimating:d||g<1,isEntrance:h}))),ot.createElement(ns,{label:t.label}),t.children)}function eie(e){var t=(0,Co.useRef)(null);return ot.createElement(Roe,{previousRectanglesRef:t,props:e})}var k9=0,tie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:Qe(e,t)}},tE=class extends Co.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,a=t.dataKey,o=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=Ue("recharts-bar",o),f=c;return ot.createElement(bt,{className:d,id:c},s&&ot.createElement("defs",null,ot.createElement(Ef,{clipPathId:f,xAxisId:i,yAxisId:l})),ot.createElement(bt,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ot.createElement(Yoe,{data:n,dataKey:a,background:u,allOtherBarProps:this.props}),ot.createElement(eie,this.props)))}},rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Joe,animationMatchBy:bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:k9,shape:a1,xAxisId:0,yAxisId:0,zIndex:dt.bar};function nie(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,a=e.legendType,o=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=Bu(t,r),f=d.needClip,p=Qn(),m=Et(),g=mv(e.children,Wi),h=we(b=>y9(b,e.id,m,g));if(p!=="vertical"&&p!=="horizontal")return null;var v,y=h?.[0];return y==null||y.height==null||y.width==null?v=0:v=p==="vertical"?y.height/2:y.width/2,ot.createElement(Jb,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:tie,errorBarOffset:v},ot.createElement(tE,ds({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:a,minPointSize:o,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function h9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,a=r.minPointSize,o=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,g=e.cells,h=e.parentViewBox,v=e.dataStartIndex,y=t==="horizontal"?u:s,b=f?y.scale.domain():null,x=sD({numericAxis:y}),S=y.scale.map(x);return p.map((w,O)=>{var k,A,M,W,L,H;if(f){var D=f[O+v];if(D==null)return null;k=iD(D,b)}else k=Qe(w,n),Array.isArray(k)||(k=[x,k]);var Y=v9(a,k9)(k[1],O);if(t==="horizontal"){var N,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=yk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:O}),M=(N=z??_)!==null&&N!==void 0?N:void 0,W=i.size;var j=_-z;if(L=nn(j)?0:j,H={x:A,y:m.top,width:W,height:m.height},Math.abs(Y)>0&&Math.abs(L)0&&Math.abs(W)ot.createElement(ot.Fragment,null,ot.createElement(wf,{legendPayload:Koe(t)}),ot.createElement(qoe,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:a}),ot.createElement(kf,{type:"bar",id:a,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==a1}),ot.createElement(Yt,{zIndex:t.zIndex},ot.createElement(nie,ds({},t,{id:a})))))}var l1=ot.memo(aie,Jn);l1.displayName="Bar";var Xi=te(ne()),oo=te(ne());var oie=["domain","range"],iie=["domain","range"];function N9(e,t){if(e==null)return{};var r,n,a=lie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return _9(_9({},o),{},{type:i})},[o,i]);return(0,oo.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(FL(l)):r.current!==l&&t(WL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,oo.useLayoutEffect)(()=>()=>{r.current&&(t(HL(r.current)),r.current=null)},[t]),null}var gie=e=>{var t=e.xAxisId,r=e.className,n=e.height,a=e.label,o=(0,oo.useRef)(null),i=(0,oo.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="xAxis",d=we(w=>Gx(w,c,t,s)),f=we(w=>QN(w,t)),p=we(w=>RI(w,t)),m=we(w=>_N(w,t));if((0,oo.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Mu(a)||(0,oo.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedHeight();Math.round(f.height)!==Math.round(O)&&u(GL({id:t,height:O}))}}},[d,f,u,a,t,n,m]),f==null||p==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=nE(e,uie),b=m.id,x=m.scale,S=nE(m,cie);return Xi.createElement(Mv,rE({},y,S,{ref:o,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},yie={allowDataOverflow:Mr.allowDataOverflow,allowDecimals:Mr.allowDecimals,allowDuplicatedCategory:Mr.allowDuplicatedCategory,angle:Mr.angle,axisLine:ro.axisLine,height:Mr.height,hide:!1,includeHidden:Mr.includeHidden,interval:Mr.interval,label:!1,minTickGap:Mr.minTickGap,mirror:Mr.mirror,orientation:Mr.orientation,padding:Mr.padding,reversed:Mr.reversed,scale:Mr.scale,tick:Mr.tick,tickCount:Mr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Mr.type,niceTicks:Mr.niceTicks,xAxisId:0},hie=e=>{var t=lt(e,yie);return Xi.createElement(Xi.Fragment,null,Xi.createElement(vie,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),Xi.createElement(gie,t))},Zi=Xi.memo(hie,s1);Zi.displayName="XAxis";var Qi=te(ne()),io=te(ne());var xie=["type"],bie=["dangerouslySetInnerHTML","ticks","scale"],wie=["id","scale"];function aE(){return aE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return T9(T9({},o),{},{type:i})},[i,o]);return(0,io.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(VL(l)):r.current!==l&&t(KL({prev:r.current,next:l})),r.current=l)},[l,t]),(0,io.useLayoutEffect)(()=>()=>{r.current&&(t(qL(r.current)),r.current=null)},[t]),null}function Eie(e){var t=e.yAxisId,r=e.className,n=e.width,a=e.label,o=(0,io.useRef)(null),i=(0,io.useRef)(null),l=we(Od),s=Et(),u=Ve(),c="yAxis",d=we(w=>JN(w,t)),f=we(w=>ej(w,t)),p=we(w=>Gx(w,c,t,s)),m=we(w=>ON(w,t));if((0,io.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Mu(a)||(0,io.isValidElement)(a)||m==null)){var w=o.current;if(w){var O=w.getCalculatedWidth();Math.round(d.width)!==Math.round(O)&&u(YL({id:t,width:O}))}}},[p,d,u,a,t,n,m]),d==null||f==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=oE(e,bie),b=m.id,x=m.scale,S=oE(m,wie);return Qi.createElement(Mv,aE({},y,S,{ref:o,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:Ue("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var _ie={allowDataOverflow:Pr.allowDataOverflow,allowDecimals:Pr.allowDecimals,allowDuplicatedCategory:Pr.allowDuplicatedCategory,angle:Pr.angle,axisLine:ro.axisLine,hide:!1,includeHidden:Pr.includeHidden,interval:Pr.interval,label:!1,minTickGap:Pr.minTickGap,mirror:Pr.mirror,orientation:Pr.orientation,padding:Pr.padding,reversed:Pr.reversed,scale:Pr.scale,tick:Pr.tick,tickCount:Pr.tickCount,tickLine:ro.tickLine,tickSize:ro.tickSize,type:Pr.type,niceTicks:Pr.niceTicks,width:Pr.width,yAxisId:0},Oie=e=>{var t=lt(e,_ie);return Qi.createElement(Qi.Fragment,null,Qi.createElement(Cie,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),Qi.createElement(Eie,t))},Ji=Qi.memo(Oie,s1);Ji.displayName="YAxis";var n7=te(ne()),a7=te(ne());var Ku=te(ne()),r7=te(ne());var K9=te(ne()),q9=te(ne());var Tie=(e,t)=>t,jv=J([Tie,qe,ex,Tr,sC,ta,Pj,jt],Bj);function Mie(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function zv(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Mie(e)){var a=e.currentTarget.getBBox();r=a.width>0?t.width/a.width:1,n=a.height>0?t.height/a.height:1}else{var o=e.currentTarget;r=o.offsetWidth>0?t.width/o.offsetWidth:1,n=o.offsetHeight>0?t.height/o.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var lE=Fr("mouseClick"),sE=Pi();sE.startListening({actionCreator:lE,effect:(e,t)=>{var r=e.payload,n=jv(t.getState(),zv(r));n?.activeIndex!=null&&t.dispatch(dj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var u1=Fr("mouseMove"),uE=Pi(),Tf=null,Uu=null,iE=null;uE.startListening({actionCreator:u1,effect:(e,t)=>{var r=e.payload,n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i?.includes("mousemove");Tf!==null&&(cancelAnimationFrame(Tf),Tf=null),Uu!==null&&(typeof o!="number"||!l)&&(clearTimeout(Uu),Uu=null),iE=zv(r);var s=()=>{var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(!iE){Tf=null,Uu=null;return}if(c==="axis"){var d=jv(u,iE);d?.activeIndex!=null?t.dispatch(Jx({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Qx())}Tf=null,Uu=null};if(!l){s();return}o==="raf"?Tf=requestAnimationFrame(s):typeof o=="number"&&Uu===null&&(Uu=setTimeout(s,o))}});function M9(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var P9={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},D9=Ct({name:"rootProps",initialState:P9,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:P9.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),I9=D9.reducer,j9=D9.actions.updateOptions;var Pie=null,Die={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},z9=Ct({name:"polarOptions",initialState:Pie,reducers:Die}),L9=z9.actions.updatePolarOptions;var B9=z9.reducer;var cE=Fr("keyDown"),dE=Fr("focus"),fE=Fr("blur"),Lv=Pi(),Mf=null,Fu=null,c1=null;Lv.startListening({actionCreator:cE,effect:(e,t)=>{c1=e.payload,Mf!==null&&(cancelAnimationFrame(Mf),Mf=null);var r=t.getState(),n=r.eventSettings,a=n.throttleDelay,o=n.throttledEvents,i=o==="all"||o.includes("keydown");Fu!==null&&(typeof a!="number"||!i)&&(clearTimeout(Fu),Fu=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=c1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=Ql(c,Fi(s),Li(s),Rl(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,g=ta(s),h=Fi(s),v=Zl(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var y=dv(s,v,"hover",String(c.index));t.dispatch(uv({active:!c.active,activeIndex:c.index,activeCoordinate:y}));return}var b=tj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var O=Li(s),k=Rl(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var W=0;W=0;L--)if(Ql(M(L),h,O,k)!=null){w=L;break}if(w<0)return}else{w=p+S*x;var H=g?.length||h.length;if(H===0||w>=H||w<0)return}var D=dv(s,v,"hover",String(w));t.dispatch(uv({active:!0,activeIndex:w.toString(),activeCoordinate:D}))}finally{Mf=null,Fu=null}};if(!i){l();return}a==="raf"?Mf=requestAnimationFrame(l):typeof a=="number"&&Fu===null&&(l(),c1=null,Fu=setTimeout(()=>{c1?l():(Fu=null,Mf=null)},a))}});Lv.startListening({actionCreator:dE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;if(!a.active&&a.index==null){var o="0",i=Zl(r,r.tooltip.settings.shared),l=dv(r,i,"hover",String(o));t.dispatch(uv({active:!0,activeIndex:o,activeCoordinate:l}))}}}});Lv.startListening({actionCreator:fE,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var a=r.tooltip.keyboardInteraction;a.active&&t.dispatch(uv({active:!1,activeIndex:a.index,activeCoordinate:a.coordinate}))}}});function d1(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var a=Reflect.get(r,n);return typeof a=="function"?a.bind(r):a}})}var Oa=Fr("externalEvent"),mE=Pi(),f1=new Map,Bv=new Map,pE=new Map;mE.startListening({actionCreator:Oa,effect:(e,t)=>{var r=e.payload,n=r.handler,a=r.reactEvent;if(n!=null){var o=a.type,i=d1(a);pE.set(o,{handler:n,reactEvent:i});var l=f1.get(o);l!==void 0&&(cancelAnimationFrame(l),f1.delete(o));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(o),m=Bv.get(o);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),Bv.delete(o));var g=()=>{var y=pE.get(o);try{if(!y)return;var b=y.handler,x=y.reactEvent,S=t.getState(),w={activeCoordinate:fC(S),activeDataKey:uf(S),activeIndex:Ra(S),activeLabel:ob(S),activeTooltipIndex:Ra(S),isTooltipActive:pC(S)};b&&b(w,x)}finally{f1.delete(o),Bv.delete(o),pE.delete(o)}};if(!p){g();return}if(c==="raf"){var h=requestAnimationFrame(g);f1.set(o,h)}else if(typeof c=="number"){if(!Bv.has(o)){g();var v=setTimeout(g,c);Bv.set(o,v)}}else g()}}});var Iie=J([Ui],e=>e.tooltipItemPayloads),$9=J([Iie,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(o=>o.settings.graphicalItemId===r);if(n!=null){var a=n.getPosition;if(a!=null)return a(t)}}});var vE=Fr("touchMove"),gE=Pi(),Wu=null,fs=null,U9=null,$v=null;gE.startListening({actionCreator:vE,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){$v=d1(r);var n=t.getState(),a=n.eventSettings,o=a.throttleDelay,i=a.throttledEvents,l=i==="all"||i.includes("touchmove");Wu!==null&&(cancelAnimationFrame(Wu),Wu=null),fs!==null&&(typeof o!="number"||!l)&&(clearTimeout(fs),fs=null),U9=Array.from(r.touches).map(u=>zv({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if($v!=null){var u=t.getState(),c=Zl(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=U9)===null||d===void 0?void 0:d[0];if(f==null){Wu=null,fs=null;return}var p=jv(u,f);p?.activeIndex!=null&&t.dispatch(Jx({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,g=$v.touches[0];if(document.elementFromPoint==null||g==null)return;var h=document.elementFromPoint(g.clientX,g.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute(p0),y=(m=h.getAttribute(m0))!==null&&m!==void 0?m:void 0,b=Jl(u).find(w=>w.id===y);if(v==null||b==null||y==null)return;var x=b.dataKey,S=$9(u,v,y);t.dispatch(Zx({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:y}))}Wu=null,fs=null}};if(!l){s();return}o==="raf"?Wu=requestAnimationFrame(s):typeof o=="number"&&fs===null&&(s(),$v=null,fs=setTimeout(()=>{$v?s():(fs=null,Wu=null)},o))}}});var Uv={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},F9=Ct({name:"eventSettings",initialState:Uv,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=tt(t.payload.throttledEvents))}}}),W9=F9.actions.setEventSettings;var H9=F9.reducer;var jie=Fh({brush:dB,cartesianAxis:XL,chartData:sz,errorBars:KB,eventSettings:H9,graphicalItems:IL,layout:nD,legend:OD,options:nz,polarAxis:rL,polarOptions:B9,referenceElements:mB,renderedTicks:MB,rootProps:I9,tooltip:fj,zIndex:Yj}),V9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return $P({reducer:jie,preloadedState:t,middleware:n=>{var a;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((a="es6")!==null&&a!==void 0?a:"")}).concat([sE.middleware,uE.middleware,Lv.middleware,mE.middleware,gE.middleware])},enhancers:n=>{var a=n;return typeof n=="function"&&(a=n()),a.concat(dk({type:"raf"}))},devTools:Ga.devToolsEnabled&&{serialize:{replacer:M9},name:"recharts-".concat(r)}})};function p1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,a=Et(),o=(0,q9.useRef)(null);if(a)return r;o.current==null&&(o.current=V9(t,n));var i=um;return K9.createElement(LD,{context:i,store:o.current},r)}var m1=te(ne());function zie(e){var t=e.layout,r=e.margin,n=Ve(),a=Et();return(0,m1.useEffect)(()=>{a||(n(eD(t)),n(mk(r)))},[n,a,t,r]),null}var v1=(0,m1.memo)(zie,Jn);var Y9=te(ne());function g1(e){var t=Ve();return(0,Y9.useEffect)(()=>{t(j9(e))},[t,e]),null}var y1=te(ne());var Lie=e=>{var t=Ve();return(0,y1.useEffect)(()=>{t(W9(e))},[t,e]),null},h1=(0,y1.memo)(Lie,Jn);var Ri=te(ne()),e7=te(ne());var Vu=te(ne()),hE=te(ne());var Hu=te(ne()),x1=te(ne());function G9(e){var t=e.zIndex,r=e.isPanorama,n=(0,x1.useRef)(null),a=Ve();return(0,x1.useLayoutEffect)(()=>(n.current&&a(Kj({zIndex:t,element:n.current,isPanorama:r})),()=>{a(qj({zIndex:t,isPanorama:r}))}),[a,t,r]),Hu.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function yE(e){var t=e.children,r=e.isPanorama,n=we(Uj);if(!n||n.length===0)return t;var a=n.filter(i=>i<0),o=n.filter(i=>i>0);return Hu.createElement(Hu.Fragment,null,a.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})),t,o.map(i=>Hu.createElement(G9,{key:i,zIndex:i,isPanorama:r})))}var Bie=["children"];function $ie(e,t){if(e==null)return{};var r,n,a=Uie(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Pd(),n=Dd(),a=N0();if(!Xn(r)||!Xn(n))return null;var o=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=a?0:void 0,typeof i.role=="string"?c=i.role:c=a?"application":void 0),Vu.createElement(tm,b1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Fie,ref:t}),o)}),Hie=e=>{var t=e.children,r=we(tu);if(!r)return null;var n=r.width,a=r.height,o=r.y,i=r.x;return Vu.createElement(tm,{width:n,height:a,x:i,y:o},t)},xE=(0,hE.forwardRef)((e,t)=>{var r=e.children,n=$ie(e,Bie),a=Et();return a?Vu.createElement(Hie,null,Vu.createElement(yE,{isPanorama:!0},r)):Vu.createElement(Wie,b1({ref:t},n),Vu.createElement(yE,{isPanorama:!1},r))});var dr=te(ne()),gt=te(ne());var w1=te(ne());function Vie(e,t){return Gie(e)||Yie(e,t)||qie(e,t)||Kie()}function Kie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qie(e,t){if(e){if(typeof e=="string")return X9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?X9(e,t):void 0}}function X9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;He(l)&&l!==o&&e(rD(l))}},[n,e,o]),a}function Q9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Xie(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(cz(),null);function A1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var ale=(0,gt.forwardRef)((e,t)=>{var r,n,a=(0,gt.useRef)(null),o=(0,gt.useState)({containerWidth:A1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:A1((n=e.style)===null||n===void 0?void 0:n.height)}),i=S1(o,2),l=i[0],s=i[1],u=(0,gt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),g=Math.round(f);return p.containerWidth===m&&p.containerHeight===g?p:{containerWidth:m,containerHeight:g}})},[]),c=(0,gt.useCallback)(d=>{if(typeof t=="function"&&t(d),a.current!=null&&(a.current.disconnect(),a.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,m=f.height;u(p,m);var g=v=>{var y=v[0];if(y!=null){var b=y.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(g);h.observe(d),a.current=h}},[t,u]);return(0,gt.useEffect)(()=>()=>{var d=a.current;d?.disconnect()},[u]),dr.createElement(dr.Fragment,null,dr.createElement(au,{width:l.containerWidth,height:l.containerHeight}),dr.createElement("div",ps({ref:c},e)))}),ole=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height,a=(0,gt.useState)({containerWidth:A1(r),containerHeight:A1(n)}),o=S1(a,2),i=o[0],l=o[1],s=(0,gt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,gt.useCallback)(c=>{if(typeof t=="function"&&t(c),c!=null){var d=c.getBoundingClientRect(),f=d.width,p=d.height;s(f,p)}},[t,s]);return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:i.containerWidth,height:i.containerHeight}),dr.createElement("div",ps({ref:u},e)))}),ile=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))}),lle=(0,gt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?dr.createElement(ole,ps({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?dr.createElement(ile,ps({},e,{width:r,height:n,ref:t})):dr.createElement(dr.Fragment,null,dr.createElement(au,{width:r,height:n}),dr.createElement("div",ps({ref:t},e)))});function sle(e){return e?ale:lle}var R9=(0,gt.forwardRef)((e,t)=>{var r=e.children,n=e.className,a=e.height,o=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,g=e.onTouchStart,h=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,gt.useRef)(null),w=Ve(),O=(0,gt.useState)(null),k=S1(O,2),A=k[0],M=k[1],W=(0,gt.useState)(null),L=S1(W,2),H=L[0],D=L[1],Y=Z9(),N=xm(),_=N?.width>0?N.width:v,z=N?.height>0?N.height:a,j=(0,gt.useCallback)(X=>{Y(X),typeof t=="function"&&t(X),M(X),D(X),X!=null&&(S.current=X)},[Y,t,M,D]),P=(0,gt.useCallback)(X=>{w(lE(X)),w(Oa({handler:o,reactEvent:X}))},[w,o]),B=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:u,reactEvent:X}))},[w,u]),R=(0,gt.useCallback)(X=>{w(Qx()),w(Oa({handler:c,reactEvent:X}))},[w,c]),F=(0,gt.useCallback)(X=>{w(u1(X)),w(Oa({handler:d,reactEvent:X}))},[w,d]),G=(0,gt.useCallback)(()=>{w(dE())},[w]),ee=(0,gt.useCallback)(()=>{w(fE())},[w]),fe=(0,gt.useCallback)(X=>{w(cE(X.key))},[w]),de=(0,gt.useCallback)(X=>{w(Oa({handler:i,reactEvent:X}))},[w,i]),De=(0,gt.useCallback)(X=>{w(Oa({handler:l,reactEvent:X}))},[w,l]),le=(0,gt.useCallback)(X=>{w(Oa({handler:s,reactEvent:X}))},[w,s]),Te=(0,gt.useCallback)(X=>{w(Oa({handler:f,reactEvent:X}))},[w,f]),K=(0,gt.useCallback)(X=>{w(Oa({handler:g,reactEvent:X}))},[w,g]),I=(0,gt.useCallback)(X=>{x&&w(vE(X)),w(Oa({handler:m,reactEvent:X}))},[w,x,m]),C=(0,gt.useCallback)(X=>{w(Oa({handler:p,reactEvent:X}))},[w,p]),T=sle(y);return dr.createElement(wC.Provider,{value:A},dr.createElement(sA.Provider,{value:H},dr.createElement(T,{width:_??h?.width,height:z??h?.height,className:Ue("recharts-wrapper",n),style:Xie({position:"relative",cursor:"default",width:_,height:z},h),onClick:P,onContextMenu:de,onDoubleClick:De,onFocus:G,onBlur:ee,onKeyDown:fe,onMouseDown:le,onMouseEnter:B,onMouseLeave:R,onMouseMove:F,onMouseUp:Te,onTouchEnd:C,onTouchMove:I,onTouchStart:K,ref:j},dr.createElement(nle,null),r)))});var ule=["width","height","responsive","children","className","style","compact","title","desc"];function cle(e,t){if(e==null)return{};var r,n,a=dle(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,a=e.responsive,o=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=cle(e,ule),f=tr(d);return s?Ri.createElement(Ri.Fragment,null,Ri.createElement(au,{width:r,height:n}),Ri.createElement(xE,{otherAttributes:f,title:u,desc:c},o)):Ri.createElement(R9,{className:i,style:l,width:r,height:n,responsive:a??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},Ri.createElement(xE,{otherAttributes:f,title:u,desc:c,ref:t},Ri.createElement(gB,null,o)))});function bE(){return bE=Object.assign?Object.assign.bind():function(e){for(var t=1;tn7.createElement(Pf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:hle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var o7=te(ne()),i7=te(ne());var xle=["axis","item"],SE=(0,i7.forwardRef)((e,t)=>o7.createElement(Pf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:xle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var m7=te(ne()),v7=te(ne());var c7=te(ne()),ms=te(ne());var l7=te(ne());function s7(e){var t=Ve();return(0,l7.useEffect)(()=>{t(L9(e))},[t,e]),null}var ble=["layout"];function AE(){return AE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=lt(e,Ple);return m7.createElement(d7,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Mle,tooltipPayloadSearcher:es,categoricalChartProps:r,ref:t})});var g7=te(ne()),y7=te(ne());var Dle=["axis"],vs=(0,y7.forwardRef)((e,t)=>g7.createElement(Pf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Dle,tooltipPayloadSearcher:es,categoricalChartProps:e,ref:t}));var lo=te(ne()),Df=[{id:"5m",label:"5m",minutes:5,bucketSeconds:10},{id:"10m",label:"10m",minutes:10,bucketSeconds:20},{id:"15m",label:"15m",minutes:15,bucketSeconds:30},{id:"30m",label:"30m",minutes:30,bucketSeconds:60},{id:"45m",label:"45m",minutes:45,bucketSeconds:60},{id:"1h",label:"1h",minutes:60,bucketSeconds:120},{id:"2h",label:"2h",minutes:120,bucketSeconds:240},{id:"3h",label:"3h",minutes:180,bucketSeconds:300},{id:"6h",label:"6h",minutes:360,bucketSeconds:600},{id:"12h",label:"12h",minutes:720,bucketSeconds:1200},{id:"1d",label:"1d",minutes:1440,bucketSeconds:1800},{id:"3d",label:"3d",minutes:4320,bucketSeconds:7200},{id:"7d",label:"7d",minutes:10080,bucketSeconds:14400},{id:"30d",label:"30d",minutes:43200,bucketSeconds:86400},{id:"90d",label:"90d",minutes:129600,bucketSeconds:259200}],h7="30m",x7="activeagents.timeWindow",b7=(0,lo.createContext)(null),CE=e=>Df.find(t=>t.id===e);function w7({children:e}){let[t,r]=(0,lo.useState)(()=>{try{let o=localStorage.getItem(x7);if(o&&CE(o))return o}catch{}return h7}),n=(0,lo.useCallback)(o=>{if(CE(o)){r(o);try{localStorage.setItem(x7,o)}catch{}}},[]),a=(0,lo.useMemo)(()=>{let o=Df.findIndex(l=>l.id===t),i=Df[o]||CE(h7);return{timeWindow:i,windowIndex:o,windows:Df,setWindow:n,zoomTo:l=>{let s=Df[Math.min(Math.max(l,0),Df.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return lo.default.createElement(b7.Provider,{value:a},e)}function Qo(){let e=(0,lo.useContext)(b7);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var If=te(ne());function Jo({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:a,zoomTo:o}=Qo(),{darkMode:i}=kt(),l=Fa(i),s={color:l.textSecondary};return If.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},If.default.createElement("button",{onClick:()=>o(r-1),disabled:r<=0,title:"Zoom in (shorter window)","aria-label":"Zoom in",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"\u2212"),If.default.createElement("select",{value:n.id,onChange:u=>a(u.target.value),"aria-label":"Time window",className:`aa-field px-2 py-1 mx-1 text-sm rounded-md shadow ${e?"":"min-w-[4.5rem]"}`,style:{background:l.cardBg,color:l.textPrimary,border:`1px solid ${l.cardBorder}`}},t.map(u=>If.default.createElement("option",{key:u.id,value:u.id},u.label))),If.default.createElement("button",{onClick:()=>o(r+1),disabled:r>=t.length-1,title:"Zoom out (longer window)","aria-label":"Zoom out",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"+"))}var jr=te(ne());var Vt=te(ne());var Fv=e=>{let t=(e||"").toLowerCase();return t.includes("claude")?2e5:t.includes("gemini")?1e6:t.includes("llama")?131072:t.includes("gpt-4o")||t.includes("gpt-4-turbo")||t.includes("gpt-4.1")?128e3:t.includes("gpt-5")?4e5:128e3},gs=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},N1=e=>{let t=e?.spans||[],r=null;for(let m of t){let g=m.tokens||{},h=(g.input||0)+(g.output||0);h>0&&(!r||h>r.total)&&(r={input:g.input||0,output:g.output||0,thinking:g.thinking||0,cached:g.cached||0,total:h})}if(!r)return null;let n=m=>{for(let g of t){let h=(g.attributes||{})[m];if(h)return h}return null},a=(m,...g)=>{let h=Number(n(m));if(Number.isFinite(h)&&h>0)return h;for(let v of g){let y=n(v);if(y)return gs(y)}return 0},o=a("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=a("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=a("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=a("prompt.input.messages.tokens","prompt.input.messages","llm.messages"),u=0;for(let m of t){let g=m.attributes||{},h=g["tool.output.result"]||g["tool.result"],v=g["tool.input.args"]||g["tool.arguments"];h&&(u+=gs(h)),v&&(u+=gs(v))}u=Math.min(u,r.input);let c=["messages","toolResults","instructions","toolSchemas","mcpSchemas"],d={messages:s,toolResults:u,instructions:o,toolSchemas:i,mcpSchemas:l},f=c.reduce((m,g)=>m+d[g],0),p;if(f>0&&r.input>0){let m=r.input/f;p={};for(let h of c)p[h]=Math.round(d[h]*m);let g=r.input-c.reduce((h,v)=>h+p[v],0);if(g!==0){let h=c.reduce((v,y)=>p[y]>p[v]?y:v);p[h]=Math.max(p[h]+g,0)}}else p={messages:r.input,toolResults:0,instructions:0,toolSchemas:0,mcpSchemas:0};return{used:r.total,limit:Fv(e.model),cached:r.cached,thinking:r.thinking,estimated:f>0,segments:[{key:"messages",label:"Messages",tokens:p.messages},{key:"tool_results",label:"Tool results",tokens:p.toolResults},{key:"instructions",label:"Instructions",tokens:p.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:p.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:p.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Ile={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},jf=e=>e==null?"\u2014":e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(Math.round(e));function ys({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:a=0,compact:o=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Vt.useState)(i),f=r.filter(O=>O.tokens>0),p=e??f.reduce((O,k)=>O+k.tokens,0),m=t>0?p/t:0,g=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",y=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${jf(p)} / ${jf(t)} (${Math.round(m*100)}%)`,S=O=>O.key==="messages"&&g?g:O.color||Ile[O.key]||"#2563eb",w=O=>Vt.default.createElement("div",{style:{display:"flex",height:O,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Vt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${jf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return o?Vt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Vt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Vt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${g?g+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Vt.default.createElement("div",{onClick:O=>{O.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Vt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Vt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||y}},x),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Vt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Vt.default.createElement("div",{style:{marginTop:"6px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:"#dc2626"}},"[!] compaction imminent \u2014 next turn may drop the oldest messages"),c&&Vt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(O=>Vt.default.createElement("div",{key:O.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Vt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:O.key==="__free"?b:S(O),border:O.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Vt.default.createElement("span",{style:{fontSize:"13px",color:y,flex:1}},O.label),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},jf(O.tokens)),Vt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(O.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||a>0)&&Vt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",jf(n)),a>0&&Vt.default.createElement("span",null,Vt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",jf(a)))))}var We=te(ne());var Se=te(ne());var Nr=te(ne());var ue=te(ne());var S7=["ui","json-ui","genui"],qu="render_ui",Eo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),EE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function Yu(e){let t=typeof e=="string"?EE(e):e;if(Array.isArray(t))return t.every(Eo)?t:null;if(Eo(t)){if(Array.isArray(t.blocks))return t.blocks.every(Eo)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Eo)?t.ui:null}return null}function _E(e,t){let r=String(e||"").trim().toLowerCase();if(S7.includes(r))return Yu(t);if(r==="json"){let n=EE(t);return Eo(n)&&Array.isArray(n.ui)?Yu(n):null}return null}function OE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let a=EE(t);if(a==null||typeof a!="object")return null;if(Array.isArray(a))return a.length>0&&a.every(l=>Eo(l)&&typeof l.type=="string")?{blocks:a}:{object:a};let o=Yu(a);return o?{blocks:o}:{object:a}}var jle=e=>Eo(e)?e.function?.name||e.name:void 0,zle=e=>Eo(e)?e.function?.arguments??e.arguments??e.input:void 0;function zf(e,{callId:t}={}){if(!Eo(e))return null;if(e.tool_name===qu&&e.tool_arguments!=null){let a=Yu(e.tool_arguments);if(a)return a}let r=e.tool_calls,n=[];if(Array.isArray(r)){let a=r.some(o=>Eo(o)&&o.id!=null);r.forEach(o=>{if(jle(o)!==qu||t!=null&&a&&o.id!==t)return;let i=Yu(zle(o));i&&n.push(...i)})}else if(Eo(r)&&e.tool_name===qu){let a=Yu(r);a&&n.push(...a)}return n.length>0?n:null}function C1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function E1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function A7(e){try{return new URL(String(e).trim()).host}catch{return""}}var O7=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Lle=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],Wv=O7.length,k7=220,Lf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),it=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),T7=e=>{if(typeof e!="number"||!Number.isFinite(e))return it(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},DE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,N7={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},Ble={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},TE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),IE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Bf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function el({block:e,reason:t,colors:r,darkMode:n}){return ue.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},ue.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${it(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),ue.default.createElement("pre",{style:{...IE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function $le({block:e,colors:t,darkMode:r,onAction:n}){let a=C1(e.image_url)&&E1(e.image_url)?e.image_url.trim():null;return ue.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},a&&ue.default.createElement("img",{src:a,alt:it(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),ue.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),e.body!=null&&ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&ue.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},it(e.footer))))}function M7({block:e,colors:t,darkMode:r}){let n=e.delta!=null?it(e.delta):null,a=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),o=DE(Ble,a),i=o?o[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?T7(e.value):it(e.value);return ue.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},ue.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},it(e.label)),ue.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&ue.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Ule({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Lf):[];return n.length===0?ue.default.createElement(el,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):ue.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((a,o)=>ue.default.createElement(M7,{key:o,block:a,colors:t,darkMode:r})))}var PE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Fle=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Fe.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function P7({columns:e,rows:t,colors:r,renderCell:n}){return ue.default.createElement("div",{style:{overflowX:"auto"}},ue.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},ue.default.createElement("thead",null,ue.default.createElement("tr",null,e.map((a,o)=>ue.default.createElement("th",{key:o,style:Fle(r)},it(a))))),ue.default.createElement("tbody",null,t.map((a,o)=>ue.default.createElement("tr",{key:o},e.map((i,l)=>{let s=a[l];return ue.default.createElement("td",{key:l,style:PE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():it(s))}))))))}function Wle({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,a=Array.isArray(e.rows)?e.rows:null;if(!n||!a)return ue.default.createElement(el,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let o=a.map(i=>Array.isArray(i)?i:Lf(i)?n.map(l=>i[l]):[i]);return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1.5",style:Bf(t)},it(e.title)),ue.default.createElement(P7,{columns:n,rows:o,colors:t}))}var Hle=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Vle=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Kle({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),a=Array.isArray(e.data)?e.data.filter(Lf):[];if(a.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let o=typeof e.x=="string"?e.x:Hle(a),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Vle(a,o)).slice(0,Wv);if(!o||l.length===0)return ue.default.createElement(el,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Lle:O7,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=ue.default.createElement(ts,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():it(h)}),f=l.length>1||n==="pie"?ue.default.createElement(S0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=ue.default.createElement(ue.default.Fragment,null,ue.default.createElement(qi,{stroke:t.cardBorder,vertical:!1}),ue.default.createElement(Zi,{dataKey:o,stroke:t.borderStrong,tick:c,tickLine:!1}),ue.default.createElement(Ji,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:T7,width:44})),m={top:8,right:12,bottom:0,left:0},g;if(n==="line")g=ue.default.createElement(wE,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(t1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")g=ue.default.createElement(vs,{data:a,margin:m},p,d,f,l.map((h,v)=>ue.default.createElement(Gi,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...a].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),y=v.slice(0,Wv),b=v.slice(Wv);b.length>0&&(y[Wv-1]={[o]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(y[Wv-1][h])||0)}),g=ue.default.createElement(NE,{margin:m},d,f,ue.default.createElement(Fb,{data:y,dataKey:h,nameKey:o,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},y.map((x,S)=>ue.default.createElement(Wi,{key:S,fill:s[S]}))))}else g=ue.default.createElement(SE,{data:a,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>ue.default.createElement(l1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement("div",{style:{width:"100%",height:k7,minWidth:0}},ue.default.createElement(Bl,{width:"100%",height:k7},g)))}function qle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.items)?e.items:null;if(!a)return ue.default.createElement(el,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let o=e.ordered?"ol":"ul";return ue.default.createElement("div",null,e.title!=null&&ue.default.createElement("div",{className:"mb-1",style:Bf(t)},it(e.title)),ue.default.createElement(o,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},a.map((i,l)=>ue.default.createElement("li",{key:l},typeof i=="string"?ue.default.createElement(_o,{text:i,darkMode:r,onUiAction:n}):it(i)))))}function Yle({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return ue.default.createElement("div",null,ue.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},ue.default.createElement("span",{style:{color:t.textCell}},it(e.label)),ue.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),ue.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},ue.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:vn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Gle=["text","textarea","number","select","checkbox"],ME=e=>it(e.name||e.label),C7=e=>it(e.label||e.name),E7=e=>Gle.includes(e.type)?e.type:"text";function Xle({block:e,colors:t,darkMode:r,onAction:n}){let a=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Lf(f)&&(f.name||f.label)),[o,i]=(0,ue.useState)(()=>Object.fromEntries(a.map(f=>[ME(f),E7(f)==="checkbox"?!1:""]))),[l,s]=(0,ue.useState)(!1);if(a.length===0)return ue.default.createElement(el,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?it(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return ue.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=a.map(m=>{let g=o[ME(m)];return`${C7(m)}: ${typeof g=="boolean"?g?"yes":"no":it(g)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?it(e.submit):"Submitted"}: ${p}`,values:{...o}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&ue.default.createElement("div",{style:Bf(t)},it(e.title)),a.map(f=>{let p=ME(f),m=E7(f),g=C7(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?ue.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},ue.default.createElement("input",{type:"checkbox",checked:!!o[p],onChange:v=>c(p,v.target.checked),style:{accentColor:vn}}),g):ue.default.createElement("div",{key:p},ue.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},g,f.required?" *":""),m==="textarea"?ue.default.createElement("textarea",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...TE(t),resize:"vertical"}}):m==="select"?ue.default.createElement("select",{id:h,name:p,value:o[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:TE(t)},ue.default.createElement("option",{value:""},f.placeholder!=null?it(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,y)=>ue.default.createElement("option",{key:y,value:it(v)},it(v)))):ue.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:o[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?it(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:TE(t)}))}),ue.default.createElement("div",{className:"flex items-center gap-3 pt-1"},ue.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:vn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&ue.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Zle({block:e,colors:t,darkMode:r,onAction:n}){let a=Array.isArray(e.options)?e.options:null,[o,i]=(0,ue.useState)(null);return!a||a.length===0?ue.default.createElement(el,{block:e,reason:"choices needs options",colors:t,darkMode:r}):ue.default.createElement("div",null,e.prompt!=null&&ue.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},it(e.prompt)),ue.default.createElement("div",{className:"flex flex-wrap gap-2"},a.map((l,s)=>{let u=it(l),c=o===s;return ue.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:t.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Qle({url:e,alt:t,colors:r,darkMode:n}){let[a,o]=(0,ue.useState)(!1);if(a)return ue.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=A7(e);return ue.default.createElement("button",{type:"button",onClick:()=>o(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Jle({block:e,colors:t,darkMode:r}){if(!C1(e.url))return ue.default.createElement(el,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),a=e.alt!=null?it(e.alt):"";return ue.default.createElement("figure",{style:{margin:0}},E1(n)?ue.default.createElement("img",{src:n,alt:a,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):ue.default.createElement(Qle,{url:n,alt:a,colors:t,darkMode:r}),e.caption!=null&&ue.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},it(e.caption)))}function Rle({block:e,colors:t,darkMode:r,onAction:n}){let[a,o]=(DE(N7,e.tone)||N7.info)[r?"dark":"light"];return ue.default.createElement("div",{style:{background:a,borderLeft:`3px solid ${o}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&ue.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:o}},it(e.title)),ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(e.body),darkMode:r,onUiAction:n})))}function ese({block:e,colors:t,darkMode:r}){return ue.default.createElement("div",null,e.language!=null&&ue.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},it(e.language)),ue.default.createElement("pre",{style:IE(r)},it(e.code)))}function _7({block:e,colors:t,darkMode:r,onAction:n}){let a=e.text??e.body??e.content??e.markdown;return ue.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},ue.default.createElement(_o,{text:it(a),darkMode:r,onUiAction:n}))}var tse=3;function _1({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?ue.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?ue.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):ue.default.createElement("span",null,it(e));if(n>=tse)return ue.default.createElement("pre",{style:{...IE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return ue.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Lf)){let o=[...new Set(e.flatMap(i=>Object.keys(i)))];return ue.default.createElement(P7,{columns:o,rows:e.map(i=>o.map(l=>i[l])),colors:t,renderCell:i=>ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(o=>o==null||typeof o!="object")?ue.default.createElement("span",null,e.map(it).join(", ")):ue.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((o,i)=>ue.default.createElement("li",{key:i},ue.default.createElement(_1,{value:o,colors:t,darkMode:r,depth:n+1}))))}let a=Object.entries(e);return a.length===0?ue.default.createElement("span",{style:{color:t.textMuted}},"{}"):ue.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},ue.default.createElement("tbody",null,a.map(([o,i])=>ue.default.createElement("tr",{key:o},ue.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...PE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},o),ue.default.createElement("td",{style:PE(t,!1)},ue.default.createElement(_1,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return ue.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&ue.default.createElement("div",{className:"px-3 pt-2",style:Bf(t)},it(e.title)),ue.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},ue.default.createElement(_1,{value:n,colors:t,darkMode:r,depth:0})))}var nse={card:$le,stat:M7,stats:Ule,table:Wle,chart:Kle,list:qle,progress:Yle,form:Xle,choices:Zle,image:Jle,callout:Rle,code:ese,object:rse,text:_7,markdown:_7};function hs({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Lf):[];if(n.length===0)return null;let a=Fa(r);return ue.default.createElement("div",{className:"space-y-3",onClick:o=>o.stopPropagation()},n.map((o,i)=>{let l=typeof o.type=="string"?o.type.toLowerCase():"unknown",s=DE(nse,l);return ue.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?ue.default.createElement(s,{block:o,colors:a,darkMode:r,onAction:t}):ue.default.createElement(el,{block:o,colors:a,darkMode:r}))}))}var ase=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,Hv=(e,t)=>e.split(ase).filter(Boolean).map((r,n)=>{let a=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Nr.default.createElement("strong",{key:a},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Nr.default.createElement("em",{key:a},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Nr.default.createElement("code",{key:a,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let o=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return o?Nr.default.createElement("a",{key:a,href:o[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},o[1]):r}),D7=e=>/^\s*\|.*\|\s*$/.test(e),ose=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),I7=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function _o({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],a=String(e).split(` -`),o=0,i=0;for(;oNr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},Hv(f,`th${d}-${p}`))))),Nr.default.createElement("tbody",null,c.map((f,p)=>Nr.default.createElement("tr",{key:p},u.map((m,g)=>Nr.default.createElement("td",{key:g,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},Hv(f[g]??"",`td${d}-${p}-${g}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;oNr.default.createElement("li",{key:d},Hv(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Nr.default.createElement("div",{key:i++,className:"h-2"})),o+=1;continue}n.push(Nr.default.createElement("div",{key:i++},Hv(l,`p${i}`))),o+=1}return Nr.default.createElement("div",{className:"break-words"},n)}var na=te(ne()),ise=e=>{let t=e.mcp_server||e.server;return t?`MCP server \xB7 ${t}`:typeof e.name=="string"&&e.name.startsWith("mcp__")?`MCP server \xB7 ${e.name.split("__")[1]}`:e.gem?`gem \xB7 ${e.gem}`:e.source?String(e.source):"agent-defined \xB7 method on the agent class"},lse=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function jE({tool:e,darkMode:t}){let r=lse(e);return na.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&na.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),na.default.createElement("div",{className:"text-xs font-mono",style:{color:t?"rgba(255,255,255,0.45)":"#9ca3af",display:"flex",flexWrap:"wrap",columnGap:"16px",rowGap:"4px"}},na.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),na.default.createElement("span",null,"source: ",ise(e))))}function zE({tools:e,darkMode:t}){let[r,n]=(0,na.useState)(null),a=(e||[]).filter(l=>l&&l.name);if(a.length===0)return null;let o=a.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return na.default.createElement("div",{style:{marginTop:"8px"}},na.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},na.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),a.map(l=>na.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),o&&na.default.createElement("div",{onClick:l=>l.stopPropagation(),style:{marginTop:"6px",padding:"8px 10px",borderRadius:"8px",background:t?"rgba(34,197,94,0.06)":"#f7fef9",border:`1px solid ${t?"rgba(34,197,94,0.25)":"#bbf7d0"}`}},na.default.createElement(jE,{tool:o,darkMode:t})))}var sse=["application/json","application/xml","application/x-yaml","application/csv"],use=/\.(csv|md|txt|json|ya?ml)$/i;function j7(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||sse.includes(t)||use.test(r)?"text":"file"}function z7(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function L7(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var B7=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,Vv=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},cse=["text","output","body","content"],$7=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},dse=e=>{let t=$7(e.tool_result)??$7(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=cse.find(o=>typeof t[o]=="string"&&t[o].trim().length>0);if(!r)return null;let n=[t.error&&"error",t.status!=null&&`status ${t.status}`,typeof t.url=="string"&&t.url.replace(/^https?:\/\//,""),typeof t.agent=="string"&&`\u2192 ${t.agent}`,t.truncated&&"truncated"].filter(Boolean).join(" \xB7 "),a=Object.fromEntries(Object.entries(t).filter(([o])=>o!==r));return{field:r,meta:n,body:t[r],rest:a}},fse=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||Vv(e.content)),W7=280,pse=["tool","system","developer"],Kv=(e,t=W7)=>e.replace(/\s+/g," ").trim().slice(0,t),LE=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return String(e)}},H7=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:LE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:LE(t)}]:[]},V7=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),mse=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((a,o)=>{if(a.role!=="assistant"||V7(a.content))return;let i=H7(a);if(i.length===0)return;let l=new Set;Array.isArray(a.tool_calls)?a.tool_calls.forEach(u=>u.id&&l.add(u.id)):a.tool_call_id&&l.add(a.tool_call_id);let s=[];for(let u=o+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:a.created_at||d.created_at})}),n.add(o))}),t.map((a,o)=>r.has(o)?{...a,...r.get(o)}:a).filter((a,o)=>!n.has(o))},U7=e=>pse.includes(e.role)&&typeof e.content=="string"&&Kv(e.content).length>=W7,vse=({message:e,darkMode:t})=>{let r=e.trace_duration_ms||0;if(!r||e.span_duration_ms==null)return null;let n=Math.min((e.span_start_ms||0)/r*100,98),a=Math.max(e.span_duration_ms/r*100,2),o=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return Se.default.createElement("span",{title:`${Math.round(e.span_duration_ms)}ms \xB7 starts at ${Math.round(e.span_start_ms||0)}ms of ${Math.round(r)}ms`,style:{position:"relative",width:"96px",height:"5px",borderRadius:"999px",background:t?"rgba(255,255,255,0.08)":"#f3f4f6",flexShrink:0,marginTop:"8px",display:"inline-block"}},Se.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(a,100-n)}%`,borderRadius:"999px",background:o}}))},O1=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0}),gr=(e,t)=>{switch(e){case"user":return t?{background:"rgba(59,130,246,0.15)",color:"#93c5fd",label:"User"}:{background:"#eff6ff",color:"#1d4ed8",label:"User"};case"assistant":return t?{background:"rgba(239,68,68,0.12)",color:"#fca5a5",label:"Assistant"}:{background:"#fef2f2",color:"#b91c1c",label:"Assistant"};case"tool":return t?{background:"rgba(245,158,11,0.12)",color:"#fcd34d",label:"Tool"}:{background:"#fffbeb",color:"#b45309",label:"Tool"};case"system":return t?{background:"rgba(139,92,246,0.15)",color:"#c4b5fd",label:"System"}:{background:"#f5f3ff",color:"#6d28d9",label:"System"};case"developer":return t?{background:"rgba(20,184,166,0.15)",color:"#5eead4",label:"Dev"}:{background:"#f0fdfa",color:"#0f766e",label:"Dev"};default:return t?{background:"rgba(255,255,255,0.08)",color:"rgba(255,255,255,0.7)",label:e}:{background:"#f3f4f6",color:"#374151",label:e}}},F7={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function T1({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:a}){let o=(e||[]).filter(Boolean);if(o.length===0)return null;let i=Fa(t);return Se.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},o.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&L7(l.url),d=z7(l.byte_size);return Se.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?Se.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):Se.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},F7[l.kind]||F7.file),Se.default.createElement("span",{className:"min-w-0"},Se.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&Se.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&Se.default.createElement("button",{type:"button","data-testid":a,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var K7=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},gse=(e,t)=>{let r=zf(e);if(r)return r;let n=t.find(a=>a&&a.role==="assistant"&&(e.tool_call_id?K7(a).has(e.tool_call_id):zf(a)));return n?zf(n,{callId:e.tool_call_id}):null},yse=(e,t)=>{let r=K7(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===qu&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function so({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:a,onDeleteMessage:o,testIdPrefix:i}){let[l,s]=(0,Se.useState)({}),[u,c]=(0,Se.useState)(null),[d,f]=(0,Se.useState)(""),[p,m]=(0,Se.useState)(!1),[g,h]=(0,Se.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),y={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},O=async A=>{if(!p){m(!0),h(null);try{await a(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=mse(e);return Se.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=gr(A.role,t),W=!!l[A.id],L=u===A.id,H=!!((a||o)&&["user","assistant"].includes(A.role)),D=A.role==="tool"&&A.tool_name===qu?gse(A,k):null,Y=A.role==="assistant"&&!L?OE(A.content):null,N=A.role==="assistant"&&!yse(A,k)?zf(A):null,_=U7(A)&&!W,z=fse(A)||U7(A),j=Vv(A.tool_arguments),P=Vv(A.tool_result)||Vv(A.content),B=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?Vv(A.tool_calls):null,R=A.role==="tool"?dse(A):null,F=A.tool_name?(r||[]).find(K=>K&&K.name===A.tool_name):null,G=A.role==="tool"?LE(A.tool_arguments):null,ee=A.role==="tool"&&!!G,fe=gr("assistant",t),de=gr("tool",t),De=A.role==="tool"&&!A.tool_arguments&&k.some(K=>K&&K.role==="assistant"&&(A.tool_call_id&&K.tool_call_id===A.tool_call_id||Array.isArray(K.tool_calls)&&K.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),le=A.role==="assistant"&&!V7(A.content)?H7(A):[],Te=O1(t);return Se.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},Se.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:W?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},Se.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(ee?[fe,de]:[M]).map(K=>Se.default.createElement("span",{key:K.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:K.background,color:K.color,textAlign:"center"}},K.label))),Se.default.createElement("div",{className:"min-w-0 flex-1"},Se.default.createElement("div",{className:"text-sm break-words",style:{color:y.textPrimary}},L?Se.default.createElement("div",{className:"space-y-2",onClick:x},Se.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:K=>f(K.target.value),onKeyDown:K=>{K.key==="Escape"&&w(),K.key==="Enter"&&(K.metaKey||K.ctrlKey)&&O(A)},rows:Math.min(12,Math.max(3,d.split(` -`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:y.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),Se.default.createElement("div",{className:"flex items-center gap-2 text-xs"},Se.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>O(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),Se.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:y.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),g&&Se.default.createElement("span",{style:{color:"#dc2626"}},g))):D?Se.default.createElement("div",null,Se.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",D.length," block",D.length===1?"":"s"),Se.default.createElement(hs,{blocks:D,onAction:n,darkMode:t})):A.role==="tool"?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},G&&!De&&Se.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&Se.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),Se.default.createElement("span",{style:{color:ee?fe.color:y.textMuted}},"in:")," ",Kv(G,180),G.length>180?"\u2026":""),R?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:y.textMuted}},"out:"),R.meta&&Se.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:y.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?Se.default.createElement("span",null,A.tool_name&&!(G&&!De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(G||De)&&Se.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:ee?de.color:y.textMuted}},"out:"),"\u201C",Kv(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):Se.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?Se.default.createElement("span",{style:{color:y.textSecondary}},Kv(A.content),"\u2026"):le.length>0?Se.default.createElement("span",{style:{display:"grid",gap:"2px"}},le.map((K,I)=>Se.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},K.name&&Se.default.createElement("span",{style:{color:y.textMuted}},K.name," "),Se.default.createElement("span",{style:{color:y.textMuted}},"in:")," ",K.args?Se.default.createElement(Se.default.Fragment,null,Kv(K.args,180),K.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?Se.default.createElement(hs,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?Se.default.createElement(hs,{blocks:[{type:"object",value:Y.object}],darkMode:t}):Se.default.createElement(_o,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),N&&!L&&Se.default.createElement("div",{className:"mt-2"},Se.default.createElement(hs,{blocks:N,onAction:n,darkMode:t})),A.role==="user"&&Se.default.createElement(T1,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),Se.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:y.textMuted}},H&&!L&&Se.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},a&&Se.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:y.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),o&&Se.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>o(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&Se.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&Se.default.createElement("span",null,B7(A.duration_ms)),(A.tool_calls||[]).length>0&&Se.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&Se.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),Se.default.createElement(vse,{message:A,darkMode:t}),z&&Se.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${W?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:y.textMuted}},Se.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),W&&Se.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},Se.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:y.textSecondary}},A.created_at&&Se.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&Se.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&Se.default.createElement("span",null,"took ",B7(A.duration_ms)),A.content_checksum&&Se.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),j&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?fe.color:y.textMuted}},"Arguments",ee?" \xB7 from the agent":""),Se.default.createElement("pre",{style:Te},j)),R?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:y.textMuted}},"Result",ee?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&Se.default.createElement("pre",{style:Te},JSON.stringify(R.rest,null,2)),Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:y.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` -\u2026`:"")):P?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),Se.default.createElement("pre",{style:Te},P)):A.role==="tool"&&A.content?Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:ee?de.color:y.textMuted}},"Result",ee?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),Se.default.createElement("pre",{style:{...Te,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` -\u2026`:"")):null,B&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Requested tool calls"),Se.default.createElement("pre",{style:Te},B)),F&&Se.default.createElement("div",null,Se.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Tool definition"),Se.default.createElement(jE,{tool:F,darkMode:t}))))}))}var st=te(ne());var Cr=te(ne());var Ir=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",panelBg:e?"rgba(0,0,0,0.35)":"#f9fafb",preBg:e?"rgba(255,255,255,0.06)":"#eef0f3",trackBg:e?"rgba(255,255,255,0.08)":"#f3f4f6",hoverBg:e?"rgba(255,255,255,0.04)":"#f9fafb",controlBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",controlActiveBg:e?"#2a2a2a":"#ffffff",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textBody:e?"rgba(255,255,255,0.75)":"#4b5563",link:"#3b82f6",good:e?"#4ade80":"#16a34a",bad:"#ef4444"}),q7=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function Gu({open:e,darkMode:t,size:r=14,style:n}){return Cr.default.createElement("svg",{className:`flex-shrink-0 transition-transform ${e?"rotate-180":""}`,width:r,height:r,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:Ir(t).textMuted,...n},"aria-hidden":"true"},Cr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function M1({darkMode:e,id:t,children:r,style:n,className:a=""}){let o=Ir(e);return Cr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${a}`,style:{backgroundColor:o.cardBg,borderColor:o.cardBorder,...n}},r)}var Y7=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Ir(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),hse=e=>{if(e==null)return{text:"",json:!1};if(typeof e=="object")return{text:JSON.stringify(e,null,2),json:!0};let t=String(e);if(!/^[[{]/.test(t.trim()))return{text:t,json:!1};try{return{text:JSON.stringify(JSON.parse(t),null,2),json:!0}}catch{return{text:t,json:!1}}};function $f({lines:e,darkMode:t,onClick:r,indent:n=0,size:a="12px",style:o,max:i=200}){let[l,s]=Uf(),u=Ir(t),c=(e||[]).filter(d=>d&&d.text);return c.length===0?null:Cr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Fe.mono,fontSize:a,color:u.textSecondary,cursor:r?"pointer":"default",...o}},c.map((d,f)=>{let p=`${d.label}-${f}`,m=l(p),g=d.max||i,h=String(d.text).replace(/\s+/g," ").trim(),v=hse(d.text),y=v.json||h.length>60||h!==String(d.text).trim();return Cr.default.createElement("div",{key:p},Cr.default.createElement("div",{onClick:y?b=>{b.stopPropagation(),s(p)}:void 0,title:y?m?"Collapse":"Expand":void 0,style:{cursor:y?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},Cr.default.createElement("span",{style:{color:d.color||u.textMuted}},y?m?"\u25BE":"\u25B8":"\xA0"," ",d.label,":")," ",!m&&q7(h,g)),m&&Cr.default.createElement("pre",{onClick:b=>b.stopPropagation(),style:Y7(t,{wrap:!v.json})},v.text))}))}function qv({options:e,value:t,onChange:r,darkMode:n,label:a,style:o}){let i=Ir(n);return Cr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:o},a&&Cr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},a),e.map(l=>Cr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function G7({label:e,body:t,open:r,onToggle:n,darkMode:a,prose:o=!1,max:i=140}){let l=Ir(a);return Cr.default.createElement("div",null,Cr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},Cr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&Cr.default.createElement("span",{style:{color:l.textMuted}},q7(t,i))),r&&Cr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:Y7(a,{wrap:o})},t))}function Uf(e={}){let[t,r]=(0,Cr.useState)(e),n=(0,Cr.useCallback)(o=>{r(i=>({...i,[o]:!i[o]}))},[]);return[(0,Cr.useCallback)(o=>!!t[o],[t]),n,r]}var BE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},Z7=[{id:"time",label:"Time",hint:"Chronological \u2014 reads as a waterfall"},{id:"duration",label:"Slowest",hint:"Longest-running first"},{id:"name",label:"Name",hint:"Group repeated tool calls together"}],Er=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,$E=e=>{switch(e){case"root":return Ut.spans.root;case"prompt":return Ut.spans.prompt;case"generate":return Ut.spans.generate;case"llm":return Ut.spans.llm;case"thinking":return Ut.spans.thinking;case"tool":return Ut.spans.tool;case"response":return Ut.spans.response;default:return"-"}},xse=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let a=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,a*100))},bse=(e,t)=>{let r=[...e||[]];switch(t){case"duration":return r.sort((n,a)=>(a.duration||0)-(n.duration||0));case"name":return r.sort((n,a)=>(n.name||"").localeCompare(a.name||""));default:return r.sort((n,a)=>(n.start||0)-(a.start||0))}},wse=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},Sse=(e,t)=>{if(!t.duration_ms)return Er(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Er(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},Ase=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},X7=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,UE=e=>{let t=e.spans||[],r=o=>{for(let i of t){let l=(i.attributes||{})[o];if(l)return l}return null},n=r("llm.prompt");if(!n){let o=r("prompt.input.messages");if(o)try{n=[...JSON.parse(o)].reverse().find(s=>s&&s.role==="user"&&s.content)?.content}catch{}}let a=r("llm.completion")||r("llm.output.message");return{input:n,output:a}},kse=e=>{let t=e.attributes||{},r=null,n="input",a="user";if(t["prompt.input.messages"])try{let u=[...JSON.parse(t["prompt.input.messages"])].reverse().find(c=>c&&c.role==="user"&&c.content);typeof u?.content=="string"&&(r=u.content)}catch{}if(!r&&t["llm.prompt"]&&(r=String(t["llm.prompt"])),!r&&(t["tool.input.args"]||t["tool.arguments"])){let s=t["tool.input.args"]||t["tool.arguments"];r=typeof s=="string"?s:JSON.stringify(s),n="in",a="assistant"}let o=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?o=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(o=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),o!=null&&typeof o!="string"&&(o=JSON.stringify(o)),{input:r,output:o,inputLabel:n,inputTone:a,outputLabel:i,outputTone:l}},Nse=(e,t)=>{let r=kse(e),n=UE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Cse=e=>{let t={...e.attributes||{}},r=f=>{let p=t[f];return delete t[f],p},n=[],a=f=>n.push({id:`${e.span_id}-m${n.length}`,...f}),o=r("prompt.input.instructions")||r("llm.instructions");o&&a({role:"system",content:String(o)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).forEach(f=>{f&&a({role:f.role||"user",content:typeof f.content=="string"?f.content:JSON.stringify(f.content),tool_call_id:f.tool_call_id,tool_calls:f.tool_calls})})}catch{t["prompt.input.messages"]=i}let l=r("llm.prompt");l&&a({role:"user",content:String(l)});let s=r("tool.input.args")||r("tool.arguments"),u=r("tool.output.result")||r("tool.result");if(s||u){let f=r("tool.name");a({role:"tool",tool_name:f||(e.name||"").replace(/^tool\./,""),tool_arguments:s,content:u?String(u):null})}let c=r("llm.completion"),d=r("llm.output.message");return(c||d)&&a({role:"assistant",content:String(c||d)}),{messages:n,rest:t}},FE=e=>{for(let t of e?.spans||[]){let r=(t.attributes||{})["prompt.input.tools"];if(r)try{let n=typeof r=="string"?JSON.parse(r):r;if(Array.isArray(n)&&n.length>0)return n}catch{}}return[]};function Ese({span:e,darkMode:t,tools:r=[]}){let[n,a]=Uf(),o=Ir(t),{messages:i,rest:l}=Cse(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>X7(p[0])-X7(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return st.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:o.panelBg,border:`1px solid ${o.cardBorder}`,fontFamily:Fe.mono,fontSize:"12px",color:o.textBody,cursor:"default"}},st.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},st.default.createElement("span",null,"duration: ",Er(e.duration)),st.default.createElement("span",null,"status: ",e.status||"OK"),wse(e)>0&&st.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),st.default.createElement("span",{style:{color:o.textMuted}},"span: ",e.span_id)),d&&st.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},st.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"\u2699 ",d.tool_name),f&&st.default.createElement(st.default.Fragment,null," ",st.default.createElement("span",{style:{color:gr("assistant",t).color}},"in:")," ",st.default.createElement("span",{style:{color:o.textBody}},f))),d.content&&st.default.createElement("div",{style:{fontSize:"12px"}},st.default.createElement("span",{style:{color:gr("tool",t).color}},"out:")," ",st.default.createElement("span",{style:{color:o.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&st.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},st.default.createElement(so,{messages:i,darkMode:t,tools:s||r})),s&&st.default.createElement(zE,{tools:s,darkMode:t}),c.length>0&&st.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let g=p.match(/args|result|input|output/)?Ase(m):null,h=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=g||h;if(!v)return st.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},st.default.createElement("span",{style:{color:o.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let y=`${e.span_id}:${p}`;return st.default.createElement(G7,{key:p,label:p,body:v,prose:!g,darkMode:t,open:n(y),onToggle:()=>a(y)})})))}function _se({span:e,trace:t,darkMode:r,sort:n,longest:a,expanded:o,onToggle:i,tools:l}){let s=Ir(r),u=Object.keys(e.attributes||{}).length>0,c=o?null:Nse(e,t);return st.default.createElement(st.default.Fragment,null,st.default.createElement("div",{className:`py-0.5 px-1 -mx-1 rounded transition-colors ${u?`cursor-pointer ${r?"hover:bg-white/5":"hover:bg-gray-100"}`:""}`,style:{paddingLeft:n==="time"?`${(e.nested||0)*16}px`:0,background:o?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},st.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},st.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},$E(e.type)),st.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),st.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Fe.mono,color:s.textMuted}},Sse(e,t)),u&&st.default.createElement(Gu,{open:o,darkMode:r,size:13,style:{marginLeft:"2px"}})),st.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},st.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":BE[e.type]||"#9ca3af",left:n==="time"?`${t.duration_ms?e.start/t.duration_ms*100:0}%`:0,width:n==="time"?`${t.duration_ms?Math.max(e.duration/t.duration_ms*100,1):1}%`:`${xse(e.duration,a)}%`}})),c&&st.default.createElement($f,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:gr(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:gr(c.outputTone,r).color,max:160}]})),o&&st.default.createElement(Ese,{span:e,darkMode:r,tools:l}))}function WE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:a=""}){let[o,i]=Uf(),l=Ir(t),s=bse(e?.spans,r),u=n||FE(e);if(s.length===0)return st.default.createElement("div",{className:"text-sm py-2",style:{color:l.textMuted}},"No spans recorded for this trace.");let c=Math.max(...s.map(d=>d.duration||0),1);return st.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${a}${d.span_id||f}`;return st.default.createElement(_se,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:o(p),onToggle:()=>i(p)})}))}var Ose=[{id:"spans",label:"Spans",hint:"Timing waterfall with span details"},{id:"conversation",label:"Conversation",hint:"The run as a message stream \u2014 prompt, tool calls, response"}],Tse=e=>{let t=0,r=[];(e?.spans||[]).forEach(o=>{(o.nested||0)!==0&&(o.type==="tool"?r.push(o):(o.type==="llm"||o.type==="generate")&&(t=Math.max(t,o.duration||0)))});let n=r.reduce((o,i)=>o+(i.duration||0),0);t=Math.max(t-n,0);let a=e?.duration_ms||t+n||1;return{generation:t,tools:r,toolTotal:n,total:a,overhead:Math.max(a-t-n,0)}};function Mse({trace:e,darkMode:t}){let r=Ir(t),{generation:n,tools:a,toolTotal:o,total:i,overhead:l}=Tse(e);if(n===0&&o===0||n/i>=.99&&o/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>We.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return We.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},We.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),We.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(o,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Fe.mono,color:r.textBody}},We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Er(n)," (",s(n),")"),We.default.createElement("span",null,We.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Er(o)," (",s(o),")"),l>0&&We.default.createElement("span",null,We.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Er(l)," (",s(l),")")),a.length>0&&We.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Fe.mono,color:r.textSecondary}},a.map((c,d)=>We.default.createElement("span",{key:d},c.name," ",Er(c.duration)," (",s(c.duration||0),")"))))}function Pse({trace:e,darkMode:t}){let[r,n]=(0,We.useState)(null),[a,o]=(0,We.useState)(!1),i=Ir(t);if((0,We.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),o(!1),fetch(`/api/interactions/trace-${e.id}`).then(u=>u.ok?u.json():Promise.reject(new Error("request failed"))).then(u=>s&&n(u.interaction)).catch(()=>s&&o(!0)),()=>{s=!1}},[e?.id]),a)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?We.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):We.default.createElement(so,{messages:l,darkMode:t,tools:FE(e)})}function Yv({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[a,o]=(0,We.useState)("spans"),[i,l]=(0,We.useState)("time"),s=Ir(t),u=(e?.spans||[]).length,c=N1(e),d=e?.tokens||{},f=(0,We.useCallback)(p=>o(n?p:"spans"),[n]);return e?We.default.createElement("div",null,We.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},We.default.createElement("div",{className:"flex items-center gap-1"},n&&We.default.createElement(qv,{options:Ose,value:a,onChange:f,darkMode:t}),We.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),a==="spans"&&u>0&&We.default.createElement(qv,{options:Z7,value:i,onChange:l,darkMode:t,label:"Sort"})),a==="conversation"?We.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},We.default.createElement(Pse,{trace:e,darkMode:t})):We.default.createElement(We.default.Fragment,null,i==="time"?We.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},We.default.createElement("span",null,"0ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),We.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),We.default.createElement("span",null,Er(e.duration_ms))):We.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),We.default.createElement(WE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&We.default.createElement("div",{className:"mt-3"},We.default.createElement(ys,{...c,label:"Context pressure",darkMode:t})),We.default.createElement(Mse,{trace:e,darkMode:t}),!r&&We.default.createElement("div",{className:"mt-4 pt-4 border-t flex items-center flex-wrap gap-x-6 gap-y-1 text-sm",style:{borderColor:s.cardBorder,color:s.textSecondary}},We.default.createElement("span",null,"Tokens:"),d.thinking>0&&We.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Fe.mono}},"T:",d.thinking.toLocaleString()),We.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Fe.mono}},"in:",(d.input||0).toLocaleString()),We.default.createElement("span",{className:"text-green-500",style:{fontFamily:Fe.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&We.default.createElement("span",{style:{fontFamily:Fe.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&We.default.createElement("div",{className:"mt-4 p-3 rounded-lg border",style:{background:t?"rgba(239,68,68,0.1)":"#fef2f2",borderColor:t?"rgba(239,68,68,0.3)":"#fecaca"}},We.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Dse=e=>{if(!e)return"0";let t=(e.input||0)+(e.output||0)+(e.thinking||0);return t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`},Ise=e=>e==null?null:`$${e.toFixed(4)}`;function P1({trace:e,darkMode:t,expanded:r,onToggle:n}){let a=Ir(t),o=UE(e),i=N1(e),l=e.status!=="ERROR";return jr.default.createElement(M1,{darkMode:t,id:`trace-row-${e.id}`},jr.default.createElement("div",{className:`p-4 flex items-center justify-between flex-wrap gap-y-2 cursor-pointer transition-colors ${t?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:n,style:r?{background:a.hoverBg}:void 0},jr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},jr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Fe.mono,background:a.controlBg,color:a.textSecondary}},"TRACE"),jr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Fe.mono,color:a.textMuted}},e.short_id),jr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:a.textPrimary}},e.display_name)),jr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:a.textSecondary}},e.model&&jr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Fe.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"},title:"Model that generated this trace"},e.model),i&&jr.default.createElement(ys,{compact:!0,...i,label:"Context",darkMode:t}),jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Er(e.duration_ms)),jr.default.createElement("span",null,Dse(e.tokens)," tokens"),e.estimated_cost!=null&&jr.default.createElement("span",null,jr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Ise(e.estimated_cost)),jr.default.createElement("span",{style:{color:l?a.good:a.bad}},jr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR"),jr.default.createElement(Gu,{open:r,darkMode:t}))),!r&&jr.default.createElement($f,{darkMode:t,onClick:n,style:{padding:"0 16px 12px"},lines:[{label:"input",text:o.input,color:gr("user",t).color},{label:"output",text:o.output,color:gr("assistant",t).color}]}),r&&jr.default.createElement("div",{className:"border-t p-4",style:{borderColor:a.cardBorder,background:a.innerBg}},jr.default.createElement(Yv,{trace:e,darkMode:t})))}function Ge(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function HE(e=""){window.history.pushState({},"",Ge(e))}function Xu(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Gv(e){if(!e)return;let t=Xu(e);HE(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(t)}}))}var Q7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],jse=3e4,zse=e=>{let t={};return e.forEach((r,n)=>{t[r]=Q7[n%Q7.length]}),t},Lse=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let a=n.name||n.type||"unknown";t[a]||(t[a]={name:a,type:n.type,count:0,total:0,max:0,errors:0});let o=t[a];o.count+=1,o.total+=n.duration||0,o.max=Math.max(o.max,n.duration||0),n.error&&(o.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},Bse=(e,t,r,n=60)=>{let a=Date.now(),o=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=a-(s+1)*i,c=a-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),o.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return o};function Zu({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,U.useState)([]),[o,i]=(0,U.useState)([]),[l,s]=(0,U.useState)({}),[u,c]=(0,U.useState)(!0),[d,f]=(0,U.useState)(null),[p,m]=(0,U.useState)(null),g=(0,U.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,U.useState)(null),[y,b]=(0,U.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,U.useState)("time"),[w,O]=(0,U.useState)(null),[k,A]=(0,U.useState)("timeline"),[M,W]=(0,U.useState)("popular"),{timeWindow:L}=Qo(),H=(0,U.useCallback)(async()=>{try{let C=e?`&agent=${encodeURIComponent(e)}`:"",T=await fetch(`/api/traces?minutes=${L.minutes}${C}`);if(!T.ok)throw new Error(`Request failed (${T.status})`);let X=await T.json();a(X.traces||[]),i(e?[e]:X.agents||[]),s(X.agent_ids||{}),f(null)}catch(C){f(C.message)}finally{c(!1)}},[L.minutes,e]);(0,U.useEffect)(()=>{H();let C=setInterval(H,jse);return()=>clearInterval(C)},[H]);let D=(0,U.useMemo)(()=>zse(o),[o]);(0,U.useEffect)(()=>{O(null)},[L.id]);let Y=(0,U.useMemo)(()=>Bse(n,o,L.minutes,L.bucketSeconds),[n,o,L]),N=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,U.useMemo)(()=>{let C=n;if(w!==null){let T=Y[w];T&&(C=T.traces||[])}if(y.status!=="all"&&(C=C.filter(T=>y.status==="success"?T.status!=="ERROR":T.status==="ERROR")),y.agent!=="all"&&(C=C.filter(T=>T.agent===y.agent)),y.action!=="all")if(y.action.includes("#")){let[T,X]=y.action.split("#");C=C.filter($=>$.agent===T&&$.action===X)}else C=C.filter(T=>T.action===y.action);return x==="latency"&&(C=[...C].sort((T,X)=>(X.duration_ms||0)-(T.duration_ms||0))),h&&!C.some(T=>T.id===h.id)&&(C=[h,...C]),C},[n,w,Y,y,x,h]);(0,U.useEffect)(()=>{let C=g.current;if(!C)return;let T=$=>{g.current=null,m($.id),setTimeout(()=>{document.getElementById(`trace-row-${$.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},X=n.find($=>$.id===C||$.trace_id===C||$.short_id&&String(C).startsWith($.short_id));if(X){T(X);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(C)}`).then($=>$.ok?$.json():Promise.reject(new Error("not found"))).then(({trace:$})=>{v($),T($)}).catch(()=>{g.current=null})},[n]);let z=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};C.forEach($=>{$.agent&&(T[$.agent]||(T[$.agent]={agent:$.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),T[$.agent].count++,T[$.agent].totalDuration+=$.duration_ms||0,T[$.agent].cost+=$.estimated_cost||0,$.status==="ERROR"&&T[$.agent].errors++,$.tokens&&(T[$.agent].tokens.thinking+=$.tokens.thinking||0,T[$.agent].tokens.input+=$.tokens.input||0,T[$.agent].tokens.output+=$.tokens.output||0),$.action&&(T[$.agent].actions[$.action]=(T[$.agent].actions[$.action]||0)+1))});let X={popular:$=>$.count,longest:$=>$.totalDuration/($.count||1),cost:$=>$.cost,tokens:$=>($.tokens.input||0)+($.tokens.output||0)+($.tokens.thinking||0),errors:$=>$.errors}[M]||($=>$.count);return Object.values(T).sort(($,Ne)=>X(Ne)-X($)||Ne.count-$.count)},[n,Y,w,M]),j=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{if(!X.agent)return;let $=`${X.agent}#${X.action||"unknown"}`;T[$]||(T[$]={key:$,agent:X.agent,action:X.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),T[$].count++,T[$].totalDuration+=X.duration_ms||0,T[$].minDuration=Math.min(T[$].minDuration,X.duration_ms||0),T[$].maxDuration=Math.max(T[$].maxDuration,X.duration_ms||0),X.status==="ERROR"&&T[$].errors++,X.tokens&&(T[$].tokens.thinking+=X.tokens.thinking||0,T[$].tokens.input+=X.tokens.input||0,T[$].tokens.output+=X.tokens.output||0)}),Object.values(T).forEach(X=>{X.minDuration===1/0&&(X.minDuration=0)}),Object.values(T).sort((X,$)=>$.count-X.count)},[n,Y,w]),P=(0,U.useMemo)(()=>{let C=w!==null?Y[w]?.traces||[]:n,T={};return C.forEach(X=>{(X.spans||[]).forEach($=>{if($.type!=="tool")return;let Ne=$.attributes?.["tool.name"]||$.name?.replace(/^tool\./,"")||"unknown";T[Ne]||(T[Ne]={name:Ne,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),T[Ne].count++,T[Ne].totalDuration+=$.duration||0,T[Ne].maxDuration=Math.max(T[Ne].maxDuration,$.duration||0),$.error&&T[Ne].errors++,X.agent&&T[Ne].agents.add(`${X.agent}#${X.action||"unknown"}`)})}),Object.values(T).map(X=>({...X,agents:[...X.agents],avgDuration:X.count?X.totalDuration/X.count:0})).sort((X,$)=>$.totalDuration-X.totalDuration)},[n,Y,w]),B=(0,U.useMemo)(()=>y.agent==="all"?j.map(C=>C.key):j.filter(C=>C.agent===y.agent).map(C=>C.key),[y.agent,j]),R=(0,U.useMemo)(()=>Lse(_),[_]),F=C=>{if(C&&C.activeTooltipIndex!==void 0){let T=C.activeTooltipIndex;O(w===T?null:T),m(null)}},G=C=>(C?.input||0)+(C?.output||0)+(C?.thinking||0),ee=C=>{let T=C.count?C.errors/C.count:0;return[{label:`Calls ${L.label||""}`.trim(),value:C.count.toLocaleString()},{label:"Errors",value:`${(T*100).toFixed(1)}%`,tone:C.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(C.totalDuration/(C.count||1))}ms`},{label:"Tokens",value:G(C.tokens).toLocaleString()},{label:"Cost",value:fe(C.cost),title:"Estimated from token counts at this model's published rates",tone:C.cost?void 0:"muted"},{label:"Actions",value:(C.agents?.length||0).toLocaleString()}]},fe=C=>C?C<.01?"<$0.01":`$${C.toFixed(2)}`:"\u2014",de=U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},U.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),U.default.createElement("select",{value:M,onChange:C=>W(C.target.value),style:{fontSize:"12px",padding:"4px 8px",borderRadius:"6px",border:`1px solid ${r?"rgba(255,255,255,0.15)":"#e5e7eb"}`,background:r?"rgba(255,255,255,0.05)":"#ffffff",color:r?"#f9fafb":"#111827"}},U.default.createElement("option",{value:"popular"},"Most calls"),U.default.createElement("option",{value:"longest"},"Longest average"),U.default.createElement("option",{value:"cost"},"Highest cost"),U.default.createElement("option",{value:"tokens"},"Most tokens"),U.default.createElement("option",{value:"errors"},"Most errors"))),De=C=>b(T=>({...T,agent:T.agent===C?"all":C})),le=C=>{let T=l[C];if(!T)return De(C);let X=Ge(`/agents/${T}`);window.history.pushState(window.history.state,"",X),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:X}}))},Te=C=>{let T=R[0]?.total||1,X=C?"rgba(0,0,0,0.3)":"white",$=C?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",Ne=C?"white":"#111827",E=C?"rgba(255,255,255,0.5)":"#6b7280",Z={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return U.default.createElement("div",{style:{padding:C?"0 24px 24px 24px":0}},U.default.createElement("div",{style:{background:X,border:$,borderRadius:"12px",padding:"16px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:Ne,marginBottom:"4px"}},"Slowest operations"),U.default.createElement("div",{style:{fontSize:"12px",color:E,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?U.default.createElement("div",{style:{fontSize:"13px",color:E,padding:"12px 0"}},"No spans in the current selection"):U.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(ge=>U.default.createElement("div",{key:ge.name,style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("span",{style:{color:E}},$E(ge.type)),U.default.createElement("span",{style:{fontSize:"13px",color:ge.errors>0?"#ef4444":Ne,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},ge.name)),U.default.createElement("div",{style:{flex:1,height:"18px",background:C?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},U.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(ge.total/T*100,.5)}%`,background:Z[ge.type]||"#6366f1"}})),U.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:E,fontFamily:Fe.mono,textAlign:"right"}},ge.count,"\xD7 \xB7 avg ",Er(ge.avg)," \xB7 max ",Er(ge.max)," \xB7 \u03A3 ",Er(ge.total)))))))};if(u)return U.default.createElement("div",{className:"flex items-center justify-center h-64"},U.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let K={requests:Y.reduce((C,T)=>C+T.requests,0),errors:Y.reduce((C,T)=>C+T.errors,0),avgLatency:(()=>{let C=Y.filter(T=>T.requests>0);return C.length===0?0:Math.round(C.reduce((T,X)=>T+X.avgLatency,0)/C.length)})(),throughput:(Y.reduce((C,T)=>C+T.requests,0)/L.minutes).toFixed(1)},I=n.length===0;return r?U.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},U.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},U.default.createElement("div",null,!t&&U.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),U.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},U.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),style:{padding:"6px 12px",background:k===C?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},C))),!e&&U.default.createElement("select",{value:y.agent,onChange:C=>b({...y,agent:C.target.value,action:"all"}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"180px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.action,onChange:C=>b({...y,action:C.target.value}),style:{padding:"8px 12px",background:y.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:y.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.status,onChange:C=>b({...y,status:C.target.value}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.target.value),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(null),style:{padding:"8px 16px",background:"rgba(255,255,255,0.2)",color:"white",borderRadius:"8px",border:"none",fontSize:"14px",fontWeight:"500",cursor:"pointer"}},"Clear Selection")))),d&&U.default.createElement("div",{style:{margin:"0 24px 16px 24px",padding:"12px 16px",background:"rgba(239, 68, 68, 0.1)",borderRadius:"8px",color:"#ef4444",fontSize:"13px"}},"Failed to load traces: ",d),U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},U.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,style:{display:"flex",alignItems:"center",gap:"6px"}},U.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:T}}),U.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},C.replace("Agent","")))))),U.default.createElement("div",{style:{height:"150px"}},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.8}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.1})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),U.default.createElement(Zi,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{contentStyle:{background:"rgba(0,0,0,0.9)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",padding:"12px"},labelStyle:{color:"white",fontWeight:"600",marginBottom:"8px"},itemStyle:{color:"rgba(255,255,255,0.8)",fontSize:"12px"},formatter:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-${C})`}))))),U.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},K.requests),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},K.errors),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},K.avgLatency,"ms"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},K.throughput,"/min"),U.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px",whiteSpace:"nowrap"}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:y.agent===C.agent?"#ef4444":"inherit",font:"inherit"}},y.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},U.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},j.map(C=>{let T=y.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...y,action:T?"all":C.key}),A("timeline")},style:{background:T?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:T?"1px solid #ef4444":`1px solid ${D[C.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},U.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},U.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:D[C.agent]}}),U.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},C.agent),U.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",C.action)),U.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:D[C.agent]+"30",color:D[C.agent],borderRadius:"4px"}},C.count," calls")),U.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),U.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),U.default.createElement("div",{style:{fontSize:"13px",color:C.errors>0?"#ef4444":"#10b981"}},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),U.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},G(C.tokens).toLocaleString()))))}))),k==="spans"&&Te(!0),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!0,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},U.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),U.default.createElement("p",{style:{color:"rgba(255,255,255,0.4)",fontSize:"14px",marginTop:"8px"}},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here"))):U.default.createElement("div",{className:"space-y-6"},U.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},U.default.createElement("div",null,U.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),U.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${L.label} \u2022 Click timeline to drill down`)),U.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},U.default.createElement(Jo,null),U.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(C=>U.default.createElement("button",{key:C,onClick:()=>A(C),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===C?"bg-white shadow text-gray-900":"text-gray-600"}`},C))),U.default.createElement("select",{value:y.agent,onChange:C=>b({...y,agent:C.target.value,action:"all"}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",style:{maxWidth:"180px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Agents"),o.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.action,onChange:C=>b({...y,action:C.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${y.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},U.default.createElement("option",{value:"all"},"All Actions"),B.map(C=>U.default.createElement("option",{key:C,value:C},C))),U.default.createElement("select",{value:y.status,onChange:C=>b({...y,status:C.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"all"},"All Status"),U.default.createElement("option",{value:"success"},"Success"),U.default.createElement("option",{value:"error"},"Error")),U.default.createElement("select",{value:x,onChange:C=>S(C.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},U.default.createElement("option",{value:"time"},"Newest first"),U.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&U.default.createElement("button",{onClick:()=>O(null),className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium"},"Clear Selection"))),d&&U.default.createElement("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700"},"Failed to load traces: ",d),U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},U.default.createElement("div",{className:"flex justify-between items-center mb-3"},U.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),U.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(D).map(([C,T])=>U.default.createElement("div",{key:C,className:"flex items-center gap-1.5"},U.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:T}}),U.default.createElement("span",{className:"text-xs text-gray-500"},C.replace("Agent","")))))),U.default.createElement("div",{className:"h-36"},U.default.createElement(Bl,{width:"100%",height:"100%"},U.default.createElement(vs,{data:Y,onClick:F,style:{cursor:"pointer"}},U.default.createElement("defs",null,Object.entries(D).map(([C,T])=>U.default.createElement("linearGradient",{key:C,id:`gradient-light-${C}`,x1:"0",y1:"0",x2:"0",y2:"1"},U.default.createElement("stop",{offset:"5%",stopColor:T,stopOpacity:.6}),U.default.createElement("stop",{offset:"95%",stopColor:T,stopOpacity:.05})))),U.default.createElement(qi,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),U.default.createElement(Zi,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:N}),U.default.createElement(Ji,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),U.default.createElement(ts,{contentStyle:{background:"white",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1)"},labelStyle:{color:"#111827",fontWeight:"600",marginBottom:"8px"},formatter:(C,T)=>[C,T.replace("Agent","")]}),Object.keys(D).map(C=>U.default.createElement(Gi,{key:C,type:"monotone",dataKey:C,stackId:"1",stroke:D[C],fill:`url(#gradient-light-${C})`}))))),U.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-gray-900"},K.requests),U.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-red-500"},K.errors),U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-green-600"},K.avgLatency,"ms"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-lg font-bold text-amber-500"},K.throughput,"/min"),U.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&U.default.createElement("div",null,de,U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(C=>U.default.createElement(ad,{key:C.agent,name:C.agent,accentColor:D[C.agent],subtitle:C.agents?.length?C.agents.join(", "):void 0,badge:U.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls"),onClick:()=>le(C.agent),stats:ee(C),footer:U.default.createElement(U.default.Fragment,null,U.default.createElement("span",null,l[C.agent]?"Open agent \u2192":"Not linked to an agent record"),U.default.createElement("button",{onClick:T=>{T.stopPropagation(),De(C.agent)},className:y.agent===C.agent?"text-red-600":"hover:text-gray-700"},y.agent===C.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&U.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},j.map(C=>{let T=y.action===C.key;return U.default.createElement("div",{key:C.key,onClick:()=>{b({...y,action:T?"all":C.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${T?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:D[C.agent],borderLeftWidth:T?"2px":"4px"}},U.default.createElement("div",{className:"flex items-center justify-between mb-3"},U.default.createElement("div",{className:"flex items-center gap-2"},U.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:D[C.agent]}}),U.default.createElement("span",{className:"font-semibold text-gray-900"},C.agent),U.default.createElement("span",{className:"text-gray-500"},"#",C.action)),U.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:D[C.agent]+"20",color:D[C.agent]}},C.count," calls")),U.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),U.default.createElement("div",{className:"font-medium"},Math.round(C.totalDuration/C.count),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),U.default.createElement("div",{className:"text-gray-600"},Math.round(C.minDuration),"ms / ",Math.round(C.maxDuration),"ms")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),U.default.createElement("div",{className:C.errors>0?"text-red-600":"text-green-600"},C.errors," (",(C.errors/C.count*100).toFixed(0),"%)")),U.default.createElement("div",null,U.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),U.default.createElement("div",{className:"text-gray-600"},G(C.tokens).toLocaleString()))))})),k==="tools"&&(P.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):U.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},U.default.createElement("div",{className:"flex items-center gap-4 px-4 py-2 text-xs font-medium text-gray-500 border-b border-gray-100"},U.default.createElement("div",{className:"flex-1"},"Tool"),U.default.createElement("div",{className:"w-20 text-right"},"Calls"),U.default.createElement("div",{className:"w-24 text-right"},"Total time"),U.default.createElement("div",{className:"w-20 text-right"},"Avg"),U.default.createElement("div",{className:"w-20 text-right"},"Slowest")),P.map(C=>{let T=P[0].totalDuration?C.totalDuration/P[0].totalDuration*100:0;return U.default.createElement("div",{key:C.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},U.default.createElement("div",{className:"flex items-center gap-4 text-sm"},U.default.createElement("div",{className:"flex-1 min-w-0"},U.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:C.name},C.name),C.agents.length>0&&U.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:C.agents.join(", ")},C.agents.join(", "))),U.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Fe.mono}},C.count.toLocaleString(),C.errors>0&&U.default.createElement("span",{className:"text-red-600 ml-1",title:`${C.errors} failed`},"(",C.errors,")")),U.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Fe.mono}},Er(C.totalDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.avgDuration)),U.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Fe.mono}},Er(C.maxDuration))),U.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},U.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(T,1)}%`}})))}))),k==="spans"&&Te(!1),k==="timeline"&&!I&&U.default.createElement("div",{className:"space-y-4"},_.length===0?U.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(C=>U.default.createElement(P1,{key:C.id,trace:C,darkMode:!1,expanded:p===C.id,onToggle:()=>m(p===C.id?null:C.id)}))),I&&k==="timeline"&&U.default.createElement("div",{className:"text-center py-12"},U.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),U.default.createElement("p",{className:"text-gray-500 text-sm mt-2"},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here")))}var ce=te(ne());var D1=te(ne());function VE({trace:e,darkMode:t,height:r=8}){let n=Ir(t);if(!e)return D1.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let a=e.spans||[],o=e.duration_ms||1,i=[...a].sort((l,s)=>(l.nested||0)-(s.nested||0));return D1.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>D1.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Er(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/o*100,99)}%`,width:`${Math.max(l.duration/o*100,.8)}%`,background:l.error?"#ef4444":BE[l.type]||"#9ca3af"}})))}var $se=e=>{let t=null;if((e?.generations||[]).forEach(o=>{let i=o.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:o.model,total:l})}),!t)return null;let r=gs(e?.instructions),n=0;(e?.messages||[]).forEach(o=>{o.role==="tool"&&(n+=gs(o.content)+gs(o.tool_arguments))}),n=Math.min(n,t.input);let a=Math.max(t.input-r-n,0);return{used:t.total,limit:Fv(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:a},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},J7=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Use=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Fse=[{id:"conversation",label:"Conversation",hint:"Messages, tool calls and responses in order"},{id:"spans",label:"Spans",hint:"Each generation as a trace \u2014 waterfall, span details, timings"}],Wse=3e4,tl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),Hse=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);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 Vse({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:a}){let o=Ir(t),[i,l]=(0,ce.useState)(null),[s,u]=(0,ce.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,ce.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>m&&l(g)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return ce.default.createElement("div",{className:`rounded-lg px-2 py-1.5 -mx-2 transition-colors ${f?t?"hover:bg-white/5":"hover:bg-gray-100":""}`,style:n?{background:o.hoverBg}:void 0},ce.default.createElement("div",{className:f?"cursor-pointer":void 0,onClick:f?a:void 0,title:f?`${p} spans \u2014 click for the trace`:void 0},ce.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:o.textSecondary}},ce.default.createElement("span",{title:e.cache_hit?`${tl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?o.good:o.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&ce.default.createElement("span",{className:"text-amber-500",title:`${tl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",tl(e.tokens.thinking)),ce.default.createElement("span",null,e.model||"unknown-model"),e.provider&&ce.default.createElement("span",null,e.provider),ce.default.createElement("span",{className:"text-blue-500"},"in:",tl(e.tokens.input)),ce.default.createElement("span",{className:"text-green-500"},"out:",tl(e.tokens.output)),e.finish_reason&&ce.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&ce.default.createElement("span",null,Er(d)),c&&ce.default.createElement("a",{href:Ge(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:o.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&ce.default.createElement("span",{style:{color:o.textMuted}},"trace unavailable")),ce.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?ce.default.createElement(VE,{trace:i,darkMode:t}):d>0?ce.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:o.trackBg}},ce.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:o.textMuted}},p," ",p===1?"span":"spans"),ce.default.createElement(Gu,{open:n,darkMode:t,size:12})))),n&&i&&ce.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:o.cardBg,borderColor:o.cardBorder}},ce.default.createElement(Yv,{trace:i,darkMode:t,compact:!0})))}function rl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=kt(),[n,a]=(0,ce.useState)([]),[o,i]=(0,ce.useState)(!0),[l,s]=(0,ce.useState)(null),[u,c]=(0,ce.useState)(null),[d,f]=(0,ce.useState)({}),{timeWindow:p}=Qo(),m=(0,ce.useCallback)(async()=>{try{let H=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!H.ok)throw new Error(`Request failed (${H.status})`);let D=await H.json();a(D.interactions||[]),s(null)}catch(H){s(H.message)}finally{i(!1)}},[p.minutes,e]);(0,ce.useEffect)(()=>{m();let H=setInterval(m,Wse);return()=>clearInterval(H)},[m]);let[g,h]=(0,ce.useState)("recent"),v=(0,ce.useMemo)(()=>{let H=[...new Set(n.map(D=>D.display_name).filter(Boolean))].sort();return Object.fromEntries(H.map((D,Y)=>[D,J7[Y%J7.length]]))},[n]),y=(0,ce.useMemo)(()=>{let H=n.reduce((Y,N)=>Y+(N.tokens?.total||0),0),D=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:H,agents:D.size,avgTokens:n.length?Math.round(H/n.length):0}},[n]),b=(0,ce.useMemo)(()=>{if(n.length===0)return[];let H=Date.now(),D=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),N=Object.keys(v);return Array.from({length:Y},(_,z)=>{let j=H-(Y-1-z)*D,P=j-D,B=n.filter(R=>{let F=new Date(R.last_activity_at).getTime();return F>=P&&F1440?new Date(j).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(j).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(N.map(R=>[R,B.filter(F=>F.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,ce.useCallback)(H=>{let D=[...H];switch(g){case"tokens":return D.sort((Y,N)=>(N.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return D.sort((Y,N)=>(N.message_count||0)-(Y.message_count||0));default:return D.sort((Y,N)=>String(N.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[g]),w=(0,ce.useMemo)(()=>{let H=new Map;n.forEach(Y=>{let N=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${N}#${_||""}`;H.has(z)||H.set(z,{key:z,title:_?`${N} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${N} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let j=H.get(z);j.sessions.push(Y),j.tokens+=Y.tokens?.total||0,Y.last_activity_at>j.lastActivity&&(j.lastActivity=Y.last_activity_at)});let D=[...H.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return g==="tokens"?D.sort((Y,N)=>N.tokens-Y.tokens):g==="messages"?D.sort((Y,N)=>N.sessions.length-Y.sessions.length):D.sort((Y,N)=>String(N.lastActivity).localeCompare(String(Y.lastActivity)))},[n,g,S]),O=async H=>{if(u===H){c(null);return}if(c(H),!d[H])try{let D=await fetch(`/api/interactions/${H}`);if(D.ok){let Y=await D.json();f(N=>({...N,[H]:Y.interaction}))}}catch{}},[k,A]=(0,ce.useState)({}),[M,W]=Uf(),L=Ir(r);return o?ce.default.createElement("div",{className:"flex items-center justify-center h-64"},ce.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):ce.default.createElement("div",{className:"space-y-6"},ce.default.createElement("div",{className:"flex items-start justify-between"},!t&&ce.default.createElement("div",null,ce.default.createElement("h1",{className:"text-2xl font-bold",style:{color:L.textPrimary}},"Interactions"),ce.default.createElement("p",{className:"text-sm mt-1",style:{color:L.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),ce.default.createElement("div",{className:"flex items-center gap-3"},ce.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},ce.default.createElement("span",{className:"text-xs px-1",style:{color:L.textMuted}},"Sort"),Use.map(H=>ce.default.createElement("button",{key:H.id,onClick:()=>h(H.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===H.id?{background:r?"#2a2a2a":"#ffffff",color:L.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:L.textSecondary}},H.label))),ce.default.createElement(Jo,null))),l&&ce.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(239,68,68,0.1)":"#fef2f2",color:"#ef4444"}},"Failed to load interactions: ",l),n.length>0&&ce.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:L.cardBg,borderColor:L.cardBorder}},ce.default.createElement("div",{className:"flex items-center justify-between mb-3"},ce.default.createElement("h3",{className:"text-sm font-semibold",style:{color:L.textPrimary}},"Interactions over time"),ce.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([H,D])=>ce.default.createElement("span",{key:H,className:"flex items-center gap-1.5 text-xs",style:{color:L.textSecondary}},ce.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:D}}),H)))),ce.default.createElement("div",{className:"h-32"},ce.default.createElement(Bl,{width:"100%",height:"100%"},ce.default.createElement(vs,{data:b},ce.default.createElement("defs",null,Object.entries(v).map(([H,D])=>ce.default.createElement("linearGradient",{key:H,id:`ix-gradient-${H.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},ce.default.createElement("stop",{offset:"5%",stopColor:D,stopOpacity:.6}),ce.default.createElement("stop",{offset:"95%",stopColor:D,stopOpacity:.05})))),ce.default.createElement(qi,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),ce.default.createElement(Zi,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),ce.default.createElement(Ji,{stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),ce.default.createElement(ts,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${L.cardBorder}`,borderRadius:"8px"},labelStyle:{color:L.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([H,D])=>ce.default.createElement(Gi,{key:H,type:"monotone",dataKey:H,stackId:"1",stroke:D,strokeWidth:2,fill:`url(#ix-gradient-${H.replace(/\W/g,"-")})`}))))),ce.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:L.cardBorder}},[{label:"Interactions",value:y.interactions.toLocaleString()},{label:"Agents",value:y.agents.toLocaleString()},{label:"Total tokens",value:tl(y.tokens)},{label:"Avg / interaction",value:tl(y.avgTokens)}].map(H=>ce.default.createElement("div",{key:H.label},ce.default.createElement("div",{className:"text-lg font-bold",style:{color:L.textPrimary}},H.value),ce.default.createElement("div",{className:"text-xs",style:{color:L.textSecondary}},H.label))))),n.length===0?ce.default.createElement("div",{className:"text-center py-12"},ce.default.createElement("div",{className:"text-lg",style:{color:L.textMuted}},"No interactions in the last ",p.label),ce.default.createElement("p",{className:"text-sm mt-2",style:{color:L.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):ce.default.createElement("div",{className:"space-y-8"},w.map(H=>ce.default.createElement("div",{key:H.key,className:"space-y-4"},ce.default.createElement("div",{className:"flex items-baseline justify-between"},ce.default.createElement("h2",{className:"text-sm font-semibold",style:{color:L.textPrimary}},H.title),ce.default.createElement("span",{className:"text-xs",style:{color:L.textMuted}},H.sessions.length," ",H.sessions.length===1?"interaction":"interactions",H.tokens>0&&` \xB7 ${tl(H.tokens)} tokens`)),H.sessions.map(D=>{let Y=d[D.id],N=u===D.id,_=k[D.id]||"conversation";return ce.default.createElement(M1,{key:D.id,darkMode:r,className:"shadow-sm"},ce.default.createElement("div",{className:`flex items-center justify-between flex-wrap gap-y-2 p-4 cursor-pointer transition-colors ${r?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:()=>O(D.id),style:N?{background:L.hoverBg}:void 0},ce.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},D.source==="telemetry"?ce.default.createElement("span",{className:"px-2 py-1 text-xs font-medium rounded flex-shrink-0",style:{background:r?"rgba(168,85,247,0.15)":"#faf5ff",color:r?"#d8b4fe":"#7e22ce"},title:"Reported by an app running this agent outside the platform"},"REPORTED"):ce.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),ce.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:L.textPrimary}},D.display_name),D.agent&&ce.default.createElement("span",{className:"text-sm truncate",style:{color:L.textSecondary}},D.agent.name),D.service_name&&ce.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:L.textMuted}},D.service_name)),ce.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0 text-sm",style:{color:L.textSecondary}},ce.default.createElement("span",null,D.message_count>0?`${D.message_count} messages`:`${D.tool_count||0} tool ${D.tool_count===1?"call":"calls"}`),ce.default.createElement("span",null,tl(D.tokens?.total)," tokens"),(D.tokens?.total||0)>0&&ce.default.createElement(ys,{compact:!0,darkMode:r,label:"Context",used:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total,limit:Fv(D.model),segments:[{key:"messages",label:"Context",tokens:(D.tokens?.input||0)+(D.tokens?.output||0)||D.tokens?.total}]}),ce.default.createElement("span",{style:{color:L.textMuted}},Hse(D.last_activity_at)),ce.default.createElement(Gu,{open:N,darkMode:r}))),!N&&ce.default.createElement($f,{darkMode:r,onClick:()=>O(D.id),style:{padding:"0 16px 12px"},lines:[{label:"input",text:D.preview?.input,color:gr("user",r).color},{label:"output",text:D.preview?.output,color:gr("assistant",r).color}]}),N&&ce.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:L.cardBorder,background:L.innerBg}},Y?ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},ce.default.createElement(qv,{options:Fse,value:_,onChange:z=>A(j=>({...j,[D.id]:z})),darkMode:r}),ce.default.createElement("span",{className:"text-xs",style:{color:L.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&ce.default.createElement(ce.default.Fragment,null,Y.messages.length===0&&ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),ce.default.createElement(so,{darkMode:r,messages:Y.instructions?[{id:`ctx-${D.id}-system`,role:"system",content:Y.instructions,created_at:D.created_at},...Y.messages]:Y.messages}),(()=>{let z=$se(Y);return z?ce.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:L.cardBorder}},ce.default.createElement(ys,{...z,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?ce.default.createElement("div",{className:"text-sm",style:{color:L.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):ce.default.createElement("div",{className:"space-y-2"},Y.generations.map(z=>ce.default.createElement(Vse,{key:z.id,generation:z,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${D.id}:${z.id}`),onToggle:()=>W(`${D.id}:${z.id}`)}))))):ce.default.createElement("div",{className:"flex justify-center py-6"},ce.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var re=te(ne());function e$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),a=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),o=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...a,...o]}var R7=e=>/^[1-9]\d*$/.test(e||"")?e:null;function I1(e){let t=new URLSearchParams(e),r=R7(t.get("evaluation"));return r?{evaluationId:r,runId:R7(t.get("run"))}:null}async function t$(e,t,r){if(!t||e.some(o=>String(o.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let a=await n.json();if(!a.evaluation)throw new Error("Requested evaluation is unavailable");return[a.evaluation,...e]}var Pe=te(ne());var Gt=te(ne());var ye="var(--font-mono)",Qu=e=>e>=1?"success":e>=.7?"warning":"error",nl={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},KE={object:"=",sample:"~",pass:Ut.success,fault:Ut.error,info:Ut.info,on:"[x]",off:"[ ]",link:Ut.arrow,chevron:Ut.chevronRight};function Ju({kind:e="pass",open:t=!1,color:r,size:n=12,weight:a=700,style:o,title:i}){return e==="chevron"?Gt.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ye,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...o}},KE.chevron):Gt.default.createElement("span",{title:i,style:{fontFamily:ye,fontSize:n,fontWeight:a,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...o}},KE[e]||e)}function or({tone:e="muted",size:t=11,children:r,title:n,style:a,testId:o}){let i=nl[e]||nl.muted;return Gt.default.createElement("span",{"data-testid":o,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ye,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...a}},r)}function rt({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:a,as:o="span"}){return Gt.default.createElement(o,{style:{fontFamily:ye,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...a}},e)}function al({selected:e=!1,onClick:t,children:r,square:n=!1,mono:a=!1,title:o,style:i,testId:l}){return Gt.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:o,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:a?ye:"inherit",fontSize:a?11:12,fontWeight:a?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":a?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function j1({options:e,value:t,onChange:r,style:n}){return Gt.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(a=>{let o=a.value===t;return Gt.default.createElement("button",{key:a.value,type:"button",onClick:()=>r(a.value),"aria-pressed":o,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${o?"var(--color-accent-ui)":"var(--color-border)"}`,color:o?"var(--color-accent-ui)":"var(--color-text-cell)"}},a.label)}))}function zr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:a=!1,title:o,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:a?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:a?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return Gt.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:a,title:o,style:{...c,...d[e]||d.secondary,...l}},r)}function yr({children:e,padding:t=20,style:r,className:n,testId:a,...o}){return Gt.default.createElement("div",{"data-testid":a,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...o},e)}function Xv({label:e,value:t,sub:r,valueColor:n,valueSize:a=32,testId:o}){return Gt.default.createElement(yr,{testId:o},Gt.default.createElement(rt,{size:11,spacing:"0.05em"},e),Gt.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:a,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&Gt.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function qE({title:e,meta:t,children:r,style:n,testId:a,bodyStyle:o}){return Gt.default.createElement("div",{"data-testid":a,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&Gt.default.createElement(rt,null,e),t&&Gt.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t)),Gt.default.createElement("div",{style:o},r))}function r$({passed:e,total:t,label:r,labelWidth:n=128,width:a,height:o=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||nl[Qu(u)].strong;return Gt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),Gt.default.createElement("span",{style:{flex:a?void 0:1,width:a,height:o,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},Gt.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),Gt.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function Ff({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:a=11,style:o,title:i}){return Gt.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ye,fontSize:a,color:n,textDecoration:"none",...o}},e," ",KE.link)}function aa({children:e,style:t}){return Gt.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var hr=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},YE=e=>e==null?"\u2014":hr(e),Qr=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},Zv=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},uo=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,n$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,Ru=e=>e==null?"\u2014":Number(e).toFixed(2),Wf=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},Hf=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},z1=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var se=te(ne());var xs=e=>[...new Set(e)],Xt=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Qv=e=>String(e||"").replace(/_/g," "),bs=e=>e?.status==="passed",ec=e=>!!e&&e.status!=="pending",ws=e=>!!e&&["pending","running"].includes(e.status),B1=e=>e?.selection||e?.scores?._selection||{},Kse=e=>(B1(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function L1(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let a=Kse(e);if(a.length)return a;let o=xs(t.map(l=>Rv(e,l)));if(o.length)return o;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function Rv(e,t){let n=(B1(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let a=e?.scores?._models||{};if(a[t.model])return t.model;let o=[t.provider,t.model].filter(Boolean).join("/");return a[o]?o:t.model}function XE(e,t){let r=e?.scores?._models?.[t],n=(B1(e).models||[]).find(a=>a&&typeof a=="object"&&a.label===t);return z1(t,r?.provider||n?.provider||"")}function ZE(e,t=[]){let r=B1(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let a=r.scenario_ids.map(String);return t.filter(o=>a.includes(String(o.id))).map(o=>o.key)}let n=t.filter(a=>a.enabled!==!1);return r.group?n.filter(a=>a.group===r.group).map(a=>a.key):ws(e)?n.map(a=>a.key):[]}function Jv(e,t=[],r=[]){let n=ZE(e,r);if(n.length)return n.length;let a=Object.values(e?.scores?._models||{});return a.length?Math.max(...a.map(o=>o.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function a$(e,t,r=[],n=0){let a=e?.scores?._models?.[t];if(a&&a.scenarios!=null)return{passed:a.passed||0,total:a.scenarios||0};let o=r.filter(i=>Rv(e,i)===t);return{passed:o.filter(bs).length,total:n||o.length}}function QE(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let a=Jv(e,r,n)*Math.max(r.length,1);return{passed:t.filter(bs).length,total:a}}function o$(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(a=>{let o=typeof a=="string"?a:String(a?.name||"");o&&(n[o]||(n[o]={name:o,count:0,errored:!1},r.push(o)),n[o].count+=1,a&&typeof a=="object"&&a.error&&(n[o].errored=!0))}),r.map(a=>{let o=n[a],i=t.includes(a);return{...o,hit:i,label:`${a}${o.errored?" \u2717":""}${o.count>1?` \xD7${o.count}`:""}`,color:o.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:o.errored||i?600:400}})}var qse=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},GE=e=>e?.diagnosis?.judge?.instruction_change;function i$(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let o=r.length>0||t.some(GE);if(e.fix_items.length>0||!o)return e.fix_items}let n=r.map(o=>Yse(o,t)),a=new Set;return t.forEach(o=>{let i=GE(o);if(!i||a.has(i))return;a.add(i);let l=t.filter(s=>GE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:xs(l.map(s=>s.scenario_key)),models:xs(l.map(s=>Rv(e,s))),recommendation:o.diagnosis.judge.recommendation||o.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yse(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),a=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),o=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){o="missing tools";let u=xs(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=xs(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){o="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:qse(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else o=a.length?"suggested tools":null,i=xs(a).map(u=>({name:u,note:null,server:null}));return!s&&o==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||xs(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:o,tools:i,server:null,note:l,action:s}}var un=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ye,fontSize:e,color:t,...r});function l$({calls:e,empty:t,style:r}){return se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ye,fontSize:11,...r}},e.map(n=>se.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&se.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}var Gse=20,$1=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,Xse=(e=[],t=null)=>{let r=$1(e,t),n=e.length=Gse;return`${Xt(r,"run")}${n?` \xB7 latest ${e.length}`:""}`};function s$({runs:e,runCount:t=null,selectedId:r,onSelect:n,agentName:a,selectedResults:o=[],scenarios:i=[]}){let l=$1(e,t),s=c=>l-c,u=e.map((c,d)=>{let f=L1(c,c.id===r?o:[]),p=c.id===r?o:[],m=Jv(c,f,i),g=QE(c,p,f,i),h=c.selection||c.scores?._selection||{},v="first run",y="var(--color-text-muted)";if(c.status==="failed")v="failed",y="var(--color-error)";else if(ws(c))v=c.status==="pending"?"queued":"running";else{let b=e.findIndex((S,w)=>w>d&&S.status==="complete"),x=b>=0?e[b]:null;if(x){let S=L1(x);if(Jv(x,S,i)===m&&S.length===f.length){let O=g.passed-(x.samples_passed||0);v=`${O>0?"+":""}${O} passed vs #${s(b)}`,y=O>0?"var(--color-success)":O<0?"var(--color-error)":"var(--color-text-muted)"}else v="partial run"}}return{run:c,label:`#${s(d)}`,when:Hf(c.completed_at||c.created_at),delta:v,deltaColor:y,note:`${a} \xB7 ${Xt(m,"scenario")} \xD7 ${Xt(f.length,"model")}${h.group?` \xB7 ${h.group}`:""}`,bars:f.map(b=>({label:b,...a$(c,b,p,m)})),selected:c.id===r}});return se.default.createElement(qE,{title:"Runs",meta:Xse(e,t),testId:"suite-runs-panel"},u.length===0&&se.default.createElement(aa,null,"[ ] no runs yet"),u.map(c=>se.default.createElement("div",{key:c.run.id,onClick:()=>n(c.run.id),className:c.selected?void 0:"hover:bg-[var(--color-hover)]","data-selected":c.selected?"true":"false",style:{padding:"10px 12px 10px 10px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:c.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${c.selected?"var(--color-accent-ui)":"transparent"}`}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},c.label),se.default.createElement("span",{style:{fontSize:11,color:"var(--color-text-muted)"}},c.when),se.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:c.deltaColor}},c.delta)),se.default.createElement("div",{style:{...un(11),marginTop:2,textWrap:"pretty"}},c.note),c.bars.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,marginTop:8}},c.bars.map(d=>se.default.createElement(r$,{key:d.label,label:z1(d.label).short,passed:d.passed,total:d.total}))))))}function u$({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:a,verdict:o}){let i=e?.scores?._models||{};return se.default.createElement(qE,{title:"Models",meta:a?`judged by ${a}`:null,testId:"suite-models-panel"},t.length===0&&se.default.createElement(aa,null,"[ ] no models scored yet"),t.map(l=>{let{short:s,provider:u}=XE(e,l),c=i[l],{passed:d,total:f}=a$(e,l,r,n),p=f?d/f:0,m=nl[Qu(p)].strong,g=Object.entries(c?.faults||{}),h=o?.winner===l;return se.default.createElement("div",{key:l,style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:l},s),u&&se.default.createElement("span",{style:un(11)},u),h&&se.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick"),se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10}},se.default.createElement("span",{style:{width:120,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},se.default.createElement("span",{style:{display:"block",width:`${Math.round(p*100)}%`,height:"100%",borderRadius:999,background:m}})),se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:m}},`${d}/${f}`))),se.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)"}},se.default.createElement("span",null,"score ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},c?.avg_score!=null?Number(c.avg_score).toFixed(3):"\u2014")),se.default.createElement("span",null,"latency ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},Qr(c?.avg_duration_ms))),se.default.createElement("span",{style:{whiteSpace:"nowrap"}},se.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",YE(c?.input_tokens)," \xB7 ",se.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",YE(c?.output_tokens)),se.default.createElement("span",null,"cost ",se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},uo(c?.cost)))),se.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},g.map(([v,y])=>se.default.createElement(or,{key:v,tone:"error"},`${Qv(v)} \xD7${y}`)),c&&g.length===0&&se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-success-text)"}},"[+] no faults"),!c&&ws(e)&&se.default.createElement("span",{style:un(11)},"scoring\u2026")))}),o?.rationale&&se.default.createElement("div",{style:{padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),o.rationale))}function c$({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:a}){let o=i=>{let l=Xt((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=xs(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>z1(d).short).join(", ");return`${l} \xB7 ${c}`};return se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(g=>{let h=typeof g=="string"?g:g?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof g=="object"&&(g.note||g.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return se.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},se.default.createElement(Ju,{kind:s?"info":"fault"}),se.default.createElement(or,{tone:u},`${Qv(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),a&&(i.scenario_keys||[]).length>0?se.default.createElement("button",{type:"button",onClick:()=>a(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...un(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},o(i)):se.default.createElement("span",{style:un(11)},o(i))),i.recommendation&&se.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&se.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&se.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(g=>se.default.createElement("span",{key:g.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,maxWidth:"100%"}},se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},g.name),g.note&&se.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:g.note},g.note))))),f&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},se.default.createElement("span",null,"served by"),se.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),se.default.createElement(or,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&se.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&se.default.createElement(zr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&se.default.createElement("span",{style:{...un(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Zse=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Qse({result:e,expects:t,pending:r}){if(!e)return se.default.createElement("span",{style:{...un(12),fontWeight:600}},r?"\u2026":"\u2014");if(!ec(e))return se.default.createElement("span",{style:{...un(12),fontWeight:600}},"\u2026");let n=bs(e),a=n?"var(--color-success)":"var(--color-error)",o=o$(e.tool_calls,t);return se.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ye,fontSize:12}},se.default.createElement("span",{style:{fontWeight:700,color:a}},n?"[+]":"[!]"),se.default.createElement("span",{style:{fontWeight:600,color:a}},Ru(e.score)),e.fault&&se.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},Qv(e.fault))),se.default.createElement(l$,{calls:o,empty:"no tools called"}))}function d$({rows:e,columns:t,run:r,resultsByKey:n,runKeys:a,running:o,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Zse(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",g=f.find(h=>h.name===m);g||(g={name:m,rows:[]},f.push(g)),g.rows.push(p)}),se.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},se.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Scenario"),se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:g}=XE(r,p);return se.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),se.default.createElement("span",{style:un(10)},g||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>a.has(h.key)||n[h.key]),g=t.map(h=>{let y=m.filter(S=>ec(n[S.key]?.[h])).filter(S=>bs(n[S.key][h])).length,b=m.length,x=b&&y===b?"var(--color-success-text)":y===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${y}/${b} passed`:"\u2014",color:x}});return se.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},se.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),se.default.createElement("span",{style:un(11)},Xt(p.rows.length,"scenario")),g.map(h=>se.default.createElement("span",{key:h.label,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,y=h.expectations?.tools||[],b=a.has(h.key)||!!n[h.key],x=h.enabled===!1;return se.default.createElement("div",{key:h.key},se.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},se.default.createElement("div",{style:{minWidth:0}},se.default.createElement("div",{style:{...un(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),se.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),se.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},y.map(S=>se.default.createElement("span",{key:S,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),y.length===0&&(h.expectations?.contains||[]).map(S=>se.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ye,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>se.default.createElement(Qse,{key:S,result:n[h.key]?.[S],expects:y,pending:o&&b}))),v&&u(h))}))}),e.length===0&&se.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Jse(e){let t=[];return e.duration_ms!=null&&t.push(Qr(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(uo(e.cost)),t.join(" \xB7 ")}function Rse({label:e,run:t,result:r,expects:n,running:a}){let{short:o}=XE(t,e),i=se.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},o),l=(v,y)=>se.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,y),se.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!ec(r))return l(se.default.createElement("span",{style:un(11)},a?"waiting for this replay\u2026":"not part of this run"),se.default.createElement(or,{tone:"muted"},a?"pending":"no result"));let u=bs(r)?"success":"error",c=o$(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",g=Object.entries(r.scores||{}),h=Jse(r);return l(se.default.createElement(se.default.Fragment,null,se.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ye,fontSize:11}},se.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"tools"),se.default.createElement(l$,{calls:c,empty:"none called",style:{display:"contents"}})),p&&se.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},se.default.createElement("span",{style:{fontFamily:ye,fontWeight:700}},`[!] ${Qv(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&se.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&se.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?se.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):se.default.createElement("div",{style:un(11)},"answer not retained for this run"),g.length>0&&se.default.createElement("div",{style:{...un(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},g.map(([v,y])=>se.default.createElement("span",{key:v},Qv(v)," ",se.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},y==null?"skipped":Ru(y)))))),se.default.createElement(se.default.Fragment,null,se.default.createElement(or,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${Ru(r.score)}`),h&&se.default.createElement("span",{style:{marginLeft:"auto",...un(11)}},h)))}function f$({scenario:e,run:t,columns:r,resultsByKey:n,running:a,inRun:o=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=o||d;return se.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},se.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},se.default.createElement("span",{style:un(11)},e.key),se.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),se.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&se.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},se.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ye,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),se.default.createElement(Ff,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&se.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&se.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>se.default.createElement(Rse,{key:p,label:p,run:t,result:c[p],expects:u,running:a}))):se.default.createElement("div",{style:un(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):se.default.createElement("div",{style:un(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var JE=()=>document.querySelector('meta[name="csrf-token"]')?.content;function eue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let a=[],o=n.expectations||{};o.tools?.length&&a.push(`tools: ${o.tools.join(", ")}`),o.contains?.length&&a.push(`contains: ${o.contains.join(", ")}`),o.not_contains?.length&&a.push(`not_contains: ${o.not_contains.join(", ")}`),n.notes&&a.push(`notes: ${n.notes}`),a.push(`key: ${n.key}`),t.push(`${n.prompt} | ${a.join(" | ")}`)}),t.join(` -`)}var tue=e=>{let{results:t,fix_items:r,...n}=e;return n},rue=e=>{if(!e)return null;let t=[uo(e.cost),`${hr((e.input_tokens||0)+(e.output_tokens||0))} tokens`];return e.model_time_ms!=null&&t.push(`model time ${Qr(e.model_time_ms)}`),e.runtime_ms!=null&&t.push(`finished in ${Qr(e.runtime_ms)}`),t.join(" \xB7 ")},p$={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ye,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function RE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1}){let a=e.id,o=e.agent?.name||"Agent",[i,l]=(0,Pe.useState)(!1),[s,u]=(0,Pe.useState)(null),[c,d]=(0,Pe.useState)([]),[f,p]=(0,Pe.useState)(e.scenario_groups||[]),[m,g]=(0,Pe.useState)(e.latest_run?[e.latest_run]:[]),[h,v]=(0,Pe.useState)(null),[y,b]=(0,Pe.useState)(e.latest_run?.id??null),[x,S]=(0,Pe.useState)({}),[w,O]=(0,Pe.useState)((e.compare_models||[]).join(", ")),[k,A]=(0,Pe.useState)(null),[M,W]=(0,Pe.useState)(!1),[L,H]=(0,Pe.useState)(!1),[D,Y]=(0,Pe.useState)(""),[N,_]=(0,Pe.useState)(null),[z,j]=(0,Pe.useState)(null),[P,B]=(0,Pe.useState)(!1),[R,F]=(0,Pe.useState)(null),[G,ee]=(0,Pe.useState)(0),fe=(0,Pe.useCallback)(async()=>{let xe=await fetch(`/api/evaluations/${a}/scenarios`);if(!xe.ok)return;let ut=await xe.json();d(ut.scenarios||[]),p(ut.groups||[])},[a]),de=(0,Pe.useCallback)(async()=>{try{let xe=await fetch(`/api/evaluations/${a}`);if(!xe.ok)return u(`Could not load this suite (HTTP ${xe.status})`),null;let Zt=(await xe.json()).evaluation||{};return d(Zt.scenarios||[]),p(Zt.scenario_groups||[]),g(Zt.runs||[]),v(Number.isFinite(Zt.run_count)?Zt.run_count:null),u(null),Zt}catch(xe){return u(`Could not load this suite: ${xe.message}`),null}finally{l(!0)}},[a]),De=(0,Pe.useCallback)(async xe=>{if(!xe)return null;let ut=await fetch(`/api/evaluations/${a}/runs/${xe}`);if(!ut.ok)return null;let pr=(await ut.json()).run;return pr?(S(hn=>({...hn,[pr.id]:pr})),g(hn=>hn.map(Ns=>Ns.id===pr.id?{...Ns,...tue(pr)}:Ns)),pr):null},[a]);(0,Pe.useEffect)(()=>{let xe=!1;return(async()=>{let ut=await de();if(xe)return;let Zt=ut?.runs?.[0]?.id??null;b(pr=>pr&&ut?.runs?.some(hn=>hn.id===pr)?pr:Zt),Zt&&De(Zt)})(),()=>{xe=!0}},[de,De]);let le=e.latest_run?.id??null;(0,Pe.useEffect)(()=>{!le||m.some(xe=>xe.id===le)||de()},[le,m,de]);let Te=x[y]||m.find(xe=>xe.id===y)||null,K=m[0]||null,I=ws(Te)?Te.id:ws(K)?K.id:null;(0,Pe.useEffect)(()=>{if(!I)return;let xe=!1,ut=setTimeout(async()=>{let Zt=null;try{Zt=await De(I)}catch{Zt=null}if(!xe){if(Zt&&!ws(Zt)){await de(),t?.();return}ee(pr=>pr+1)}},3e3);return()=>{xe=!0,clearTimeout(ut)}},[I,G,De,de,t]);let C=w.split(",").map(xe=>xe.trim()).filter(Boolean),T=async xe=>{W(!0),A(null);try{let ut=await fetch(`/api/evaluations/${a}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({...xe,models:C})}),Zt=await ut.json().catch(()=>({}));if(!ut.ok)throw new Error((Zt.errors||[Zt.error]).filter(Boolean).join(", ")||"Run failed to start");let pr=Zt.run;g(hn=>[pr,...hn.filter(Ns=>Ns.id!==pr.id)]),v(hn=>hn==null?null:hn+1),S(hn=>({...hn,[pr.id]:{...pr,results:[]}})),b(pr.id),F(null),t?.()}catch(ut){A(ut.message)}finally{W(!1)}},X=xe=>{b(xe),F(null),x[xe]||De(xe)},$=async xe=>{xe.id&&(await fetch(`/api/evaluations/${a}/scenarios/${xe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenario:{enabled:xe.enabled===!1}})}),await fe())},Ne=async()=>{_(null);let xe=await fetch(`/api/evaluations/${a}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":JE()},body:JSON.stringify({scenarios_text:D})}),ut=await xe.json().catch(()=>({}));if(!xe.ok){_((ut.errors||[ut.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}d(ut.scenarios||[]),p(ut.groups||[]),H(!1),t?.()},E=Te,Z=(0,Pe.useMemo)(()=>(E?.results||[]).filter(xe=>xe&&xe.scenario_key),[E]),ge=(0,Pe.useMemo)(()=>L1(E,Z,e),[E,Z,e]),Le=(0,Pe.useMemo)(()=>Z.reduce((xe,ut)=>((xe[ut.scenario_key]||={})[Rv(E,ut)]=ut,xe),{}),[Z,E]),nt=(0,Pe.useMemo)(()=>new Set(ZE(E,c)),[E,c]),Bt=ws(E),ft=Jv(E,ge,c),En=QE(E,Z,ge,c),Bn=(0,Pe.useCallback)(xe=>nt.has(xe.key)||!!Le[xe.key],[nt,Le]),oa=(0,Pe.useMemo)(()=>e$(c,Le),[c,Le]),Mo=xe=>ge.some(ut=>{let Zt=Le[xe.key]?.[ut];return ec(Zt)&&!bs(Zt)}),nc=oa.filter(xe=>!z||(xe.group||"")===z).filter(xe=>!P||Mo(xe)),fr=m.findIndex(xe=>xe.id===E?.id),$n=$1(m,h),ri=fr>=0?$n-fr:null,ac=new Set(oa.filter(Bn).map(xe=>xe.group).filter(Boolean)).size,aw=Z.filter(ec).length,Xf=ft*Math.max(ge.length,1),ow=new Set(Z.filter(xe=>ec(xe)&&!bs(xe)).map(xe=>xe.scenario_key)).size,oc=E?.scores?._verdict||null,ni=Object.prototype.hasOwnProperty.call(E?.scores||{},"_judge_label")?E.scores._judge_label||"rules":oc?.judge&&oc.judge!=="pass rate"?oc.judge:e.judge_model||"rules",ic=(0,Pe.useMemo)(()=>E?i$(E,Z):[],[E,Z]),iw=(0,Pe.useCallback)(xe=>{let ut=Array.isArray(xe)?xe[0]:xe;ut&&(j(null),B(!1),F(ut),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(ut)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),fg=Object.keys(E?.scores||{}).filter(xe=>!xe.startsWith("_")),lw=(fg.length?fg:(e.criteria||[]).map(xe=>xe.key)).map(xe=>String(xe).replace(/_/g," ")).join(" \xB7 ")||"\u2014",lc=i?c.length:e.scenario_count??0,Zf=i?c.filter(xe=>xe.enabled!==!1&&(!z||(xe.group||"")===z)).length:lc,pg=`Run ${Xt(Zf,"scenario")}${C.length?` \xD7 ${Xt(C.length,"model")}`:""}`,sw=E?[fr>0?`Viewing run #${ri} (latest is #${$n})`:`Run #${ri??"?"} \xB7 ${Hf(E.completed_at||E.created_at)}`,o,`${Xt(ft,"scenario")}${ac?` in ${Xt(ac,"group")}`:""} \xD7 ${Xt(ge.length,"model")}`,E.status==="failed"?"failed":`${En.passed}/${En.total} passed`].join(" \xB7 "):`${o} \xB7 ${Xt(lc,"scenario")}${f.length?` in ${Xt(f.length,"group")}`:""} \xB7 ${s?"not loaded":i?"no runs yet":"loading\u2026"}`,Qf=E&&E.status==="complete"?`/evaluations/${a}/runs/${E.id}/report`:null,uw=[...new Set([...f,...oa.map(xe=>xe.group).filter(Boolean)])],cw=[{label:`All ${oa.length||lc}`,value:null}].concat(uw.map(xe=>({label:i?`${xe} ${oa.filter(ut=>ut.group===xe).length}`:xe,value:xe}))),sc=oa.length===0,dw=P?"[+] nothing failed in this group":"[ ] no scenarios";return Pe.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Pe.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},sw),Bt&&Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${aw} of ${Xf} results in`),Pe.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Pe.default.createElement(zr,{size:"sm",onClick:()=>{Y(eue(c)),_(null),H(!L)}},L?"Cancel":"Edit scenarios"),Pe.default.createElement("input",{type:"text",value:w,onChange:xe=>O(xe.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...p$,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Pe.default.createElement(zr,{variant:"primary",size:"sm",disabled:M||!i||Zf===0,onClick:()=>T(z?{group:z}:{}),testId:"suite-run-button"},M?"Starting\u2026":pg))),(s||k||E?.status==="failed")&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},s||k||`Run failed: ${E.error_message||"unknown error"}`),L&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Pe.default.createElement("textarea",{value:D,onChange:xe=>Y(xe.target.value),rows:Math.min(Math.max(c.length+4,6),24),style:{...p$,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Pe.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Pe.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," starts a group; ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| contains: x"),", ",Pe.default.createElement("code",{style:{fontFamily:ye}},"| not_contains: y")," set expectations. Keep a scenario's ",Pe.default.createElement("code",{style:{fontFamily:ye}},"key")," to keep its history."),Pe.default.createElement(zr,{variant:"primary",size:"sm",onClick:Ne},"Save scenarios")),N&&Pe.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},N)),Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"minmax(280px, 2fr) minmax(0, 3fr)",gap:16,alignItems:"start"}},Pe.default.createElement(s$,{runs:m,runCount:h,selectedId:E?.id??null,onSelect:X,agentName:o,selectedResults:Z,scenarios:c}),Pe.default.createElement(u$,{run:E,columns:E?ge:[],results:Z,scenarioCount:ft,judgedBy:ni,verdict:oc})),E&&E.status!=="failed"&&Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Pe.default.createElement(rt,null,"What to fix"),Pe.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},`${Xt(ic.length,"item")} \xB7 ${Xt(Math.max(En.total-En.passed,0),"fault")} across ${Xt(ow,"scenario")}`)),ic.length>0?Pe.default.createElement(c$,{items:ic,columns:ge,agentName:o,onNavigate:Gv,onOpenScenario:iw}):Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},Bt?"[ ] scoring\u2026":"[+] nothing to fix")),Pe.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(rt,{style:{marginRight:4}},"Scenarios"),cw.map(xe=>Pe.default.createElement(al,{key:xe.label,selected:z===xe.value,onClick:()=>j(xe.value)},xe.label)),Pe.default.createElement(al,{square:!0,mono:!0,selected:P,onClick:()=>B(!P),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},P?"[x] failed only":"[ ] failed only")),sc&&s?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):sc&&!i?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):sc?Pe.default.createElement(aa,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Pe.default.createElement(d$,{rows:nc,columns:E?ge:[],run:E,resultsByKey:Le,runKeys:nt,running:Bt,openKey:R,onToggleRow:xe=>F(R===xe?null:xe),emptyLabel:dw,renderDetail:xe=>Pe.default.createElement(f$,{scenario:xe,run:E,columns:E?ge:[],resultsByKey:Le,running:Bt,inRun:Bn(xe),canMutate:!xe.orphan,onRerun:ut=>T({keys:[ut.key]}),onToggleEnabled:$})})),Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",paddingTop:12,borderTop:"1px solid var(--color-border-light)",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Pe.default.createElement("span",{style:{whiteSpace:"nowrap"}},`judge ${ni}`),Pe.default.createElement("span",{style:{minWidth:0,textWrap:"pretty"}},`criteria ${lw}`),E?.usage&&Pe.default.createElement("span",{style:{whiteSpace:"nowrap"},title:"Estimated cost, tokens and model time of this run"},rue(E.usage)),Qf&&Pe.default.createElement(Ff,{href:Ge(Qf),onClick:()=>Gv(Qf),title:"The run rendered as a report page"},"run report"),r&&Pe.default.createElement("button",{type:"button",onClick:r,disabled:n,title:"Delete this suite and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:n?"not-allowed":"pointer",fontFamily:ye,fontSize:11,color:"var(--color-error)",opacity:n?.5:1}},n?"Deleting\u2026":"Delete suite")))}var e_=[{type:"response_present",key:"response_present",label:"Response present",config:{}},{type:"min_length",key:"response_length",label:"Response length \u2265 40 chars",config:{chars:40}},{type:"max_latency_ms",key:"latency",label:"Latency \u2264 5s",config:{ms:5e3}},{type:"token_budget",key:"token_budget",label:"Output \u2264 1000 tokens",config:{output_tokens:1e3}}],t_=[{type:"trace_error_rate",key:"trace_error_rate",label:"Trace error rate \u2264 5% (telemetry, 7d)",config:{max_error_rate:5,window_hours:168}},{type:"trace_latency",key:"trace_latency",label:"Avg trace latency \u2264 5s (telemetry, 7d)",config:{max_avg_ms:5e3,window_hours:168}}],r_=()=>document.querySelector('meta[name="csrf-token"]')?.content,nue=e=>{if(!e)return null;let t=(e.input_tokens||0)+(e.output_tokens||0),r=e.runtime_ms==null?null:Qr(e.runtime_ms);return`${uo(e.cost)} \xB7 ${hr(t)} tok${r?` \xB7 ${r}`:""}`},g$=e=>e>=.85?"success":e>=.7?"warning":"error",m$=()=>{let e=Xu().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=I1(window.location.search);return t?.runId?t:null},ol={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"},Ro=(e=11,t="var(--color-text-muted)")=>({fontFamily:ye,fontSize:e,color:t});function v$({label:e,score:t,indent:r=!1,mono:n=!1}){let a=t.skipped?null:g$(t.score);return re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,paddingLeft:r?16:0}},re.default.createElement("div",{style:{width:160,flexShrink:0,fontSize:n?11:13,fontFamily:n?ye:"inherit",color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:e},n?e:e.replace(/_/g," "),t.source==="telemetry"&&re.default.createElement("span",{"data-testid":"score-source-telemetry",style:{...Ro(10),marginLeft:6,textTransform:"uppercase",letterSpacing:"0.05em"},title:`Aggregate over ${t.traces} traces in the last ${t.window_hours}h`},"telemetry")),t.skipped?re.default.createElement("div",{style:{flex:1,fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"},title:t.reason},"skipped \u2014 ",t.reason):re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{flex:1,height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},re.default.createElement("div",{style:{height:"100%",width:`${Math.round(t.score*100)}%`,borderRadius:999,background:nl[a].strong}})),re.default.createElement("div",{style:{width:48,textAlign:"right",fontFamily:ye,fontSize:12,fontWeight:600,color:nl[a].strong},title:`min ${t.min} \xB7 max ${t.max} \xB7 ${t.passed}/${t.total} passed`},Ru(t.score))))}function eg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=kt(),[n,a]=(0,re.useState)(()=>e?null:m$()),o=(0,re.useRef)(null),[i,l]=(0,re.useState)(0),[s,u]=(0,re.useState)(null);(0,re.useEffect)(()=>{let E=o.current?.contentDocument?.body;if(!E)return;let Z=()=>u(E.scrollHeight);if(Z(),typeof ResizeObserver>"u")return window.addEventListener("resize",Z),()=>window.removeEventListener("resize",Z);let ge=new ResizeObserver(Z);return ge.observe(E),()=>ge.disconnect()},[i,n]),(0,re.useEffect)(()=>u(null),[n]),(0,re.useEffect)(()=>{if(e)return;let E=()=>a(m$());return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[c,d]=(0,re.useState)([]),[f,p]=(0,re.useState)([]),[m,g]=(0,re.useState)(!0),[h,v]=(0,re.useState)(null),[y,b]=(0,re.useState)(null),[x,S]=(0,re.useState)(()=>e?null:I1(window.location.search)?.evaluationId);(0,re.useEffect)(()=>{if(e)return;let E=()=>{let Z=I1(window.location.search)?.evaluationId;S(Z),Z&&b(new Set([Number(Z)]))};return window.addEventListener("popstate",E),window.addEventListener("dashboard:navigate",E),()=>{window.removeEventListener("popstate",E),window.removeEventListener("dashboard:navigate",E)}},[e]);let[w,O]=(0,re.useState)(!1),[k,A]=(0,re.useState)(null),[M,W]=(0,re.useState)(null),[L,H]=(0,re.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:e_.map(E=>E.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[D,Y]=(0,re.useState)(null),[N,_]=(0,re.useState)(!1),z=(0,re.useCallback)(async()=>{try{let E=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!E.ok)throw new Error(`Request failed (${E.status})`);let ge=(await E.json()).evaluations||[],Le=null;try{ge=await t$(ge,x,fetch)}catch(nt){Le=nt.message}d(ge),b(nt=>{if(nt)return nt;let Bt=x?ge.find(ft=>String(ft.id)===x):ge.find(ft=>ft.scenario_suite)||ge[0];return new Set(Bt?[Bt.id]:[])}),v(Le)}catch(E){v(E.message)}finally{g(!1)}},[t,x]);(0,re.useEffect)(()=>{z(),fetch("/api/agents").then(E=>E.ok?E.json():{agents:[]}).then(E=>p(E.agents||[])).catch(()=>p([]))},[z]);let j=E=>!!y?.has(E),P=E=>b(Z=>{let ge=new Set(Z||[]);return ge.has(E)?ge.delete(E):ge.add(E),ge}),B=()=>{let E=[...e_,...t_].filter(Z=>L.criteria.includes(Z.key)).map(({key:Z,type:ge,config:Le})=>({key:Z,type:ge,config:Le}));return L.containsPattern.trim()&&E.push({key:"contains",type:"contains",config:{pattern:L.containsPattern.trim()}}),L.llmJudgePrompt.trim()&&E.push({key:"quality",type:"llm_judge",config:{prompt:L.llmJudgePrompt.trim()}}),E},R=async E=>{E.preventDefault(),_(!0),Y(null);try{let Z=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":r_()},body:JSON.stringify({evaluation:{agent_id:L.agent_id,name:L.name,sample_size:L.sample_size,judge_kind:L.judgeKind==="judge_defined"?"judge_defined":L.llmJudgePrompt.trim()?"llm":"rules",judge_model:L.judgeModel.trim()||void 0,compare_models:L.compareModels.split(",").map(Le=>Le.trim()).filter(Boolean),criteria:L.judgeKind==="judge_defined"?[]:B(),scenarios_text:L.scenariosText.trim()||void 0}})}),ge=await Z.json().catch(()=>({}));if(!Z.ok)throw new Error((ge.errors||[ge.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${Z.status})`);O(!1),H({...L,name:"",scenariosText:""}),await z(),ge.evaluation?.id!=null&&b(Le=>new Set([...Le||[],ge.evaluation.id]))}catch(Z){Y(Z.message)}finally{_(!1)}},F=async E=>{A(E),v(null);try{let Z=await fetch(`/api/evaluations/${E}/run`,{method:"POST",headers:{"X-CSRF-Token":r_()}});Z.ok||v(`Run failed (HTTP ${Z.status})`),await z()}finally{A(null)}},G=async E=>{if(window.confirm(`Delete "${E.name}"? Its runs are deleted with it.`)){W(E.id),v(null);try{let Z=await fetch(`/api/evaluations/${E.id}`,{method:"DELETE",headers:{"X-CSRF-Token":r_()}});Z.ok||Z.status===404?(d(ge=>ge.filter(Le=>Le.id!==E.id)),b(ge=>{let Le=new Set(ge||[]);return Le.delete(E.id),Le})):v(`Delete failed (HTTP ${Z.status})`)}finally{W(null)}}};if(m)return re.default.createElement("div",{className:"flex items-center justify-center h-64"},re.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}}));let ee=t?c.filter(E=>String(E.agent?.id)===String(t)):c,fe=ee.filter(E=>E.scenario_suite),de=ee.filter(E=>!E.scenario_suite),De=fe.map(E=>E.latest_run).filter(E=>E&&E.status==="complete"),le=De.reduce((E,Z)=>E+(Z.samples_evaluated||0),0),Te=De.reduce((E,Z)=>E+(Z.samples_passed||0),0),K=De.reduce((E,Z)=>E+(Z.scores?._recommendations?.length||0),0),I=le?Te/le:null,C=[...new Set(fe.map(E=>E.agent?.name).filter(Boolean))],T=fe.reduce((E,Z)=>Math.max(E,Z.latest_run?.models?.length||(Z.compare_models||[]).length||0),0),X=[];C.length===1?X.push(`@${C[0]} \xB7 ${T>1?`${T} models compared`:"1 model"}`):C.length>1&&X.push(Xt(C.length,"agent")),de.length&&X.push(Xt(de.length,"sampling evaluation"));let $=X.join(" \xB7 ")||"no suites yet",Ne=E=>E&&typeof E=="object"&&!("score"in E)&&!("skipped"in E);if(n){let E=Ge(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),Z=`${E}?theme=${r?"dark":"light"}`;return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{size:"sm",onClick:()=>{HE("/evaluations"),a(null)}},re.default.createElement("span",{style:{fontFamily:ye}},"<-")," Evaluations"),re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),re.default.createElement("span",{style:Ro(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),re.default.createElement("a",{href:E,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",re.default.createElement("span",{style:{fontFamily:ye}},"->"))),re.default.createElement("iframe",{ref:o,src:Z,title:"Evaluation run report",onLoad:()=>l(ge=>ge+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}return re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},re.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&re.default.createElement("div",{style:{flex:1,minWidth:260}},re.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),re.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models")),re.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},re.default.createElement(zr,{variant:"primary",onClick:()=>O(!w),testId:"new-evaluation-button"},w?"Cancel":"New Evaluation"))),h&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),w&&re.default.createElement(yr,{testId:"new-evaluation-form"},re.default.createElement("form",{onSubmit:R,style:{display:"flex",flexDirection:"column",gap:16}},re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),re.default.createElement("select",{required:!0,disabled:!!t,value:L.agent_id,onChange:E=>H({...L,agent_id:E.target.value}),style:{...ol,width:"100%",opacity:t?.7:1}},!t&&re.default.createElement("option",{value:""},"Select agent\u2026"),f.map(E=>re.default.createElement("option",{key:E.id,value:E.id},E.name)))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Name"),re.default.createElement("input",{required:!0,type:"text",value:L.name,onChange:E=>H({...L,name:E.target.value}),placeholder:"Response Quality",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),re.default.createElement("input",{type:"number",min:"1",max:"100",value:L.sample_size,onChange:E=>H({...L,sample_size:E.target.value}),style:{...ol,width:"100%",fontFamily:ye}}))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),re.default.createElement("select",{value:L.judgeKind,onChange:E=>H({...L,judgeKind:E.target.value}),style:{...ol,width:"100%"}},re.default.createElement("option",{value:"manual"},"Manual criteria"),re.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),re.default.createElement("input",{type:"text",value:L.judgeModel,onChange:E=>H({...L,judgeModel:E.target.value}),placeholder:"e.g. claude-opus-5",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),re.default.createElement("input",{type:"text",value:L.compareModels,onChange:E=>H({...L,compareModels:E.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...ol,width:"100%",fontFamily:ye,fontSize:12}}))),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),re.default.createElement("textarea",{value:L.scenariosText,onChange:E=>H({...L,scenariosText:E.target.value}),rows:L.scenariosText?8:3,placeholder:`# Find records + `).concat(x.x,",").concat(x.y),w=mt(e.id)?ji("recharts-radial-line-"):e.id;return uo.createElement("text",el({},n,{dominantBaseline:"central",className:He("recharts-radial-bar-label",i)}),uo.createElement("defs",null,uo.createElement("path",{id:w,d:S})),uo.createElement("textPath",{xlinkHref:"#".concat(w)},r))},Rte=(e,t,r)=>{var n=e.cx,o=e.cy,a=e.innerRadius,i=e.outerRadius,l=e.startAngle,s=e.endAngle,u=(l+s)/2;if(r==="outside"){var c=tr(n,o,i+t,u),d=c.x,f=c.y;return{x:d,y:f,textAnchor:d>=n?"start":"end",verticalAnchor:"middle"}}if(r==="center")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"middle"};if(r==="centerTop")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"start"};if(r==="centerBottom")return{x:n,y:o,textAnchor:"middle",verticalAnchor:"end"};var p=(a+i)/2,m=tr(n,o,p,u),g=m.x,h=m.y;return{x:g,y:h,textAnchor:"middle",verticalAnchor:"middle"}},Of=e=>e!=null&&"cx"in e&&Se(e.cx),ere={angle:0,offset:5,zIndex:vt.label,position:"middle",textBreakAll:!1};function tre(e){if(!Of(e))return e;var t=e.cx,r=e.cy,n=e.outerRadius,o=n*2;return{x:t-n,y:r-n,width:o,upperWidth:o,lowerWidth:o,height:o}}function Ri(e){var t,r,n=ft(e,ere),o=n.viewBox,a=n.parentViewBox,i=n.position,l=n.value,s=n.children,u=n.content,c=n.className,d=c===void 0?"":c,f=n.textBreakAll,p=n.labelRef,m=Xte(),g=TL(),h=i==="center"?g:m??g,v,y,b;o==null?v=h:Of(o)?v=o:v=bm(o);var x=tre(v);if(!v||mt(l)&&mt(s)&&!(0,rn.isValidElement)(u)&&typeof u!="function")return null;var S=Of(v)&&(i==="insideStart"||i==="insideEnd"||i==="end");if(Of(v))S||(b=Rte(v,n.offset,n.position));else if(x){var w=kh({viewBox:x,position:i,offset:n.offset,parentViewBox:Of(a)?void 0:a,clamp:!0});b=qu(qu({x:w.x,y:w.y,textAnchor:w.horizontalAnchor,verticalAnchor:w.verticalAnchor},w.width!==void 0?{width:w.width}:{}),w.height!==void 0?{height:w.height}:{})}var T=qu(qu(qu(qu({},((t=b)===null||t===void 0?void 0:t.x)!==void 0?{x:b.x}:{}),((r=b)===null||r===void 0?void 0:r.y)!==void 0?{y:b.y}:{}),n),{},{viewBox:v});if((0,rn.isValidElement)(u)){var k=T.labelRef,A=NL(T,Hte);return(0,rn.cloneElement)(u,A)}if(typeof u=="function"){var M=T.content,H=NL(T,Vte);if(y=(0,rn.createElement)(u,H),(0,rn.isValidElement)(y))return y}else y=Zte(n);var F=dr(n);return S&&Of(v)?Jte(n,i,y,F,v):b==null?null:uo.createElement(rr,{zIndex:n.zIndex},uo.createElement(Ku,el({ref:p,className:He("recharts-label",d)},F,b,{textAnchor:Kb(F.textAnchor)?F.textAnchor:b.textAnchor,breakAll:f}),y))}Ri.displayName="Label";var rre=(e,t,r)=>{if(!e)return null;var n={viewBox:t,labelRef:r};return e===!0?uo.createElement(Ri,el({key:"label-implicit"},n)):Fn(e)?uo.createElement(Ri,el({key:"label-implicit",value:e},n)):(0,rn.isValidElement)(e)?e.type===Ri?(0,rn.cloneElement)(e,qu({key:"label-implicit"},n)):uo.createElement(Ri,el({key:"label-implicit",content:e},n)):Gu(e)?uo.createElement(Ri,el({key:"label-implicit",content:e},n)):e&&typeof e=="object"?uo.createElement(Ri,el({},e,{key:"label-implicit"},n)):null};function DL(e){var t=e.label,r=e.labelRef,n=TL();return rre(t,n,r)||null}var tl=te(re()),Tf=te(re());var nre=["valueAccessor"],ore=["dataKey","clockWise","id","textBreakAll","zIndex"];function Gb(){return Gb=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=Array.isArray(e.value)?e.value[e.value.length-1]:e.value;if(SL(t))return t},jL=(0,Tf.createContext)(void 0),Mf=jL.Provider,zL=(0,Tf.createContext)(void 0),LL=zL.Provider;function lre(){return(0,Tf.useContext)(jL)}function sre(){return(0,Tf.useContext)(zL)}function qb(e){var t=e.valueAccessor,r=t===void 0?ire:t,n=IL(e,nre),o=n.dataKey,a=n.clockWise,i=n.id,l=n.textBreakAll,s=n.zIndex,u=IL(n,ore),c=lre(),d=sre(),f=c||d;return!f||!f.length?null:tl.createElement(rr,{zIndex:s??vt.label},tl.createElement(_t,{className:"recharts-label-list"},f.map((p,m)=>{var g,h=mt(o)?r(p,m):nt(p.payload,o),v=mt(i)?{}:{id:"".concat(i,"-").concat(m)};return tl.createElement(Ri,Gb({key:"label-".concat(m)},dr(p),u,v,{fill:(g=n.fill)!==null&&g!==void 0?g:p.fill,parentViewBox:p.parentViewBox,value:h,textBreakAll:l,viewBox:p.viewBox,index:m,zIndex:0}))})))}qb.displayName="LabelList";function ys(e){var t=e.label;return t?t===!0?tl.createElement(qb,{key:"labelList-implicit"}):tl.isValidElement(t)||Gu(t)?tl.createElement(qb,{key:"labelList-implicit",content:t}):typeof t=="object"?tl.createElement(qb,Gb({key:"labelList-implicit"},t,{type:String(t.type)})):null:null}var BL=te(re());function s_(){return s_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=e.cx,r=e.cy,n=e.r,o=e.className,a=He("recharts-dot",o);return Se(t)&&Se(r)&&Se(n)?BL.createElement("circle",s_({},cr(e),Od(e),{className:a,cx:t,cy:r,r:n})):null};var u_=e=>e.graphicalItems.polarItems,ure=J([fr,Nu],yv),Xb=J([u_,hr,ure],hv),cre=J([Xb],xv),Zb=J([cre,Su],bv),dre=J([Zb,hr,Xb],mN),E_e=J([Zb,hr,Xb],(e,t,r)=>r.length>0?e.flatMap(n=>r.flatMap(o=>{var a,i=nt(n,(a=t.dataKey)!==null&&a!==void 0?a:o.dataKey);return{value:i,errorDomain:[]}})).filter(Boolean):t?.dataKey!=null?e.map(n=>({value:nt(n,t.dataKey),errorDomain:[]})):e.map(n=>({value:n,errorDomain:[]}))),$L=()=>{},fre=J([Zb,hr,Xb,xf,fr,$I],Sv),pre=J([hr,vb,gb,$L,fre,$L,Qe,fr],Av),FL=J([hr,Qe,Zb,dre,es,fr,pre],kv),mre=J([FL,Wu,Yi],Cv),vre=J([hr,FL,mre,fr],Nv),O_e=J([Yi,vre],Ex);var gre={radiusAxis:{},angleAxis:{}},UL=Dt({name:"polarAxis",initialState:gre,reducers:{addRadiusAxis(e,t){e.radiusAxis[t.payload.id]=st(t.payload)},removeRadiusAxis(e,t){delete e.radiusAxis[t.payload.id]},addAngleAxis(e,t){e.angleAxis[t.payload.id]=st(t.payload)},removeAngleAxis(e,t){delete e.angleAxis[t.payload.id]}}}),Qb=UL.actions,D_e=Qb.addRadiusAxis,I_e=Qb.removeRadiusAxis,j_e=Qb.addAngleAxis,z_e=Qb.removeAngleAxis;var WL=UL.reducer;function Jb(e){return e&&typeof e=="object"&&"className"in e&&typeof e.className=="string"?e.className:""}var at=te(re()),Bf=te(re());function HL(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function VL(e){for(var t=1;tt,c_=J([u_,bre],(e,t)=>e.filter(r=>r.type==="pie").find(r=>r.id===t)),wre=[],d_=(e,t,r)=>r?.length===0?wre:r,KL=J([Su,c_,d_],(e,t,r)=>{var n=e.chartData;if(t!=null){var o;if(t?.data!=null&&t.data.length>0?o=t.data:o=n,(!o||!o.length)&&r!=null&&(o=r.map(a=>VL(VL({},t.presentationProps),a.props))),o!=null)return o}}),qL=J([KL,c_,d_],(e,t,r)=>{if(!(e==null||t==null))return e.map((n,o)=>{var a,i=nt(n,t.nameKey,t.name),l;return r!=null&&(a=r[o])!==null&&a!==void 0&&(a=a.props)!==null&&a!==void 0&&a.fill?l=r[o].props.fill:typeof n=="object"&&n!=null&&"fill"in n?l=n.fill:l=t.fill,{value:Eo(i,t.dataKey),dataKey:t.dataKey,color:l,payload:n,type:t.legendType}})}),GL=J([KL,c_,d_,Ht],(e,t,r,n)=>{if(!(t==null||e==null))return YL({offset:n,pieSettings:t,displayedData:e,cells:r})});var eB=te(re()),tB=te(QL());var JL=e=>typeof e=="string"?e:e?e.displayName||e.name||"Component":"",RL=null,m_=null,rB=e=>{if(e===RL&&Array.isArray(m_))return m_;var t=[];return eB.Children.forEach(e,r=>{mt(r)||((0,tB.isFragment)(r)?t=t.concat(rB(r.props.children)):t.push(r))}),m_=t,RL=e,t};function Pv(e,t){var r=[],n=[];return Array.isArray(t)?n=t.map(o=>JL(o)):n=[JL(t)],rB(e).forEach(o=>{var a=un(o,"type.displayName")||un(o,"type.name");a&&n.indexOf(a)!==-1&&r.push(o)}),r}var Pf=e=>e&&typeof e=="object"&&"clipDot"in e?!!e.clipDot:!0;var Df=te(re()),Dv=te(re());function nB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function oB(e){for(var t=1;t{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Sb({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}},jv=e=>{var t=Xe();return(r,n)=>o=>{e?.(r,n,o),t(Xj())}},zv=(e,t,r)=>{var n=Xe();return(o,a)=>i=>{e?.(o,a,i),n(Zj({activeIndex:String(a),activeDataKey:t,activeCoordinate:o.tooltipPosition,activeGraphicalItemId:r}))}};var Lv=te(re());function xs(e){var t=e.tooltipEntrySettings,r=Xe(),n=It(),o=(0,Lv.useRef)(null);return(0,Lv.useLayoutEffect)(()=>{n||(o.current===null?r(Kj(t)):o.current!==t&&r(qj({prev:o.current,next:t})),o.current=t)},[t,r,n]),(0,Lv.useLayoutEffect)(()=>()=>{o.current&&(r(Gj(o.current)),o.current=null)},[r]),null}var bs=te(re());function If(e){var t=e.legendPayload,r=Xe(),n=It(),o=(0,bs.useRef)(null);return(0,bs.useLayoutEffect)(()=>{n||(o.current===null?r(oC(t)):o.current!==t&&r(aC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,bs.useLayoutEffect)(()=>()=>{o.current&&(r(iC(o.current)),o.current=null)},[r]),null}function iB(e){var t=e.legendPayload,r=Xe(),n=Ae(Qe),o=(0,bs.useRef)(null);return(0,bs.useLayoutEffect)(()=>{n!=="centric"&&n!=="radial"||(o.current===null?r(oC(t)):o.current!==t&&r(aC({prev:o.current,next:t})),o.current=t)},[r,n,t]),(0,bs.useLayoutEffect)(()=>()=>{o.current&&(r(iC(o.current)),o.current=null)},[r]),null}var uB=te(re()),Fv=te(re());function Mre(e,t){return jre(e)||Ire(e,t)||Dre(e,t)||Pre()}function Pre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Dre(e,t){if(e){if(typeof e=="string")return lB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?lB(e,t):void 0}}function lB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2&&arguments[2]!==void 0?arguments[2]:[],n=[];for(var o of r)n.push({status:"removed",prev:o});for(var a=0;ae[Math.floor(a*r)]);return v_(n,t)}function Lre(e,t){var r=t.map((n,o)=>e[o]);return v_(r,t)}function Bre(e,t){for(var r=new Map,n=0;n{var p=r(d,f);if(p!=null){var m=n.get(p);if(m!==void 0)return o.add(p),m}}),i=[];for(var l of n){var s=Mre(l,2),u=s[0],c=s[1];o.has(u)||i.push(c)}return v_(a,t,i)}function $v(e,t,r){return t==null?null:e==null?t.map(n=>({status:"added",next:n})):r===Yu?zre(e,t):r===Bv?Lre(e,t):$re(e,t,r)}var jf=te(re());function u1(e,t){var r=(0,jf.useRef)(e),n=(0,jf.useRef)(t.current),o=(0,jf.useRef)(!0);r.current!==e&&(r.current=e,n.current=t.current,o.current=!1);var a=(0,jf.useCallback)(function(i,l){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;if(l===0){o.current=!0;return}l===1&&(n.current=i),l>0&&o.current&&s&&(t.current=i)},[t]);return{startValue:n.current,syncStepValue:a}}function Fre(e,t){return Vre(e)||Hre(e,t)||Wre(e,t)||Ure()}function Ure(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Wre(e,t){if(e){if(typeof e=="string")return sB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?sB(e,t):void 0}}function sB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{typeof e=="function"&&e(),a(!0)},[e]),l=(0,Fv.useCallback)(()=>{typeof t=="function"&&t(),a(!1)},[t]);return{isAnimating:o,handleAnimationStart:i,handleAnimationEnd:l}}function Ss(e){var t,r=e.animationInput,n=e.animationIdPrefix,o=e.items,a=e.previousItemsRef,i=e.isAnimationActive,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.onAnimationStart,d=e.onAnimationEnd,f=e.animationInterpolateFn,p=e.animationMatchBy,m=e.shouldUpdatePreviousRef,g=e.children,h=e.layout,v=nx(r,n),y=u1(v,a),b=(t=y.startValue)!==null&&t!==void 0?t:null,x=$v(b,o,p??Yu);return uB.createElement(rx,{animationId:v,begin:l,duration:s,isActive:i,easing:u,onAnimationEnd:d,onAnimationStart:c,key:v},S=>{var w=b==null,T=o==null?o:f(x,S,h),k=m?m(S):S>0;return y.syncStepValue(T,S,k),T==null?null:g(T,S,w)})}var fB=te(re()),y_=te(re());var c1=te(re());var g_;function Kre(e,t){return Xre(e)||Yre(e,t)||Gre(e,t)||qre()}function qre(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Gre(e,t){if(e){if(typeof e=="string")return cB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?cB(e,t):void 0}}function cB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var e=c1.useState(()=>ji("uid-")),t=Kre(e,1),r=t[0];return r},d1=(g_=c1.useId)!==null&&g_!==void 0?g_:Zre;function dB(e,t){var r=d1();return t||(e?"".concat(e,"-").concat(r):r)}var Qre=(0,y_.createContext)(void 0),As=e=>{var t=e.id,r=e.type,n=e.children,o=dB("recharts-".concat(r),t);return fB.createElement(Qre.Provider,{value:o},n(o))};var ja=te(re());var Jre={cartesianItems:[],polarItems:[]},pB=Dt({name:"graphicalItems",initialState:Jre,reducers:{addCartesianGraphicalItem:{reducer(e,t){e.cartesianItems.push(st(t.payload))},prepare:Ft()},replaceCartesianGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).cartesianItems.indexOf(st(n));a>-1&&(e.cartesianItems[a]=st(o))},prepare:Ft()},removeCartesianGraphicalItem:{reducer(e,t){var r=Sn(e).cartesianItems.indexOf(st(t.payload));r>-1&&e.cartesianItems.splice(r,1)},prepare:Ft()},addPolarGraphicalItem:{reducer(e,t){e.polarItems.push(st(t.payload))},prepare:Ft()},removePolarGraphicalItem:{reducer(e,t){var r=Sn(e).polarItems.indexOf(st(t.payload));r>-1&&e.polarItems.splice(r,1)},prepare:Ft()},replacePolarGraphicalItem:{reducer(e,t){var r=t.payload,n=r.prev,o=r.next,a=Sn(e).polarItems.indexOf(st(n));a>-1&&(e.polarItems[a]=st(o))},prepare:Ft()}}}),zf=pB.actions,mB=zf.addCartesianGraphicalItem,vB=zf.replaceCartesianGraphicalItem,gB=zf.removeCartesianGraphicalItem,yB=zf.addPolarGraphicalItem,hB=zf.removePolarGraphicalItem,xB=zf.replacePolarGraphicalItem;var bB=pB.reducer;var Rre=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(mB(e)):r.current!==e&&t(vB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(gB(r.current)),r.current=null)},[t]),null},Lf=(0,ja.memo)(Rre),ene=e=>{var t=Xe(),r=(0,ja.useRef)(null);return(0,ja.useLayoutEffect)(()=>{r.current===null?t(yB(e)):r.current!==e&&t(xB({prev:r.current,next:e})),r.current=e},[t,e]),(0,ja.useLayoutEffect)(()=>()=>{r.current&&(t(hB(r.current)),r.current=null)},[t]),null},wB=(0,ja.memo)(ene);var tne=["key"],rne=["onMouseEnter","onClick","onMouseLeave"],nne=["id"],one=["id"];function Xu(){return Xu=Object.assign?Object.assign.bind():function(e){for(var t=1;tPv(e.children,Ji),[e.children]),r=Ae(n=>qL(n,e.id,t));return r==null?null:at.createElement(iB,{legendPayload:r})}function cne(e){if(!(e==null||typeof e=="boolean"||typeof e=="function")){if(at.isValidElement(e)){var t,r=(t=e.props)===null||t===void 0?void 0:t.fill;return typeof r=="string"?r:void 0}var n=e.fill;return typeof n=="string"?n:void 0}}var dne=at.memo(e=>{var t=e.dataKey,r=e.nameKey,n=e.sectors,o=e.stroke,a=e.strokeWidth,i=e.fill,l=e.name,s=e.hide,u=e.tooltipType,c=e.formatter,d=e.id,f=e.activeShape,p=cne(f),m=n.map(h=>{var v=h.tooltipPayload;return p==null||v==null?v:v.map(y=>xr(xr({},y),{},{color:p,fill:p}))}),g={dataDefinedOnItem:m,getPosition:h=>{var v;return(v=n[Number(h)])===null||v===void 0?void 0:v.tooltipPosition},settings:{stroke:o,strokeWidth:a,fill:i,dataKey:t,nameKey:r,name:Eo(l,t),hide:s,type:u,color:i,unit:"",formatter:c,graphicalItemId:d}};return at.createElement(xs,{tooltipEntrySettings:g})}),fne=(e,t)=>e>t?"start":etypeof t=="function"?Sr(t(e),r,r*.8):Sr(t,r,r*.8),mne=(e,t,r)=>{var n=t.top,o=t.left,a=t.width,i=t.height,l=lx(a,i),s=o+Sr(e.cx,a,a/2),u=n+Sr(e.cy,i,i/2),c=Sr(e.innerRadius,l,0),d=pne(r,e.outerRadius,l),f=e.maxRadius||Math.sqrt(a*a+i*i)/2;return{cx:s,cy:u,innerRadius:c,outerRadius:d,maxRadius:f}},vne=(e,t)=>{var r=Xt(t-e),n=Math.min(Math.abs(t-e),360);return r*n},gne=(e,t)=>{if(at.isValidElement(e))return at.cloneElement(e,t);if(typeof e=="function")return e(t);var r=He("recharts-pie-label-line",typeof e!="boolean"?e.className:""),n=t.key,o=f1(t,tne);return at.createElement(Ja,Xu({},o,{type:"linear",className:r}))},yne=(e,t,r)=>{if(at.isValidElement(e))return at.cloneElement(e,t);var n=r;if(typeof e=="function"&&(n=e(t),at.isValidElement(n)))return n;var o=He("recharts-pie-label-text",Jb(e));return at.createElement(Ku,Xu({},t,{alignmentBaseline:"middle",className:o}),n)};function hne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label,a=r.labelLine,i=r.dataKey;if(!n||!o||!t)return null;var l=cr(r),s=Ao(o),u=Ao(a),c=typeof o=="object"&&"offsetRadius"in o&&typeof o.offsetRadius=="number"&&o.offsetRadius||20,d=t.map((f,p)=>{var m=(f.startAngle+f.endAngle)/2,g=tr(f.cx,f.cy,f.outerRadius+c,m),h=xr(xr(xr(xr({},l),f),{},{stroke:"none"},s),{},{index:p,textAnchor:fne(g.x,f.cx)},g),v=xr(xr(xr(xr({},l),f),{},{fill:"none",stroke:f.fill},u),{},{index:p,points:[tr(f.cx,f.cy,f.outerRadius,m),g],key:"line"});return at.createElement(rr,{zIndex:vt.label,key:"label-".concat(f.startAngle,"-").concat(f.endAngle,"-").concat(f.midAngle,"-").concat(p)},at.createElement(_t,null,a&&gne(a,v),yne(o,h,nt(f,i))))});return at.createElement(_t,{className:"recharts-pie-labels"},d)}function xne(e){var t=e.sectors,r=e.props,n=e.showLabels,o=r.label;return typeof o=="object"&&o!=null&&"position"in o?at.createElement(ys,{label:o}):at.createElement(hne,{sectors:t,props:r,showLabels:n})}function bne(e){var t=e.sectors,r=e.activeShape,n=e.inactiveShape,o=e.allOtherPieProps,a=e.shape,i=e.id,l=e.animationElapsedTime,s=e.isAnimating,u=e.isEntrance,c=Ae(da),d=Ae(Sf),f=Ae(Pb),p=o.onMouseEnter,m=o.onClick,g=o.onMouseLeave,h=f1(o,rne),v=Iv(p,o.dataKey,i),y=jv(g),b=zv(m,o.dataKey,i);return t==null||t.length===0?null:at.createElement(at.Fragment,null,t.map((x,S)=>{if(x?.startAngle===0&&x?.endAngle===0&&t.length!==1)return null;var w=f==null||f===i,T=String(S)===c&&(d==null||o.dataKey===d)&&w,k=c?n:null,A=r&&T?r:k,M=xr(xr({},x),{},{stroke:x.stroke,tabIndex:-1,index:S,isActive:T,animationElapsedTime:l,isAnimating:s,isEntrance:u,[$0]:S,[F0]:i});return at.createElement(_t,Xu({key:"sector-".concat(x?.startAngle,"-").concat(x?.endAngle,"-").concat(x.midAngle,"-").concat(S),tabIndex:-1,className:"recharts-pie-sector"},Li(h,x,S),{onMouseEnter:v(x,S),onMouseLeave:y(x,S),onClick:b(x,S)}),at.createElement(hs,{option:A??a,DefaultShape:AB,shapeProps:M}))}))}function YL(e){var t,r=e.pieSettings,n=e.displayedData,o=e.cells,a=e.offset,i=r.cornerRadius,l=r.startAngle,s=r.endAngle,u=r.dataKey,c=r.nameKey,d=r.tooltipType,f=Math.abs(r.minAngle),p=vne(l,s),m=Math.abs(p),g=n.length<=1?0:(t=r.paddingAngle)!==null&&t!==void 0?t:0,h=n.filter(k=>nt(k,u,0)!==0).length,v=(m>=360?h:h-1)*g,y=n.reduce((k,A)=>{var M=nt(A,u,0);return k+(Se(M)?M:0)},0),b=f>0&&y>0&&n.some(k=>{var A=nt(k,u,0),M=(Se(A)?A:0)/y;return A!==0&&M*m0){var T;w=n.map((k,A)=>{var M=nt(k,u,0),H=nt(k,c,A),F=mne(r,a,k),X=(Se(M)?M:0)/y,P,Y=xr(xr({},k),o&&o[A]&&o[A].props),C=Y!=null&&"fill"in Y&&typeof Y.fill=="string"?Y.fill:r.fill;A?P=T.endAngle+Xt(p)*g*(M!==0?1:0):P=l;var _=P+Xt(p)*((M!==0?x:0)+X*S),z=(P+_)/2,D=(F.innerRadius+F.outerRadius)/2,E=[{name:H,value:M,payload:Y,dataKey:u,type:d,color:C,fill:C,graphicalItemId:r.id}],j=tr(F.cx,F.cy,D,z);return T=xr(xr(xr(xr({},r.presentationProps),{},{percent:X,cornerRadius:typeof i=="string"?parseFloat(i):i,name:H,tooltipPayload:E,midAngle:z,middleRadius:D,tooltipPosition:j},Y),F),{},{value:M,dataKey:u,startAngle:P,endAngle:_,payload:Y,paddingAngle:M!==0?Xt(p)*g:0}),T})}return w}function wne(e){var t=e.showLabels,r=e.sectors,n=e.children,o=(0,Bf.useMemo)(()=>!t||!r?[]:r.map(a=>({value:a.value,payload:a.payload,clockWise:!1,parentViewBox:void 0,viewBox:{cx:a.cx,cy:a.cy,innerRadius:a.innerRadius,outerRadius:a.outerRadius,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},fill:a.fill})),[r,t]);return at.createElement(LL,{value:t?o:void 0},n)}var Sne=(e,t)=>{if(e==null)return[];var r=[],n=e.find(a=>a.status!=="removed"),o=n?n.next.startAngle:0;return e.forEach((a,i)=>{if(a.status!=="removed"){var l=i>0?un(a.next,"paddingAngle",0):0;if(a.status==="matched"){var s=Pt(a.prev.endAngle-a.prev.startAngle,a.next.endAngle-a.next.startAngle,t),u=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+s+l});r.push(u),o=u.endAngle}else{var c=Pt(0,a.next.endAngle-a.next.startAngle,t),d=xr(xr({},a.next),{},{startAngle:o+l,endAngle:o+c+l});r.push(d),o=d.endAngle}}}),r};function Ane(e){var t,r,n,o,a=e.props,i=e.previousSectorsRef,l=e.id,s=a.sectors,u=a.activeShape,c=a.inactiveShape,d=a.animationInterpolateFn,f=ws(a.onAnimationStart,a.onAnimationEnd),p=f.isAnimating,m=f.handleAnimationStart,g=f.handleAnimationEnd,h=d8();if(h==null)return null;var v=s[0];return at.createElement(wne,{showLabels:!p,sectors:s},at.createElement(Ss,{animationInput:a,animationIdPrefix:"recharts-pie-",items:s,previousItemsRef:i,isAnimationActive:a.isAnimationActive,animationBegin:a.animationBegin,animationDuration:a.animationDuration,animationEasing:a.animationEasing,onAnimationStart:m,onAnimationEnd:g,animationInterpolateFn:d,animationMatchBy:a.animationMatchBy,layout:h},(y,b,x)=>at.createElement(_t,null,at.createElement(bne,{sectors:y,activeShape:u,inactiveShape:c,allOtherPieProps:a,shape:a.shape,id:l,animationElapsedTime:b,isAnimating:p||b<1,isEntrance:x}))),at.createElement(xne,{showLabels:!p,sectors:s,props:a}),at.createElement(PL,{cx:(t=v?.cx)!==null&&t!==void 0?t:0,cy:(r=v?.cy)!==null&&r!==void 0?r:0,innerRadius:(n=v?.innerRadius)!==null&&n!==void 0?n:0,outerRadius:(o=v?.outerRadius)!==null&&o!==void 0?o:0,startAngle:a.startAngle,endAngle:a.endAngle,clockWise:!1},a.children))}var kne={animationBegin:400,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:Sne,animationMatchBy:Bv,cx:"50%",cy:"50%",dataKey:"value",endAngle:360,fill:"#808080",hide:!1,innerRadius:0,isAnimationActive:"auto",label:!1,labelLine:!0,legendType:"rect",minAngle:0,nameKey:"name",outerRadius:"80%",paddingAngle:0,rootTabIndex:0,shape:AB,startAngle:0,stroke:"#fff",zIndex:vt.area};function Cne(e){var t=e.id,r=f1(e,nne),n=e.hide,o=e.className,a=e.rootTabIndex,i=(0,Bf.useMemo)(()=>Pv(e.children,Ji),[e.children]),l=Ae(c=>GL(c,t,i)),s=(0,Bf.useRef)(null),u=He("recharts-pie",o);return n||l==null?(s.current=null,at.createElement(_t,{tabIndex:a,className:u})):at.createElement(rr,{zIndex:e.zIndex},at.createElement(dne,{dataKey:e.dataKey,nameKey:e.nameKey,sectors:l,stroke:e.stroke,strokeWidth:e.strokeWidth,fill:e.fill,name:e.name,hide:e.hide,tooltipType:e.tooltipType,formatter:e.formatter,id:t,activeShape:e.activeShape}),at.createElement(_t,{tabIndex:a,className:u},at.createElement(Ane,{props:xr(xr({},r),{},{sectors:l}),previousSectorsRef:s,id:t})))}function Nne(e){var t=ft(e,kne),r=t.id,n=f1(t,one),o=cr(n);return at.createElement(As,{id:r,type:"pie"},a=>at.createElement(at.Fragment,null,at.createElement(wB,{type:"pie",id:a,data:n.data,dataKey:n.dataKey,hide:n.hide,angleAxisId:0,radiusAxisId:0,name:n.name,nameKey:n.nameKey,tooltipType:n.tooltipType,legendType:n.legendType,fill:n.fill,cx:n.cx,cy:n.cy,startAngle:n.startAngle,endAngle:n.endAngle,paddingAngle:n.paddingAngle,minAngle:n.minAngle,innerRadius:n.innerRadius,outerRadius:n.outerRadius,cornerRadius:n.cornerRadius,presentationProps:o,maxRadius:t.maxRadius}),at.createElement(une,Xu({},n,{id:a})),at.createElement(Cne,Xu({},n,{id:a}))))}var p1=Nne;p1.displayName="Pie";var Uv=te(re()),v1=te(re());var _ne=["points"];function kB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function h_(e){for(var t=1;t{var v,y,b=h_(h_(h_({r:3},i),f),{},{index:h,cx:(v=g.x)!==null&&v!==void 0?v:void 0,cy:(y=g.y)!==null&&y!==void 0?y:void 0,dataKey:a,value:g.value,payload:g.payload,points:t});return Uv.createElement(Dne,{key:"dot-".concat(h),option:r,dotProps:b,className:o})}),m={};return l&&s!=null&&(m.clipPath="url(#clipPath-".concat(d?"":"dots-").concat(s,")")),Uv.createElement(rr,{zIndex:c},Uv.createElement(_t,m1({className:n},m),p))}var Wv=te(re()),h1=te(re());function CB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function y1(e){for(var t=1;t({top:e.top,bottom:e.bottom,left:e.left,right:e.right}));var LB=J([zB,fn,pn],(e,t,r)=>{if(!(!e||t==null||r==null))return{x:e.left,y:e.top,width:Math.max(0,t-e.left-e.right),height:Math.max(0,r-e.top-e.bottom)}});var ks=()=>Ae(LB),BB=()=>Ae(uz);function $B(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function b_(e){for(var t=1;t{var t=e.point,r=e.childIndex,n=e.mainColor,o=e.activeDot,a=e.dataKey,i=e.clipPath;if(o===!1||t.x==null||t.y==null)return null;var l={index:r,dataKey:a,cx:t.x,cy:t.y,r:4,fill:n??"none",strokeWidth:2,stroke:"#fff",payload:t.payload,value:t.value},s=b_(b_(b_({},l),Ao(o)),Od(o)),u;return(0,h1.isValidElement)(o)?u=(0,h1.cloneElement)(o,s):typeof o=="function"?u=o(s):u=Wv.createElement(Yb,s),Wv.createElement(_t,{className:"recharts-active-dot",clipPath:i},u)};function Hv(e){var t=e.points,r=e.mainColor,n=e.activeDot,o=e.itemDataKey,a=e.clipPath,i=e.zIndex,l=i===void 0?vt.activeDot:i,s=Ae(da),u=BB();if(t==null||u==null)return null;var c=t.find(d=>u.includes(d.payload));return mt(c)?null:Wv.createElement(rr,{zIndex:l},Wv.createElement(Wne,{point:c,childIndex:Number(s),mainColor:r,dataKey:o,activeDot:n,clipPath:a}))}function Hne(e,t){return Gne(e)||qne(e,t)||Kne(e,t)||Vne()}function Vne(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Kne(e,t){if(e){if(typeof e=="string")return FB(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?FB(e,t):void 0}}function FB(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var n=r??e;if(!mt(n))return Sr(n,t,0)},WB=(e,t,r)=>{var n={},o=e.filter(_u),a=e.filter(u=>u.stackId==null),i=o.reduce((u,c)=>{var d=u[c.stackId];return d==null&&(d=[]),d.push(c),u[c.stackId]=d,u},n),l=Object.entries(i).map(u=>{var c,d=Hne(u,2),f=d[0],p=d[1],m=p.map(h=>h.dataKey),g=UB(t,r,(c=p[0])===null||c===void 0?void 0:c.barSize);return{stackId:f,dataKeys:m,barSize:g}}),s=a.map(u=>{var c=[u.dataKey].filter(f=>f!=null),d=UB(t,r,u.barSize);return{stackId:void 0,dataKeys:c,barSize:d}});return[...l,...s]};function HB(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function x1(e){for(var t=1;ty+(b.barSize||0),0);f+=(i-1)*l,f>=r&&(f-=(i-1)*l,l=0),f>=r&&d>0&&(c=!0,d*=.9,f=i*d);var p=Math.round((r-f)/2),m={offset:p-l,size:0};s=n.reduce((y,b)=>{var x,S={stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:m.offset+m.size+l,size:c?d:(x=b.barSize)!==null&&x!==void 0?x:0}},w=[...y,S];return m=S.position,w},u)}else{var g=Sr(t,r,0,!0);r-2*g-(i-1)*l<=0&&(l=0);var h=(r-2*g-(i-1)*l)/i;h>1&&(h=Math.round(h));var v=qe(o)?Math.min(h,o):h;s=n.reduce((y,b,x)=>[...y,{stackId:b.stackId,dataKeys:b.dataKeys,position:{offset:g+i*(h-v)/2+(v+l)*x,size:v}}],u)}return s}}var VB=(e,t,r,n,o,a,i)=>{var l=mt(i)?t:i,s=Qne(r,n,o!==a?o:a,e,l);return o!==a&&s!=null&&(s=s.map(u=>x1(x1({},u),{},{position:x1(x1({},u.position),{},{offset:u.position.offset-o/2})}))),s};var KB=(e,t)=>{var r=rs(t);if(!(!e||r==null||t==null)){var n=t.stackId;if(n!=null){var o=e[n];if(o){var a=o.stackedData;if(a)return a.find(i=>i.key===r)}}}};var qB=(e,t)=>{if(!(e==null||t==null)){var r=e.find(n=>n.stackId===t.stackId&&t.dataKey!=null&&n.dataKeys.includes(t.dataKey));if(r!=null)return r.position}};function GB(e,t){return e&&typeof e=="object"&&"zIndex"in e&&typeof e.zIndex=="number"&&qe(e.zIndex)?e.zIndex:t}var YB=te(re());var b1=e=>{var t=e.chartData,r=Xe(),n=It();return(0,YB.useEffect)(()=>n?()=>{}:(r(a_(t)),()=>{r(a_(void 0))}),[t,r,n]),null};var XB={x:0,y:0,width:0,height:0,padding:{top:0,right:0,bottom:0,left:0}},ZB=Dt({name:"brush",initialState:XB,reducers:{setBrushSettings(e,t){return t.payload==null?XB:t.payload}}}),lOe=ZB.actions.setBrushSettings;var QB=ZB.reducer;function Jne(e){return(e%180+180)%180}var JB=function(t){var r=t.width,n=t.height,o=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,a=Jne(o),i=a*Math.PI/180,l=Math.atan(n/r),s=i>l&&i{e.dots.push(t.payload)},removeDot:(e,t)=>{var r=Sn(e).dots.findIndex(n=>n===t.payload);r!==-1&&e.dots.splice(r,1)},addArea:(e,t)=>{e.areas.push(t.payload)},removeArea:(e,t)=>{var r=Sn(e).areas.findIndex(n=>n===t.payload);r!==-1&&e.areas.splice(r,1)},addLine:(e,t)=>{e.lines.push(st(t.payload))},removeLine:(e,t)=>{var r=Sn(e).lines.findIndex(n=>n===t.payload);r!==-1&&e.lines.splice(r,1)}}}),$f=RB.actions,fOe=$f.addDot,pOe=$f.removeDot,mOe=$f.addArea,vOe=$f.removeArea,gOe=$f.addLine,yOe=$f.removeLine;var e7=RB.reducer;var Vv=te(re()),Kv=te(re());function eoe(e,t){return ooe(e)||noe(e,t)||roe(e,t)||toe()}function toe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function roe(e,t){if(e){if(typeof e=="string")return t7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?t7(e,t):void 0}}function t7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.children,r=(0,Kv.useState)("".concat(ji("recharts"),"-clip")),n=eoe(r,1),o=n[0],a=ks();if(a==null)return null;var i=a.x,l=a.y,s=a.width,u=a.height;return Vv.createElement(aoe.Provider,{value:o},Vv.createElement("defs",null,Vv.createElement("clipPath",{id:o},Vv.createElement("rect",{x:i,y:l,height:u,width:s}))),t)};var pr=te(re()),Dn=te(re());function n7(){}function w_(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}function o7(e,t,r){return qv(e,t,void 0,void 0,void 0,void 0,r)}function qv(e,t,r,n,o,a,i){let l=i(e,t,r,n,o,a);if(l!==void 0)return l;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return Gv(e,t,a,i)}return Gv(e,t,a,i)}function Gv(e,t,r,n){if(Object.is(e,t))return!0;let o=Bi(e),a=Bi(t);if(o==="[object Arguments]"&&(o=Dd),a==="[object Arguments]"&&(a=Dd),o!==a)return!1;switch(o){case Td:return e.toString()===t.toString();case Md:return Ql(e.valueOf(),t.valueOf());case Pd:case Bh:case Lh:return Object.is(e.valueOf(),t.valueOf());case jh:return e.source===t.source&&e.flags===t.flags;case iP:return e===t}r=r??new Map;let i=r.get(e),l=r.get(t);if(i!=null&&l!=null)return i===t;r.set(e,t),r.set(t,e);try{switch(o){case $h:if(e.size!==t.size)return!1;for(let[s,u]of e.entries())if(!t.has(s)||!qv(u,t.get(s),s,e,t,r,n))return!1;return!0;case Fh:{if(e.size!==t.size)return!1;let s=Array.from(e.values()),u=Array.from(t.values());for(let c=0;cqv(d,p,void 0,e,t,r,n));if(f===-1)return!1;u.splice(f,1)}return!0}case Uh:case Vh:case Kh:case qh:case Gh:case sP:case Yh:case Xh:case Zh:case uP:case Qh:case Jh:if(Nm(e)!==Nm(t)||e.length!==t.length)return!1;for(let s=0;se*o)return!1;var a=r();return e*(t-e*a/2-n)>=0&&e*(t+e*a/2-o)<=0}function l7(e,t){return w1(e,t+1)}function s7(e,t,r,n,o){for(var a=(n||[]).slice(),i=t.start,l=t.end,s=0,u=1,c=i,d=function(){var m=n?.[s];if(m===void 0)return{v:w1(n,u)};var g=s,h,v=()=>(h===void 0&&(h=r(m,g)),h),y=m.coordinate,b=s===0||Zu(e,y,v,c,l);b||(s=0,c=i,u+=1),b&&(c=y+e*(v()/2+o),s+=u)},f;u<=a.length;)if(f=d(),f)return f.v;return[]}function u7(e,t,r,n,o){var a=(n||[]).slice(),i=a.length;if(i===0)return[];for(var l=t.start,s=t.end,u=1;u<=i;u++){for(var c=(i-1)%u,d=l,f=!0,p=function(){var x=n[g];if(x==null)return 0;var S=g,w,T=()=>(w===void 0&&(w=r(x,S)),w),k=x.coordinate,A=g===c||Zu(e,k,T,d,s);if(!A)return f=!1,1;A&&(d=k+e*(T()/2+o))},m,g=c;g(g===void 0&&(g=r(p,f)),g);if(f===i-1){var v=e*(m.coordinate+e*h()/2-s);a[f]=m=Pn(Pn({},m),{},{tickCoord:v>0?m.coordinate-v*e:m.coordinate})}else a[f]=m=Pn(Pn({},m),{},{tickCoord:m.coordinate});if(m.tickCoord!=null){var y=Zu(e,m.tickCoord,h,l,s);y&&(s=m.tickCoord-e*(h()/2+o),a[f]=Pn(Pn({},m),{},{isShow:!0}))}},c=i-1;c>=0;c--)u(c);return a}function coe(e,t,r,n,o,a){var i=(n||[]).slice(),l=i.length,s=t.start,u=t.end;if(a){var c=n[l-1];if(c!=null){var d=r(c,l-1),f=e*(c.coordinate+e*d/2-u);if(i[l-1]=c=Pn(Pn({},c),{},{tickCoord:f>0?c.coordinate-f*e:c.coordinate}),c.tickCoord!=null){var p=Zu(e,c.tickCoord,()=>d,s,u);p&&(u=c.tickCoord-e*(d/2+o),i[l-1]=Pn(Pn({},c),{},{isShow:!0}))}}}for(var m=a?l-1:l,g=function(y){var b=i[y];if(b==null)return 1;var x=b,S,w=()=>(S===void 0&&(S=r(b,y)),S);if(y===0){var T=e*(x.coordinate-e*w()/2-s);i[y]=x=Pn(Pn({},x),{},{tickCoord:T<0?x.coordinate-T*e:x.coordinate})}else i[y]=x=Pn(Pn({},x),{},{tickCoord:x.coordinate});if(x.tickCoord!=null){var k=Zu(e,x.tickCoord,w,s,u);k&&(s=x.tickCoord+e*(w()/2+o),i[y]=Pn(Pn({},x),{},{isShow:!0}))}},h=0;h{var T=typeof u=="function"?u(S.value,w):S.value;return m==="width"?a7(Vu(T,{fontSize:t,letterSpacing:r}),g,d):Vu(T,{fontSize:t,letterSpacing:r})[m]},v=o[0],y=o[1],b=o.length>=2&&v!=null&&y!=null?Xt(y.coordinate-v.coordinate):1,x=i7(a,b,m);return s==="equidistantPreserveStart"?s7(b,x,h,o,i):s==="equidistantPreserveEnd"?u7(b,x,h,o,i):(s==="preserveStart"||s==="preserveStartEnd"?p=coe(b,x,h,o,i,s==="preserveStartEnd"):p=uoe(b,x,h,o,i),p.filter(S=>S.isShow))}var d7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.width>u&&(u=m.width)}});var c=r?r.getBoundingClientRect().width:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var f7=e=>{var t=e.ticks,r=e.label,n=e.labelGapWithTick,o=n===void 0?5:n,a=e.tickSize,i=a===void 0?0:a,l=e.tickMargin,s=l===void 0?0:l,u=0;if(t){Array.from(t).forEach(p=>{if(p){var m=p.getBoundingClientRect();m.height>u&&(u=m.height)}});var c=r?r.getBoundingClientRect().height:0,d=i+s,f=u+d+c+(r?o:0);return Math.round(f)}return 0};var doe={xAxis:{},yAxis:{}},p7=Dt({name:"renderedTicks",initialState:doe,reducers:{setRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId,a=r.ticks;e[n][o]=st(a)},removeRenderedTicks:(e,t)=>{var r=t.payload,n=r.axisType,o=r.axisId;delete e[n][o]}}}),m7=p7.actions,v7=m7.setRenderedTicks,g7=m7.removeRenderedTicks;var y7=p7.reducer;var foe=["axisLine","width","height","className","hide","ticks","axisType","axisId"];function h7(e,t){return goe(e)||voe(e,t)||moe(e,t)||poe()}function poe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function moe(e,t){if(e){if(typeof e=="string")return x7(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?x7(e,t):void 0}}function x7(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(!(n==null||r==null)){var i=t.map(s=>({value:s.value,coordinate:s.coordinate,offset:s.offset,index:s.index})),l=a.current;l!=null&&l.axisId===n&&l.axisType===r&&S_(l.ticks,i)||(a.current={ticks:i,axisId:n,axisType:r},o(v7({ticks:i,axisId:n,axisType:r})))}},[o,t,n,r]),(0,Dn.useEffect)(()=>n==null||r==null?Un:()=>{o(g7({axisId:n,axisType:r}))},[o,n,r]),null}var Eoe=(0,Dn.forwardRef)((e,t)=>{var r=e.ticks,n=r===void 0?[]:r,o=e.tick,a=e.tickLine,i=e.stroke,l=e.tickFormatter,s=e.unit,u=e.padding,c=e.tickTextProps,d=e.orientation,f=e.mirror,p=e.x,m=e.y,g=e.width,h=e.height,v=e.tickSize,y=e.tickMargin,b=e.fontSize,x=e.letterSpacing,S=e.getTicksConfig,w=e.events,T=e.axisType,k=e.axisId,A=Yv(Or(Or({},S),{},{ticks:n}),b,x),M=cr(S),H=Ao(o),F=Kb(M.textAnchor)?M.textAnchor:koe(d,f),X=Coe(d,f),P={};typeof a=="object"&&(P=a);var Y=Or(Or({},M),{},{fill:"none"},P),C=A.map(D=>Or({entry:D},Aoe(D,p,m,g,h,d,v,f,y))),_=C.map(D=>{var E=D.entry,j=D.line;return pr.createElement(_t,{className:"recharts-cartesian-axis-tick",key:"tick-".concat(E.value,"-").concat(E.coordinate,"-").concat(E.tickCoord)},a&&pr.createElement("line",Qu({},Y,j,{className:He("recharts-cartesian-axis-tick-line",un(a,"className"))})))}),z=C.map((D,E)=>{var j,R,U=D.entry,L=D.tick,K=Or(Or(Or(Or({verticalAnchor:X},M),{},{textAnchor:F,stroke:"none",fill:i},L),{},{index:E,payload:U,visibleTicksCount:A.length,tickFormatter:l,padding:u},c),{},{angle:(j=(R=c?.angle)!==null&&R!==void 0?R:M.angle)!==null&&j!==void 0?j:0}),ae=Or(Or({},K),H);return pr.createElement(_t,Qu({className:"recharts-cartesian-axis-tick-label",key:"tick-label-".concat(U.value,"-").concat(U.coordinate,"-").concat(U.tickCoord)},Li(w,U,E)),o&&pr.createElement(Noe,{option:o,tickProps:ae,value:"".concat(typeof l=="function"?l(U.value,E):U.value).concat(s||"")}))});return pr.createElement("g",{className:"recharts-cartesian-axis-ticks recharts-".concat(T,"-ticks")},pr.createElement(_oe,{ticks:A,axisId:k,axisType:T}),z.length>0&&pr.createElement(rr,{zIndex:vt.label},pr.createElement("g",{className:"recharts-cartesian-axis-tick-labels recharts-".concat(T,"-tick-labels"),ref:t},z)),_.length>0&&pr.createElement("g",{className:"recharts-cartesian-axis-tick-lines recharts-".concat(T,"-tick-lines")},_))}),Ooe=(0,Dn.forwardRef)((e,t)=>{var r=e.axisLine,n=e.width,o=e.height,a=e.className,i=e.hide,l=e.ticks,s=e.axisType,u=e.axisId,c=yoe(e,foe),d=(0,Dn.useState)(""),f=h7(d,2),p=f[0],m=f[1],g=(0,Dn.useState)(""),h=h7(g,2),v=h[0],y=h[1],b=(0,Dn.useRef)(null);(0,Dn.useImperativeHandle)(t,()=>({getCalculatedWidth:()=>{var S;return d7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})},getCalculatedHeight:()=>{var S;return f7({ticks:b.current,label:(S=e.labelRef)===null||S===void 0?void 0:S.current,labelGapWithTick:5,tickSize:e.tickSize,tickMargin:e.tickMargin})}}));var x=(0,Dn.useCallback)(S=>{if(S){var w=S.getElementsByClassName("recharts-cartesian-axis-tick-value");b.current=w;var T=w[0];if(T){var k=window.getComputedStyle(T),A=k.fontSize,M=k.letterSpacing;(A!==p||M!==v)&&(m(A),y(M))}}},[p,v]);return i||n!=null&&n<=0||o!=null&&o<=0?null:pr.createElement(rr,{zIndex:e.zIndex},pr.createElement(_t,{className:He("recharts-cartesian-axis",a)},pr.createElement(Soe,{x:e.x,y:e.y,width:n,height:o,orientation:e.orientation,mirror:e.mirror,axisLine:r,otherSvgProps:cr(e)}),pr.createElement(Eoe,{ref:x,axisType:s,events:c,fontSize:p,getTicksConfig:e,height:e.height,letterSpacing:v,mirror:e.mirror,orientation:e.orientation,padding:e.padding,stroke:e.stroke,tick:e.tick,tickFormatter:e.tickFormatter,tickLine:e.tickLine,tickMargin:e.tickMargin,tickSize:e.tickSize,tickTextProps:e.tickTextProps,ticks:l,unit:e.unit,width:e.width,x:e.x,y:e.y,axisId:u}),pr.createElement(OL,{x:e.x,y:e.y,width:e.width,height:e.height,lowerWidth:e.width,upperWidth:e.width},pr.createElement(DL,{label:e.label,labelRef:e.labelRef}),e.children)))}),Xv=pr.forwardRef((e,t)=>{var r=ft(e,ma);return pr.createElement(Ooe,Qu({},r,{ref:t}))});Xv.displayName="CartesianAxis";var Tr=te(re());var S1=te(re());var w7={grid:{stroke:"#ccc",fill:"none"}};var S7=(0,S1.createContext)(w7),wTe=S7.Provider,A7=()=>(0,S1.useContext)(S7);var Toe=["x1","y1","x2","y2","key"],Moe=["offset"],Poe=["xAxisId","yAxisId"],Doe=["xAxisId","yAxisId"];function k7(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function In(e){for(var t=1;t{var t=e.fill;if(!t||t==="none")return null;var r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.ry;return Tr.createElement("rect",{x:n,y:o,ry:l,width:a,height:i,stroke:"none",fill:t,fillOpacity:r,className:"recharts-cartesian-grid-bg"})};function C7(e){var t=e.option,r=e.lineItemProps,n;if(Tr.isValidElement(t))n=Tr.cloneElement(t,r);else if(typeof t=="function")n=t(r);else{var o,a=r.x1,i=r.y1,l=r.x2,s=r.y2,u=r.key,c=A1(r,Toe),d=(o=cr(c))!==null&&o!==void 0?o:{},f=d.offset,p=A1(d,Moe),m=Array.isArray(p.strokeDasharray)?p.strokeDasharray.join(","):p.strokeDasharray;n=Tr.createElement("line",Ju({},p,{strokeDasharray:m,x1:a,y1:i,x2:l,y2:s,fill:"none",key:u}))}return n}function $oe(e){var t=e.x,r=e.width,n=e.horizontal,o=n===void 0?!0:n,a=e.horizontalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=A1(e,Poe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:t,y1:c,x2:t+r,y2:c,key:"line-".concat(d),index:d});return Tr.createElement(C7,{key:"line-".concat(d),option:o,lineItemProps:f})});return Tr.createElement("g",{className:"recharts-cartesian-grid-horizontal"},u)}function Foe(e){var t=e.y,r=e.height,n=e.vertical,o=n===void 0?!0:n,a=e.verticalPoints;if(!o||!a||!a.length)return null;var i=e.xAxisId,l=e.yAxisId,s=A1(e,Doe),u=a.map((c,d)=>{var f=In(In({},s),{},{x1:c,y1:t,x2:c,y2:t+r,key:"line-".concat(d),index:d});return Tr.createElement(C7,{option:o,lineItemProps:f,key:"line-".concat(d)})});return Tr.createElement("g",{className:"recharts-cartesian-grid-vertical"},u)}function Uoe(e){var t=e.horizontalFill,r=e.fillOpacity,n=e.x,o=e.y,a=e.width,i=e.height,l=e.horizontalPoints,s=e.horizontal,u=s===void 0?!0:s;if(!u||!t||!t.length||l==null)return null;var c=l.map(f=>Math.round(f+o-o)).sort((f,p)=>f-p);o!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?o+i-f:m-f;if(h<=0)return null;var v=p%t.length;return Tr.createElement("rect",{key:"react-".concat(p),y:f,x:n,height:h,width:a,stroke:"none",fill:t[v],fillOpacity:r,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-horizontal"},d)}function Woe(e){var t=e.vertical,r=t===void 0?!0:t,n=e.verticalFill,o=e.fillOpacity,a=e.x,i=e.y,l=e.width,s=e.height,u=e.verticalPoints;if(!r||!n||!n.length)return null;var c=u.map(f=>Math.round(f+a-a)).sort((f,p)=>f-p);a!==c[0]&&c.unshift(0);var d=c.map((f,p)=>{var m=c[p+1],g=m==null,h=g?a+l-f:m-f;if(h<=0)return null;var v=p%n.length;return Tr.createElement("rect",{key:"react-".concat(p),x:f,y:i,width:h,height:s,stroke:"none",fill:n[v],fillOpacity:o,className:"recharts-cartesian-grid-bg"})});return Tr.createElement("g",{className:"recharts-cartesian-gridstripes-vertical"},d)}var Hoe=(e,t)=>{var r=e.xAxis,n=e.width,o=e.height,a=e.offset;return Xk(Yv(In(In(In({},ma),r),{},{ticks:Zk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.left,a.left+a.width,t)},Voe=(e,t)=>{var r=e.yAxis,n=e.width,o=e.height,a=e.offset;return Xk(Yv(In(In(In({},ma),r),{},{ticks:Zk(r,!0),viewBox:{x:0,y:0,width:n,height:o}})),a.top,a.top+a.height,t)},Koe={horizontal:!0,vertical:!0,horizontalPoints:[],verticalPoints:[],verticalFill:[],horizontalFill:[],xAxisId:0,yAxisId:0,syncWithTicks:!1,zIndex:vt.grid};function rl(e){var t,r,n,o,a,i,l=Kd(),s=qd(),u=K0(),c=In(In({},ft(e,Koe)),{},{x:Se(e.x)?e.x:u.left,y:Se(e.y)?e.y:u.top,width:Se(e.width)?e.width:u.width,height:Se(e.height)?e.height:u.height}),d=c.xAxisId,f=c.yAxisId,p=c.x,m=c.y,g=c.width,h=c.height,v=c.syncWithTicks,y=c.horizontalValues,b=c.verticalValues,x=It(),S=Ae(_=>zN(_,"xAxis",d,x)),w=Ae(_=>zN(_,"yAxis",f,x)),T=A7(),k={stroke:(t=c.stroke)!==null&&t!==void 0?t:T.grid.stroke,strokeWidth:(r=c.strokeWidth)!==null&&r!==void 0?r:T.grid.strokeWidth,strokeOpacity:(n=c.strokeOpacity)!==null&&n!==void 0?n:T.grid.strokeOpacity,strokeDasharray:(o=c.strokeDasharray)!==null&&o!==void 0?o:T.grid.strokeDasharray};if(!ro(g)||!ro(h)||!Se(p)||!Se(m))return null;var A=c.verticalCoordinatesGenerator||Hoe,M=c.horizontalCoordinatesGenerator||Voe,H=c.horizontalPoints,F=c.verticalPoints;if((!H||!H.length)&&typeof M=="function"){var X=y&&y.length,P=M({yAxis:w?In(In({},w),{},{ticks:X?y:w.ticks}):void 0,width:l??g,height:s??h,offset:u},X?!0:v);Vd(Array.isArray(P),"horizontalCoordinatesGenerator should return Array but instead it returned [".concat(typeof P,"]")),Array.isArray(P)&&(H=P)}if((!F||!F.length)&&typeof A=="function"){var Y=b&&b.length,C=A({xAxis:S?In(In({},S),{},{ticks:Y?b:S.ticks}):void 0,width:l??g,height:s??h,offset:u},Y?!0:v);Vd(Array.isArray(C),"verticalCoordinatesGenerator should return Array but instead it returned [".concat(typeof C,"]")),Array.isArray(C)&&(F=C)}return Tr.createElement(rr,{zIndex:c.zIndex},Tr.createElement("g",{className:"recharts-cartesian-grid"},Tr.createElement(Boe,{fill:(a=c.fill)!==null&&a!==void 0?a:T.grid.fill,fillOpacity:(i=c.fillOpacity)!==null&&i!==void 0?i:T.grid.fillOpacity,x:c.x,y:c.y,width:c.width,height:c.height,ry:c.ry}),Tr.createElement(Uoe,Ju({},c,{horizontalPoints:H})),Tr.createElement(Woe,Ju({},c,{verticalPoints:F})),Tr.createElement($oe,Ju({},c,k,{offset:u,horizontalPoints:H,xAxis:S,yAxis:w})),Tr.createElement(Foe,Ju({},c,k,{offset:u,verticalPoints:F,xAxis:S,yAxis:w}))))}rl.displayName="CartesianGrid";var Ot=te(re()),nl=te(re());var N7=te(re());var qoe=["animationElapsedTime","isAnimating","isEntrance","visibleLength","strokeDasharray","connectNulls"];function A_(){return A_=Object.assign?Object.assign.bind():function(e){for(var t=1;tp+m,0);if(!o)return _7(t,e);for(var a=Math.floor(e/o),i=e%o,l=[],s=0,u=0;si){l=[...n.slice(0,s),i-u];break}}var f=l.length%2===0?[0,t]:[t];return[...Qoe(n,a),...l,...f].map(p=>"".concat(p,"px")).join(", ")}function Roe(e,t,r){if(e){var n="".concat(e).split(/[,\s]+/gim).map(o=>parseFloat(o));return Joe(r,t,n)}return _7(t,r)}function E7(e){var t=e.animationElapsedTime,r=e.isAnimating,n=e.isEntrance,o=e.visibleLength,a=e.strokeDasharray,i=e.connectNulls,l=Goe(e,qoe),s=i??!1,u;if(o!=null){var c,d=l.pathRef,f=Xoe((c=d?.current)!==null&&c!==void 0?c:null);u=Roe(a,f,o)}else a!=null&&(u=String(a));return N7.createElement(Ja,A_({},l,{connectNulls:s,strokeDasharray:u}))}var Ru=te(re());function O7(e){var t=(0,Ru.useRef)(0),r=(0,Ru.useRef)(0),n=(0,Ru.useRef)(!1),o=(0,Ru.useRef)(e);return o.current!==e&&(t.current=r.current,o.current=e),(0,Ru.useCallback)((a,i)=>{if(n.current)return null;var l=Math.min(ea(t.current+a*i),i);return a>0&&i>0&&(r.current=Math.max(r.current,l),l>=i)?(n.current=!0,null):l},[])}var P7=te(re()),Zv=te(re());var eae={},T7=Dt({name:"errorBars",initialState:eae,reducers:{addErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]||(e[n]=[]),e[n].push(o)},replaceErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.prev,a=r.next;e[n]&&(e[n]=e[n].map(i=>i.dataKey===o.dataKey&&i.direction===o.direction?a:i))},removeErrorBar:(e,t)=>{var r=t.payload,n=r.itemId,o=r.errorBar;e[n]&&(e[n]=e[n].filter(a=>a.dataKey!==o.dataKey||a.direction!==o.direction))}}}),k_=T7.actions,VTe=k_.addErrorBar,KTe=k_.replaceErrorBar,qTe=k_.removeErrorBar;var M7=T7.reducer;var tae=["children"];function rae(e,t){if(e==null)return{};var r,n,o=nae(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n({x:0,y:0,value:0}),errorBarOffset:0},aae=(0,Zv.createContext)(oae);function k1(e){var t=e.children,r=rae(e,tae);return P7.createElement(aae.Provider,{value:r},t)}var C_=te(re());function ec(e,t){var r,n,o=Ae(u=>ai(u,e)),a=Ae(u=>ii(u,t)),i=(r=o?.allowDataOverflow)!==null&&r!==void 0?r:Fr.allowDataOverflow,l=(n=a?.allowDataOverflow)!==null&&n!==void 0?n:Ur.allowDataOverflow,s=i||l;return{needClip:s,needClipX:i,needClipY:l}}function Ff(e){var t=e.xAxisId,r=e.yAxisId,n=e.clipPathId,o=ks(),a=ec(t,r),i=a.needClipX,l=a.needClipY,s=a.needClip,u=Ae(b=>NN(b,t,!1)),c=Ae(b=>_N(b,r,!1));if(!s||!o)return null;var d=o.x,f=o.y,p=o.width,m=o.height,g=i&&u?Math.min(u[0],u[1]):d-p/2,h=l&&c?Math.min(c[0],c[1]):f-m/2,v=i&&u?Math.abs(u[1]-u[0]):p*2,y=l&&c?Math.abs(c[1]-c[0]):m*2;return C_.createElement("clipPath",{id:"clipPath-".concat(n)},C_.createElement("rect",{x:g,y:h,width:v,height:y}))}var D7=(e,t,r,n)=>jo(e,"xAxis",t,n),I7=(e,t,r,n)=>Io(e,"xAxis",t,n),j7=(e,t,r,n)=>jo(e,"yAxis",r,n),z7=(e,t,r,n)=>Io(e,"yAxis",r,n),iae=J([Qe,D7,j7,I7,z7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),lae=(e,t,r,n,o)=>o;function sae(e){return e.type==="line"}var uae=J([us,lae],(e,t)=>e.filter(sae).find(r=>r.id===t)),L7=J([Qe,D7,j7,I7,z7,uae,iae,Au],(e,t,r,n,o,a,i,l)=>{var s=l.chartData,u=l.dataStartIndex,c=l.dataEndIndex;if(!(a==null||t==null||r==null||n==null||o==null||n.length===0||o.length===0||i==null||e!=="horizontal"&&e!=="vertical")){var d=a.dataKey,f=a.data,p;if(f!=null&&f.length>0?p=f:p=s?.slice(u,c+1),p!=null)return B7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataKey:d,bandSize:i,displayedData:p})}});function C1(e){var t=Ao(e),r=3,n=2;if(t!=null){var o=t.r,a=t.strokeWidth,i=Number(o),l=Number(a);return(Number.isNaN(i)||i<0)&&(i=r),(Number.isNaN(l)||l<0)&&(l=n),{r:i,strokeWidth:l}}return{r,strokeWidth:n}}var cae=["id"],dae=["type","layout","connectNulls","needClip","shape","strokeDasharray"],fae=["activeDot","animateNewValues","animationBegin","animationDuration","animationEasing","connectNulls","dot","hide","isAnimationActive","label","legendType","xAxisId","yAxisId","id"];function N1(){return N1=Object.assign?Object.assign.bind():function(e){for(var t=1;t0?t/r:0}var xae=(e,t)=>{if(e==null)return[];if(t===1)return e.flatMap(l=>l.status==="removed"?[]:[l.next]);var r=hae(e),n=[];for(var o of e)if(o.status==="matched")n.push(li(li({},o.next),{},{x:Pt(o.prev.x,o.next.x,t),y:Pt(o.prev.y,o.next.y,t)}));else if(o.status==="added")if(o.next.x!=null){var a=o.next.x-r;n.push(li(li({},o.next),{},{x:Pt(a,o.next.x,t),y:o.next.y}))}else n.push(o.next);else if(o.status==="removed"&&o.prev.x!=null){var i=o.prev.x+r;n.push(li(li({},o.prev),{},{x:Pt(o.prev.x,i,t),y:o.prev.y}))}return n},E_={activeDot:!0,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationInterpolateFn:xae,animationMatchBy:Yu,connectNulls:!1,dot:!0,fill:"#fff",hide:!1,isAnimationActive:"auto",label:!1,legendType:"line",shape:E7,stroke:"#3182bd",strokeWidth:1,xAxisId:0,yAxisId:0,zIndex:vt.line,type:"linear"},bae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},wae=Ot.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:n,unit:s,formatter:u,graphicalItemId:d}};return Ot.createElement(xs,{tooltipEntrySettings:f})});function Sae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.dot,a=n.dataKey,i=n.needClip,l=n.id,s=__(n,cae),u=cr(s);return Ot.createElement(g1,{points:r,dot:o,className:"recharts-line-dots",dotClassName:"recharts-line-dot",dataKey:a,baseProps:u,needClip:i,clipPathId:t})}function Aae(e){var t=e.showLabels,r=e.children,n=e.points,o=(0,nl.useMemo)(()=>n?.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return li(li({},s),{},{value:a.value,payload:a.payload,viewBox:s,parentViewBox:void 0,fill:void 0})}),[n]);return Ot.createElement(Mf,{value:t?o:void 0},r)}function kae(e){var t=e.clipPathId,r=e.pathRef,n=e.points,o=e.props,a=e.animationElapsedTime,i=e.isAnimating,l=e.isEntrance,s=e.visibleLength,u=o.type,c=o.layout,d=o.connectNulls,f=o.needClip,p=o.shape,m=o.strokeDasharray,g=__(o,dae),h=li(li({},dr(g)),{},{fill:"none",className:"recharts-line-curve",clipPath:f?"url(#clipPath-".concat(t,")"):void 0,points:n,type:u,layout:c,connectNulls:d,strokeDasharray:m??o.strokeDasharray,pathRef:r,animationElapsedTime:a,isAnimating:i,isEntrance:o.animateNewValues?l:!1,visibleLength:s});return Ot.createElement(Ot.Fragment,null,n?.length>1&&Ot.createElement(hs,{option:p,DefaultShape:E_.shape,shapeProps:h}),Ot.createElement(Sae,{points:n,clipPathId:t,props:o}))}function Cae(e){var t=e.clipPathId,r=e.props,n=e.pathRef,o=e.previousPointsRef,a=r.points,i=r.isAnimationActive,l=r.animationBegin,s=r.animationDuration,u=r.animationEasing,c=r.animationMatchBy,d=r.animationInterpolateFn,f=r.layout,p=yae(n.current),m=ws(r.onAnimationStart,r.onAnimationEnd),g=m.isAnimating,h=m.handleAnimationStart,v=m.handleAnimationEnd,y=!g,b=O7(a),x=(0,nl.useCallback)(S=>S>0&&p>0,[p]);return Ot.createElement(Aae,{points:a,showLabels:y},r.children,Ot.createElement(Ss,{animationInput:a,animationIdPrefix:"recharts-line-",items:a,previousItemsRef:o,isAnimationActive:i,animationBegin:l,animationDuration:s,animationEasing:u,onAnimationStart:h,onAnimationEnd:v,animationInterpolateFn:d,animationMatchBy:c,shouldUpdatePreviousRef:x,layout:f},(S,w,T)=>{var k=g||w<1,A=k?b(w,p):null;return Ot.createElement(kae,{props:r,points:S,clipPathId:t,pathRef:n,animationElapsedTime:w,isAnimating:k,isEntrance:T,visibleLength:A})}),Ot.createElement(ys,{label:r.label}))}function Nae(e){var t=e.clipPathId,r=e.props,n=(0,nl.useRef)(null),o=(0,nl.useRef)(null);return Ot.createElement(Cae,{props:r,clipPathId:t,previousPointsRef:n,pathRef:o})}var _ae=(e,t)=>{var r,n;return{x:(r=e.x)!==null&&r!==void 0?r:void 0,y:(n=e.y)!==null&&n!==void 0?n:void 0,value:e.value,errorVal:nt(e.payload,t)}},N_=class extends nl.Component{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.top,u=t.left,c=t.width,d=t.height,f=t.id,p=t.needClip,m=t.zIndex;if(r)return null;var g=He("recharts-line",a),h=f,v=C1(n),y=v.r,b=v.strokeWidth,x=Pf(n),S=y*2+b,w=p?"url(#clipPath-".concat(x?"":"dots-").concat(h,")"):void 0;return Ot.createElement(rr,{zIndex:m},Ot.createElement(_t,{className:g},p&&Ot.createElement("defs",null,Ot.createElement(Ff,{clipPathId:h,xAxisId:i,yAxisId:l}),!x&&Ot.createElement("clipPath",{id:"clipPath-dots-".concat(h)},Ot.createElement("rect",{x:u-S/2,y:s-S/2,width:c+S,height:d+S}))),Ot.createElement(k1,{xAxisId:i,yAxisId:l,data:o,dataPointFormatter:_ae,errorBarOffset:0},Ot.createElement(Nae,{props:this.props,clipPathId:h}))),Ot.createElement(Hv,{activeDot:this.props.activeDot,points:o,mainColor:this.props.stroke,itemDataKey:this.props.dataKey,clipPath:w}))}};function Eae(e){var t=ft(e,E_),r=t.activeDot,n=t.animateNewValues,o=t.animationBegin,a=t.animationDuration,i=t.animationEasing,l=t.connectNulls,s=t.dot,u=t.hide,c=t.isAnimationActive,d=t.label,f=t.legendType,p=t.xAxisId,m=t.yAxisId,g=t.id,h=__(t,fae),v=ec(p,m),y=v.needClip,b=ks(),x=oo(),S=It(),w=Ae(H=>L7(H,p,m,S,g));if(x!=="horizontal"&&x!=="vertical"||w==null||b==null)return null;var T=b.height,k=b.width,A=b.x,M=b.y;return Ot.createElement(N_,N1({},h,{id:g,connectNulls:l,dot:s,activeDot:r,animateNewValues:n,animationBegin:o,animationDuration:a,animationEasing:i,isAnimationActive:c,hide:u,label:d,legendType:f,xAxisId:p,yAxisId:m,points:w,layout:x,height:T,width:k,left:A,top:M,needClip:y}))}function B7(e){var t=e.layout,r=e.xAxis,n=e.yAxis,o=e.xAxisTicks,a=e.yAxisTicks,i=e.dataKey,l=e.bandSize,s=e.displayedData;return s.map((u,c)=>{var d=nt(u,i);if(t==="horizontal"){var f=Bd({axis:r,ticks:o,bandSize:l,entry:u,index:c}),p=mt(d)?null:n.scale.map(d);return{x:f,y:p??null,value:d,payload:u}}var m=mt(d)?null:r.scale.map(d),g=Bd({axis:n,ticks:a,bandSize:l,entry:u,index:c});return m==null||g==null?null:{x:m,y:g,value:d,payload:u}}).filter(Boolean)}function Oae(e){var t=ft(e,E_),r=It();return Ot.createElement(As,{id:t.id,type:"line"},n=>Ot.createElement(Ot.Fragment,null,Ot.createElement(If,{legendPayload:bae(t)}),Ot.createElement(wae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),Ot.createElement(Lf,{type:"line",id:n,data:t.data,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,hide:t.hide,isPanorama:r}),Ot.createElement(Eae,N1({},t,{id:n}))))}var _1=Ot.memo(Oae,ao);_1.displayName="Line";var St=te(re()),tc=te(re());function va(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.xAxisId)!==null&&r!==void 0?r:x_}function ga(e,t){var r,n;return(r=(n=e.graphicalItems.cartesianItems.find(o=>o.id===t))===null||n===void 0?void 0:n.yAxisId)!==null&&r!==void 0?r:x_}var F7=(e,t,r)=>jo(e,"xAxis",va(e,t),r),U7=(e,t,r)=>Io(e,"xAxis",va(e,t),r),W7=(e,t,r)=>jo(e,"yAxis",ga(e,t),r),H7=(e,t,r)=>Io(e,"yAxis",ga(e,t),r),Tae=J([Qe,F7,W7,U7,H7],(e,t,r,n,o)=>Tn(e,"xAxis")?aa(t,n,!1):aa(r,o,!1)),Mae=(e,t)=>t,O_=J([us,Mae],(e,t)=>e.filter(r=>r.type==="area").find(r=>r.id===t)),V7=e=>{var t=Qe(e),r=Tn(t,"xAxis");return r?"yAxis":"xAxis"},Pae=(e,t)=>{var r=V7(e);return r==="yAxis"?ga(e,t):va(e,t)},K7=(e,t,r)=>hf(e,V7(e),Pae(e,t),r),Dae=J([O_,K7],(e,t)=>{var r;if(!(e==null||t==null)){var n=e.stackId,o=rs(e);if(!(n==null||o==null)){var a=(r=t[n])===null||r===void 0?void 0:r.stackedData,i=a?.find(l=>l.key===o);if(i!=null)return i.map(l=>[l[0],l[1]])}}}),Iae=J([O_,K7],(e,t)=>{if(!(e==null||e.stackId==null||t==null)){var r=t[e.stackId];if(r!=null)return r.graphicalItems.map(n=>n.dataKey).filter(en)}}),q7=J([Qe,F7,W7,U7,H7,Dae,px,Tae,O_,QI,Iae],(e,t,r,n,o,a,i,l,s,u,c)=>{var d=i.chartData,f=i.dataStartIndex,p=i.dataEndIndex;if(!(s==null||e!=="horizontal"&&e!=="vertical"||t==null||r==null||n==null||o==null||n.length===0||o.length===0||l==null)){var m=s.data,g;if(m&&m.length>0?g=m:g=d?.slice(f,p+1),g!=null)return G7({layout:e,xAxis:t,yAxis:r,xAxisTicks:n,yAxisTicks:o,dataStartIndex:f,areaSettings:s,stackedData:a,displayedData:g,chartBaseValue:u,bandSize:l,stackDataKeys:c})}});var jn=te(re());var jae=["animationElapsedTime","isAnimating","isEntrance","layout","isRange","stroke","connectNulls"],zae=["id","baseLine"];function Qv(){return Qv=Object.assign?Object.assign.bind():function(e){for(var t=1;td.y||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.y||0),c)),Se(c)?jn.createElement("rect",{x:ld.x||0));return Se(o)?c=Math.max(o,c):o&&Array.isArray(o)&&o.length&&(c=Math.max(...o.map(d=>d.x||0),c)),Se(c)?jn.createElement("rect",{x:0,y:le==null?[]:t===1?e.flatMap(r=>r.status==="removed"?[]:[r.next]):e.flatMap(r=>r.status==="matched"?[Uf(Uf({},r.next),{},{x:Pt(r.prev.x,r.next.x,t),y:Pt(r.prev.y,r.next.y,t)})]:r.status==="added"?[r.next]:[]),J7={activeDot:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",animationMatchBy:Yu,animationInterpolateFn:Gae,connectNulls:!1,dot:!1,fill:"#3182bd",fillOpacity:.6,hide:!1,isAnimationActive:"auto",legendType:"line",stroke:"#3182bd",strokeWidth:1,type:"linear",label:!1,shape:X7,xAxisId:0,yAxisId:0,zIndex:vt.area};function O1(e,t){return e&&e!=="none"?e:t}var Yae=e=>{var t=e.dataKey,r=e.name,n=e.stroke,o=e.fill,a=e.legendType,i=e.hide;return[{inactive:i,dataKey:t,type:a,color:O1(n,o),value:Eo(r,t),payload:e}]},Xae=St.memo(e=>{var t=e.dataKey,r=e.data,n=e.stroke,o=e.strokeWidth,a=e.fill,i=e.name,l=e.hide,s=e.unit,u=e.formatter,c=e.tooltipType,d=e.id,f={dataDefinedOnItem:r,getPosition:Un,settings:{stroke:n,strokeWidth:o,fill:a,dataKey:t,nameKey:void 0,name:Eo(i,t),hide:l,type:c,color:O1(n,a),unit:s,formatter:u,graphicalItemId:d}};return St.createElement(xs,{tooltipEntrySettings:f})});function Zae(e){var t=e.clipPathId,r=e.points,n=e.props,o=n.needClip,a=n.dot,i=n.dataKey,l=cr(n);return St.createElement(g1,{points:r,dot:a,className:"recharts-area-dots",dotClassName:"recharts-area-dot",dataKey:i,baseProps:l,needClip:o,clipPathId:t})}function Qae(e){var t=e.showLabels,r=e.children,n=e.points,o=n.map(a=>{var i,l,s={x:(i=a.x)!==null&&i!==void 0?i:0,y:(l=a.y)!==null&&l!==void 0?l:0,width:0,lowerWidth:0,upperWidth:0,height:0};return Uf(Uf({},s),{},{value:a.value,payload:a.payload,parentViewBox:void 0,viewBox:s,fill:void 0})});return St.createElement(Mf,{value:t?o:void 0},r)}function Jae(e){var t=e.points,r=e.baseLine,n=e.needClip,o=e.clipPathId,a=e.props,i=e.animationElapsedTime,l=e.isAnimating,s=e.isEntrance,u=a.layout,c=a.type,d=a.stroke,f=a.connectNulls,p=a.isRange,m=a.shape,g=a.id,h=Q7(a,Uae),v=dr(h),y=Uf(Uf({},v),{},{id:g,points:t,connectNulls:f,type:c,baseLine:r,layout:u,stroke:d,isRange:p,animationElapsedTime:i,isAnimating:l,isEntrance:s});return St.createElement(St.Fragment,null,t?.length>1&&St.createElement(_t,{clipPath:n?"url(#clipPath-".concat(o,")"):void 0},St.createElement(hs,{option:m,DefaultShape:J7.shape,shapeProps:y})),St.createElement(Zae,{points:t,props:h,clipPathId:o}))}function Rae(e,t,r){if(Se(e)){var n=Se(t)?t:void 0;return Pt(n,e,r)}if(mt(e)||cn(e)){var o=Se(t)?t:void 0;return Pt(o,0,r)}return e}function eie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=e.previousPointsRef,a=e.previousBaselineRef,i=n.points,l=n.baseLine,s=n.isAnimationActive,u=n.animationBegin,c=n.animationDuration,d=n.animationEasing,f=n.animationMatchBy,p=n.animationInterpolateFn,m=(0,tc.useMemo)(()=>({points:i,baseLine:l}),[i,l]),g=u1(m,a),h=Gd(),v=ws(n.onAnimationStart,n.onAnimationEnd),y=v.isAnimating,b=v.handleAnimationStart,x=v.handleAnimationEnd,S=g.startValue;if(h==null)return null;var w;return Array.isArray(l)&&Array.isArray(S)?w=$v(S,l,f):Array.isArray(l)?w=$v(null,l,f):w=null,St.createElement(Ss,{animationInput:m,animationIdPrefix:"recharts-area-",items:i,previousItemsRef:o,isAnimationActive:s,animationBegin:u,animationDuration:c,animationEasing:d,onAnimationStart:b,onAnimationEnd:x,animationInterpolateFn:p,animationMatchBy:f,layout:h},(T,k,A)=>{var M;return k===1?M=l:Array.isArray(l)?M=p(w,k,h):M=A?l:Rae(l,S,k),g.syncStepValue(M,k),St.createElement(Qae,{showLabels:!y,points:i},n.children,St.createElement(Jae,{points:T,baseLine:M,needClip:t,clipPathId:r,props:n,animationElapsedTime:k,isAnimating:y||k<1,isEntrance:A}),St.createElement(ys,{label:n.label}))})}function tie(e){var t=e.needClip,r=e.clipPathId,n=e.props,o=(0,tc.useRef)(null),a=(0,tc.useRef)();return St.createElement(eie,{needClip:t,clipPathId:r,props:n,previousPointsRef:o,previousBaselineRef:a})}var T_=class extends tc.PureComponent{render(){var t=this.props,r=t.hide,n=t.dot,o=t.points,a=t.className,i=t.top,l=t.left,s=t.needClip,u=t.xAxisId,c=t.yAxisId,d=t.width,f=t.height,p=t.id,m=t.baseLine,g=t.zIndex;if(r)return null;var h=He("recharts-area",a),v=p,y=C1(n),b=y.r,x=y.strokeWidth,S=Pf(n),w=b*2+x,T=s?"url(#clipPath-".concat(S?"":"dots-").concat(v,")"):void 0;return St.createElement(rr,{zIndex:g},St.createElement(_t,{className:h},s&&St.createElement("defs",null,St.createElement(Ff,{clipPathId:v,xAxisId:u,yAxisId:c}),!S&&St.createElement("clipPath",{id:"clipPath-dots-".concat(v)},St.createElement("rect",{x:l-w/2,y:i-w/2,width:d+w,height:f+w}))),St.createElement(tie,{needClip:s,clipPathId:v,props:this.props})),St.createElement(Hv,{points:o,mainColor:O1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}),this.props.isRange&&Array.isArray(m)&&St.createElement(Hv,{points:m,mainColor:O1(this.props.stroke,this.props.fill),itemDataKey:this.props.dataKey,activeDot:this.props.activeDot,clipPath:T}))}};function rie(e){var t,r=e.activeDot,n=e.animationBegin,o=e.animationDuration,a=e.animationEasing,i=e.connectNulls,l=e.dot,s=e.fill,u=e.fillOpacity,c=e.hide,d=e.isAnimationActive,f=e.legendType,p=e.stroke,m=e.xAxisId,g=e.yAxisId,h=Q7(e,Wae),v=oo(),y=Db(),b=ec(m,g),x=b.needClip,S=It(),w=(t=Ae(Y=>q7(Y,e.id,S)))!==null&&t!==void 0?t:{},T=w.points,k=w.isRange,A=w.baseLine,M=ks();if(v!=="horizontal"&&v!=="vertical"||M==null||y!=="AreaChart"&&y!=="ComposedChart")return null;var H=M.height,F=M.width,X=M.x,P=M.y;return!T||!T.length?null:St.createElement(T_,E1({},h,{activeDot:r,animationBegin:n,animationDuration:o,animationEasing:a,baseLine:A,connectNulls:i,dot:l,fill:s,fillOpacity:u,height:H,hide:c,layout:v,isAnimationActive:d,isRange:k,legendType:f,needClip:x,points:T,stroke:p,width:F,left:X,top:P,xAxisId:m,yAxisId:g}))}var nie=(e,t,r,n,o)=>{var a=r??t;if(Se(a))return a;var i=e==="horizontal"?o:n,l=i.scale.domain();if(i.type==="number"){var s=Math.max(l[0],l[1]),u=Math.min(l[0],l[1]);return a==="dataMin"?u:a==="dataMax"||s<0?s:Math.max(Math.min(l[0],l[1]),0)}return a==="dataMin"?l[0]:a==="dataMax"?l[1]:l[0]};function G7(e){var t=e.areaSettings,r=t.connectNulls,n=t.baseValue,o=t.dataKey,a=e.stackedData,i=e.layout,l=e.chartBaseValue,s=e.xAxis,u=e.yAxis,c=e.displayedData,d=e.dataStartIndex,f=e.xAxisTicks,p=e.yAxisTicks,m=e.bandSize,g=e.stackDataKeys,h=a&&a.length,v=nie(i,l,n,s,u),y=i==="horizontal",b=!1,x=c.map((w,T)=>{var k,A,M,H;if(h)H=a[d+T];else{var F=nt(w,o);Array.isArray(F)?(H=F,b=!0):H=[v,F]}var X=(k=(A=H)===null||A===void 0?void 0:A[1])!==null&&k!==void 0?k:null,P=nt(w,o),Y=h&&P==null&&g!=null&&g.length>0&&g.every(z=>nt(w,z)==null),C=X==null||h&&!r&&P==null||Y;if(y){var _;return{x:Bd({axis:s,ticks:f,bandSize:m,entry:w,index:T}),y:C?null:(_=u.scale.map(X))!==null&&_!==void 0?_:null,value:H,payload:w}}return{x:C?null:(M=s.scale.map(X))!==null&&M!==void 0?M:null,y:Bd({axis:u,ticks:p,bandSize:m,entry:w,index:T}),value:H,payload:w}}),S;return h||b?S=x.map(w=>{var T,k=Array.isArray(w.value)?w.value[0]:null;if(y){var A;return{x:w.x,y:k!=null&&w.y!=null&&(A=u.scale.map(k))!==null&&A!==void 0?A:null,payload:w.payload}}return{x:k!=null&&(T=s.scale.map(k))!==null&&T!==void 0?T:null,y:w.y,payload:w.payload}}):S=y?u.scale.map(v):s.scale.map(v),{points:x,baseLine:S??0,isRange:b}}function oie(e){var t=ft(e,J7),r=It();return St.createElement(As,{id:t.id,type:"area"},n=>St.createElement(St.Fragment,null,St.createElement(If,{legendPayload:Yae(t)}),St.createElement(Xae,{dataKey:t.dataKey,data:t.data,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:n}),St.createElement(Lf,{type:"area",id:n,data:t.data,dataKey:t.dataKey,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,stackId:B0(t.stackId),hide:t.hide,barSize:void 0,baseValue:t.baseValue,isPanorama:r,connectNulls:t.connectNulls}),St.createElement(rie,E1({},t,{id:n}))))}var ol=St.memo(oie,ao);ol.displayName="Area";var ct=te(re()),La=te(re());var e9=te(re());var aie=!0,M_="Invariant failed";function R7(e,t){if(!e){if(aie)throw new Error(M_);var r=typeof t=="function"?t():t,n=r?"".concat(M_,": ").concat(r):M_;throw new Error(n)}}var iie=["option"];function lie(e,t){if(e==null)return{};var r,n,o=sie(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n1&&arguments[1]!==void 0?arguments[1]:0;return(n,o)=>{if(Se(t))return t;var a=Se(n)||mt(n);return a?t(n,o):(a||R7(!1,"minPointSize callback function received a value with type of ".concat(typeof n,". Currently only numbers or null/undefined are supported.")),r)}};var uie=(e,t,r)=>r,cie=(e,t)=>t,Jv=J([us,cie],(e,t)=>e.filter(r=>r.type==="bar").find(r=>r.id===t)),die=J([Jv],e=>e?.maxBarSize),fie=(e,t,r,n)=>n,pie=J([Qe,us,va,ga,uie],(e,t,r,n,o)=>t.filter(a=>e==="horizontal"?a.xAxisId===r:a.yAxisId===n).filter(a=>a.isPanorama===o).filter(a=>a.hide===!1).filter(a=>a.type==="bar")),mie=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null))return n==="horizontal"?hf(e,"yAxis",a,r):hf(e,"xAxis",o,r)},vie=(e,t)=>{var r=Qe(e),n=va(e,t),o=ga(e,t);if(!(n==null||o==null))return r==="horizontal"?DN(e,"xAxis",n):DN(e,"yAxis",o)},gie=J([pie,ZI,vie],WB),yie=(e,t,r)=>{var n,o,a=Jv(e,t);if(a==null)return 0;var i=va(e,t),l=ga(e,t);if(i==null||l==null)return 0;var s=Qe(e),u=SC(e),c=a.maxBarSize,d=mt(c)?u:c,f,p;return s==="horizontal"?(f=jo(e,"xAxis",i,r),p=Io(e,"xAxis",i,r)):(f=jo(e,"yAxis",l,r),p=Io(e,"yAxis",l,r)),(n=(o=aa(f,p,!0))!==null&&o!==void 0?o:d)!==null&&n!==void 0?n:0},r9=(e,t,r)=>{var n=Qe(e),o=va(e,t),a=ga(e,t);if(!(o==null||a==null)){var i,l;return n==="horizontal"?(i=jo(e,"xAxis",o,r),l=Io(e,"xAxis",o,r)):(i=jo(e,"yAxis",a,r),l=Io(e,"yAxis",a,r)),aa(i,l)}},hie=J([gie,SC,XI,hx,yie,r9,die],VB),xie=(e,t,r)=>{var n=va(e,t);if(n!=null)return jo(e,"xAxis",n,r)},bie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return jo(e,"yAxis",n,r)},wie=(e,t,r)=>{var n=va(e,t);if(n!=null)return Io(e,"xAxis",n,r)},Sie=(e,t,r)=>{var n=ga(e,t);if(n!=null)return Io(e,"yAxis",n,r)},Aie=J([hie,Jv],qB),kie=J([mie,Jv],KB),n9=J([Ht,Wd,xie,bie,wie,Sie,Aie,Qe,px,r9,kie,Jv,fie],(e,t,r,n,o,a,i,l,s,u,c,d,f)=>{var p=s.chartData,m=s.dataStartIndex,g=s.dataEndIndex;if(!(d==null||i==null||t==null||l!=="horizontal"&&l!=="vertical"||r==null||n==null||o==null||a==null||u==null)){var h=d.data,v;if(h!=null&&h.length>0?v=h:v=p?.slice(m,g+1),v!=null)return o9({layout:l,barSettings:d,pos:i,parentViewBox:t,bandSize:u,xAxis:r,yAxis:n,xAxisTicks:o,yAxisTicks:a,stackedData:c,displayedData:v,offset:e,cells:f,dataStartIndex:m})}});var D_=te(re()),Wf=te(re());var Cie=["index"];function P_(){return P_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var t=(0,Wf.useContext)(a9);if(t!=null)return t.stackId;if(e!=null)return B0(e)};var Eie=(e,t)=>"recharts-bar-stack-clip-path-".concat(e,"-").concat(t),Oie=e=>{var t=(0,Wf.useContext)(a9);if(t!=null){var r=t.stackId;return"url(#".concat(Eie(r,e),")")}},I_=e=>{var t=e.index,r=Nie(e,Cie),n=Oie(t);return D_.createElement(_t,P_({className:"recharts-bar-stack-layer",clipPath:n},r))};var Tie=["onMouseEnter","onMouseLeave","onClick"],Mie=["value","background","tooltipPosition"],Pie=["id"],Die=["onMouseEnter","onClick","onMouseLeave"];function l9(e,t){return Lie(e)||zie(e,t)||jie(e,t)||Iie()}function Iie(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function jie(e,t){if(e){if(typeof e=="string")return s9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?s9(e,t):void 0}}function s9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{var t=e.dataKey,r=e.name,n=e.fill,o=e.legendType,a=e.hide;return[{inactive:a,dataKey:t,type:o,color:n,value:Eo(r,t),payload:e}]},Hie=ct.memo(e=>{var t=e.dataKey,r=e.stroke,n=e.strokeWidth,o=e.fill,a=e.name,i=e.hide,l=e.unit,s=e.formatter,u=e.tooltipType,c=e.id,d={dataDefinedOnItem:void 0,getPosition:Un,settings:{stroke:r,strokeWidth:n,fill:o,dataKey:t,nameKey:void 0,name:Eo(a,t),hide:i,type:u,color:o,unit:l,formatter:s,graphicalItemId:c}};return ct.createElement(xs,{tooltipEntrySettings:d})});function Vie(e){var t=Ae(da),r=e.data,n=e.dataKey,o=e.background,a=e.allOtherBarProps,i=a.onMouseEnter,l=a.onMouseLeave,s=a.onClick,u=P1(a,Tie),c=Iv(i,n,a.id),d=jv(l),f=zv(s,n,a.id);if(!o||r==null)return null;var p=Ao(o);return ct.createElement(rr,{zIndex:GB(o,vt.barBackground)},r.map((m,g)=>{var h=m.value,v=m.background,y=m.tooltipPosition,b=P1(m,Mie);if(!v)return null;var x=c(m,m.originalDataIndex),S=d(m,m.originalDataIndex),w=f(m,m.originalDataIndex),T=nn(nn(nn(nn(nn({option:o,isActive:String(m.originalDataIndex)===t},b),{},{fill:"#eee"},v),p),Li(u,m,g)),{},{onMouseEnter:x,onMouseLeave:S,onClick:w,dataKey:n,index:g,className:"recharts-bar-background-rectangle"});return ct.createElement(M1,Cs({key:"background-bar-".concat(g)},T))}))}function Kie(e){var t=e.showLabels,r=e.children,n=e.rects,o=n?.map(a=>{var i={x:a.x,y:a.y,width:a.width,lowerWidth:a.width,upperWidth:a.width,height:a.height};return nn(nn({},i),{},{value:a.value,payload:a.payload,parentViewBox:a.parentViewBox,viewBox:i,fill:a.fill})});return ct.createElement(Mf,{value:t?o:void 0},r)}function qie(e){var t=e.shape,r=e.activeBar,n=e.baseProps,o=e.entry,a=e.index,i=e.dataKey,l=Ae(da),s=Ae(Sf),u=r&&String(o.originalDataIndex)===l&&(s==null||i===s),c=l!=null&&(String(o.originalDataIndex)!==l||s!=null&&i!==s),d=(0,La.useState)(!1),f=l9(d,2),p=f[0],m=f[1],g=(0,La.useState)(!1),h=l9(g,2),v=h[0],y=h[1];(0,La.useEffect)(()=>{var k;return u?(m(!0),k=requestAnimationFrame(()=>{y(!0)})):(y(!1),c&&m(!1)),()=>{cancelAnimationFrame(k)}},[u,c]);var b=(0,La.useCallback)(()=>{u||m(!1)},[u]),x=u&&v,S=u||p,w;u?r===!0?w=t:w=r:w=t;var T=ct.createElement(M1,Cs({},n,{name:String(n.name)},o,{isActive:x,option:w,index:a,dataKey:i,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance,onTransitionEnd:b}));return S?ct.createElement(rr,{zIndex:vt.activeBar},ct.createElement(I_,{index:o.originalDataIndex},T)):T}function Gie(e){var t=e.shape,r=e.baseProps,n=e.entry,o=e.index,a=e.dataKey;return ct.createElement(M1,Cs({},r,{name:String(r.name)},n,{isActive:!1,option:t,index:o,dataKey:a,animationElapsedTime:e.animationElapsedTime,isAnimating:e.isAnimating,isEntrance:e.isEntrance}))}function Yie(e){var t,r=e.data,n=e.props,o=e.animationElapsedTime,a=e.isAnimating,i=e.isEntrance,l=(t=cr(n))!==null&&t!==void 0?t:{},s=l.id,u=P1(l,Pie),c=n.shape,d=n.dataKey,f=n.activeBar,p=n.onMouseEnter,m=n.onClick,g=n.onMouseLeave,h=P1(n,Die),v=Iv(p,d,s),y=jv(g),b=zv(m,d,s);return r?ct.createElement(ct.Fragment,null,r.map((x,S)=>ct.createElement(I_,Cs({index:x.originalDataIndex,key:"rectangle-".concat(x?.x,"-").concat(x?.y,"-").concat(x?.value,"-").concat(S),className:"recharts-bar-rectangle"},Li(h,x,S),{onMouseEnter:v(x,x.originalDataIndex),onMouseLeave:y(x,x.originalDataIndex),onClick:b(x,x.originalDataIndex)}),f?ct.createElement(qie,{shape:c,activeBar:f,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i}):ct.createElement(Gie,{shape:c,baseProps:u,entry:x,index:S,dataKey:d,animationElapsedTime:o,isAnimating:a,isEntrance:i})))):null}var Xie=(e,t,r)=>e==null?[]:t===1?e.flatMap(n=>n.status==="removed"?[]:[n.next]):e.flatMap(n=>{if(n.status==="removed")return r==="horizontal"?[nn(nn({},n.prev),{},{height:Pt(n.prev.height,0,t),y:Pt(n.prev.y,n.prev.y+n.prev.height,t)})]:[nn(nn({},n.prev),{},{width:Pt(n.prev.width,0,t)})];if(n.status==="matched")return[nn(nn({},n.next),{},{x:Pt(n.prev.x,n.next.x,t),y:Pt(n.prev.y,n.next.y,t),width:Pt(n.prev.width,n.next.width,t),height:Pt(n.prev.height,n.next.height,t)})];var o=n.next;return r==="horizontal"?[nn(nn({},o),{},{height:Pt(0,o.height,t),y:Pt(o.stackedBarStart,o.y,t)})]:[nn(nn({},o),{},{width:Pt(0,o.width,t),x:Pt(o.stackedBarStart,o.x,t)})]});function Zie(e){var t=e.props,r=e.previousRectanglesRef,n=t.data,o=t.isAnimationActive,a=t.animationBegin,i=t.animationDuration,l=t.animationEasing,s=t.animationInterpolateFn,u=t.layout,c=ws(t.onAnimationStart,t.onAnimationEnd),d=c.isAnimating,f=c.handleAnimationStart,p=c.handleAnimationEnd;return ct.createElement(Kie,{showLabels:!d,rects:n},ct.createElement(Ss,{animationInput:n,animationIdPrefix:"recharts-bar-",items:n,previousItemsRef:r,isAnimationActive:o,animationBegin:a,animationDuration:i,animationEasing:l,onAnimationStart:f,onAnimationEnd:p,animationInterpolateFn:s,animationMatchBy:t.animationMatchBy,layout:u},(m,g,h)=>ct.createElement(_t,null,ct.createElement(Yie,{props:t,data:m,animationElapsedTime:g,isAnimating:d||g<1,isEntrance:h}))),ct.createElement(ys,{label:t.label}),t.children)}function Qie(e){var t=(0,La.useRef)(null);return ct.createElement(Zie,{previousRectanglesRef:t,props:e})}var c9=0,Jie=(e,t)=>{var r=Array.isArray(e.value)?e.value[1]:e.value;return{x:e.x,y:e.y,value:r,errorVal:nt(e,t)}},j_=class extends La.PureComponent{render(){var t=this.props,r=t.hide,n=t.data,o=t.dataKey,a=t.className,i=t.xAxisId,l=t.yAxisId,s=t.needClip,u=t.background,c=t.id;if(r||n==null)return null;var d=He("recharts-bar",a),f=c;return ct.createElement(_t,{className:d,id:c},s&&ct.createElement("defs",null,ct.createElement(Ff,{clipPathId:f,xAxisId:i,yAxisId:l})),ct.createElement(_t,{className:"recharts-bar-rectangles",clipPath:s?"url(#clipPath-".concat(f,")"):void 0},ct.createElement(Vie,{data:n,dataKey:o,background:u,allOtherBarProps:this.props}),ct.createElement(Qie,this.props)))}},Rie={activeBar:!1,animationBegin:0,animationDuration:400,animationEasing:"ease",animationInterpolateFn:Xie,animationMatchBy:Bv,background:!1,hide:!1,isAnimationActive:"auto",label:!1,legendType:"rect",minPointSize:c9,shape:T1,xAxisId:0,yAxisId:0,zIndex:vt.bar};function ele(e){var t=e.xAxisId,r=e.yAxisId,n=e.hide,o=e.legendType,a=e.minPointSize,i=e.activeBar,l=e.animationBegin,s=e.animationDuration,u=e.animationEasing,c=e.isAnimationActive,d=ec(t,r),f=d.needClip,p=oo(),m=It(),g=Pv(e.children,Ji),h=Ae(b=>n9(b,e.id,m,g));if(p!=="vertical"&&p!=="horizontal")return null;var v,y=h?.[0];return y==null||y.height==null||y.width==null?v=0:v=p==="vertical"?y.height/2:y.width/2,ct.createElement(k1,{xAxisId:t,yAxisId:r,data:h,dataPointFormatter:Jie,errorBarOffset:v},ct.createElement(j_,Cs({},e,{layout:p,needClip:f,data:h,xAxisId:t,yAxisId:r,hide:n,legendType:o,minPointSize:a,activeBar:i,animationBegin:l,animationDuration:s,animationEasing:u,isAnimationActive:c})))}function o9(e){var t=e.layout,r=e.barSettings,n=r.dataKey,o=r.minPointSize,a=r.hasCustomShape,i=e.pos,l=e.bandSize,s=e.xAxis,u=e.yAxis,c=e.xAxisTicks,d=e.yAxisTicks,f=e.stackedData,p=e.displayedData,m=e.offset,g=e.cells,h=e.parentViewBox,v=e.dataStartIndex,y=t==="horizontal"?u:s,b=f?y.scale.domain():null,x=YD({numericAxis:y}),S=y.scale.map(x);return p.map((w,T)=>{var k,A,M,H,F,X;if(f){var P=f[T+v];if(P==null)return null;k=qD(P,b)}else k=nt(w,n),Array.isArray(k)||(k=[x,k]);var Y=t9(o,c9)(k[1],T);if(t==="horizontal"){var C,_=u.scale.map(k[0]),z=u.scale.map(k[1]);if(_==null||z==null)return null;A=Qk({axis:s,ticks:c,bandSize:l,offset:i.offset,entry:w,index:T}),M=(C=z??_)!==null&&C!==void 0?C:void 0,H=i.size;var D=_-z;if(F=cn(D)?0:D,X={x:A,y:m.top,width:H,height:m.height},Math.abs(Y)>0&&Math.abs(F)0&&Math.abs(H)ct.createElement(ct.Fragment,null,ct.createElement(If,{legendPayload:Wie(t)}),ct.createElement(Hie,{dataKey:t.dataKey,stroke:t.stroke,strokeWidth:t.strokeWidth,fill:t.fill,name:t.name,hide:t.hide,unit:t.unit,formatter:t.formatter,tooltipType:t.tooltipType,id:o}),ct.createElement(Lf,{type:"bar",id:o,data:void 0,xAxisId:t.xAxisId,yAxisId:t.yAxisId,zAxisId:0,dataKey:t.dataKey,stackId:r,hide:t.hide,barSize:t.barSize,minPointSize:t.minPointSize,maxBarSize:t.maxBarSize,isPanorama:n,hasCustomShape:t.shape!=null&&t.shape!==T1}),ct.createElement(rr,{zIndex:t.zIndex},ct.createElement(ele,Cs({},t,{id:o})))))}var D1=ct.memo(tle,ao);D1.displayName="Bar";var al=te(re()),ya=te(re());var rle=["domain","range"],nle=["domain","range"];function d9(e,t){if(e==null)return{};var r,n,o=ole(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{if(i!=null)return m9(m9({},a),{},{type:i})},[a,i]);return(0,ya.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(_B(l)):r.current!==l&&t(EB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ya.useLayoutEffect)(()=>()=>{r.current&&(t(OB(r.current)),r.current=null)},[t]),null}var ple=e=>{var t=e.xAxisId,r=e.className,n=e.height,o=e.label,a=(0,ya.useRef)(null),i=(0,ya.useRef)(null),l=Ae(Wd),s=It(),u=Xe(),c="xAxis",d=Ae(w=>bb(w,c,t,s)),f=Ae(w=>MN(w,t)),p=Ae(w=>$j(w,t)),m=Ae(w=>sN(w,t));if((0,ya.useLayoutEffect)(()=>{if(!(n!=="auto"||!f||Gu(o)||(0,ya.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedHeight();Math.round(f.height)!==Math.round(T)&&u(IB({id:t,height:T}))}}},[d,f,u,o,t,n,m]),f==null||p==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=L_(e,ile),b=m.id,x=m.scale,S=L_(m,lle);return al.createElement(Xv,z_({},y,S,{ref:a,labelRef:i,x:p.x,y:p.y,width:f.width,height:f.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:d,axisType:c,axisId:t}))},mle={allowDataOverflow:Fr.allowDataOverflow,allowDecimals:Fr.allowDecimals,allowDuplicatedCategory:Fr.allowDuplicatedCategory,angle:Fr.angle,axisLine:ma.axisLine,height:Fr.height,hide:!1,includeHidden:Fr.includeHidden,interval:Fr.interval,label:!1,minTickGap:Fr.minTickGap,mirror:Fr.mirror,orientation:Fr.orientation,padding:Fr.padding,reversed:Fr.reversed,scale:Fr.scale,tick:Fr.tick,tickCount:Fr.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Fr.type,niceTicks:Fr.niceTicks,xAxisId:0},vle=e=>{var t=ft(e,mle);return al.createElement(al.Fragment,null,al.createElement(fle,{allowDataOverflow:t.allowDataOverflow,allowDecimals:t.allowDecimals,allowDuplicatedCategory:t.allowDuplicatedCategory,angle:t.angle,dataKey:t.dataKey,domain:t.domain,height:t.height,hide:t.hide,id:t.xAxisId,includeHidden:t.includeHidden,interval:t.interval,minTickGap:t.minTickGap,mirror:t.mirror,name:t.name,orientation:t.orientation,padding:t.padding,reversed:t.reversed,scale:t.scale,tick:t.tick,tickCount:t.tickCount,tickFormatter:t.tickFormatter,ticks:t.ticks,type:t.type,unit:t.unit,niceTicks:t.niceTicks}),al.createElement(ple,t))},il=al.memo(vle,I1);il.displayName="XAxis";var ll=te(re()),ha=te(re());var gle=["type"],yle=["dangerouslySetInnerHTML","ticks","scale"],hle=["id","scale"];function B_(){return B_=Object.assign?Object.assign.bind():function(e){for(var t=1;t{if(i!=null)return g9(g9({},a),{},{type:i})},[i,a]);return(0,ha.useLayoutEffect)(()=>{l!=null&&(r.current===null?t(TB(l)):r.current!==l&&t(MB({prev:r.current,next:l})),r.current=l)},[l,t]),(0,ha.useLayoutEffect)(()=>()=>{r.current&&(t(PB(r.current)),r.current=null)},[t]),null}function kle(e){var t=e.yAxisId,r=e.className,n=e.width,o=e.label,a=(0,ha.useRef)(null),i=(0,ha.useRef)(null),l=Ae(Wd),s=It(),u=Xe(),c="yAxis",d=Ae(w=>PN(w,t)),f=Ae(w=>Fj(w,t)),p=Ae(w=>bb(w,c,t,s)),m=Ae(w=>uN(w,t));if((0,ha.useLayoutEffect)(()=>{if(!(n!=="auto"||!d||Gu(o)||(0,ha.isValidElement)(o)||m==null)){var w=a.current;if(w){var T=w.getCalculatedWidth();Math.round(d.width)!==Math.round(T)&&u(DB({id:t,width:T}))}}},[p,d,u,o,t,n,m]),d==null||f==null||m==null)return null;var g=e.dangerouslySetInnerHTML,h=e.ticks,v=e.scale,y=$_(e,yle),b=m.id,x=m.scale,S=$_(m,hle);return ll.createElement(Xv,B_({},y,S,{ref:a,labelRef:i,x:f.x,y:f.y,tickTextProps:n==="auto"?{width:void 0}:{width:n},width:d.width,height:d.height,className:He("recharts-".concat(c," ").concat(c),r),viewBox:l,ticks:p,axisType:c,axisId:t}))}var Cle={allowDataOverflow:Ur.allowDataOverflow,allowDecimals:Ur.allowDecimals,allowDuplicatedCategory:Ur.allowDuplicatedCategory,angle:Ur.angle,axisLine:ma.axisLine,hide:!1,includeHidden:Ur.includeHidden,interval:Ur.interval,label:!1,minTickGap:Ur.minTickGap,mirror:Ur.mirror,orientation:Ur.orientation,padding:Ur.padding,reversed:Ur.reversed,scale:Ur.scale,tick:Ur.tick,tickCount:Ur.tickCount,tickLine:ma.tickLine,tickSize:ma.tickSize,type:Ur.type,niceTicks:Ur.niceTicks,width:Ur.width,yAxisId:0},Nle=e=>{var t=ft(e,Cle);return ll.createElement(ll.Fragment,null,ll.createElement(Ale,{interval:t.interval,id:t.yAxisId,scale:t.scale,type:t.type,domain:t.domain,allowDataOverflow:t.allowDataOverflow,dataKey:t.dataKey,allowDuplicatedCategory:t.allowDuplicatedCategory,allowDecimals:t.allowDecimals,tickCount:t.tickCount,padding:t.padding,includeHidden:t.includeHidden,reversed:t.reversed,ticks:t.ticks,width:t.width,orientation:t.orientation,mirror:t.mirror,hide:t.hide,unit:t.unit,name:t.name,angle:t.angle,minTickGap:t.minTickGap,tick:t.tick,tickFormatter:t.tickFormatter,niceTicks:t.niceTicks}),ll.createElement(kle,t))},sl=ll.memo(Nle,I1);sl.displayName="YAxis";var H9=te(re()),V9=te(re());var lc=te(re()),W9=te(re());var M9=te(re()),P9=te(re());var _le=(e,t)=>t,Rv=J([_le,Qe,Nx,$r,WN,so,hz,Ht],kz);function Ele(e){return"getBBox"in e.currentTarget&&typeof e.currentTarget.getBBox=="function"}function eg(e){var t=e.currentTarget.getBoundingClientRect(),r,n;if(Ele(e)){var o=e.currentTarget.getBBox();r=o.width>0?t.width/o.width:1,n=o.height>0?t.height/o.height:1}else{var a=e.currentTarget;r=a.offsetWidth>0?t.width/a.offsetWidth:1,n=a.offsetHeight>0?t.height/a.offsetHeight:1}var i=(l,s)=>({relativeX:Math.round((l-t.left)/r),relativeY:Math.round((s-t.top)/n)});return"touches"in e?Array.from(e.touches).map(l=>i(l.clientX,l.clientY)):i(e.clientX,e.clientY)}var U_=Gr("mouseClick"),W_=Wi();W_.startListening({actionCreator:U_,effect:(e,t)=>{var r=e.payload,n=Rv(t.getState(),eg(r));n?.activeIndex!=null&&t.dispatch(Qj({activeIndex:n.activeIndex,activeDataKey:void 0,activeCoordinate:n.activeCoordinate}))}});var j1=Gr("mouseMove"),H_=Wi(),Hf=null,rc=null,F_=null;H_.startListening({actionCreator:j1,effect:(e,t)=>{var r=e.payload,n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i?.includes("mousemove");Hf!==null&&(cancelAnimationFrame(Hf),Hf=null),rc!==null&&(typeof a!="number"||!l)&&(clearTimeout(rc),rc=null),F_=eg(r);var s=()=>{var u=t.getState(),c=cs(u,u.tooltip.settings.shared);if(!F_){Hf=null,rc=null;return}if(c==="axis"){var d=Rv(u,F_);d?.activeIndex!=null?t.dispatch(kb({activeIndex:d.activeIndex,activeDataKey:void 0,activeCoordinate:d.activeCoordinate})):t.dispatch(Ab())}Hf=null,rc=null};if(!l){s();return}a==="raf"?Hf=requestAnimationFrame(s):typeof a=="number"&&rc===null&&(rc=setTimeout(s,a))}});function y9(e,t){return t instanceof HTMLElement?"HTMLElement <".concat(t.tagName,' class="').concat(t.className,'">'):t===window?"global.window":e==="children"&&typeof t=="object"&&t!==null?"<>":t}var h9={accessibilityLayer:!0,barCategoryGap:"10%",barGap:4,barSize:void 0,className:void 0,maxBarSize:void 0,stackOffset:"none",syncId:void 0,syncMethod:"index",baseValue:void 0,reverseStackOrder:!1},x9=Dt({name:"rootProps",initialState:h9,reducers:{updateOptions:(e,t)=>{var r;e.accessibilityLayer=t.payload.accessibilityLayer,e.barCategoryGap=t.payload.barCategoryGap,e.barGap=(r=t.payload.barGap)!==null&&r!==void 0?r:h9.barGap,e.barSize=t.payload.barSize,e.maxBarSize=t.payload.maxBarSize,e.stackOffset=t.payload.stackOffset,e.syncId=t.payload.syncId,e.syncMethod=t.payload.syncMethod,e.className=t.payload.className,e.baseValue=t.payload.baseValue,e.reverseStackOrder=t.payload.reverseStackOrder}}}),b9=x9.reducer,w9=x9.actions.updateOptions;var Ole=null,Tle={updatePolarOptions:(e,t)=>e===null?t.payload:(e.startAngle=t.payload.startAngle,e.endAngle=t.payload.endAngle,e.cx=t.payload.cx,e.cy=t.payload.cy,e.innerRadius=t.payload.innerRadius,e.outerRadius=t.payload.outerRadius,e)},S9=Dt({name:"polarOptions",initialState:Ole,reducers:Tle}),A9=S9.actions.updatePolarOptions;var k9=S9.reducer;var V_=Gr("keyDown"),K_=Gr("focus"),q_=Gr("blur"),tg=Wi(),Vf=null,nc=null,z1=null;tg.startListening({actionCreator:V_,effect:(e,t)=>{z1=e.payload,Vf!==null&&(cancelAnimationFrame(Vf),Vf=null);var r=t.getState(),n=r.eventSettings,o=n.throttleDelay,a=n.throttledEvents,i=a==="all"||a.includes("keydown");nc!==null&&(typeof o!="number"||!i)&&(clearTimeout(nc),nc=null);var l=()=>{try{var s=t.getState(),u=s.rootProps.accessibilityLayer!==!1;if(!u)return;var c=s.tooltip.keyboardInteraction,d=z1;if(d!=="ArrowRight"&&d!=="ArrowLeft"&&d!=="Enter")return;var f=ds(c,Qi(s),Gi(s),ps(s)),p=f==null?-1:Number(f),m=!Number.isFinite(p)||p<0,g=so(s),h=Qi(s),v=cs(s,s.tooltip.settings.shared);if(d==="Enter"){if(m)return;var y=Ov(s,v,"hover",String(c.index));t.dispatch(_v({active:!c.active,activeIndex:c.index,activeCoordinate:y}));return}var b=Uj(s),x=b==="left-to-right"?1:-1,S=d==="ArrowRight"?1:-1,w;if(m){var T=Gi(s),k=ps(s),A=S*x,M=Y=>({active:!1,index:String(Y),dataKey:void 0,graphicalItemId:void 0,coordinate:void 0});if(w=-1,A>0){for(var H=0;H=0;F--)if(ds(M(F),h,T,k)!=null){w=F;break}if(w<0)return}else{w=p+S*x;var X=g?.length||h.length;if(X===0||w>=X||w<0)return}var P=Ov(s,v,"hover",String(w));t.dispatch(_v({active:!0,activeIndex:w.toString(),activeCoordinate:P}))}finally{Vf=null,nc=null}};if(!i){l();return}o==="raf"?Vf=requestAnimationFrame(l):typeof o=="number"&&nc===null&&(l(),z1=null,nc=setTimeout(()=>{z1?l():(nc=null,Vf=null)},o))}});tg.startListening({actionCreator:K_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;if(!o.active&&o.index==null){var a="0",i=cs(r,r.tooltip.settings.shared),l=Ov(r,i,"hover",String(a));t.dispatch(_v({active:!0,activeIndex:a,activeCoordinate:l}))}}}});tg.startListening({actionCreator:q_,effect:(e,t)=>{var r=t.getState(),n=r.rootProps.accessibilityLayer!==!1;if(n){var o=r.tooltip.keyboardInteraction;o.active&&t.dispatch(_v({active:!1,activeIndex:o.index,activeCoordinate:o.coordinate}))}}});function L1(e){e.persist();var t=e.currentTarget;return new Proxy(e,{get:(r,n)=>{if(n==="currentTarget")return t;var o=Reflect.get(r,n);return typeof o=="function"?o.bind(r):o}})}var zo=Gr("externalEvent"),Y_=Wi(),B1=new Map,rg=new Map,G_=new Map;Y_.startListening({actionCreator:zo,effect:(e,t)=>{var r=e.payload,n=r.handler,o=r.reactEvent;if(n!=null){var a=o.type,i=L1(o);G_.set(a,{handler:n,reactEvent:i});var l=B1.get(a);l!==void 0&&(cancelAnimationFrame(l),B1.delete(a));var s=t.getState(),u=s.eventSettings,c=u.throttleDelay,d=u.throttledEvents,f=d,p=f==="all"||f?.includes(a),m=rg.get(a);m!==void 0&&(typeof c!="number"||!p)&&(clearTimeout(m),rg.delete(a));var g=()=>{var y=G_.get(a);try{if(!y)return;var b=y.handler,x=y.reactEvent,S=t.getState(),w={activeCoordinate:qN(S),activeDataKey:Sf(S),activeIndex:da(S),activeLabel:Mb(S),activeTooltipIndex:da(S),isTooltipActive:GN(S)};b&&b(w,x)}finally{B1.delete(a),rg.delete(a),G_.delete(a)}};if(!p){g();return}if(c==="raf"){var h=requestAnimationFrame(g);B1.set(a,h)}else if(typeof c=="number"){if(!rg.has(a)){g();var v=setTimeout(g,c);rg.set(a,v)}}else g()}}});var Mle=J([Zi],e=>e.tooltipItemPayloads),C9=J([Mle,(e,t)=>t,(e,t,r)=>r],(e,t,r)=>{if(t!=null){var n=e.find(a=>a.settings.graphicalItemId===r);if(n!=null){var o=n.getPosition;if(o!=null)return o(t)}}});var X_=Gr("touchMove"),Z_=Wi(),oc=null,Ns=null,N9=null,ng=null;Z_.startListening({actionCreator:X_,effect:(e,t)=>{var r=e.payload;if(!(r.touches==null||r.touches.length===0)){ng=L1(r);var n=t.getState(),o=n.eventSettings,a=o.throttleDelay,i=o.throttledEvents,l=i==="all"||i.includes("touchmove");oc!==null&&(cancelAnimationFrame(oc),oc=null),Ns!==null&&(typeof a!="number"||!l)&&(clearTimeout(Ns),Ns=null),N9=Array.from(r.touches).map(u=>eg({clientX:u.clientX,clientY:u.clientY,currentTarget:r.currentTarget}));var s=()=>{if(ng!=null){var u=t.getState(),c=cs(u,u.tooltip.settings.shared);if(c==="axis"){var d,f=(d=N9)===null||d===void 0?void 0:d[0];if(f==null){oc=null,Ns=null;return}var p=Rv(u,f);p?.activeIndex!=null&&t.dispatch(kb({activeIndex:p.activeIndex,activeDataKey:void 0,activeCoordinate:p.activeCoordinate}))}else if(c==="item"){var m,g=ng.touches[0];if(document.elementFromPoint==null||g==null)return;var h=document.elementFromPoint(g.clientX,g.clientY);if(!h||!h.getAttribute)return;var v=h.getAttribute($0),y=(m=h.getAttribute(F0))!==null&&m!==void 0?m:void 0,b=fs(u).find(w=>w.id===y);if(v==null||b==null||y==null)return;var x=b.dataKey,S=C9(u,v,y);t.dispatch(Sb({activeDataKey:x,activeIndex:v,activeCoordinate:S,activeGraphicalItemId:y}))}oc=null,Ns=null}};if(!l){s();return}a==="raf"?oc=requestAnimationFrame(s):typeof a=="number"&&Ns===null&&(s(),ng=null,Ns=setTimeout(()=>{ng?s():(Ns=null,oc=null)},a))}}});var og={throttleDelay:"raf",throttledEvents:["mousemove","touchmove","pointermove","scroll","wheel"]},_9=Dt({name:"eventSettings",initialState:og,reducers:{setEventSettings:(e,t)=>{t.payload.throttleDelay!=null&&(e.throttleDelay=t.payload.throttleDelay),t.payload.throttledEvents!=null&&(e.throttledEvents=st(t.payload.throttledEvents))}}}),E9=_9.actions.setEventSettings;var O9=_9.reducer;var Ple=p0({brush:QB,cartesianAxis:jB,chartData:Yz,errorBars:M7,eventSettings:O9,graphicalItems:bB,layout:HD,legend:v8,options:Hz,polarAxis:WL,polarOptions:k9,referenceElements:e7,renderedTicks:y7,rootProps:b9,tooltip:Jj,zIndex:Dz}),T9=function(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Chart";return CD({reducer:Ple,preloadedState:t,middleware:n=>{var o;return n({serializableCheck:!1,immutableCheck:!["commonjs","es6","production"].includes((o="es6")!==null&&o!==void 0?o:"")}).concat([W_.middleware,H_.middleware,tg.middleware,Y_.middleware,Z_.middleware])},enhancers:n=>{var o=n;return typeof n=="function"&&(o=n()),o.concat(Kk({type:"raf"}))},devTools:ia.devToolsEnabled&&{serialize:{replacer:y9},name:"recharts-".concat(r)}})};function $1(e){var t=e.preloadedState,r=e.children,n=e.reduxStoreName,o=It(),a=(0,P9.useRef)(null);if(o)return r;a.current==null&&(a.current=T9(t,n));var i=_m;return M9.createElement(A8,{context:i,store:a.current},r)}var F1=te(re());function Dle(e){var t=e.layout,r=e.margin,n=Xe(),o=It();return(0,F1.useEffect)(()=>{o||(n(FD(t)),n(Yk(r)))},[n,o,t,r]),null}var U1=(0,F1.memo)(Dle,ao);var D9=te(re());function W1(e){var t=Xe();return(0,D9.useEffect)(()=>{t(w9(e))},[t,e]),null}var H1=te(re());var Ile=e=>{var t=Xe();return(0,H1.useEffect)(()=>{t(E9(e))},[t,e]),null},V1=(0,H1.memo)(Ile,ao);var ul=te(re()),F9=te(re());var ic=te(re()),J_=te(re());var ac=te(re()),K1=te(re());function I9(e){var t=e.zIndex,r=e.isPanorama,n=(0,K1.useRef)(null),o=Xe();return(0,K1.useLayoutEffect)(()=>(n.current&&o(Mz({zIndex:t,element:n.current,isPanorama:r})),()=>{o(Pz({zIndex:t,isPanorama:r}))}),[o,t,r]),ac.createElement("g",{tabIndex:-1,ref:n,className:"recharts-zIndex-layer_".concat(t)})}function Q_(e){var t=e.children,r=e.isPanorama,n=Ae(Nz);if(!n||n.length===0)return t;var o=n.filter(i=>i<0),a=n.filter(i=>i>0);return ac.createElement(ac.Fragment,null,o.map(i=>ac.createElement(I9,{key:i,zIndex:i,isPanorama:r})),t,a.map(i=>ac.createElement(I9,{key:i,zIndex:i,isPanorama:r})))}var jle=["children"];function zle(e,t){if(e==null)return{};var r,n,o=Lle(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=Kd(),n=qd(),o=Q0();if(!ro(r)||!ro(n))return null;var a=e.children,i=e.otherAttributes,l=e.title,s=e.desc,u,c;return i!=null&&(typeof i.tabIndex=="number"?u=i.tabIndex:u=o?0:void 0,typeof i.role=="string"?c=i.role:c=o?"application":void 0),ic.createElement(xm,q1({},i,{title:l,desc:s,role:c,tabIndex:u,width:r,height:n,style:Ble,ref:t}),a)}),Fle=e=>{var t=e.children,r=Ae(yu);if(!r)return null;var n=r.width,o=r.height,a=r.y,i=r.x;return ic.createElement(xm,{width:n,height:o,x:i,y:a},t)},R_=(0,J_.forwardRef)((e,t)=>{var r=e.children,n=zle(e,jle),o=It();return o?ic.createElement(Fle,null,ic.createElement(Q_,{isPanorama:!0},r)):ic.createElement($le,q1({ref:t},n),ic.createElement(Q_,{isPanorama:!1},r))});var br=te(re()),bt=te(re());var G1=te(re());function Ule(e,t){return Kle(e)||Vle(e,t)||Hle(e,t)||Wle()}function Wle(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Hle(e,t){if(e){if(typeof e=="string")return j9(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?j9(e,t):void 0}}function j9(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r{if(n!=null){var i=n.getBoundingClientRect(),l=i.width/n.offsetWidth;qe(l)&&l!==a&&e(WD(l))}},[n,e,a]),o}function L9(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,n)}return r}function qle(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=Array(t);r(Zz(),null);function X1(e){if(typeof e=="number")return e;if(typeof e=="string"){var t=parseFloat(e);if(!Number.isNaN(t))return t}return 0}var tse=(0,bt.forwardRef)((e,t)=>{var r,n,o=(0,bt.useRef)(null),a=(0,bt.useState)({containerWidth:X1((r=e.style)===null||r===void 0?void 0:r.width),containerHeight:X1((n=e.style)===null||n===void 0?void 0:n.height)}),i=Y1(a,2),l=i[0],s=i[1],u=(0,bt.useCallback)((d,f)=>{s(p=>{var m=Math.round(d),g=Math.round(f);return p.containerWidth===m&&p.containerHeight===g?p:{containerWidth:m,containerHeight:g}})},[]),c=(0,bt.useCallback)(d=>{if(typeof t=="function"&&t(d),o.current!=null&&(o.current.disconnect(),o.current=null),d!=null&&typeof ResizeObserver<"u"){var f=d.getBoundingClientRect(),p=f.width,m=f.height;u(p,m);var g=v=>{var y=v[0];if(y!=null){var b=y.contentRect,x=b.width,S=b.height;u(x,S)}},h=new ResizeObserver(g);h.observe(d),o.current=h}},[t,u]);return(0,bt.useEffect)(()=>()=>{var d=o.current;d?.disconnect()},[u]),br.createElement(br.Fragment,null,br.createElement(bu,{width:l.containerWidth,height:l.containerHeight}),br.createElement("div",_s({ref:c},e)))}),rse=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height,o=(0,bt.useState)({containerWidth:X1(r),containerHeight:X1(n)}),a=Y1(o,2),i=a[0],l=a[1],s=(0,bt.useCallback)((c,d)=>{l(f=>{var p=Math.round(c),m=Math.round(d);return f.containerWidth===p&&f.containerHeight===m?f:{containerWidth:p,containerHeight:m}})},[]),u=(0,bt.useCallback)(c=>{if(typeof t=="function"&&t(c),c!=null){var d=c.getBoundingClientRect(),f=d.width,p=d.height;s(f,p)}},[t,s]);return br.createElement(br.Fragment,null,br.createElement(bu,{width:i.containerWidth,height:i.containerHeight}),br.createElement("div",_s({ref:u},e)))}),nse=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return br.createElement(br.Fragment,null,br.createElement(bu,{width:r,height:n}),br.createElement("div",_s({ref:t},e)))}),ose=(0,bt.forwardRef)((e,t)=>{var r=e.width,n=e.height;return typeof r=="string"||typeof n=="string"?br.createElement(rse,_s({},e,{ref:t})):typeof r=="number"&&typeof n=="number"?br.createElement(nse,_s({},e,{width:r,height:n,ref:t})):br.createElement(br.Fragment,null,br.createElement(bu,{width:r,height:n}),br.createElement("div",_s({ref:t},e)))});function ase(e){return e?tse:ose}var $9=(0,bt.forwardRef)((e,t)=>{var r=e.children,n=e.className,o=e.height,a=e.onClick,i=e.onContextMenu,l=e.onDoubleClick,s=e.onMouseDown,u=e.onMouseEnter,c=e.onMouseLeave,d=e.onMouseMove,f=e.onMouseUp,p=e.onTouchEnd,m=e.onTouchMove,g=e.onTouchStart,h=e.style,v=e.width,y=e.responsive,b=e.dispatchTouchEvents,x=b===void 0?!0:b,S=(0,bt.useRef)(null),w=Xe(),T=(0,bt.useState)(null),k=Y1(T,2),A=k[0],M=k[1],H=(0,bt.useState)(null),F=Y1(H,2),X=F[0],P=F[1],Y=z9(),C=Lm(),_=C?.width>0?C.width:v,z=C?.height>0?C.height:o,D=(0,bt.useCallback)(Z=>{Y(Z),typeof t=="function"&&t(Z),M(Z),P(Z),Z!=null&&(S.current=Z)},[Y,t,M,P]),E=(0,bt.useCallback)(Z=>{w(U_(Z)),w(zo({handler:a,reactEvent:Z}))},[w,a]),j=(0,bt.useCallback)(Z=>{w(j1(Z)),w(zo({handler:u,reactEvent:Z}))},[w,u]),R=(0,bt.useCallback)(Z=>{w(Ab()),w(zo({handler:c,reactEvent:Z}))},[w,c]),U=(0,bt.useCallback)(Z=>{w(j1(Z)),w(zo({handler:d,reactEvent:Z}))},[w,d]),L=(0,bt.useCallback)(()=>{w(K_())},[w]),K=(0,bt.useCallback)(()=>{w(q_())},[w]),ae=(0,bt.useCallback)(Z=>{w(V_(Z.key))},[w]),de=(0,bt.useCallback)(Z=>{w(zo({handler:i,reactEvent:Z}))},[w,i]),ze=(0,bt.useCallback)(Z=>{w(zo({handler:l,reactEvent:Z}))},[w,l]),oe=(0,bt.useCallback)(Z=>{w(zo({handler:s,reactEvent:Z}))},[w,s]),Ee=(0,bt.useCallback)(Z=>{w(zo({handler:f,reactEvent:Z}))},[w,f]),V=(0,bt.useCallback)(Z=>{w(zo({handler:g,reactEvent:Z}))},[w,g]),I=(0,bt.useCallback)(Z=>{x&&w(X_(Z)),w(zo({handler:m,reactEvent:Z}))},[w,x,m]),N=(0,bt.useCallback)(Z=>{w(zo({handler:p,reactEvent:Z}))},[w,p]),O=ase(y);return br.createElement(t_.Provider,{value:A},br.createElement(WA.Provider,{value:X},br.createElement(O,{width:_??h?.width,height:z??h?.height,className:He("recharts-wrapper",n),style:qle({position:"relative",cursor:"default",width:_,height:z},h),onClick:E,onContextMenu:de,onDoubleClick:ze,onFocus:L,onBlur:K,onKeyDown:ae,onMouseDown:oe,onMouseEnter:j,onMouseLeave:R,onMouseMove:U,onMouseUp:Ee,onTouchEnd:N,onTouchMove:I,onTouchStart:V,ref:D},br.createElement(ese,null),r)))});var ise=["width","height","responsive","children","className","style","compact","title","desc"];function lse(e,t){if(e==null)return{};var r,n,o=sse(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n{var r=e.width,n=e.height,o=e.responsive,a=e.children,i=e.className,l=e.style,s=e.compact,u=e.title,c=e.desc,d=lse(e,ise),f=cr(d);return s?ul.createElement(ul.Fragment,null,ul.createElement(bu,{width:r,height:n}),ul.createElement(R_,{otherAttributes:f,title:u,desc:c},a)):ul.createElement($9,{className:i,style:l,width:r,height:n,responsive:o??!1,onClick:e.onClick,onMouseLeave:e.onMouseLeave,onMouseEnter:e.onMouseEnter,onMouseMove:e.onMouseMove,onMouseDown:e.onMouseDown,onMouseUp:e.onMouseUp,onContextMenu:e.onContextMenu,onDoubleClick:e.onDoubleClick,onTouchStart:e.onTouchStart,onTouchMove:e.onTouchMove,onTouchEnd:e.onTouchEnd},ul.createElement(R_,{otherAttributes:f,title:u,desc:c,ref:t},ul.createElement(r7,null,a)))});function eE(){return eE=Object.assign?Object.assign.bind():function(e){for(var t=1;tH9.createElement(Kf,{chartName:"LineChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:vse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var K9=te(re()),q9=te(re());var gse=["axis","item"],rE=(0,q9.forwardRef)((e,t)=>K9.createElement(Kf,{chartName:"BarChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:gse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var e$=te(re()),t$=te(re());var Z9=te(re()),Es=te(re());var G9=te(re());function Y9(e){var t=Xe();return(0,G9.useEffect)(()=>{t(A9(e))},[t,e]),null}var yse=["layout"];function nE(){return nE=Object.assign?Object.assign.bind():function(e){for(var t=1;t{var r=ft(e,Ose);return e$.createElement(Q9,{chartName:"PieChart",defaultTooltipEventType:"item",validateTooltipEventTypes:Ese,tooltipPayloadSearcher:ms,categoricalChartProps:r,ref:t})});var r$=te(re()),n$=te(re());var Tse=["axis"],Os=(0,n$.forwardRef)((e,t)=>r$.createElement(Kf,{chartName:"AreaChart",defaultTooltipEventType:"axis",validateTooltipEventTypes:Tse,tooltipPayloadSearcher:ms,categoricalChartProps:e,ref:t}));var xa=te(re()),qf=[{id:"5m",label:"5m",minutes:5,bucketSeconds:10},{id:"10m",label:"10m",minutes:10,bucketSeconds:20},{id:"15m",label:"15m",minutes:15,bucketSeconds:30},{id:"30m",label:"30m",minutes:30,bucketSeconds:60},{id:"45m",label:"45m",minutes:45,bucketSeconds:60},{id:"1h",label:"1h",minutes:60,bucketSeconds:120},{id:"2h",label:"2h",minutes:120,bucketSeconds:240},{id:"3h",label:"3h",minutes:180,bucketSeconds:300},{id:"6h",label:"6h",minutes:360,bucketSeconds:600},{id:"12h",label:"12h",minutes:720,bucketSeconds:1200},{id:"1d",label:"1d",minutes:1440,bucketSeconds:1800},{id:"3d",label:"3d",minutes:4320,bucketSeconds:7200},{id:"7d",label:"7d",minutes:10080,bucketSeconds:14400},{id:"30d",label:"30d",minutes:43200,bucketSeconds:86400},{id:"90d",label:"90d",minutes:129600,bucketSeconds:259200}],o$="30m",a$="activeagents.timeWindow",i$=(0,xa.createContext)(null),iE=e=>qf.find(t=>t.id===e);function l$({children:e}){let[t,r]=(0,xa.useState)(()=>{try{let a=localStorage.getItem(a$);if(a&&iE(a))return a}catch{}return o$}),n=(0,xa.useCallback)(a=>{if(iE(a)){r(a);try{localStorage.setItem(a$,a)}catch{}}},[]),o=(0,xa.useMemo)(()=>{let a=qf.findIndex(l=>l.id===t),i=qf[a]||iE(o$);return{timeWindow:i,windowIndex:a,windows:qf,setWindow:n,zoomTo:l=>{let s=qf[Math.min(Math.max(l,0),qf.length-1)];s&&n(s.id)},days:Math.max(1,Math.ceil(i.minutes/1440))}},[t,n]);return xa.default.createElement(i$.Provider,{value:o},e)}function si(){let e=(0,xa.useContext)(i$);if(!e)throw new Error("useTimeWindow must be used within a TimeWindowProvider");return e}var Gf=te(re());function ui({compact:e=!1}){let{windows:t,windowIndex:r,timeWindow:n,setWindow:o,zoomTo:a}=si(),{darkMode:i}=Nt(),l=Ro(i),s={color:l.textSecondary};return Gf.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:l.mutedBg}},Gf.default.createElement("button",{onClick:()=>a(r-1),disabled:r<=0,title:"Zoom in (shorter window)","aria-label":"Zoom in",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"\u2212"),Gf.default.createElement("select",{value:n.id,onChange:u=>o(u.target.value),"aria-label":"Time window",className:`aa-field px-2 py-1 mx-1 text-sm rounded-md shadow ${e?"":"min-w-[4.5rem]"}`,style:{background:l.cardBg,color:l.textPrimary,border:`1px solid ${l.cardBorder}`}},t.map(u=>Gf.default.createElement("option",{key:u.id,value:u.id},u.label))),Gf.default.createElement("button",{onClick:()=>a(r+1),disabled:r>=t.length-1,title:"Zoom out (longer window)","aria-label":"Zoom out",className:"aa-zoom px-2 py-1 text-sm rounded-md disabled:opacity-30 disabled:cursor-not-allowed",style:s},"+"))}var kr=te(re());var Jt=te(re());var ag=e=>{let t=(e||"").toLowerCase();return t.includes("claude")?2e5:t.includes("gemini")?1e6:t.includes("llama")?131072:t.includes("gpt-4o")||t.includes("gpt-4-turbo")||t.includes("gpt-4.1")?128e3:t.includes("gpt-5")?4e5:128e3},Ts=e=>{if(e==null)return 0;let t=typeof e=="string"?e:JSON.stringify(e);return Math.round(t.length/4)},Q1=e=>{let t=e?.spans||[],r=null;for(let m of t){let g=m.tokens||{},h=(g.input||0)+(g.output||0);h>0&&(!r||h>r.total)&&(r={input:g.input||0,output:g.output||0,thinking:g.thinking||0,cached:g.cached||0,total:h})}if(!r)return null;let n=m=>{for(let g of t){let h=(g.attributes||{})[m];if(h)return h}return null},o=(m,...g)=>{let h=Number(n(m));if(Number.isFinite(h)&&h>0)return h;for(let v of g){let y=n(v);if(y)return Ts(y)}return 0},a=o("prompt.input.instructions.tokens","prompt.input.instructions","llm.instructions"),i=o("prompt.input.tools.tokens","prompt.input.tools","llm.tools"),l=o("prompt.input.mcp_tools.tokens","prompt.input.mcp_tools"),s=o("prompt.input.messages.tokens","prompt.input.messages","llm.messages"),u=0;for(let m of t){let g=m.attributes||{},h=g["tool.output.result"]||g["tool.result"],v=g["tool.input.args"]||g["tool.arguments"];h&&(u+=Ts(h)),v&&(u+=Ts(v))}u=Math.min(u,r.input);let c=["messages","toolResults","instructions","toolSchemas","mcpSchemas"],d={messages:s,toolResults:u,instructions:a,toolSchemas:i,mcpSchemas:l},f=c.reduce((m,g)=>m+d[g],0),p;if(f>0&&r.input>0){let m=r.input/f;p={};for(let h of c)p[h]=Math.round(d[h]*m);let g=r.input-c.reduce((h,v)=>h+p[v],0);if(g!==0){let h=c.reduce((v,y)=>p[y]>p[v]?y:v);p[h]=Math.max(p[h]+g,0)}}else p={messages:r.input,toolResults:0,instructions:0,toolSchemas:0,mcpSchemas:0};return{used:r.total,limit:ag(e.model),cached:r.cached,thinking:r.thinking,estimated:f>0,segments:[{key:"messages",label:"Messages",tokens:p.messages},{key:"tool_results",label:"Tool results",tokens:p.toolResults},{key:"instructions",label:"Instructions",tokens:p.instructions},{key:"tool_schemas",label:"Tool schemas",tokens:p.toolSchemas},{key:"mcp_schemas",label:"MCP tool schemas",tokens:p.mcpSchemas},{key:"output",label:"Generated output",tokens:r.output}]}};var Mse={messages:"#2563eb",tool_results:"#5b84ec",instructions:"#85a3f0",tool_schemas:"#a6bcf4",mcp_schemas:"#c3d2f8",memory:"#dce4fb",output:"#7c3aed"},Yf=e=>e==null?"\u2014":e>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:e>=1e3?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}k`:String(Math.round(e));function Ms({used:e,limit:t=2e5,segments:r=[],cached:n=0,thinking:o=0,compact:a=!1,defaultOpen:i=!1,label:l="Context window",estimated:s=!1,darkMode:u=!1}){let[c,d]=(0,Jt.useState)(i),f=r.filter(T=>T.tokens>0),p=e??f.reduce((T,k)=>T+k.tokens,0),m=t>0?p/t:0,g=m>=.9?"#dc2626":m>=.75?"#eab308":null,h=u?"rgba(255,255,255,0.4)":"#9ca3af",v=u?"rgba(255,255,255,0.6)":"#6b7280",y=u?"rgba(255,255,255,0.75)":"#4b5563",b=u?"rgba(255,255,255,0.1)":"#f3f4f6",x=`${Yf(p)} / ${Yf(t)} (${Math.round(m*100)}%)`,S=T=>T.key==="messages"&&g?g:T.color||Mse[T.key]||"#2563eb",w=T=>Jt.default.createElement("div",{style:{display:"flex",height:T,borderRadius:"999px",overflow:"hidden",background:b,flex:1}},f.map(k=>Jt.default.createElement("div",{key:k.key,title:`${k.label} \xB7 ${Yf(k.tokens)}`,style:{width:`${Math.min(k.tokens/t*100,100)}%`,background:S(k)}})));return a?Jt.default.createElement("span",{title:`${l}: ${x}`,style:{display:"inline-flex",alignItems:"center",gap:"6px",width:"132px",verticalAlign:"middle"}},w("6px"),Jt.default.createElement("span",{style:{fontSize:"11px",fontFamily:"'SF Mono', 'Fira Code', monospace",color:g||h,whiteSpace:"nowrap"}},Math.round(m*100),"%")):Jt.default.createElement("div",{style:{background:u?"rgba(255,255,255,0.03)":"#ffffff",border:`1px solid ${g?g+"66":u?"rgba(255,255,255,0.1)":"#e5e7eb"}`,borderRadius:"12px",padding:"12px 14px"}},Jt.default.createElement("div",{onClick:T=>{T.stopPropagation(),d(!c)},style:{display:"flex",alignItems:"center",justifyContent:"space-between",cursor:"pointer"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:v}},l,s&&Jt.default.createElement("span",{style:{color:h,fontWeight:400}}," \xB7 estimated")),Jt.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",fontWeight:600,color:g||y}},x),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h,display:"inline-block",transform:c?"rotate(90deg)":"none",transition:"transform 0.15s ease"}},">"))),Jt.default.createElement("div",{style:{display:"flex",marginTop:"8px"}},w("9px")),m>=.9&&Jt.default.createElement("div",{style:{marginTop:"6px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:"#dc2626"}},"[!] compaction imminent \u2014 next turn may drop the oldest messages"),c&&Jt.default.createElement("div",{style:{marginTop:"10px",display:"grid",gap:"5px"}},[...f,{key:"__free",label:"Free space",tokens:Math.max(t-p,0)}].map(T=>Jt.default.createElement("div",{key:T.key,style:{display:"flex",alignItems:"center",gap:"8px"}},Jt.default.createElement("span",{style:{width:"9px",height:"9px",borderRadius:"2px",flexShrink:0,background:T.key==="__free"?b:S(T),border:T.key==="__free"?`1px solid ${u?"rgba(255,255,255,0.25)":"#d1d5db"}`:"none"}}),Jt.default.createElement("span",{style:{fontSize:"13px",color:y,flex:1}},T.label),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:v,width:"56px",textAlign:"right"}},Yf(T.tokens)),Jt.default.createElement("span",{style:{fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"12px",color:h,width:"46px",textAlign:"right"}},t>0?`${(T.tokens/t*100).toFixed(1)}%`:"\u2014"))),(n>0||o>0)&&Jt.default.createElement("div",{style:{marginTop:"4px",paddingTop:"6px",borderTop:`1px solid ${u?"rgba(255,255,255,0.08)":"#f3f4f6"}`,display:"flex",gap:"16px",fontFamily:"'SF Mono', 'Fira Code', monospace",fontSize:"11px",color:h}},n>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#2563eb"}},"[=]")," cached prefix ",Yf(n)),o>0&&Jt.default.createElement("span",null,Jt.default.createElement("span",{style:{color:"#7c3aed"}},"[~]")," thinking ",Yf(o)))))}var Ke=te(re());var ke=te(re());var Mr=te(re());var se=te(re());var s$=["ui","json-ui","genui"],sc="render_ui",Ba=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),lE=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return}};function uc(e){let t=typeof e=="string"?lE(e):e;if(Array.isArray(t))return t.every(Ba)?t:null;if(Ba(t)){if(Array.isArray(t.blocks))return t.blocks.every(Ba)?t.blocks:null;if(Array.isArray(t.ui))return t.ui.every(Ba)?t.ui:null}return null}function sE(e,t){let r=String(e||"").trim().toLowerCase();if(s$.includes(r))return uc(t);if(r==="json"){let n=lE(t);return Ba(n)&&Array.isArray(n.ui)?uc(n):null}return null}function uE(e){if(typeof e!="string")return null;let t=e.trim(),r=t.startsWith("{")&&t.endsWith("}"),n=t.startsWith("[")&&t.endsWith("]");if(!r&&!n)return null;let o=lE(t);if(o==null||typeof o!="object")return null;if(Array.isArray(o))return o.length>0&&o.every(l=>Ba(l)&&typeof l.type=="string")?{blocks:o}:{object:o};let a=uc(o);return a?{blocks:a}:{object:o}}var Pse=e=>Ba(e)?e.function?.name||e.name:void 0,Dse=e=>Ba(e)?e.function?.arguments??e.arguments??e.input:void 0;function Xf(e,{callId:t}={}){if(!Ba(e))return null;if(e.tool_name===sc&&e.tool_arguments!=null){let o=uc(e.tool_arguments);if(o)return o}let r=e.tool_calls,n=[];if(Array.isArray(r)){let o=r.some(a=>Ba(a)&&a.id!=null);r.forEach(a=>{if(Pse(a)!==sc||t!=null&&o&&a.id!==t)return;let i=uc(Dse(a));i&&n.push(...i)})}else if(Ba(r)&&e.tool_name===sc){let o=uc(r);o&&n.push(...o)}return n.length>0?n:null}function J1(e){return typeof e=="string"&&/^(https?:\/\/|data:image\/)/i.test(e.trim())}function R1(e){if(typeof e!="string")return!1;let t=e.trim();if(/^data:image\//i.test(t))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}function u$(e){try{return new URL(String(e).trim()).host}catch{return""}}var v$=["#2a78d6","#eb6834","#1baf7a","#eda100","#e87ba4","#008300","#4a3aa7","#e34948"],Ise=["#3987e5","#d95926","#199e70","#c98500","#d55181","#008300","#9085e9","#e66767"],ig=v$.length,c$=220,Zf=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),dt=e=>e==null?"":typeof e=="object"?JSON.stringify(e):String(e),g$=e=>{if(typeof e!="number"||!Number.isFinite(e))return dt(e);let t=Math.abs(e);return t>=1e9?`${(e/1e9).toFixed(1).replace(/\.0$/,"")}B`:t>=1e6?`${(e/1e6).toFixed(1).replace(/\.0$/,"")}M`:t>=1e4?`${(e/1e3).toFixed(1).replace(/\.0$/,"")}K`:e.toLocaleString()},pE=(e,t)=>typeof t=="string"&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,d$={info:{light:["#eff6ff","#1d4ed8"],dark:["rgba(59,130,246,0.15)","#93c5fd"]},success:{light:["#f0fdf4","#15803d"],dark:["rgba(34,197,94,0.15)","#86efac"]},warning:{light:["#fffbeb","#b45309"],dark:["rgba(245,158,11,0.15)","#fcd34d"]},danger:{light:["#fef2f2","#b91c1c"],dark:["rgba(239,68,68,0.15)","#fca5a5"]}},jse={positive:{light:"#15803d",dark:"#4ade80"},negative:{light:"#b91c1c",dark:"#f87171"}},cE=e=>({width:"100%",padding:"6px 10px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),mE=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0,whiteSpace:"pre-wrap"}),Qf=e=>({fontSize:"13px",fontWeight:600,color:e.textPrimary,margin:0});function cl({block:e,reason:t,colors:r,darkMode:n}){return se.default.createElement("div",{className:"text-xs",style:{color:r.textMuted}},se.default.createElement("div",{className:"mb-1"},"Unsupported block",e&&e.type?` \u201C${dt(e.type)}\u201D`:"",t?` \u2014 ${t}`:""),se.default.createElement("pre",{style:{...mE(n),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2)))}function zse({block:e,colors:t,darkMode:r,onAction:n}){let o=J1(e.image_url)&&R1(e.image_url)?e.image_url.trim():null;return se.default.createElement("div",{className:"overflow-hidden",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg}},o&&se.default.createElement("img",{src:o,alt:dt(e.title),style:{width:"100%",maxHeight:"220px",objectFit:"cover",display:"block"}}),se.default.createElement("div",{className:"p-3 space-y-1.5"},e.title!=null&&se.default.createElement("div",{style:Qf(t)},dt(e.title)),e.body!=null&&se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})),e.footer!=null&&se.default.createElement("div",{className:"text-xs pt-1",style:{color:t.textMuted,borderTop:`1px solid ${t.cardBorder}`}},dt(e.footer))))}function y$({block:e,colors:t,darkMode:r}){let n=e.delta!=null?dt(e.delta):null,o=e.tone||(n&&n.trim().startsWith("-")?"negative":n?"positive":"neutral"),a=pE(jse,o),i=a?a[r?"dark":"light"]:t.textMuted,l=typeof e.value=="number"?g$(e.value):dt(e.value);return se.default.createElement("div",{style:{background:t.innerBg,border:`1px solid ${t.cardBorder}`,borderRadius:"10px",padding:"10px 12px"}},se.default.createElement("div",{className:"text-xs",style:{color:t.textMuted}},dt(e.label)),se.default.createElement("div",{className:"text-lg font-semibold leading-tight mt-0.5",style:{color:t.textPrimary}},l),n&&se.default.createElement("div",{className:"text-xs mt-0.5 font-medium",style:{color:i}},n))}function Lse({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.items)?e.items.filter(Zf):[];return n.length===0?se.default.createElement(cl,{block:e,reason:"stats needs an items array",colors:t,darkMode:r}):se.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(140px, 1fr))",gap:"8px"}},n.map((o,a)=>se.default.createElement(y$,{key:a,block:o,colors:t,darkMode:r})))}var fE=(e,t)=>({padding:"6px 10px",borderBottom:`1px solid ${e.cardBorder}`,color:e.textCell,textAlign:t?"right":"left",fontVariantNumeric:t?"tabular-nums":void 0,verticalAlign:"top"}),Bse=e=>({padding:"6px 10px",borderBottom:`1px solid ${e.borderStrong}`,color:e.textSecondary,fontSize:"11px",fontWeight:600,textAlign:"left",fontFamily:Ve.mono,textTransform:"uppercase",letterSpacing:"0.04em",whiteSpace:"nowrap"});function h$({columns:e,rows:t,colors:r,renderCell:n}){return se.default.createElement("div",{style:{overflowX:"auto"}},se.default.createElement("table",{className:"text-sm",style:{width:"100%",borderCollapse:"collapse"}},se.default.createElement("thead",null,se.default.createElement("tr",null,e.map((o,a)=>se.default.createElement("th",{key:a,style:Bse(r)},dt(o))))),se.default.createElement("tbody",null,t.map((o,a)=>se.default.createElement("tr",{key:a},e.map((i,l)=>{let s=o[l];return se.default.createElement("td",{key:l,style:fE(r,typeof s=="number")},n?n(s):typeof s=="number"?s.toLocaleString():dt(s))}))))))}function $se({block:e,colors:t,darkMode:r}){let n=Array.isArray(e.columns)?e.columns:null,o=Array.isArray(e.rows)?e.rows:null;if(!n||!o)return se.default.createElement(cl,{block:e,reason:"table needs columns and rows arrays",colors:t,darkMode:r});let a=o.map(i=>Array.isArray(i)?i:Zf(i)?n.map(l=>i[l]):[i]);return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1.5",style:Qf(t)},dt(e.title)),se.default.createElement(h$,{columns:n,rows:a,colors:t}))}var Fse=e=>{let t=e[0];return Object.keys(t).find(r=>typeof t[r]=="string")||Object.keys(t)[0]},Use=(e,t)=>Object.keys(e[0]).filter(r=>r!==t&&typeof e[0][r]=="number");function Wse({block:e,colors:t,darkMode:r}){let n=String(e.chart||e.kind||"bar").toLowerCase(),o=Array.isArray(e.data)?e.data.filter(Zf):[];if(o.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs a data array of objects",colors:t,darkMode:r});let a=typeof e.x=="string"?e.x:Fse(o),i=Array.isArray(e.series)?e.series.filter(h=>typeof h=="string"):[],l=(i.length>0?i:Use(o,a)).slice(0,ig);if(!a||l.length===0)return se.default.createElement(cl,{block:e,reason:"chart needs an x key and at least one series",colors:t,darkMode:r});let s=r?Ise:v$,u=t.cardBg,c={fontSize:10,fill:t.textMuted},d=se.default.createElement(vs,{contentStyle:{background:u,border:`1px solid ${t.cardBorder}`,borderRadius:"8px",fontSize:"12px"},labelStyle:{color:t.textPrimary,fontWeight:600,marginBottom:"4px"},itemStyle:{color:t.textCell},formatter:h=>typeof h=="number"?h.toLocaleString():dt(h)}),f=l.length>1||n==="pie"?se.default.createElement(Y0,{wrapperStyle:{fontSize:"11px",color:t.textSecondary},iconSize:10}):null,p=se.default.createElement(se.default.Fragment,null,se.default.createElement(rl,{stroke:t.cardBorder,vertical:!1}),se.default.createElement(il,{dataKey:a,stroke:t.borderStrong,tick:c,tickLine:!1}),se.default.createElement(sl,{stroke:t.borderStrong,tick:c,tickLine:!1,axisLine:!1,tickFormatter:g$,width:44})),m={top:8,right:12,bottom:0,left:0},g;if(n==="line")g=se.default.createElement(tE,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(_1,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,dot:{r:4,strokeWidth:2,stroke:u,fill:s[v]},activeDot:{r:5,strokeWidth:2,stroke:u},isAnimationActive:!1})));else if(n==="area")g=se.default.createElement(Os,{data:o,margin:m},p,d,f,l.map((h,v)=>se.default.createElement(ol,{key:h,type:"monotone",dataKey:h,stroke:s[v],strokeWidth:2,fill:s[v],fillOpacity:.12,dot:{r:3,strokeWidth:2,stroke:u,fill:s[v]},isAnimationActive:!1})));else if(n==="pie"){let h=l[0],v=[...o].sort((x,S)=>(Number(S[h])||0)-(Number(x[h])||0)),y=v.slice(0,ig),b=v.slice(ig);b.length>0&&(y[ig-1]={[a]:"Other",[h]:b.reduce((x,S)=>x+(Number(S[h])||0),Number(y[ig-1][h])||0)}),g=se.default.createElement(aE,{margin:m},d,f,se.default.createElement(p1,{data:y,dataKey:h,nameKey:a,innerRadius:44,outerRadius:80,paddingAngle:2,stroke:u,strokeWidth:2,isAnimationActive:!1},y.map((x,S)=>se.default.createElement(Ji,{key:S,fill:s[S]}))))}else g=se.default.createElement(rE,{data:o,margin:m,barCategoryGap:"25%",barGap:2},p,d,f,l.map((h,v)=>se.default.createElement(D1,{key:h,dataKey:h,fill:s[v],radius:[4,4,0,0],maxBarSize:24,isAnimationActive:!1})));return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Qf(t)},dt(e.title)),se.default.createElement("div",{style:{width:"100%",height:c$,minWidth:0}},se.default.createElement(Jl,{width:"100%",height:c$},g)))}function Hse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.items)?e.items:null;if(!o)return se.default.createElement(cl,{block:e,reason:"list needs an items array",colors:t,darkMode:r});let a=e.ordered?"ol":"ul";return se.default.createElement("div",null,e.title!=null&&se.default.createElement("div",{className:"mb-1",style:Qf(t)},dt(e.title)),se.default.createElement(a,{className:`${e.ordered?"list-decimal":"list-disc"} pl-5 text-sm space-y-0.5`,style:{color:t.textCell}},o.map((i,l)=>se.default.createElement("li",{key:l},typeof i=="string"?se.default.createElement($a,{text:i,darkMode:r,onUiAction:n}):dt(i)))))}function Vse({block:e,colors:t}){let r=Number(e.value),n=Number.isFinite(r)?Math.max(0,Math.min(100,r)):0;return se.default.createElement("div",null,se.default.createElement("div",{className:"flex items-center justify-between text-xs mb-1"},se.default.createElement("span",{style:{color:t.textCell}},dt(e.label)),se.default.createElement("span",{className:"font-mono",style:{color:t.textMuted}},Math.round(n),"%")),se.default.createElement("div",{style:{height:"8px",borderRadius:"999px",background:t.trackBg,overflow:"hidden"}},se.default.createElement("div",{style:{width:`${n}%`,height:"100%",background:bn,borderRadius:"999px",transition:"width 0.3s ease"}})))}var Kse=["text","textarea","number","select","checkbox"],dE=e=>dt(e.name||e.label),f$=e=>dt(e.label||e.name),p$=e=>Kse.includes(e.type)?e.type:"text";function qse({block:e,colors:t,darkMode:r,onAction:n}){let o=(Array.isArray(e.fields)?e.fields:[]).filter(f=>Zf(f)&&(f.name||f.label)),[a,i]=(0,se.useState)(()=>Object.fromEntries(o.map(f=>[dE(f),p$(f)==="checkbox"?!1:""]))),[l,s]=(0,se.useState)(!1);if(o.length===0)return se.default.createElement(cl,{block:e,reason:"form needs fields",colors:t,darkMode:r});let u=e.submit!=null?dt(e.submit):"Submit",c=(f,p)=>i(m=>({...m,[f]:p}));return se.default.createElement("form",{onSubmit:f=>{f.preventDefault();let p=o.map(m=>{let g=a[dE(m)];return`${f$(m)}: ${typeof g=="boolean"?g?"yes":"no":dt(g)}`}).join("; ");s(!0),n&&n({kind:"form",text:`${e.submit!=null?dt(e.submit):"Submitted"}: ${p}`,values:{...a}})},className:"space-y-2.5",style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",background:t.innerBg,padding:"12px"}},e.title!=null&&se.default.createElement("div",{style:Qf(t)},dt(e.title)),o.map(f=>{let p=dE(f),m=p$(f),g=f$(f),h=`genui-field-${p.replace(/\W+/g,"-")}`;return m==="checkbox"?se.default.createElement("label",{key:p,className:"flex items-center gap-2 text-sm",style:{color:t.textCell}},se.default.createElement("input",{type:"checkbox",checked:!!a[p],onChange:v=>c(p,v.target.checked),style:{accentColor:bn}}),g):se.default.createElement("div",{key:p},se.default.createElement("label",{htmlFor:h,className:"block text-xs mb-1",style:{color:t.textSecondary}},g,f.required?" *":""),m==="textarea"?se.default.createElement("textarea",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,rows:3,className:"aa-field",style:{...cE(t),resize:"vertical"}}):m==="select"?se.default.createElement("select",{id:h,name:p,value:a[p],onChange:v=>c(p,v.target.value),required:!!f.required,className:"aa-field",style:cE(t)},se.default.createElement("option",{value:""},f.placeholder!=null?dt(f.placeholder):"Select\u2026"),(Array.isArray(f.options)?f.options:[]).map((v,y)=>se.default.createElement("option",{key:y,value:dt(v)},dt(v)))):se.default.createElement("input",{id:h,name:p,type:m==="number"?"number":"text",value:a[p],onChange:v=>c(p,m==="number"&&v.target.value!==""?Number(v.target.value):v.target.value),placeholder:f.placeholder!=null?dt(f.placeholder):void 0,required:!!f.required,className:"aa-field",style:cE(t)}))}),se.default.createElement("div",{className:"flex items-center gap-3 pt-1"},se.default.createElement("button",{type:"submit","data-testid":"genui-form-submit",style:{padding:"6px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,background:bn,color:"#ffffff",border:"1px solid transparent",cursor:"pointer"}},u),l&&se.default.createElement("span",{className:"text-xs",style:{color:t.textMuted}},"Sent to the agent")))}function Gse({block:e,colors:t,darkMode:r,onAction:n}){let o=Array.isArray(e.options)?e.options:null,[a,i]=(0,se.useState)(null);return!o||o.length===0?se.default.createElement(cl,{block:e,reason:"choices needs options",colors:t,darkMode:r}):se.default.createElement("div",null,e.prompt!=null&&se.default.createElement("div",{className:"text-sm mb-1.5",style:{color:t.textCell}},dt(e.prompt)),se.default.createElement("div",{className:"flex flex-wrap gap-2"},o.map((l,s)=>{let u=dt(l),c=a===s;return se.default.createElement("button",{key:s,type:"button","data-testid":"genui-choice",onClick:()=>{i(s),n&&n({kind:"choice",text:u})},style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:t.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":t.textCell}},u)})))}function Yse({url:e,alt:t,colors:r,darkMode:n}){let[o,a]=(0,se.useState)(!1);if(o)return se.default.createElement("img",{src:e,alt:t,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}});let i=u$(e);return se.default.createElement("button",{type:"button",onClick:()=>a(!0),"data-testid":"genui-image-load",className:"text-xs w-full",style:{border:`1px dashed ${r.cardBorder}`,borderRadius:"8px",padding:"14px 12px",color:r.textMuted,background:n?"rgba(255,255,255,0.03)":"#f9fafb"}},"Load image from ",i||"another site")}function Xse({block:e,colors:t,darkMode:r}){if(!J1(e.url))return se.default.createElement(cl,{block:e,reason:"image URL must be http(s) or data:",colors:t,darkMode:r});let n=e.url.trim(),o=e.alt!=null?dt(e.alt):"";return se.default.createElement("figure",{style:{margin:0}},R1(n)?se.default.createElement("img",{src:n,alt:o,style:{maxWidth:"100%",borderRadius:"8px",display:"block"}}):se.default.createElement(Yse,{url:n,alt:o,colors:t,darkMode:r}),e.caption!=null&&se.default.createElement("figcaption",{className:"text-xs mt-1",style:{color:t.textMuted}},dt(e.caption)))}function Zse({block:e,colors:t,darkMode:r,onAction:n}){let[o,a]=(pE(d$,e.tone)||d$.info)[r?"dark":"light"];return se.default.createElement("div",{style:{background:o,borderLeft:`3px solid ${a}`,borderRadius:"8px",padding:"10px 12px"}},e.title!=null&&se.default.createElement("div",{className:"text-sm font-semibold mb-0.5",style:{color:a}},dt(e.title)),se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(e.body),darkMode:r,onUiAction:n})))}function Qse({block:e,colors:t,darkMode:r}){return se.default.createElement("div",null,e.language!=null&&se.default.createElement("div",{className:"text-xs font-mono mb-1",style:{color:t.textMuted}},dt(e.language)),se.default.createElement("pre",{style:mE(r)},dt(e.code)))}function m$({block:e,colors:t,darkMode:r,onAction:n}){let o=e.text??e.body??e.content??e.markdown;return se.default.createElement("div",{className:"text-sm",style:{color:t.textCell}},se.default.createElement($a,{text:dt(o),darkMode:r,onUiAction:n}))}var Jse=3;function ew({value:e,colors:t,darkMode:r,depth:n}){if(e==null||typeof e!="object")return typeof e=="boolean"?se.default.createElement("span",{className:"font-mono"},String(e)):typeof e=="number"?se.default.createElement("span",{style:{fontVariantNumeric:"tabular-nums"}},e.toLocaleString()):se.default.createElement("span",null,dt(e));if(n>=Jse)return se.default.createElement("pre",{style:{...mE(r),maxHeight:"160px",overflowY:"auto"}},JSON.stringify(e,null,2));if(Array.isArray(e)){if(e.length===0)return se.default.createElement("span",{style:{color:t.textMuted}},"\u2014");if(e.every(Zf)){let a=[...new Set(e.flatMap(i=>Object.keys(i)))];return se.default.createElement(h$,{columns:a,rows:e.map(i=>a.map(l=>i[l])),colors:t,renderCell:i=>se.default.createElement(ew,{value:i,colors:t,darkMode:r,depth:n+1})})}return e.every(a=>a==null||typeof a!="object")?se.default.createElement("span",null,e.map(dt).join(", ")):se.default.createElement("ul",{className:"list-disc pl-5 space-y-0.5"},e.map((a,i)=>se.default.createElement("li",{key:i},se.default.createElement(ew,{value:a,colors:t,darkMode:r,depth:n+1}))))}let o=Object.entries(e);return o.length===0?se.default.createElement("span",{style:{color:t.textMuted}},"{}"):se.default.createElement("table",{className:"text-sm",style:{borderCollapse:"collapse",width:n===0?"100%":"auto"}},se.default.createElement("tbody",null,o.map(([a,i])=>se.default.createElement("tr",{key:a},se.default.createElement("th",{scope:"row",className:"font-mono text-xs",style:{...fE(t,!1),color:t.textSecondary,fontWeight:500,whiteSpace:"nowrap",width:"1%"}},a),se.default.createElement("td",{style:fE(t,!1)},se.default.createElement(ew,{value:i,colors:t,darkMode:r,depth:n+1}))))))}function Rse({block:e,colors:t,darkMode:r}){let n="value"in e?e.value:e.data;return se.default.createElement("div",{style:{border:`1px solid ${t.cardBorder}`,borderRadius:"10px",overflow:"hidden"}},e.title!=null&&se.default.createElement("div",{className:"px-3 pt-2",style:Qf(t)},dt(e.title)),se.default.createElement("div",{className:"px-1 pb-1",style:{overflowX:"auto"}},se.default.createElement(ew,{value:n,colors:t,darkMode:r,depth:0})))}var eue={card:zse,stat:y$,stats:Lse,table:$se,chart:Wse,list:Hse,progress:Vse,form:qse,choices:Gse,image:Xse,callout:Zse,code:Qse,object:Rse,text:m$,markdown:m$};function Ps({blocks:e,onAction:t,darkMode:r=!1}){let n=Array.isArray(e)?e.filter(Zf):[];if(n.length===0)return null;let o=Ro(r);return se.default.createElement("div",{className:"space-y-3",onClick:a=>a.stopPropagation()},n.map((a,i)=>{let l=typeof a.type=="string"?a.type.toLowerCase():"unknown",s=pE(eue,l);return se.default.createElement("div",{key:i,"data-testid":"genui-block","data-block-type":l},s?se.default.createElement(s,{block:a,colors:o,darkMode:r,onAction:t}):se.default.createElement(cl,{block:a,colors:o,darkMode:r}))}))}var tue=/(\*\*[^*]+\*\*|\*[^*\n]+\*|`[^`]+`|\[[^\]]+\]\((?:https?:\/\/|\/)[^)\s]+\))/g,lg=(e,t)=>e.split(tue).filter(Boolean).map((r,n)=>{let o=`${t}-${n}`;if(r.startsWith("**")&&r.endsWith("**"))return Mr.default.createElement("strong",{key:o},r.slice(2,-2));if(r.startsWith("*")&&r.endsWith("*")&&r.length>2)return Mr.default.createElement("em",{key:o},r.slice(1,-1));if(r.startsWith("`")&&r.endsWith("`"))return Mr.default.createElement("code",{key:o,className:"px-1 py-0.5 rounded text-[0.9em]",style:{background:"rgba(127,127,127,0.15)"}},r.slice(1,-1));let a=r.match(/^\[([^\]]+)\]\(((?:https?:\/\/|\/)[^)\s]+)\)$/);return a?Mr.default.createElement("a",{key:o,href:a[2],target:"_blank",rel:"noopener noreferrer",className:"underline text-blue-500"},a[1]):r}),x$=e=>/^\s*\|.*\|\s*$/.test(e),rue=e=>/^\s*\|(\s*:?-+:?\s*\|)+\s*$/.test(e),b$=e=>e.trim().replace(/^\|/,"").replace(/\|$/,"").split(/(?t.replace(/\\\|/g,"|").trim());function $a({text:e,onUiAction:t,darkMode:r}){if(!e)return null;let n=[],o=String(e).split(` +`),a=0,i=0;for(;aMr.default.createElement("th",{key:p,className:"text-left font-semibold px-2 py-1",style:{borderBottom:"1px solid rgba(127,127,127,0.35)"}},lg(f,`th${d}-${p}`))))),Mr.default.createElement("tbody",null,c.map((f,p)=>Mr.default.createElement("tr",{key:p},u.map((m,g)=>Mr.default.createElement("td",{key:g,className:"px-2 py-1 align-top",style:{borderBottom:"1px solid rgba(127,127,127,0.15)"}},lg(f[g]??"",`td${d}-${p}-${g}`)))))))));continue}if(/^\s*([-*]|\d+\.)\s+/.test(l)){let u=[];for(;aMr.default.createElement("li",{key:d},lg(c,`li${i}-${d}`)))));continue}if(l.trim()===""){n.push(Mr.default.createElement("div",{key:i++,className:"h-2"})),a+=1;continue}n.push(Mr.default.createElement("div",{key:i++},lg(l,`p${i}`))),a+=1}return Mr.default.createElement("div",{className:"break-words"},n)}var co=te(re()),nue=e=>{let t=e.mcp_server||e.server;return t?`MCP server \xB7 ${t}`:typeof e.name=="string"&&e.name.startsWith("mcp__")?`MCP server \xB7 ${e.name.split("__")[1]}`:e.gem?`gem \xB7 ${e.gem}`:e.source?String(e.source):"agent-defined \xB7 method on the agent class"},oue=e=>Array.isArray(e.parameters)?e.parameters:e.parameters&&typeof e.parameters=="object"?Object.keys(e.parameters.properties||e.parameters):[];function vE({tool:e,darkMode:t}){let r=oue(e);return co.default.createElement("div",{style:{display:"grid",gap:"4px"}},e.description&&co.default.createElement("div",{className:"text-sm",style:{color:t?"rgba(255,255,255,0.75)":"#4b5563"}},e.description),co.default.createElement("div",{className:"text-xs font-mono",style:{color:t?"rgba(255,255,255,0.45)":"#9ca3af",display:"flex",flexWrap:"wrap",columnGap:"16px",rowGap:"4px"}},co.default.createElement("span",null,"params: ",r.length>0?r.join(", "):"none"),co.default.createElement("span",null,"source: ",nue(e))))}function gE({tools:e,darkMode:t}){let[r,n]=(0,co.useState)(null),o=(e||[]).filter(l=>l&&l.name);if(o.length===0)return null;let a=o.find(l=>l.name===r),i=l=>({background:t?"rgba(34,197,94,0.12)":"#f0fdf4",color:t?"#86efac":"#15803d",border:`1px solid ${l?t?"#4ade80":"#22c55e":"transparent"}`,borderRadius:"6px",padding:"2px 8px",fontSize:"11px",cursor:"pointer"});return co.default.createElement("div",{style:{marginTop:"8px"}},co.default.createElement("div",{className:"flex items-center gap-1.5 flex-wrap font-mono"},co.default.createElement("span",{className:"text-xs uppercase",style:{letterSpacing:"0.05em",color:t?"rgba(255,255,255,0.45)":"#9ca3af"}},"tools"),o.map(l=>co.default.createElement("button",{key:l.name,onClick:s=>{s.stopPropagation(),n(r===l.name?null:l.name)},title:r===l.name?"Hide definition":"Show definition",style:i(r===l.name)},"\u2699 ",l.name))),a&&co.default.createElement("div",{onClick:l=>l.stopPropagation(),style:{marginTop:"6px",padding:"8px 10px",borderRadius:"8px",background:t?"rgba(34,197,94,0.06)":"#f7fef9",border:`1px solid ${t?"rgba(34,197,94,0.25)":"#bbf7d0"}`}},co.default.createElement(vE,{tool:a,darkMode:t})))}var aue=["application/json","application/xml","application/x-yaml","application/csv"],iue=/\.(csv|md|txt|json|ya?ml)$/i;function w$(e){let t=String(e?.type||e?.content_type||"").toLowerCase(),r=String(e?.name||e?.filename||"");return t.startsWith("image/")?"image":t==="application/pdf"?"document":t.startsWith("text/")||aue.includes(t)||iue.test(r)?"text":"file"}function S$(e){let t=Number(e);return!Number.isFinite(t)||t<0?"":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}function A$(e){if(typeof e!="string")return!1;let t=e.trim();if(/^(data:image\/|blob:)/i.test(t))return!0;if(/^\/[\\/]/.test(t))return!1;if(t.startsWith("/"))return!0;if(!/^https?:\/\//i.test(t)||typeof window>"u"||!window.location)return!1;try{return new URL(t,window.location.href).origin===window.location.origin}catch{return!1}}var k$=e=>e==null?null:e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,sg=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e,null,2);try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},lue=["text","output","body","content"],C$=e=>{if(e==null)return null;if(typeof e=="object")return e;try{return JSON.parse(e)}catch{return null}},sue=e=>{let t=C$(e.tool_result)??C$(e.content);if(!t||typeof t!="object"||Array.isArray(t))return null;let r=lue.find(a=>typeof t[a]=="string"&&t[a].trim().length>0);if(!r)return null;let n=[t.error&&"error",t.status!=null&&`status ${t.status}`,typeof t.url=="string"&&t.url.replace(/^https?:\/\//,""),typeof t.agent=="string"&&`\u2192 ${t.agent}`,t.truncated&&"truncated"].filter(Boolean).join(" \xB7 "),o=Object.fromEntries(Object.entries(t).filter(([a])=>a!==r));return{field:r,meta:n,body:t[r],rest:o}},uue=e=>!!(e.tool_name||e.tool_call_id||e.tool_arguments||e.tool_result||(e.tool_calls||[]).length>0||e.duration_ms!=null||sg(e.content)),E$=280,cue=["tool","system","developer"],ug=(e,t=E$)=>e.replace(/\s+/g," ").trim().slice(0,t),yE=e=>{if(e==null)return null;if(typeof e=="object")return JSON.stringify(e);try{return JSON.stringify(JSON.parse(e))}catch{return String(e)}},O$=e=>{let t=e.tool_calls;return t?Array.isArray(t)?t.map(r=>({name:r.function?.name||r.name||e.tool_name,args:yE(r.function?.arguments??r.arguments??r.input)})):[{name:e.tool_name,args:yE(t)}]:[]},T$=e=>!!(e&&String(e).trim()&&String(e).trim()!=="\u2014"),due=e=>{let t=(e||[]).filter(Boolean),r=new Map,n=new Set;return t.forEach((o,a)=>{if(o.role!=="assistant"||T$(o.content))return;let i=O$(o);if(i.length===0)return;let l=new Set;Array.isArray(o.tool_calls)?o.tool_calls.forEach(u=>u.id&&l.add(u.id)):o.tool_call_id&&l.add(o.tool_call_id);let s=[];for(let u=a+1;u0&&c.tool_call_id&&!l.has(c.tool_call_id))break;s.push(u)}s.length!==0&&(s.forEach((u,c)=>{let d=t[u],f=i.find(p=>p.name&&p.name===d.tool_name)||i[Math.min(c,i.length-1)];f&&f.args&&!d.tool_arguments&&r.set(u,{tool_arguments:f.args,created_at:o.created_at||d.created_at})}),n.add(a))}),t.map((o,a)=>r.has(a)?{...o,...r.get(a)}:o).filter((o,a)=>!n.has(a))},N$=e=>cue.includes(e.role)&&typeof e.content=="string"&&ug(e.content).length>=E$,fue=({message:e,darkMode:t})=>{let r=e.trace_duration_ms||0;if(!r||e.span_duration_ms==null)return null;let n=Math.min((e.span_start_ms||0)/r*100,98),o=Math.max(e.span_duration_ms/r*100,2),a=e.role==="tool"?"#22c55e":e.role==="assistant"?"#ef4444":"#60a5fa";return ke.default.createElement("span",{title:`${Math.round(e.span_duration_ms)}ms \xB7 starts at ${Math.round(e.span_start_ms||0)}ms of ${Math.round(r)}ms`,style:{position:"relative",width:"96px",height:"5px",borderRadius:"999px",background:t?"rgba(255,255,255,0.08)":"#f3f4f6",flexShrink:0,marginTop:"8px",display:"inline-block"}},ke.default.createElement("span",{style:{position:"absolute",top:0,bottom:0,left:`${n}%`,width:`${Math.min(o,100-n)}%`,borderRadius:"999px",background:a}}))},tw=e=>({background:e?"rgba(0,0,0,0.35)":"#f3f4f6",color:e?"#ffffff":"#111827",borderRadius:"6px",padding:"8px 10px",fontSize:"12px",overflowX:"auto",margin:0}),Ar=(e,t)=>{switch(e){case"user":return t?{background:"rgba(59,130,246,0.15)",color:"#93c5fd",label:"User"}:{background:"#eff6ff",color:"#1d4ed8",label:"User"};case"assistant":return t?{background:"rgba(239,68,68,0.12)",color:"#fca5a5",label:"Assistant"}:{background:"#fef2f2",color:"#b91c1c",label:"Assistant"};case"tool":return t?{background:"rgba(245,158,11,0.12)",color:"#fcd34d",label:"Tool"}:{background:"#fffbeb",color:"#b45309",label:"Tool"};case"system":return t?{background:"rgba(139,92,246,0.15)",color:"#c4b5fd",label:"System"}:{background:"#f5f3ff",color:"#6d28d9",label:"System"};case"developer":return t?{background:"rgba(20,184,166,0.15)",color:"#5eead4",label:"Dev"}:{background:"#f0fdfa",color:"#0f766e",label:"Dev"};default:return t?{background:"rgba(255,255,255,0.08)",color:"rgba(255,255,255,0.7)",label:e}:{background:"#f3f4f6",color:"#374151",label:e}}},_$={image:"IMG",document:"PDF",text:"TXT",file:"FILE"};function rw({attachments:e,darkMode:t,testId:r,onRemove:n,removeTestId:o}){let a=(e||[]).filter(Boolean);if(a.length===0)return null;let i=Ro(t);return ke.default.createElement("div",{className:"flex flex-wrap gap-2 mt-1.5"},a.map((l,s)=>{let u=String(l.content_type||""),c=(l.kind==="image"||u.startsWith("image/"))&&A$(l.url),d=S$(l.byte_size);return ke.default.createElement("span",{key:l.id??`${l.filename}-${s}`,"data-testid":r,title:[l.filename,u,d].filter(Boolean).join(" \xB7 "),className:"inline-flex items-center gap-2 rounded-lg px-2 py-1 text-xs",style:{background:i.mutedBg,border:`1px solid ${i.cardBorder}`,color:i.textCell,maxWidth:"260px"}},c?ke.default.createElement("img",{src:l.url,alt:l.filename||"",style:{width:"36px",height:"36px",objectFit:"cover",borderRadius:"4px",flexShrink:0}}):ke.default.createElement("span",{className:"font-mono",style:{color:i.textMuted,flexShrink:0}},_$[l.kind]||_$.file),ke.default.createElement("span",{className:"min-w-0"},ke.default.createElement("span",{className:"block truncate"},l.filename||"attachment"),d&&ke.default.createElement("span",{className:"block font-mono",style:{color:i.textMuted}},d)),n&&ke.default.createElement("button",{type:"button","data-testid":o,onClick:f=>{f.stopPropagation(),n(l,s)},title:"Remove","aria-label":`Remove ${l.filename||"attachment"}`,className:"font-mono",style:{color:i.textMuted,background:"none",border:"none",cursor:"pointer",padding:"0 2px"}},"\u2715"))}))}var M$=e=>{let t=new Set;return Array.isArray(e.tool_calls)?e.tool_calls.forEach(r=>r&&r.id!=null&&t.add(r.id)):e.tool_call_id&&t.add(e.tool_call_id),t},pue=(e,t)=>{let r=Xf(e);if(r)return r;let n=t.find(o=>o&&o.role==="assistant"&&(e.tool_call_id?M$(o).has(e.tool_call_id):Xf(o)));return n?Xf(n,{callId:e.tool_call_id}):null},mue=(e,t)=>{let r=M$(e);return t.some(n=>n&&n.role==="tool"&&n.tool_name===sc&&(!n.tool_call_id||r.size===0||r.has(n.tool_call_id)))};function ba({messages:e,darkMode:t,tools:r,onUiAction:n,onEditMessage:o,onDeleteMessage:a,testIdPrefix:i}){let[l,s]=(0,ke.useState)({}),[u,c]=(0,ke.useState)(null),[d,f]=(0,ke.useState)(""),[p,m]=(0,ke.useState)(!1),[g,h]=(0,ke.useState)(null),v=A=>s(M=>({...M,[A]:!M[A]})),y={textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af"},b=A=>i?`${i}-${A}`:void 0,x=A=>A.stopPropagation(),S=A=>{c(A.id),f(A.content||""),h(null)},w=()=>{c(null),h(null)},T=async A=>{if(!p){m(!0),h(null);try{await o(A,d),c(null)}catch(M){h(M.message||"Could not save the message")}finally{m(!1)}}},k=due(e);return ke.default.createElement("div",{className:"space-y-3"},k.map(A=>{let M=Ar(A.role,t),H=!!l[A.id],F=u===A.id,X=!!((o||a)&&["user","assistant"].includes(A.role)),P=A.role==="tool"&&A.tool_name===sc?pue(A,k):null,Y=A.role==="assistant"&&!F?uE(A.content):null,C=A.role==="assistant"&&!mue(A,k)?Xf(A):null,_=N$(A)&&!H,z=uue(A)||N$(A),D=sg(A.tool_arguments),E=sg(A.tool_result)||sg(A.content),j=A.tool_calls&&(!Array.isArray(A.tool_calls)||A.tool_calls.length>0)?sg(A.tool_calls):null,R=A.role==="tool"?sue(A):null,U=A.tool_name?(r||[]).find(V=>V&&V.name===A.tool_name):null,L=A.role==="tool"?yE(A.tool_arguments):null,K=A.role==="tool"&&!!L,ae=Ar("assistant",t),de=Ar("tool",t),ze=A.role==="tool"&&!A.tool_arguments&&k.some(V=>V&&V.role==="assistant"&&(A.tool_call_id&&V.tool_call_id===A.tool_call_id||Array.isArray(V.tool_calls)&&V.tool_calls.some(I=>I.id&&I.id===A.tool_call_id))),oe=A.role==="assistant"&&!T$(A.content)?O$(A):[],Ee=tw(t);return ke.default.createElement("div",{key:A.id,className:"group","data-testid":i,"data-message-id":i?A.id:void 0,"data-role":i?A.role:void 0},ke.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${z?"cursor-pointer":""}`,onClick:z?()=>v(A.id):void 0,style:H?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},ke.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},(K?[ae,de]:[M]).map(V=>ke.default.createElement("span",{key:V.label,className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:V.background,color:V.color,textAlign:"center"}},V.label))),ke.default.createElement("div",{className:"min-w-0 flex-1"},ke.default.createElement("div",{className:"text-sm break-words",style:{color:y.textPrimary}},F?ke.default.createElement("div",{className:"space-y-2",onClick:x},ke.default.createElement("textarea",{"data-testid":b("editor"),value:d,onChange:V=>f(V.target.value),onKeyDown:V=>{V.key==="Escape"&&w(),V.key==="Enter"&&(V.metaKey||V.ctrlKey)&&T(A)},rows:Math.min(12,Math.max(3,d.split(` +`).length)),autoFocus:!0,className:"aa-field w-full",style:{padding:"8px 10px",borderRadius:"8px",border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,background:t?"rgba(255,255,255,0.06)":"#ffffff",color:y.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"}}),ke.default.createElement("div",{className:"flex items-center gap-2 text-xs"},ke.default.createElement("button",{type:"button","data-testid":b("save"),onClick:()=>T(A),disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"#ef4444",color:"#ffffff",border:"none",cursor:p?"wait":"pointer",fontWeight:500}},p?"Saving\u2026":"Save"),ke.default.createElement("button",{type:"button","data-testid":b("cancel"),onClick:w,disabled:p,style:{padding:"4px 10px",borderRadius:"6px",background:"transparent",color:y.textSecondary,border:`1px solid ${t?"rgba(255,255,255,0.2)":"#d1d5db"}`,cursor:"pointer"}},"Cancel"),g&&ke.default.createElement("span",{style:{color:"#dc2626"}},g))):P?ke.default.createElement("div",null,ke.default.createElement("div",{className:"font-mono text-xs mb-1",style:{color:de.color}},"\u2699 ",A.tool_name," \xB7 ",P.length," block",P.length===1?"":"s"),ke.default.createElement(Ps,{blocks:P,onAction:n,darkMode:t})):A.role==="tool"?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},L&&!ze&&ke.default.createElement("span",{className:"font-mono text-xs break-words"},A.tool_name&&ke.default.createElement("span",{style:{color:de.color}},"\u2699 ",A.tool_name," "),ke.default.createElement("span",{style:{color:K?ae.color:y.textMuted}},"in:")," ",ug(L,180),L.length>180?"\u2026":""),R?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:K?de.color:y.textMuted}},"out:"),R.meta&&ke.default.createElement("span",{className:"font-mono text-xs mr-2",style:{color:y.textMuted}},R.meta),"\u201C",R.body.replace(/\s+/g," ").trim().slice(0,180),R.body.length>180?"\u2026":"","\u201D"):A.content?ke.default.createElement("span",null,A.tool_name&&!(L&&!ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:de.color}},"\u2699 ",A.tool_name),(L||ze)&&ke.default.createElement("span",{className:"font-mono text-xs mr-1",style:{color:K?de.color:y.textMuted}},"out:"),"\u201C",ug(A.content,180),A.content.replace(/\s+/g," ").trim().length>180?"\u2026":"","\u201D"):ke.default.createElement("span",{className:"whitespace-pre-wrap"},A.tool_name?`\u2192 ${A.tool_name}(...)`:"\u2014")):_?ke.default.createElement("span",{style:{color:y.textSecondary}},ug(A.content),"\u2026"):oe.length>0?ke.default.createElement("span",{style:{display:"grid",gap:"2px"}},oe.map((V,I)=>ke.default.createElement("span",{key:I,className:"font-mono text-xs break-words"},V.name&&ke.default.createElement("span",{style:{color:y.textMuted}},V.name," "),ke.default.createElement("span",{style:{color:y.textMuted}},"in:")," ",V.args?ke.default.createElement(ke.default.Fragment,null,ug(V.args,180),V.args.length>180?"\u2026":""):"\u2014"))):Y&&Y.blocks?ke.default.createElement(Ps,{blocks:Y.blocks,onAction:n,darkMode:t}):Y&&Y.object?ke.default.createElement(Ps,{blocks:[{type:"object",value:Y.object}],darkMode:t}):ke.default.createElement($a,{text:A.content||"\u2014",darkMode:t,onUiAction:n}),C&&!F&&ke.default.createElement("div",{className:"mt-2"},ke.default.createElement(Ps,{blocks:C,onAction:n,darkMode:t})),A.role==="user"&&ke.default.createElement(rw,{attachments:A.attachments,darkMode:t,testId:b("attachment")})),ke.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:y.textMuted}},X&&!F&&ke.default.createElement("span",{className:"flex items-center gap-2 opacity-0 group-hover:opacity-100 focus-within:opacity-100 transition-opacity",onClick:x},o&&ke.default.createElement("button",{type:"button","data-testid":b("edit"),onClick:()=>S(A),className:"hover:underline",style:{color:y.textSecondary,background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Edit"),a&&ke.default.createElement("button",{type:"button","data-testid":b("delete"),onClick:()=>a(A),className:"hover:underline",style:{color:"#dc2626",background:"none",border:"none",padding:0,cursor:"pointer",font:"inherit"}},"Delete")),A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleTimeString()),A.tool_name&&A.role!=="tool"&&ke.default.createElement("span",{className:"px-1.5 py-0.5 rounded",style:{background:M.background,color:M.color}},"\u2699 ",A.tool_name),A.duration_ms!=null&&ke.default.createElement("span",null,k$(A.duration_ms)),(A.tool_calls||[]).length>0&&ke.default.createElement("span",null,A.tool_calls.length," tool call",A.tool_calls.length>1?"s":""),A.content_checksum&&ke.default.createElement("span",{title:"Content fingerprint"},"\u{1F512} ",A.content_checksum.slice(0,8)))),ke.default.createElement(fue,{message:A,darkMode:t}),z&&ke.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${H?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:y.textMuted}},ke.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),H&&ke.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:M.color+"55"}},ke.default.createElement("div",{className:"flex flex-wrap gap-x-5 gap-y-1 text-xs font-mono",style:{color:y.textSecondary}},A.created_at&&ke.default.createElement("span",null,new Date(A.created_at).toLocaleString()),A.tool_call_id&&ke.default.createElement("span",null,"call: ",A.tool_call_id),A.duration_ms!=null&&ke.default.createElement("span",null,"took ",k$(A.duration_ms)),A.content_checksum&&ke.default.createElement("span",null,"\u{1F512} ",A.content_checksum)),D&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?ae.color:y.textMuted}},"Arguments",K?" \xB7 from the agent":""),ke.default.createElement("pre",{style:Ee},D)),R?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?de.color:y.textMuted}},"Result",K?" \xB7 from the tool":""),Object.keys(R.rest).length>0&&ke.default.createElement("pre",{style:Ee},JSON.stringify(R.rest,null,2)),ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mt-2 mb-1",style:{color:y.textMuted}},R.field," \xB7 ",R.body.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},R.body.slice(0,8e3),R.body.length>8e3?` +\u2026`:"")):E?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},A.role==="tool"?"Result":"Content (parsed)"),ke.default.createElement("pre",{style:Ee},E)):A.role==="tool"&&A.content?ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:K?de.color:y.textMuted}},"Result",K?" \xB7 from the tool":""," \xB7 ",A.content.length.toLocaleString()," chars"),ke.default.createElement("pre",{style:{...Ee,whiteSpace:"pre-wrap",maxHeight:"320px",overflowY:"auto"}},A.content.slice(0,8e3),A.content.length>8e3?` +\u2026`:"")):null,j&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Requested tool calls"),ke.default.createElement("pre",{style:Ee},j)),U&&ke.default.createElement("div",null,ke.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:y.textMuted}},"Tool definition"),ke.default.createElement(vE,{tool:U,darkMode:t}))))}))}var pt=te(re());var nr=te(re());var Pr=e=>({cardBg:e?"#1f1f1f":"#ffffff",cardBorder:e?"#2a2a2a":"#e5e7eb",innerBg:e?"rgba(255,255,255,0.04)":"#f9fafb",panelBg:e?"rgba(0,0,0,0.35)":"#f9fafb",preBg:e?"rgba(255,255,255,0.06)":"#eef0f3",trackBg:e?"rgba(255,255,255,0.08)":"#f3f4f6",hoverBg:e?"rgba(255,255,255,0.04)":"#f9fafb",controlBg:e?"rgba(255,255,255,0.06)":"#f3f4f6",controlActiveBg:e?"#2a2a2a":"#ffffff",textPrimary:e?"#ffffff":"#111827",textSecondary:e?"rgba(255,255,255,0.6)":"#6b7280",textMuted:e?"rgba(255,255,255,0.4)":"#9ca3af",textBody:e?"rgba(255,255,255,0.75)":"#4b5563",link:"#3b82f6",good:e?"#4ade80":"#16a34a",bad:"#ef4444"}),P$=(e,t=200)=>{let r=String(e??"").replace(/\s+/g," ").trim();return r.length>t?`${r.slice(0,t)}\u2026`:r};function cc({open:e,darkMode:t,size:r=14,style:n}){return nr.default.createElement("svg",{className:`flex-shrink-0 transition-transform ${e?"rotate-180":""}`,width:r,height:r,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:Pr(t).textMuted,...n},"aria-hidden":"true"},nr.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))}function nw({darkMode:e,id:t,children:r,style:n,className:o=""}){let a=Pr(e);return nr.default.createElement("div",{id:t,className:`rounded-xl border overflow-hidden transition-colors ${o}`,style:{backgroundColor:a.cardBg,borderColor:a.cardBorder,...n}},r)}var Lo={context:132,duration:76,tokens:104,cost:88,status:68,count:96,age:76};function Jf({cells:e,darkMode:t,gap:r=16,className:n="",style:o}){let a=Pr(t),i=(e||[]).filter(Boolean);return i.length===0?null:nr.default.createElement("div",{className:`flex-shrink-0 text-sm ${n}`,style:{display:"grid",gridTemplateColumns:i.map(l=>l.width?`${l.width}px`:"minmax(0, auto)").join(" "),alignItems:"center",columnGap:`${r}px`,color:a.textSecondary,...o}},i.map(l=>{let s=l.content!=null&&l.content!==!1&&l.content!=="";return nr.default.createElement("div",{key:l.key,title:(s?l.title:l.empty)||void 0,className:"min-w-0 truncate",style:{textAlign:l.align||"right"}},s?l.content:nr.default.createElement("span",{style:{color:a.textMuted}},"\u2014"))}))}var D$=(e,{wrap:t=!0,maxHeight:r=320}={})=>({background:Pr(e).preBg,borderRadius:"6px",padding:"6px 8px",margin:"2px 0 4px 0",overflowX:"auto",overflowY:"auto",maxHeight:`${r}px`,whiteSpace:t?"pre-wrap":"pre"}),vue=e=>{if(e==null)return{text:"",json:!1};if(typeof e=="object")return{text:JSON.stringify(e,null,2),json:!0};let t=String(e);if(!/^[[{]/.test(t.trim()))return{text:t,json:!1};try{return{text:JSON.stringify(JSON.parse(t),null,2),json:!0}}catch{return{text:t,json:!1}}};function Rf({lines:e,darkMode:t,onClick:r,indent:n=0,size:o="12px",style:a,max:i=200,hold:l=!1}){let[s,u]=ep(),c=Pr(t),d=(e||[]).filter(f=>f&&(f.text||l));return d.some(f=>f.text)?nr.default.createElement("div",{onClick:r,className:"min-w-0",style:{display:"grid",gap:"2px",paddingLeft:n?`${n}px`:0,fontFamily:Ve.mono,fontSize:o,color:c.textSecondary,cursor:r?"pointer":"default",...a}},d.map((f,p)=>{let m=`${f.label}-${p}`,g=s(m),h=f.max||i,v=!f.text,y=String(f.text??"").replace(/\s+/g," ").trim(),b=vue(f.text),x=!v&&(b.json||y.length>60||y!==String(f.text).trim());return nr.default.createElement("div",{key:m},nr.default.createElement("div",{onClick:x?S=>{S.stopPropagation(),u(m)}:void 0,title:x?g?"Collapse":"Expand":void 0,style:{cursor:x?"pointer":"default",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",minWidth:0}},nr.default.createElement("span",{style:{color:f.color||c.textMuted}},x?g?"\u25BE":"\u25B8":"\xA0"," ",f.label,":")," ",!g&&(v?nr.default.createElement("span",{style:{color:c.textMuted}},"\u2014"):P$(y,h))),g&&nr.default.createElement("pre",{onClick:S=>S.stopPropagation(),style:D$(t,{wrap:!b.json})},b.text))})):null}function cg({options:e,value:t,onChange:r,darkMode:n,label:o,style:a}){let i=Pr(n);return nr.default.createElement("div",{className:"flex items-center gap-1 flex-shrink-0",style:a},o&&nr.default.createElement("span",{className:"text-xs mr-1",style:{color:i.textMuted}},o),e.map(l=>nr.default.createElement("button",{key:l.id,type:"button",onClick:s=>{s.stopPropagation(),r(l.id)},title:l.hint,className:"px-2 py-0.5 text-xs rounded transition-colors",style:t===l.id?{background:i.controlActiveBg,color:i.textPrimary,boxShadow:n?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:i.textSecondary}},l.label)))}function I$({label:e,body:t,open:r,onToggle:n,darkMode:o,prose:a=!1,max:i=140}){let l=Pr(o);return nr.default.createElement("div",null,nr.default.createElement("div",{onClick:s=>{s.stopPropagation(),n()},title:r?"Collapse":"Expand",style:{cursor:"pointer",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},nr.default.createElement("span",{style:{color:l.textMuted}},r?"\u25BE":"\u25B8"," ",e,":")," ",!r&&nr.default.createElement("span",{style:{color:l.textMuted}},P$(t,i))),r&&nr.default.createElement("pre",{onClick:s=>s.stopPropagation(),style:D$(o,{wrap:a})},t))}function ep(e={}){let[t,r]=(0,nr.useState)(e),n=(0,nr.useCallback)(a=>{r(i=>({...i,[a]:!i[a]}))},[]);return[(0,nr.useCallback)(a=>!!t[a],[t]),n,r]}var hE={root:"#9ca3af",prompt:"#60a5fa",generate:"#a855f7",llm:"#ef4444",thinking:"#fbbf24",tool:"#22c55e",response:"#2dd4bf",embedding:"#818cf8"},z$=[{id:"time",label:"Time",hint:"Chronological \u2014 reads as a waterfall"},{id:"duration",label:"Slowest",hint:"Longest-running first"},{id:"name",label:"Name",hint:"Group repeated tool calls together"}],Dr=e=>e==null?"\u2014":e<1e3?`${Math.round(e)}ms`:`${(e/1e3).toFixed(2)}s`,xE=e=>{switch(e){case"root":return Yt.spans.root;case"prompt":return Yt.spans.prompt;case"generate":return Yt.spans.generate;case"llm":return Yt.spans.llm;case"thinking":return Yt.spans.thinking;case"tool":return Yt.spans.tool;case"response":return Yt.spans.response;default:return"-"}},gue=(e,t)=>{let r=Math.max(e||0,1),n=Math.max(t||1,1);if(n<=1)return 100;let o=Math.log(r)/Math.log(n);return Math.min(100,Math.max(4,o*100))},yue=(e,t)=>{let r=[...e||[]];switch(t){case"duration":return r.sort((n,o)=>(o.duration||0)-(n.duration||0));case"name":return r.sort((n,o)=>(n.name||"").localeCompare(o.name||""));default:return r.sort((n,o)=>(n.start||0)-(o.start||0))}},hue=e=>{let t=e.tokens||{};return(t.input||0)+(t.output||0)+(t.thinking||0)},xue=(e,t)=>{if(!t.duration_ms)return Dr(e.duration);let r=(e.duration||0)/t.duration_ms*100;return`${Dr(e.duration)} \xB7 ${r<1?r.toFixed(2):r.toFixed(1)}%`},bue=e=>{if(typeof e!="string")return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return null}},j$=e=>e.endsWith(".instructions")?0:e.endsWith(".tools")?1:e.endsWith(".messages")?3:2,bE=e=>{let t=e.spans||[],r=a=>{for(let i of t){let l=(i.attributes||{})[a];if(l)return l}return null},n=r("llm.prompt");if(!n){let a=r("prompt.input.messages");if(a)try{n=[...JSON.parse(a)].reverse().find(s=>s&&s.role==="user"&&s.content)?.content}catch{}}let o=r("llm.completion")||r("llm.output.message");return{input:n,output:o}},wue=e=>{let t=e.attributes||{},r=null,n="input",o="user";if(t["prompt.input.messages"])try{let u=[...JSON.parse(t["prompt.input.messages"])].reverse().find(c=>c&&c.role==="user"&&c.content);typeof u?.content=="string"&&(r=u.content)}catch{}if(!r&&t["llm.prompt"]&&(r=String(t["llm.prompt"])),!r&&(t["tool.input.args"]||t["tool.arguments"])){let s=t["tool.input.args"]||t["tool.arguments"];r=typeof s=="string"?s:JSON.stringify(s),n="in",o="assistant"}let a=null,i="output",l="assistant";return t["llm.output.message"]||t["llm.completion"]?a=t["llm.output.message"]||t["llm.completion"]:(t["tool.output.result"]||t["tool.result"])&&(a=t["tool.output.result"]||t["tool.result"],i="out",l="tool"),a!=null&&typeof a!="string"&&(a=JSON.stringify(a)),{input:r,output:a,inputLabel:n,inputTone:o,outputLabel:i,outputTone:l}},Sue=(e,t)=>{let r=wue(e),n=bE(t);return r.input&&r.input===n.input&&(r.input=null),r.output&&r.output===n.output&&(r.output=null),r},Aue=e=>{let t={...e.attributes||{}},r=f=>{let p=t[f];return delete t[f],p},n=[],o=f=>n.push({id:`${e.span_id}-m${n.length}`,...f}),a=r("prompt.input.instructions")||r("llm.instructions");a&&o({role:"system",content:String(a)});let i=r("prompt.input.messages");if(i)try{JSON.parse(i).forEach(f=>{f&&o({role:f.role||"user",content:typeof f.content=="string"?f.content:JSON.stringify(f.content),tool_call_id:f.tool_call_id,tool_calls:f.tool_calls})})}catch{t["prompt.input.messages"]=i}let l=r("llm.prompt");l&&o({role:"user",content:String(l)});let s=r("tool.input.args")||r("tool.arguments"),u=r("tool.output.result")||r("tool.result");if(s||u){let f=r("tool.name");o({role:"tool",tool_name:f||(e.name||"").replace(/^tool\./,""),tool_arguments:s,content:u?String(u):null})}let c=r("llm.completion"),d=r("llm.output.message");return(c||d)&&o({role:"assistant",content:String(c||d)}),{messages:n,rest:t}},wE=e=>{for(let t of e?.spans||[]){let r=(t.attributes||{})["prompt.input.tools"];if(r)try{let n=typeof r=="string"?JSON.parse(r):r;if(Array.isArray(n)&&n.length>0)return n}catch{}}return[]};function kue({span:e,darkMode:t,tools:r=[]}){let[n,o]=ep(),a=Pr(t),{messages:i,rest:l}=Aue(e),s=null,u=l["prompt.input.tools"];if(u)try{let p=typeof u=="string"?JSON.parse(u):u;Array.isArray(p)&&p.length>0&&(s=p,delete l["prompt.input.tools"])}catch{}let c=Object.entries(l).sort((p,m)=>j$(p[0])-j$(m[0])),d=i.length===1&&i[0].role==="tool"?i[0]:null,f=d?.tool_arguments==null?null:typeof d.tool_arguments=="string"?d.tool_arguments:JSON.stringify(d.tool_arguments);return pt.default.createElement("div",{onClick:p=>p.stopPropagation(),style:{margin:"4px 0 8px 0",padding:"10px 12px",borderRadius:"8px",background:a.panelBg,border:`1px solid ${a.cardBorder}`,fontFamily:Ve.mono,fontSize:"12px",color:a.textBody,cursor:"default"}},pt.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 20px"}},pt.default.createElement("span",null,"duration: ",Dr(e.duration)),pt.default.createElement("span",null,"status: ",e.status||"OK"),hue(e)>0&&pt.default.createElement("span",null,"tokens in:",e.tokens.input||0," out:",e.tokens.output||0,e.tokens.thinking>0?` thinking:${e.tokens.thinking}`:""),pt.default.createElement("span",{style:{color:a.textMuted}},"span: ",e.span_id)),d&&pt.default.createElement("div",{style:{marginTop:"8px",display:"grid",gap:"4px"}},pt.default.createElement("div",{style:{fontSize:"12px",wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"\u2699 ",d.tool_name),f&&pt.default.createElement(pt.default.Fragment,null," ",pt.default.createElement("span",{style:{color:Ar("assistant",t).color}},"in:")," ",pt.default.createElement("span",{style:{color:a.textBody}},f))),d.content&&pt.default.createElement("div",{style:{fontSize:"12px"}},pt.default.createElement("span",{style:{color:Ar("tool",t).color}},"out:")," ",pt.default.createElement("span",{style:{color:a.textBody,whiteSpace:"pre-wrap",display:"inline-block",maxHeight:"240px",overflowY:"auto",verticalAlign:"top",maxWidth:"100%"}},d.content))),i.length>0&&!d&&pt.default.createElement("div",{style:{marginTop:"10px",fontFamily:"ui-sans-serif, system-ui, sans-serif"}},pt.default.createElement(ba,{messages:i,darkMode:t,tools:s||r})),s&&pt.default.createElement(gE,{tools:s,darkMode:t}),c.length>0&&pt.default.createElement("div",{style:{marginTop:"6px",display:"grid",gap:"2px"}},c.map(([p,m])=>{let g=p.match(/args|result|input|output/)?bue(m):null,h=!g&&(p.endsWith(".instructions")||p.match(/input|output|result/))&&typeof m=="string"?m:null,v=g||h;if(!v)return pt.default.createElement("div",{key:p,style:{wordBreak:"break-all"}},pt.default.createElement("span",{style:{color:a.textMuted}},p,":")," ",typeof m=="string"?m:JSON.stringify(m));let y=`${e.span_id}:${p}`;return pt.default.createElement(I$,{key:p,label:p,body:v,prose:!g,darkMode:t,open:n(y),onToggle:()=>o(y)})})))}function Cue({span:e,trace:t,darkMode:r,sort:n,longest:o,expanded:a,onToggle:i,tools:l}){let s=Pr(r),u=Object.keys(e.attributes||{}).length>0,c=a?null:Sue(e,t);return pt.default.createElement(pt.default.Fragment,null,pt.default.createElement("div",{className:`py-0.5 px-1 -mx-1 rounded transition-colors ${u?`cursor-pointer ${r?"hover:bg-white/5":"hover:bg-gray-100"}`:""}`,style:{paddingLeft:n==="time"?`${(e.nested||0)*16}px`:0,background:a?s.hoverBg:void 0},onClick:u?()=>i():void 0,title:u?`${e.name} \u2014 click for span details`:e.name},pt.default.createElement("div",{className:"flex items-baseline gap-2 min-w-0"},pt.default.createElement("span",{className:"flex-shrink-0",style:{color:e.type==="thinking"?void 0:s.textMuted}},xE(e.type)),pt.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:e.error?s.bad:s.textPrimary}},e.name),pt.default.createElement("span",{className:"text-xs ml-auto flex-shrink-0",style:{fontFamily:Ve.mono,color:s.textMuted}},xue(e,t)),u&&pt.default.createElement(cc,{open:a,darkMode:r,size:13,style:{marginLeft:"2px"}})),pt.default.createElement("div",{className:"h-3 relative rounded mt-0.5",style:{background:s.trackBg}},pt.default.createElement("div",{className:"absolute h-3 rounded",style:{background:e.error?"#f87171":hE[e.type]||"#9ca3af",left:n==="time"?`${t.duration_ms?e.start/t.duration_ms*100:0}%`:0,width:n==="time"?`${t.duration_ms?Math.max(e.duration/t.duration_ms*100,1):1}%`:`${gue(e.duration,o)}%`}})),c&&pt.default.createElement(Rf,{darkMode:r,size:"11px",style:{marginTop:"2px"},lines:[{label:c.inputLabel,text:c.input,color:Ar(c.inputTone,r).color,max:160},{label:c.outputLabel,text:c.output,color:Ar(c.outputTone,r).color,max:160}]})),a&&pt.default.createElement(kue,{span:e,darkMode:r,tools:l}))}function SE({trace:e,darkMode:t,sort:r="time",tools:n,keyPrefix:o=""}){let[a,i]=ep(),l=Pr(t),s=yue(e?.spans,r),u=n||wE(e);if(s.length===0)return pt.default.createElement("div",{className:"text-sm py-2",style:{color:l.textMuted}},"No spans recorded for this trace.");let c=Math.max(...s.map(d=>d.duration||0),1);return pt.default.createElement("div",{className:"space-y-2"},s.map((d,f)=>{let p=`${o}${d.span_id||f}`;return pt.default.createElement(Cue,{key:p,span:d,trace:e,darkMode:t,sort:r,longest:c,tools:u,expanded:a(p),onToggle:()=>i(p)})}))}var Nue=[{id:"spans",label:"Spans",hint:"Timing waterfall with span details"},{id:"conversation",label:"Conversation",hint:"The run as a message stream \u2014 prompt, tool calls, response"}],_ue=e=>{let t=0,r=[];(e?.spans||[]).forEach(a=>{(a.nested||0)!==0&&(a.type==="tool"?r.push(a):(a.type==="llm"||a.type==="generate")&&(t=Math.max(t,a.duration||0)))});let n=r.reduce((a,i)=>a+(i.duration||0),0);t=Math.max(t-n,0);let o=e?.duration_ms||t+n||1;return{generation:t,tools:r,toolTotal:n,total:o,overhead:Math.max(o-t-n,0)}};function Eue({trace:e,darkMode:t}){let r=Pr(t),{generation:n,tools:o,toolTotal:a,total:i,overhead:l}=_ue(e);if(n===0&&a===0||n/i>=.99&&a/i<.01)return null;let s=c=>`${(c/i*100).toFixed(c/i<.01?2:1)}%`,u=(c,d)=>Ke.default.createElement("div",{style:{width:`${Math.max(c/i*100,.4)}%`,background:d,height:"100%"}});return Ke.default.createElement("div",{style:{marginTop:"14px",paddingTop:"12px",borderTop:`1px solid ${r.cardBorder}`}},Ke.default.createElement("div",{style:{fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em",color:r.textSecondary,marginBottom:"6px"}},"Time breakdown \u2014 generation vs tools"),Ke.default.createElement("div",{style:{display:"flex",height:"10px",borderRadius:"5px",overflow:"hidden",background:r.trackBg}},u(n,"#ef4444"),u(a,"#10b981"),l>0&&u(l,t?"rgba(255,255,255,0.2)":"#d1d5db")),Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"8px",fontSize:"12px",fontFamily:Ve.mono,color:r.textBody}},Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#ef4444"}},"\u25A0")," generation ",Dr(n)," (",s(n),")"),Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:"#10b981"}},"\u25A0")," tools ",Dr(a)," (",s(a),")"),l>0&&Ke.default.createElement("span",null,Ke.default.createElement("span",{style:{color:r.textSecondary}},"\u25A0")," overhead ",Dr(l)," (",s(l),")")),o.length>0&&Ke.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"4px 18px",marginTop:"4px",fontSize:"12px",fontFamily:Ve.mono,color:r.textSecondary}},o.map((c,d)=>Ke.default.createElement("span",{key:d},c.name," ",Dr(c.duration)," (",s(c.duration||0),")"))))}function Oue({trace:e,darkMode:t}){let[r,n]=(0,Ke.useState)(null),[o,a]=(0,Ke.useState)(!1),i=Pr(t);if((0,Ke.useEffect)(()=>{if(e?.id==null)return;let s=!0;return n(null),a(!1),fetch(`/api/interactions/trace-${e.id}`).then(u=>u.ok?u.json():Promise.reject(new Error("request failed"))).then(u=>s&&n(u.interaction)).catch(()=>s&&a(!0)),()=>{s=!1}},[e?.id]),o)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.bad}},"Couldn't load the conversation for this trace.");if(!r)return Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"Loading conversation\u2026");let l=r.instructions?[{id:`trace-${e.id}-system`,role:"system",content:r.instructions,created_at:r.created_at},...r.messages||[]]:r.messages||[];return l.length===0?Ke.default.createElement("div",{className:"text-sm py-4",style:{color:i.textMuted}},"This trace predates content capture \u2014 no conversation to show."):Ke.default.createElement(ba,{messages:l,darkMode:t,tools:wE(e)})}function dg({trace:e,darkMode:t,compact:r=!1,showConversation:n=!0}){let[o,a]=(0,Ke.useState)("spans"),[i,l]=(0,Ke.useState)("time"),s=Pr(t),u=(e?.spans||[]).length,c=Q1(e),d=e?.tokens||{},f=(0,Ke.useCallback)(p=>a(n?p:"spans"),[n]);return e?Ke.default.createElement("div",null,Ke.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2 mb-2"},Ke.default.createElement("div",{className:"flex items-center gap-1"},n&&Ke.default.createElement(cg,{options:Nue,value:o,onChange:f,darkMode:t}),Ke.default.createElement("span",{className:"text-xs ml-2",style:{color:s.textSecondary}},u," ",u===1?"span":"spans")),o==="spans"&&u>0&&Ke.default.createElement(cg,{options:z$,value:i,onChange:l,darkMode:t,label:"Sort"})),o==="conversation"?Ke.default.createElement("div",{className:"rounded-lg border p-4",style:{background:s.cardBg,borderColor:s.cardBorder}},Ke.default.createElement(Oue,{trace:e,darkMode:t})):Ke.default.createElement(Ke.default.Fragment,null,i==="time"?Ke.default.createElement("div",{className:"flex justify-between text-xs mb-2",style:{color:s.textMuted}},Ke.default.createElement("span",null,"0ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.33),"ms"),Ke.default.createElement("span",null,Math.round((e.duration_ms||0)*.66),"ms"),Ke.default.createElement("span",null,Dr(e.duration_ms))):Ke.default.createElement("div",{className:"text-xs mb-2",style:{color:s.textMuted}},"Bar length compares duration on a log scale"),Ke.default.createElement(SE,{trace:e,darkMode:t,sort:i,keyPrefix:`${e.id||e.trace_id}:`})),c&&Ke.default.createElement("div",{className:"mt-3"},Ke.default.createElement(Ms,{...c,label:"Context pressure",darkMode:t})),Ke.default.createElement(Eue,{trace:e,darkMode:t}),!r&&Ke.default.createElement("div",{className:"mt-4 pt-4 border-t flex items-center flex-wrap gap-x-6 gap-y-1 text-sm",style:{borderColor:s.cardBorder,color:s.textSecondary}},Ke.default.createElement("span",null,"Tokens:"),d.thinking>0&&Ke.default.createElement("span",{className:"text-amber-500",style:{fontFamily:Ve.mono}},"T:",d.thinking.toLocaleString()),Ke.default.createElement("span",{className:"text-blue-500",style:{fontFamily:Ve.mono}},"in:",(d.input||0).toLocaleString()),Ke.default.createElement("span",{className:"text-green-500",style:{fontFamily:Ve.mono}},"out:",(d.output||0).toLocaleString()),e.provider&&Ke.default.createElement("span",{style:{fontFamily:Ve.mono}},e.provider,e.model?` \xB7 ${e.model}`:"")),e.error&&Ke.default.createElement("div",{className:"mt-4 p-3 rounded-lg border",style:{background:t?"rgba(239,68,68,0.1)":"#fef2f2",borderColor:t?"rgba(239,68,68,0.3)":"#fecaca"}},Ke.default.createElement("span",{className:"text-sm",style:{color:t?"#fca5a5":"#b91c1c"}},e.error))):null}var Tue=e=>{let t=(e?.input||0)+(e?.output||0)+(e?.thinking||0);return t?t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`:null},Mue=e=>e==null?null:`$${e.toFixed(4)}`;function ow({trace:e,darkMode:t,expanded:r,onToggle:n}){let o=Pr(t),a=bE(e),i=Q1(e),l=e.status!=="ERROR",s=Tue(e.tokens);return kr.default.createElement(nw,{darkMode:t,id:`trace-row-${e.id}`},kr.default.createElement("div",{className:`p-4 flex items-center justify-between flex-wrap gap-y-2 cursor-pointer transition-colors ${t?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:n,style:r?{background:o.hoverBg}:void 0},kr.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},kr.default.createElement("span",{className:"px-2 py-1 text-xs rounded flex-shrink-0",style:{fontFamily:Ve.mono,background:o.controlBg,color:o.textSecondary}},"TRACE"),kr.default.createElement("span",{className:"text-sm flex-shrink-0",style:{fontFamily:Ve.mono,color:o.textMuted}},e.short_id),kr.default.createElement("span",{className:"text-sm font-medium truncate",style:{color:o.textPrimary}},e.display_name)),kr.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},kr.default.createElement(Jf,{darkMode:t,cells:[{key:"model",title:"Model that generated this trace",empty:"No model recorded for this trace",content:e.model&&kr.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{fontFamily:Ve.mono,background:t?"rgba(99,102,241,0.2)":"#eef2ff",color:t?"#a5b4fc":"#4338ca"}},e.model)},{key:"context",width:Lo.context,empty:"Context: no generation in this trace reported its token counts",content:i&&kr.default.createElement(Ms,{compact:!0,...i,label:"Context",darkMode:t})},{key:"duration",width:Lo.duration,title:"Wall-clock duration",empty:"No duration recorded for this trace",content:e.duration_ms!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-clock mr-1"}),Dr(e.duration_ms))},{key:"tokens",width:Lo.tokens,title:"Tokens in, out and thinking",empty:"No token counts recorded for this trace",content:s&&`${s} tokens`},{key:"cost",width:Lo.cost,title:"Estimated cost of this trace",empty:"Nothing to price \u2014 this trace recorded no tokens",content:e.estimated_cost!=null&&kr.default.createElement(kr.default.Fragment,null,kr.default.createElement("i",{className:"fa-solid fa-coins mr-1"}),Mue(e.estimated_cost))},{key:"status",width:Lo.status,title:l?"Trace completed":e.error||"Trace ended in an error",content:kr.default.createElement("span",{style:{color:l?o.good:o.bad}},kr.default.createElement("i",{className:`fa-solid ${l?"fa-check":"fa-xmark"} mr-1`}),l?"OK":"ERROR")}]}),kr.default.createElement(cc,{open:r,darkMode:t}))),!r&&kr.default.createElement(Rf,{darkMode:t,onClick:n,hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:a.input,color:Ar("user",t).color},{label:"output",text:a.output,color:Ar("assistant",t).color}]}),r&&kr.default.createElement("div",{className:"border-t p-4",style:{borderColor:o.cardBorder,background:o.innerBg}},kr.default.createElement(dg,{trace:e,darkMode:t})))}function Re(e=""){return`${(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"")}${e}`||"/"}function aw(e=""){window.history.pushState({},"",Re(e))}function dl(e=window.location.pathname){let t=(window.ACTIVE_AGENT_DASHBOARD?.mountPath||"").replace(/\/$/,"");return t&&(e===t||e.startsWith(`${t}/`))?e.slice(t.length)||"/":e}function Ds(e){if(!e)return;let t=dl(e);aw(t),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(t)}}))}var L$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Pue=3e4,Due=e=>{let t={};return e.forEach((r,n)=>{t[r]=L$[n%L$.length]}),t},Iue=e=>{let t={};return e.forEach(r=>{(r.spans||[]).forEach(n=>{if((n.nested||0)===0)return;let o=n.name||n.type||"unknown";t[o]||(t[o]={name:o,type:n.type,count:0,total:0,max:0,errors:0});let a=t[o];a.count+=1,a.total+=n.duration||0,a.max=Math.max(a.max,n.duration||0),n.error&&(a.errors+=1)})}),Object.values(t).map(r=>({...r,avg:r.total/r.count})).sort((r,n)=>n.total-r.total)},jue=(e,t,r,n=60)=>{let o=Date.now(),a=[],i=n*1e3,l=Math.max(1,Math.round(r*60/n));for(let s=l-1;s>=0;s--){let u=o-(s+1)*i,c=o-s*i,d=e.filter(p=>p.timestamp_ms>=u&&p.timestamp_ms{f[p]=d.filter(m=>m.agent===p).length}),a.push({time:r>1440?new Date(c).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(c).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),timestamp:c,requests:d.length,errors:d.filter(p=>p.status==="ERROR").length,avgLatency:d.length>0?Math.round(d.reduce((p,m)=>p+(m.duration_ms||0),0)/d.length):0,traces:d,...f})}return a};function dc({agentClass:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,$.useState)([]),[a,i]=(0,$.useState)([]),[l,s]=(0,$.useState)({}),[u,c]=(0,$.useState)(!0),[d,f]=(0,$.useState)(null),[p,m]=(0,$.useState)(null),g=(0,$.useRef)(new URLSearchParams(window.location.search).get("trace")),[h,v]=(0,$.useState)(null),[y,b]=(0,$.useState)({status:"all",agent:"all",action:"all"}),[x,S]=(0,$.useState)("time"),[w,T]=(0,$.useState)(null),[k,A]=(0,$.useState)("timeline"),[M,H]=(0,$.useState)("popular"),{timeWindow:F}=si(),X=(0,$.useCallback)(async()=>{try{let N=e?`&agent=${encodeURIComponent(e)}`:"",O=await fetch(`/api/traces?minutes=${F.minutes}${N}`);if(!O.ok)throw new Error(`Request failed (${O.status})`);let Z=await O.json();o(Z.traces||[]),i(e?[e]:Z.agents||[]),s(Z.agent_ids||{}),f(null)}catch(N){f(N.message)}finally{c(!1)}},[F.minutes,e]);(0,$.useEffect)(()=>{X();let N=setInterval(X,Pue);return()=>clearInterval(N)},[X]);let P=(0,$.useMemo)(()=>Due(a),[a]);(0,$.useEffect)(()=>{T(null)},[F.id]);let Y=(0,$.useMemo)(()=>jue(n,a,F.minutes,F.bucketSeconds),[n,a,F]),C=Math.max(0,Math.ceil(Y.length/6)-1),_=(0,$.useMemo)(()=>{let N=n;if(w!==null){let O=Y[w];O&&(N=O.traces||[])}if(y.status!=="all"&&(N=N.filter(O=>y.status==="success"?O.status!=="ERROR":O.status==="ERROR")),y.agent!=="all"&&(N=N.filter(O=>O.agent===y.agent)),y.action!=="all")if(y.action.includes("#")){let[O,Z]=y.action.split("#");N=N.filter(B=>B.agent===O&&B.action===Z)}else N=N.filter(O=>O.action===y.action);return x==="latency"&&(N=[...N].sort((O,Z)=>(Z.duration_ms||0)-(O.duration_ms||0))),h&&!N.some(O=>O.id===h.id)&&(N=[h,...N]),N},[n,w,Y,y,x,h]);(0,$.useEffect)(()=>{let N=g.current;if(!N)return;let O=B=>{g.current=null,m(B.id),setTimeout(()=>{document.getElementById(`trace-row-${B.id}`)?.scrollIntoView({behavior:"smooth",block:"start"})},150)},Z=n.find(B=>B.id===N||B.trace_id===N||B.short_id&&String(N).startsWith(B.short_id));if(Z){O(Z);return}n.length!==0&&fetch(`/api/traces/${encodeURIComponent(N)}`).then(B=>B.ok?B.json():Promise.reject(new Error("not found"))).then(({trace:B})=>{v(B),O(B)}).catch(()=>{g.current=null})},[n]);let z=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};N.forEach(B=>{B.agent&&(O[B.agent]||(O[B.agent]={agent:B.agent,count:0,totalDuration:0,cost:0,errors:0,actions:{},tokens:{thinking:0,input:0,output:0}}),O[B.agent].count++,O[B.agent].totalDuration+=B.duration_ms||0,O[B.agent].cost+=B.estimated_cost||0,B.status==="ERROR"&&O[B.agent].errors++,B.tokens&&(O[B.agent].tokens.thinking+=B.tokens.thinking||0,O[B.agent].tokens.input+=B.tokens.input||0,O[B.agent].tokens.output+=B.tokens.output||0),B.action&&(O[B.agent].actions[B.action]=(O[B.agent].actions[B.action]||0)+1))});let Z={popular:B=>B.count,longest:B=>B.totalDuration/(B.count||1),cost:B=>B.cost,tokens:B=>(B.tokens.input||0)+(B.tokens.output||0)+(B.tokens.thinking||0),errors:B=>B.errors}[M]||(B=>B.count);return Object.values(O).sort((B,we)=>Z(we)-Z(B)||we.count-B.count)},[n,Y,w,M]),D=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{if(!Z.agent)return;let B=`${Z.agent}#${Z.action||"unknown"}`;O[B]||(O[B]={key:B,agent:Z.agent,action:Z.action||"unknown",count:0,totalDuration:0,errors:0,minDuration:1/0,maxDuration:0,tokens:{thinking:0,input:0,output:0}}),O[B].count++,O[B].totalDuration+=Z.duration_ms||0,O[B].minDuration=Math.min(O[B].minDuration,Z.duration_ms||0),O[B].maxDuration=Math.max(O[B].maxDuration,Z.duration_ms||0),Z.status==="ERROR"&&O[B].errors++,Z.tokens&&(O[B].tokens.thinking+=Z.tokens.thinking||0,O[B].tokens.input+=Z.tokens.input||0,O[B].tokens.output+=Z.tokens.output||0)}),Object.values(O).forEach(Z=>{Z.minDuration===1/0&&(Z.minDuration=0)}),Object.values(O).sort((Z,B)=>B.count-Z.count)},[n,Y,w]),E=(0,$.useMemo)(()=>{let N=w!==null?Y[w]?.traces||[]:n,O={};return N.forEach(Z=>{(Z.spans||[]).forEach(B=>{if(B.type!=="tool")return;let we=B.attributes?.["tool.name"]||B.name?.replace(/^tool\./,"")||"unknown";O[we]||(O[we]={name:we,count:0,totalDuration:0,maxDuration:0,errors:0,agents:new Set}),O[we].count++,O[we].totalDuration+=B.duration||0,O[we].maxDuration=Math.max(O[we].maxDuration,B.duration||0),B.error&&O[we].errors++,Z.agent&&O[we].agents.add(`${Z.agent}#${Z.action||"unknown"}`)})}),Object.values(O).map(Z=>({...Z,agents:[...Z.agents],avgDuration:Z.count?Z.totalDuration/Z.count:0})).sort((Z,B)=>B.totalDuration-Z.totalDuration)},[n,Y,w]),j=(0,$.useMemo)(()=>y.agent==="all"?D.map(N=>N.key):D.filter(N=>N.agent===y.agent).map(N=>N.key),[y.agent,D]),R=(0,$.useMemo)(()=>Iue(_),[_]),U=N=>{if(N&&N.activeTooltipIndex!==void 0){let O=N.activeTooltipIndex;T(w===O?null:O),m(null)}},L=N=>(N?.input||0)+(N?.output||0)+(N?.thinking||0),K=N=>{let O=N.count?N.errors/N.count:0;return[{label:`Calls ${F.label||""}`.trim(),value:N.count.toLocaleString()},{label:"Errors",value:`${(O*100).toFixed(1)}%`,tone:N.errors>0?"bad":"good"},{label:"Avg time",value:`${Math.round(N.totalDuration/(N.count||1))}ms`},{label:"Tokens",value:L(N.tokens).toLocaleString()},{label:"Cost",value:ae(N.cost),title:"Estimated from token counts at this model's published rates",tone:N.cost?void 0:"muted"},{label:"Actions",value:(N.agents?.length||0).toLocaleString()}]},ae=N=>N?N<.01?"<$0.01":`$${N.toFixed(2)}`:"\u2014",de=$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"flex-end",gap:"8px",marginBottom:"12px"}},$.default.createElement("span",{style:{fontSize:"12px",color:r?"rgba(255,255,255,0.5)":"#6b7280"}},"Rank by"),$.default.createElement("select",{value:M,onChange:N=>H(N.target.value),style:{fontSize:"12px",padding:"4px 8px",borderRadius:"6px",border:`1px solid ${r?"rgba(255,255,255,0.15)":"#e5e7eb"}`,background:r?"rgba(255,255,255,0.05)":"#ffffff",color:r?"#f9fafb":"#111827"}},$.default.createElement("option",{value:"popular"},"Most calls"),$.default.createElement("option",{value:"longest"},"Longest average"),$.default.createElement("option",{value:"cost"},"Highest cost"),$.default.createElement("option",{value:"tokens"},"Most tokens"),$.default.createElement("option",{value:"errors"},"Most errors"))),ze=N=>b(O=>({...O,agent:O.agent===N?"all":N})),oe=N=>{let O=l[N];if(!O)return ze(N);let Z=Re(`/agents/${O}`);window.history.pushState(window.history.state,"",Z),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Z}}))},Ee=N=>{let O=R[0]?.total||1,Z=N?"rgba(0,0,0,0.3)":"white",B=N?"1px solid rgba(255,255,255,0.1)":"1px solid #e5e7eb",we=N?"white":"#111827",ee=N?"rgba(255,255,255,0.5)":"#6b7280",ue={llm:"#ef4444",tool:"#10b981",generate:"#8b5cf6",prompt:"#3b82f6"};return $.default.createElement("div",{style:{padding:N?"0 24px 24px 24px":0}},$.default.createElement("div",{style:{background:Z,border:B,borderRadius:"12px",padding:"16px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:we,marginBottom:"4px"}},"Slowest operations"),$.default.createElement("div",{style:{fontSize:"12px",color:ee,marginBottom:"14px"}},"Span durations aggregated across ",_.length," trace",_.length===1?"":"s"," \u2014 ranked by total time"),R.length===0?$.default.createElement("div",{style:{fontSize:"13px",color:ee,padding:"12px 0"}},"No spans in the current selection"):$.default.createElement("div",{style:{display:"grid",gap:"10px"}},R.map(W=>$.default.createElement("div",{key:W.name,style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{width:"220px",flexShrink:0,display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("span",{style:{color:ee}},xE(W.type)),$.default.createElement("span",{style:{fontSize:"13px",color:W.errors>0?"#ef4444":we,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},W.name)),$.default.createElement("div",{style:{flex:1,height:"18px",background:N?"rgba(255,255,255,0.06)":"#f3f4f6",borderRadius:"4px",position:"relative"}},$.default.createElement("div",{style:{position:"absolute",top:"3px",left:0,height:"12px",borderRadius:"3px",width:`${Math.max(W.total/O*100,.5)}%`,background:ue[W.type]||"#6366f1"}})),$.default.createElement("div",{style:{width:"260px",flexShrink:0,fontSize:"12px",color:ee,fontFamily:Ve.mono,textAlign:"right"}},W.count,"\xD7 \xB7 avg ",Dr(W.avg)," \xB7 max ",Dr(W.max)," \xB7 \u03A3 ",Dr(W.total)))))))};if(u)return $.default.createElement("div",{className:"flex items-center justify-center h-64"},$.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let V={requests:Y.reduce((N,O)=>N+O.requests,0),errors:Y.reduce((N,O)=>N+O.errors,0),avgLatency:(()=>{let N=Y.filter(O=>O.requests>0);return N.length===0?0:Math.round(N.reduce((O,Z)=>O+Z.avgLatency,0)/N.length)})(),throughput:(Y.reduce((N,O)=>N+O.requests,0)/F.minutes).toFixed(1)},I=n.length===0;return r?$.default.createElement("div",{className:"preview-content",style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}},$.default.createElement("div",{style:{padding:"24px 24px 0 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",marginBottom:"16px",paddingBottom:"16px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},$.default.createElement("div",null,!t&&$.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:"white",margin:0}},"Traces"),$.default.createElement("p",{style:{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},$.default.createElement("div",{style:{display:"flex",background:"rgba(255,255,255,0.1)",borderRadius:"8px",padding:"2px"}},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),style:{padding:"6px 12px",background:k===N?"#ef4444":"transparent",color:"white",borderRadius:"6px",border:"none",fontSize:"13px",cursor:"pointer",textTransform:"capitalize"}},N))),!e&&$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),style:{padding:"8px 12px",background:y.action!=="all"?"rgba(239, 68, 68, 0.3)":"rgba(255,255,255,0.1)",border:y.action!=="all"?"1px solid #ef4444":"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px",maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),style:{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",color:"white",fontSize:"14px"}},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),style:{padding:"8px 16px",background:"rgba(255,255,255,0.2)",color:"white",borderRadius:"8px",border:"none",fontSize:"14px",fontWeight:"500",cursor:"pointer"}},"Clear Selection")))),d&&$.default.createElement("div",{style:{margin:"0 24px 16px 24px",padding:"12px 16px",background:"rgba(239, 68, 68, 0.1)",borderRadius:"8px",color:"#ef4444",fontSize:"13px"}},"Failed to load traces: ",d),$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{background:"rgba(0,0,0,0.3)",borderRadius:"12px",padding:"16px",border:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"12px"}},$.default.createElement("div",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},"Agent Requests / Minute"),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,style:{display:"flex",alignItems:"center",gap:"6px"}},$.default.createElement("div",{style:{width:"10px",height:"10px",borderRadius:"2px",background:O}}),$.default.createElement("span",{style:{fontSize:"11px",color:"rgba(255,255,255,0.7)"}},N.replace("Agent","")))))),$.default.createElement("div",{style:{height:"150px"}},$.default.createElement(Jl,{width:"100%",height:"100%"},$.default.createElement(Os,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.8}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.1})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"rgba(255,255,255,0.1)"}),$.default.createElement(il,{dataKey:"time",stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"rgba(255,255,255,0.5)",tick:{fontSize:10,fill:"rgba(255,255,255,0.5)"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(vs,{contentStyle:{background:"rgba(0,0,0,0.9)",border:"1px solid rgba(255,255,255,0.2)",borderRadius:"8px",padding:"12px"},labelStyle:{color:"white",fontWeight:"600",marginBottom:"8px"},itemStyle:{color:"rgba(255,255,255,0.8)",fontSize:"12px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-${N})`}))))),$.default.createElement("div",{style:{display:"flex",gap:"24px",marginTop:"12px",paddingTop:"12px",borderTop:"1px solid rgba(255,255,255,0.1)"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"white"}},V.requests),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#ef4444"}},V.errors),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#10b981"}},V.avgLatency,"ms"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"20px",fontWeight:"700",color:"#f59e0b"}},V.throughput,"/min"),$.default.createElement("div",{style:{fontSize:"11px",color:"rgba(255,255,255,0.5)"}},"Throughput"))))),k==="agents"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},de,$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(280px, 1fr))",gap:"16px"}},z.map(N=>$.default.createElement(yd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px",whiteSpace:"nowrap"}},N.count," calls"),onClick:()=>oe(N.agent),stats:K(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},style:{background:"none",border:"none",padding:0,cursor:"pointer",color:y.agent===N.agent?"#ef4444":"inherit",font:"inherit"}},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{style:{padding:"0 24px",marginBottom:"24px"}},$.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:"12px"}},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},style:{background:O?"rgba(239, 68, 68, 0.15)":"rgba(0,0,0,0.3)",borderRadius:"10px",padding:"14px",border:O?"1px solid #ef4444":`1px solid ${P[N.agent]}30`,cursor:"pointer",transition:"all 0.15s"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"10px"}},$.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},$.default.createElement("div",{style:{width:"6px",height:"6px",borderRadius:"50%",background:P[N.agent]}}),$.default.createElement("span",{style:{fontSize:"14px",fontWeight:"600",color:"white"}},N.agent),$.default.createElement("span",{style:{fontSize:"13px",color:"rgba(255,255,255,0.7)"}},"#",N.action)),$.default.createElement("span",{style:{fontSize:"12px",padding:"2px 8px",background:P[N.agent]+"30",color:P[N.agent],borderRadius:"4px"}},N.count," calls")),$.default.createElement("div",{style:{display:"flex",gap:"16px",flexWrap:"wrap"}},$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Avg"),$.default.createElement("div",{style:{fontSize:"13px",color:"white",fontWeight:"500"}},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Min/Max"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Errors"),$.default.createElement("div",{style:{fontSize:"13px",color:N.errors>0?"#ef4444":"#10b981"}},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{style:{fontSize:"10px",color:"rgba(255,255,255,0.5)"}},"Tokens"),$.default.createElement("div",{style:{fontSize:"13px",color:"rgba(255,255,255,0.8)"}},L(N.tokens).toLocaleString()))))}))),k==="spans"&&Ee(!0),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{style:{textAlign:"center",padding:"32px",color:"rgba(255,255,255,0.5)",fontSize:"14px"}},"No traces match filters"):_.map(N=>$.default.createElement(ow,{key:N.id,trace:N,darkMode:!0,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{style:{textAlign:"center",padding:"48px 0"}},$.default.createElement("div",{style:{color:"rgba(255,255,255,0.5)",fontSize:"18px"}},"No traces yet"),$.default.createElement("p",{style:{color:"rgba(255,255,255,0.4)",fontSize:"14px",marginTop:"8px"}},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here"))):$.default.createElement("div",{className:"space-y-6"},$.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},$.default.createElement("div",null,$.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Traces"),$.default.createElement("p",{className:"text-sm text-gray-500"},w!==null?`Viewing ${Y[w]?.time} \u2022 ${_.length} requests`:`Last ${F.label} \u2022 Click timeline to drill down`)),$.default.createElement("div",{className:"flex items-center space-x-3 flex-wrap gap-y-2 min-w-0"},$.default.createElement(ui,null),$.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},["timeline","agents","actions","tools","spans"].map(N=>$.default.createElement("button",{key:N,onClick:()=>A(N),className:`px-3 py-1 text-sm rounded-md transition-colors capitalize ${k===N?"bg-white shadow text-gray-900":"text-gray-600"}`},N))),$.default.createElement("select",{value:y.agent,onChange:N=>b({...y,agent:N.target.value,action:"all"}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",style:{maxWidth:"180px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Agents"),a.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.action,onChange:N=>b({...y,action:N.target.value}),className:`px-3 py-2 border rounded-lg text-sm focus:ring-2 focus:ring-red-500 ${y.action!=="all"?"border-red-500 bg-red-50":"border-gray-300"}`,style:{maxWidth:"220px",textOverflow:"ellipsis"}},$.default.createElement("option",{value:"all"},"All Actions"),j.map(N=>$.default.createElement("option",{key:N,value:N},N))),$.default.createElement("select",{value:y.status,onChange:N=>b({...y,status:N.target.value}),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"all"},"All Status"),$.default.createElement("option",{value:"success"},"Success"),$.default.createElement("option",{value:"error"},"Error")),$.default.createElement("select",{value:x,onChange:N=>S(N.target.value),className:"px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},$.default.createElement("option",{value:"time"},"Newest first"),$.default.createElement("option",{value:"latency"},"Slowest first")),w!==null&&$.default.createElement("button",{onClick:()=>T(null),className:"px-4 py-2 bg-gray-200 text-gray-700 rounded-lg hover:bg-gray-300 transition-colors text-sm font-medium"},"Clear Selection"))),d&&$.default.createElement("div",{className:"p-3 bg-red-50 border border-red-200 rounded-lg text-sm text-red-700"},"Failed to load traces: ",d),$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},$.default.createElement("div",{className:"flex justify-between items-center mb-3"},$.default.createElement("h3",{className:"text-sm font-semibold text-gray-700"},"Agent Requests / Minute"),$.default.createElement("div",{className:"flex gap-4 flex-wrap"},Object.entries(P).map(([N,O])=>$.default.createElement("div",{key:N,className:"flex items-center gap-1.5"},$.default.createElement("div",{className:"w-2.5 h-2.5 rounded-sm",style:{background:O}}),$.default.createElement("span",{className:"text-xs text-gray-500"},N.replace("Agent","")))))),$.default.createElement("div",{className:"h-36"},$.default.createElement(Jl,{width:"100%",height:"100%"},$.default.createElement(Os,{data:Y,onClick:U,style:{cursor:"pointer"}},$.default.createElement("defs",null,Object.entries(P).map(([N,O])=>$.default.createElement("linearGradient",{key:N,id:`gradient-light-${N}`,x1:"0",y1:"0",x2:"0",y2:"1"},$.default.createElement("stop",{offset:"5%",stopColor:O,stopOpacity:.6}),$.default.createElement("stop",{offset:"95%",stopColor:O,stopOpacity:.05})))),$.default.createElement(rl,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),$.default.createElement(il,{dataKey:"time",stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,interval:C}),$.default.createElement(sl,{stroke:"#9ca3af",tick:{fontSize:10,fill:"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),$.default.createElement(vs,{contentStyle:{background:"white",border:"1px solid #e5e7eb",borderRadius:"8px",boxShadow:"0 4px 6px -1px rgba(0,0,0,0.1)"},labelStyle:{color:"#111827",fontWeight:"600",marginBottom:"8px"},formatter:(N,O)=>[N,O.replace("Agent","")]}),Object.keys(P).map(N=>$.default.createElement(ol,{key:N,type:"monotone",dataKey:N,stackId:"1",stroke:P[N],fill:`url(#gradient-light-${N})`}))))),$.default.createElement("div",{className:"flex gap-6 mt-3 pt-3 border-t border-gray-100"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-gray-900"},V.requests),$.default.createElement("div",{className:"text-xs text-gray-500"},"Total Requests")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-red-500"},V.errors),$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-green-600"},V.avgLatency,"ms"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg Latency")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-lg font-bold text-amber-500"},V.throughput,"/min"),$.default.createElement("div",{className:"text-xs text-gray-500"},"Throughput")))),k==="agents"&&$.default.createElement("div",null,de,$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4"},z.map(N=>$.default.createElement(yd,{key:N.agent,name:N.agent,accentColor:P[N.agent],subtitle:N.agents?.length?N.agents.join(", "):void 0,badge:$.default.createElement("span",{className:"text-sm px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls"),onClick:()=>oe(N.agent),stats:K(N),footer:$.default.createElement($.default.Fragment,null,$.default.createElement("span",null,l[N.agent]?"Open agent \u2192":"Not linked to an agent record"),$.default.createElement("button",{onClick:O=>{O.stopPropagation(),ze(N.agent)},className:y.agent===N.agent?"text-red-600":"hover:text-gray-700"},y.agent===N.agent?"Clear filter":"Filter traces"))})))),k==="actions"&&$.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3"},D.map(N=>{let O=y.action===N.key;return $.default.createElement("div",{key:N.key,onClick:()=>{b({...y,action:O?"all":N.key}),A("timeline")},className:`rounded-xl p-4 cursor-pointer transition-all ${O?"bg-red-50 border-2 border-red-500":"bg-white border border-gray-200 hover:border-gray-300"}`,style:{borderLeftColor:P[N.agent],borderLeftWidth:O?"2px":"4px"}},$.default.createElement("div",{className:"flex items-center justify-between mb-3"},$.default.createElement("div",{className:"flex items-center gap-2"},$.default.createElement("div",{className:"w-2 h-2 rounded-full",style:{background:P[N.agent]}}),$.default.createElement("span",{className:"font-semibold text-gray-900"},N.agent),$.default.createElement("span",{className:"text-gray-500"},"#",N.action)),$.default.createElement("span",{className:"text-xs px-2 py-0.5 rounded",style:{background:P[N.agent]+"20",color:P[N.agent]}},N.count," calls")),$.default.createElement("div",{className:"flex flex-wrap gap-4 text-sm"},$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Avg"),$.default.createElement("div",{className:"font-medium"},Math.round(N.totalDuration/N.count),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Min/Max"),$.default.createElement("div",{className:"text-gray-600"},Math.round(N.minDuration),"ms / ",Math.round(N.maxDuration),"ms")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Errors"),$.default.createElement("div",{className:N.errors>0?"text-red-600":"text-green-600"},N.errors," (",(N.errors/N.count*100).toFixed(0),"%)")),$.default.createElement("div",null,$.default.createElement("div",{className:"text-xs text-gray-500"},"Tokens"),$.default.createElement("div",{className:"text-gray-600"},L(N.tokens).toLocaleString()))))})),k==="tools"&&(E.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500 text-sm"},"No tool calls in this window"):$.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},$.default.createElement("div",{className:"flex items-center gap-4 px-4 py-2 text-xs font-medium text-gray-500 border-b border-gray-100"},$.default.createElement("div",{className:"flex-1"},"Tool"),$.default.createElement("div",{className:"w-20 text-right"},"Calls"),$.default.createElement("div",{className:"w-24 text-right"},"Total time"),$.default.createElement("div",{className:"w-20 text-right"},"Avg"),$.default.createElement("div",{className:"w-20 text-right"},"Slowest")),E.map(N=>{let O=E[0].totalDuration?N.totalDuration/E[0].totalDuration*100:0;return $.default.createElement("div",{key:N.name,className:"px-4 py-2 border-b border-gray-50 last:border-0"},$.default.createElement("div",{className:"flex items-center gap-4 text-sm"},$.default.createElement("div",{className:"flex-1 min-w-0"},$.default.createElement("div",{className:"font-medium text-gray-900 truncate",title:N.name},N.name),N.agents.length>0&&$.default.createElement("div",{className:"text-xs text-gray-400 truncate",title:N.agents.join(", ")},N.agents.join(", "))),$.default.createElement("div",{className:"w-20 text-right text-gray-700",style:{fontFamily:Ve.mono}},N.count.toLocaleString(),N.errors>0&&$.default.createElement("span",{className:"text-red-600 ml-1",title:`${N.errors} failed`},"(",N.errors,")")),$.default.createElement("div",{className:"w-24 text-right text-gray-900 font-medium",style:{fontFamily:Ve.mono}},Dr(N.totalDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.avgDuration)),$.default.createElement("div",{className:"w-20 text-right text-gray-500",style:{fontFamily:Ve.mono}},Dr(N.maxDuration))),$.default.createElement("div",{className:"h-1 bg-gray-100 rounded mt-1.5"},$.default.createElement("div",{className:"h-1 bg-green-500 rounded",style:{width:`${Math.max(O,1)}%`}})))}))),k==="spans"&&Ee(!1),k==="timeline"&&!I&&$.default.createElement("div",{className:"space-y-4"},_.length===0?$.default.createElement("div",{className:"text-center py-8 text-gray-500"},"No traces match filters"):_.map(N=>$.default.createElement(ow,{key:N.id,trace:N,darkMode:!1,expanded:p===N.id,onToggle:()=>m(p===N.id?null:N.id)}))),I&&k==="timeline"&&$.default.createElement("div",{className:"text-center py-12"},$.default.createElement("div",{className:"text-gray-400 text-lg"},"No traces yet"),$.default.createElement("p",{className:"text-gray-500 text-sm mt-2"},"Run an agent, or point your app's ActiveAgent telemetry at this workspace to see traces appear here")))}var fe=te(re());var iw=te(re());function AE({trace:e,darkMode:t,height:r=8}){let n=Pr(t);if(!e)return iw.default.createElement("div",{className:"rounded",style:{height:`${r}px`,background:n.trackBg}});let o=e.spans||[],a=e.duration_ms||1,i=[...o].sort((l,s)=>(l.nested||0)-(s.nested||0));return iw.default.createElement("div",{style:{position:"relative",height:`${r}px`,borderRadius:"999px",background:n.trackBg,overflow:"hidden",flex:1}},i.map((l,s)=>iw.default.createElement("div",{key:l.span_id||s,title:`${l.name} \xB7 ${Dr(l.duration)}`,style:{position:"absolute",top:0,bottom:0,left:`${Math.min(l.start/a*100,99)}%`,width:`${Math.max(l.duration/a*100,.8)}%`,background:l.error?"#ef4444":hE[l.type]||"#9ca3af"}})))}var zue=e=>{let t=null;if((e?.generations||[]).forEach(a=>{let i=a.tokens||{},l=(i.input||0)+(i.output||0);l>0&&(!t||l>t.total)&&(t={input:i.input||0,output:i.output||0,cached:i.cached||0,thinking:i.thinking||0,model:a.model,total:l})}),!t)return null;let r=Ts(e?.instructions),n=0;(e?.messages||[]).forEach(a=>{a.role==="tool"&&(n+=Ts(a.content)+Ts(a.tool_arguments))}),n=Math.min(n,t.input);let o=Math.max(t.input-r-n,0);return{used:t.total,limit:ag(t.model),cached:t.cached,thinking:t.thinking,segments:[{key:"messages",label:"Messages",tokens:o},{key:"tool_results",label:"Tool results",tokens:n},{key:"instructions",label:"Instructions",tokens:r},{key:"output",label:"Generated output",tokens:t.output}]}},B$=["#6366f1","#10b981","#f59e0b","#ec4899","#3b82f6","#8b5cf6","#14b8a6","#f97316"],Lue=[{id:"recent",label:"Recent"},{id:"tokens",label:"Tokens"},{id:"messages",label:"Messages"}],Bue=[{id:"conversation",label:"Conversation",hint:"Messages, tool calls and responses in order"},{id:"spans",label:"Spans",hint:"Each generation as a trace \u2014 waterfall, span details, timings"}],$ue=3e4,fl=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString(),$$=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/1e3);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 Fue({generation:e,darkMode:t,maxMs:r,expanded:n,onToggle:o}){let a=Pr(t),[i,l]=(0,fe.useState)(null),[s,u]=(0,fe.useState)(!1),c=e.trace_id,d=(e.duration_seconds||0)*1e3;(0,fe.useEffect)(()=>{if(!c)return;let m=!0;return fetch(`/api/traces/${encodeURIComponent(c)}`).then(g=>g.ok?g.json():Promise.reject(new Error("not found"))).then(({trace:g})=>m&&l(g)).catch(()=>m&&u(!0)),()=>{m=!1}},[c]);let f=!!i,p=(i?.spans||[]).length;return fe.default.createElement("div",{className:`rounded-lg px-2 py-1.5 -mx-2 transition-colors ${f?t?"hover:bg-white/5":"hover:bg-gray-100":""}`,style:n?{background:a.hoverBg}:void 0},fe.default.createElement("div",{className:f?"cursor-pointer":void 0,onClick:f?o:void 0,title:f?`${p} spans \u2014 click for the trace`:void 0},fe.default.createElement("div",{className:"flex flex-wrap items-center gap-3 text-xs font-mono",style:{color:a.textSecondary}},fe.default.createElement("span",{title:e.cache_hit?`${fl(e.tokens.cached)} cached prompt tokens`:"No prompt cache hit",style:{color:e.cache_hit?a.good:a.textMuted}},e.cache_hit?"\u26A1 cache hit":"\u25CF generated"),e.thinking&&fe.default.createElement("span",{className:"text-amber-500",title:`${fl(e.tokens.thinking)} thinking tokens`},"\u{1F9E0} ",fl(e.tokens.thinking)),fe.default.createElement("span",null,e.model||"unknown-model"),e.provider&&fe.default.createElement("span",null,e.provider),fe.default.createElement("span",{className:"text-blue-500"},"in:",fl(e.tokens.input)),fe.default.createElement("span",{className:"text-green-500"},"out:",fl(e.tokens.output)),e.finish_reason&&fe.default.createElement("span",null,e.finish_reason),e.duration_seconds!=null&&fe.default.createElement("span",null,Dr(d)),c&&fe.default.createElement("a",{href:Re(`/traces?trace=${c}`),title:`${c} \u2014 open in Traces`,style:{color:a.link},className:"hover:underline",onClick:m=>m.stopPropagation()},"trace:",c.slice(0,8)," \u2192"),s&&fe.default.createElement("span",{style:{color:a.textMuted}},"trace unavailable")),fe.default.createElement("div",{className:"flex items-center gap-2 mt-1"},c&&!s?fe.default.createElement(AE,{trace:i,darkMode:t}):d>0?fe.default.createElement("div",{className:"rounded flex-1",style:{height:"8px",background:a.trackBg}},fe.default.createElement("div",{className:"rounded",style:{height:"8px",width:`${Math.max(d/r*100,2)}%`,background:"#ef4444"}})):null,f&&fe.default.createElement(fe.default.Fragment,null,fe.default.createElement("span",{className:"font-mono flex-shrink-0",style:{fontSize:"10px",color:a.textMuted}},p," ",p===1?"span":"spans"),fe.default.createElement(cc,{open:n,darkMode:t,size:12})))),n&&i&&fe.default.createElement("div",{className:"mt-2 rounded-lg border p-3",style:{background:a.cardBg,borderColor:a.cardBorder}},fe.default.createElement(dg,{trace:i,darkMode:t,compact:!0})))}function pl({agentId:e=null,embedded:t=!1}){let{darkMode:r}=Nt(),[n,o]=(0,fe.useState)([]),[a,i]=(0,fe.useState)(!0),[l,s]=(0,fe.useState)(null),[u,c]=(0,fe.useState)(null),[d,f]=(0,fe.useState)({}),{timeWindow:p}=si(),m=(0,fe.useCallback)(async()=>{try{let X=await fetch(`/api/interactions?minutes=${p.minutes}${e?`&agent_id=${e}`:""}`);if(!X.ok)throw new Error(`Request failed (${X.status})`);let P=await X.json();o(P.interactions||[]),s(null)}catch(X){s(X.message)}finally{i(!1)}},[p.minutes,e]);(0,fe.useEffect)(()=>{m();let X=setInterval(m,$ue);return()=>clearInterval(X)},[m]);let[g,h]=(0,fe.useState)("recent"),v=(0,fe.useMemo)(()=>{let X=[...new Set(n.map(P=>P.display_name).filter(Boolean))].sort();return Object.fromEntries(X.map((P,Y)=>[P,B$[Y%B$.length]]))},[n]),y=(0,fe.useMemo)(()=>{let X=n.reduce((Y,C)=>Y+(C.tokens?.total||0),0),P=new Set(n.map(Y=>Y.display_name).filter(Boolean));return{interactions:n.length,tokens:X,agents:P.size,avgTokens:n.length?Math.round(X/n.length):0}},[n]),b=(0,fe.useMemo)(()=>{if(n.length===0)return[];let X=Date.now(),P=p.bucketSeconds*1e3,Y=Math.max(1,Math.round(p.minutes*60/p.bucketSeconds)),C=Object.keys(v);return Array.from({length:Y},(_,z)=>{let D=X-(Y-1-z)*P,E=D-P,j=n.filter(R=>{let U=new Date(R.last_activity_at).getTime();return U>=E&&U1440?new Date(D).toLocaleString([],{month:"short",day:"numeric",hour:"2-digit"}):new Date(D).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"}),...Object.fromEntries(C.map(R=>[R,j.filter(U=>U.display_name===R).length]))}})},[n,v,p]),x=Math.max(0,Math.ceil(b.length/6)-1),S=(0,fe.useCallback)(X=>{let P=[...X];switch(g){case"tokens":return P.sort((Y,C)=>(C.tokens?.total||0)-(Y.tokens?.total||0));case"messages":return P.sort((Y,C)=>(C.message_count||0)-(Y.message_count||0));default:return P.sort((Y,C)=>String(C.last_activity_at).localeCompare(String(Y.last_activity_at)))}},[g]),w=(0,fe.useMemo)(()=>{let X=new Map;n.forEach(Y=>{let C=Y.agent_name||Y.agent?.name||"Unattributed",_=Y.action_name,z=`${C}#${_||""}`;X.has(z)||X.set(z,{key:z,title:_?`${C} ${_.charAt(0).toUpperCase()}${_.slice(1)} Agent Interactions`:`${C} Interactions`,sessions:[],tokens:0,lastActivity:Y.last_activity_at});let D=X.get(z);D.sessions.push(Y),D.tokens+=Y.tokens?.total||0,Y.last_activity_at>D.lastActivity&&(D.lastActivity=Y.last_activity_at)});let P=[...X.values()].map(Y=>({...Y,sessions:S(Y.sessions)}));return g==="tokens"?P.sort((Y,C)=>C.tokens-Y.tokens):g==="messages"?P.sort((Y,C)=>C.sessions.length-Y.sessions.length):P.sort((Y,C)=>String(C.lastActivity).localeCompare(String(Y.lastActivity)))},[n,g,S]),T=async X=>{if(u===X){c(null);return}if(c(X),!d[X])try{let P=await fetch(`/api/interactions/${X}`);if(P.ok){let Y=await P.json();f(C=>({...C,[X]:Y.interaction}))}}catch{}},[k,A]=(0,fe.useState)({}),[M,H]=ep(),F=Pr(r);return a?fe.default.createElement("div",{className:"flex items-center justify-center h-64"},fe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):fe.default.createElement("div",{className:"space-y-6"},fe.default.createElement("div",{className:"flex items-start justify-between"},!t&&fe.default.createElement("div",null,fe.default.createElement("h1",{className:"text-2xl font-bold",style:{color:F.textPrimary}},"Interactions"),fe.default.createElement("p",{className:"text-sm mt-1",style:{color:F.textSecondary}},"Persisted conversation streams per agent \u2014 messages, generations and provenance")),fe.default.createElement("div",{className:"flex items-center gap-3"},fe.default.createElement("div",{className:"flex items-center rounded-lg p-1",style:{background:r?"rgba(255,255,255,0.06)":"#f3f4f6"}},fe.default.createElement("span",{className:"text-xs px-1",style:{color:F.textMuted}},"Sort"),Lue.map(X=>fe.default.createElement("button",{key:X.id,onClick:()=>h(X.id),className:"px-2 py-1 text-xs rounded transition-colors",style:g===X.id?{background:r?"#2a2a2a":"#ffffff",color:F.textPrimary,boxShadow:r?"none":"0 1px 2px rgba(0,0,0,0.08)"}:{color:F.textSecondary}},X.label))),fe.default.createElement(ui,null))),l&&fe.default.createElement("div",{className:"p-3 rounded-lg text-sm",style:{background:r?"rgba(239,68,68,0.1)":"#fef2f2",color:"#ef4444"}},"Failed to load interactions: ",l),n.length>0&&fe.default.createElement("div",{className:"rounded-xl border p-4",style:{backgroundColor:F.cardBg,borderColor:F.cardBorder}},fe.default.createElement("div",{className:"flex items-center justify-between mb-3"},fe.default.createElement("h3",{className:"text-sm font-semibold",style:{color:F.textPrimary}},"Interactions over time"),fe.default.createElement("div",{className:"flex items-center gap-3 flex-wrap justify-end"},Object.entries(v).map(([X,P])=>fe.default.createElement("span",{key:X,className:"flex items-center gap-1.5 text-xs",style:{color:F.textSecondary}},fe.default.createElement("span",{className:"inline-block w-2 h-2 rounded-full",style:{background:P}}),X)))),fe.default.createElement("div",{className:"h-32"},fe.default.createElement(Jl,{width:"100%",height:"100%"},fe.default.createElement(Os,{data:b},fe.default.createElement("defs",null,Object.entries(v).map(([X,P])=>fe.default.createElement("linearGradient",{key:X,id:`ix-gradient-${X.replace(/\W/g,"-")}`,x1:"0",y1:"0",x2:"0",y2:"1"},fe.default.createElement("stop",{offset:"5%",stopColor:P,stopOpacity:.6}),fe.default.createElement("stop",{offset:"95%",stopColor:P,stopOpacity:.05})))),fe.default.createElement(rl,{strokeDasharray:"3 3",stroke:r?"#2a2a2a":"#e5e7eb"}),fe.default.createElement(il,{dataKey:"time",stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,interval:x}),fe.default.createElement(sl,{stroke:r?"rgba(255,255,255,0.4)":"#9ca3af",tick:{fontSize:10,fill:r?"rgba(255,255,255,0.5)":"#6b7280"},tickLine:!1,axisLine:!1,allowDecimals:!1}),fe.default.createElement(vs,{contentStyle:{background:r?"#1f1f1f":"white",border:`1px solid ${F.cardBorder}`,borderRadius:"8px"},labelStyle:{color:F.textPrimary,fontWeight:"600",marginBottom:"4px"}}),Object.entries(v).map(([X,P])=>fe.default.createElement(ol,{key:X,type:"monotone",dataKey:X,stackId:"1",stroke:P,strokeWidth:2,fill:`url(#ix-gradient-${X.replace(/\W/g,"-")})`}))))),fe.default.createElement("div",{className:"flex items-center gap-8 pt-3 mt-3 border-t",style:{borderColor:F.cardBorder}},[{label:"Interactions",value:y.interactions.toLocaleString()},{label:"Agents",value:y.agents.toLocaleString()},{label:"Total tokens",value:fl(y.tokens)},{label:"Avg / interaction",value:fl(y.avgTokens)}].map(X=>fe.default.createElement("div",{key:X.label},fe.default.createElement("div",{className:"text-lg font-bold",style:{color:F.textPrimary}},X.value),fe.default.createElement("div",{className:"text-xs",style:{color:F.textSecondary}},X.label))))),n.length===0?fe.default.createElement("div",{className:"text-center py-12"},fe.default.createElement("div",{className:"text-lg",style:{color:F.textMuted}},"No interactions in the last ",p.label),fe.default.createElement("p",{className:"text-sm mt-2",style:{color:F.textSecondary}},"Widen the time window, or run an agent to start recording its conversation stream")):fe.default.createElement("div",{className:"space-y-8"},w.map(X=>fe.default.createElement("div",{key:X.key,className:"space-y-4"},fe.default.createElement("div",{className:"flex items-baseline justify-between"},fe.default.createElement("h2",{className:"text-sm font-semibold",style:{color:F.textPrimary}},X.title),fe.default.createElement("span",{className:"text-xs",style:{color:F.textMuted}},X.sessions.length," ",X.sessions.length===1?"interaction":"interactions",X.tokens>0&&` \xB7 ${fl(X.tokens)} tokens`)),X.sessions.map(P=>{let Y=d[P.id],C=u===P.id,_=k[P.id]||"conversation",z=P.tokens?.total||0,D=(P.tokens?.input||0)+(P.tokens?.output||0)||z;return fe.default.createElement(nw,{key:P.id,darkMode:r,className:"shadow-sm"},fe.default.createElement("div",{className:`flex items-center justify-between flex-wrap gap-y-2 p-4 cursor-pointer transition-colors ${r?"hover:bg-white/5":"hover:bg-gray-50"}`,onClick:()=>T(P.id),style:C?{background:F.hoverBg}:void 0},fe.default.createElement("div",{className:"flex items-center gap-3 min-w-0"},P.source==="telemetry"?fe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium rounded flex-shrink-0",style:{background:r?"rgba(168,85,247,0.15)":"#faf5ff",color:r?"#d8b4fe":"#7e22ce"},title:"Reported by an app running this agent outside the platform"},"REPORTED"):fe.default.createElement("span",{className:"px-2 py-1 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),fe.default.createElement("span",{className:"font-mono text-sm truncate",style:{color:F.textPrimary}},P.display_name),P.agent&&fe.default.createElement("span",{className:"text-sm truncate",style:{color:F.textSecondary}},P.agent.name),P.service_name&&fe.default.createElement("span",{className:"text-sm truncate font-mono",style:{color:F.textMuted}},P.service_name)),fe.default.createElement("div",{className:"flex items-center gap-4 flex-shrink-0"},fe.default.createElement(Jf,{darkMode:r,cells:[{key:"activity",width:Lo.count,content:P.message_count>0?`${P.message_count} messages`:`${P.tool_count||0} tool ${P.tool_count===1?"call":"calls"}`},{key:"tokens",width:Lo.tokens,title:"Tokens across this interaction",empty:"No token counts recorded for this interaction",content:z>0&&`${fl(z)} tokens`},{key:"context",width:Lo.context,empty:"Context: this interaction recorded no token counts",content:z>0&&fe.default.createElement(Ms,{compact:!0,darkMode:r,label:"Context",used:D,limit:ag(P.model),segments:[{key:"messages",label:"Context",tokens:D}]})},{key:"age",width:Lo.age,title:P.last_activity_at||void 0,empty:"No activity recorded",content:$$(P.last_activity_at)&&fe.default.createElement("span",{style:{color:F.textMuted}},$$(P.last_activity_at))}]}),fe.default.createElement(cc,{open:C,darkMode:r}))),!C&&fe.default.createElement(Rf,{darkMode:r,onClick:()=>T(P.id),hold:!0,style:{padding:"0 16px 12px"},lines:[{label:"input",text:P.preview?.input,color:Ar("user",r).color},{label:"output",text:P.preview?.output,color:Ar("assistant",r).color}]}),C&&fe.default.createElement("div",{className:"border-t p-4 space-y-3",style:{borderColor:F.cardBorder,background:F.innerBg}},Y?fe.default.createElement(fe.default.Fragment,null,fe.default.createElement("div",{className:"flex items-center justify-between flex-wrap gap-y-2"},fe.default.createElement(cg,{options:Bue,value:_,onChange:E=>A(j=>({...j,[P.id]:E})),darkMode:r}),fe.default.createElement("span",{className:"text-xs",style:{color:F.textSecondary}},Y.messages.length," ",Y.messages.length===1?"message":"messages",Y.generations.length>0&&` \xB7 ${Y.generations.length} ${Y.generations.length===1?"generation":"generations"}`)),_==="conversation"&&fe.default.createElement(fe.default.Fragment,null,Y.messages.length===0&&fe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No conversation content captured for this run. Enable content capture in the reporting app to record prompts, tool arguments, and responses."),fe.default.createElement(ba,{darkMode:r,messages:Y.instructions?[{id:`ctx-${P.id}-system`,role:"system",content:Y.instructions,created_at:P.created_at},...Y.messages]:Y.messages}),(()=>{let E=zue(Y);return E?fe.default.createElement("div",{className:"pt-3 mt-2 border-t",style:{borderColor:F.cardBorder}},fe.default.createElement(Ms,{...E,label:"Context pressure",estimated:!0,darkMode:r})):null})()),_==="spans"&&(Y.generations.length===0?fe.default.createElement("div",{className:"text-sm",style:{color:F.textMuted}},"No generations recorded for this interaction \u2014 nothing to trace."):fe.default.createElement("div",{className:"space-y-2"},Y.generations.map(E=>fe.default.createElement(Fue,{key:E.id,generation:E,darkMode:r,maxMs:Math.max(...Y.generations.map(j=>(j.duration_seconds||0)*1e3),1),expanded:M(`${P.id}:${E.id}`),onToggle:()=>H(`${P.id}:${E.id}`)}))))):fe.default.createElement("div",{className:"flex justify-center py-6"},fe.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"}))))})))))}var je=te(re());function U$(e,t){let r=i=>{let l=Object.values(t[i]||{})[0];if(!l)return null;let s=l.scenario||l;return{key:i,prompt:s.prompt,group:s.group??null,notes:s.notes??null,expectations:s.expectations||{},position:s.position}},n=new Set(e.map(i=>i.key)),o=e.map(i=>{let l=r(i.key);if(!l)return i;let s=["prompt","group","notes","expectations"].some(u=>JSON.stringify(i[u]??null)!==JSON.stringify(l[u]??null));return{...i,...l,catalogChanged:s}}),a=Object.keys(t).filter(i=>!n.has(i)).map(i=>({...r(i),id:null,enabled:!1,orphan:!0}));return[...o,...a]}var F$=e=>/^[1-9]\d*$/.test(e||"")?e:null;function kE(e){let t=new URLSearchParams(e),r=F$(t.get("evaluation"));return r?{evaluationId:r,runId:F$(t.get("run"))}:null}async function W$(e,t,r){if(!t||e.some(a=>String(a.id)===String(t)))return e;let n=await r(`/api/evaluations/${encodeURIComponent(t)}`);if(!n.ok)throw new Error(`Requested evaluation is unavailable (HTTP ${n.status})`);let o=await n.json();if(!o.evaluation)throw new Error("Requested evaluation is unavailable");return[o.evaluation,...e]}var Ie=te(re());var or=te(re());var ce="var(--font-mono)",fc=e=>e>=1?"success":e>=.7?"warning":"error",ml={success:{strong:"var(--color-success)",soft:"var(--color-success-soft)",text:"var(--color-success-text)"},warning:{strong:"var(--color-warning)",soft:"var(--color-warning-soft)",text:"var(--color-warning-text)"},error:{strong:"var(--color-error)",soft:"var(--color-error-soft)",text:"var(--color-error-text)"},info:{strong:"var(--color-info)",soft:"var(--color-info-soft)",text:"var(--color-info-text)"},muted:{strong:"var(--color-text-muted)",soft:"var(--color-muted)",text:"var(--color-text-secondary)"},accent:{strong:"var(--color-accent-ui)",soft:"var(--color-accent-ui-tint)",text:"var(--color-accent-ui)"}},CE={object:"=",sample:"~",pass:Yt.success,fault:Yt.error,info:Yt.info,on:"[x]",off:"[ ]",link:Yt.arrow,chevron:Yt.chevronRight};function Fa({kind:e="pass",open:t=!1,color:r,size:n=12,weight:o=700,style:a,title:i}){return e==="chevron"?or.default.createElement("span",{className:"aa-chevron","data-open":t?"true":"false",title:i,style:{fontFamily:ce,fontSize:n,color:r||"var(--color-text-muted)",flexShrink:0,...a}},CE.chevron):or.default.createElement("span",{title:i,style:{fontFamily:ce,fontSize:n,fontWeight:o,color:r||(e==="fault"?"var(--color-error)":e==="info"?"var(--color-info)":e==="pass"?"var(--color-success)":"var(--color-text-muted)"),flexShrink:0,...a}},CE[e]||e)}function Tt({tone:e="muted",size:t=11,children:r,title:n,style:o,testId:a}){let i=ml[e]||ml.muted;return or.default.createElement("span",{"data-testid":a,title:n,style:{display:"inline-flex",alignItems:"center",padding:"2px 7px",borderRadius:4,fontFamily:ce,fontSize:t,fontWeight:600,whiteSpace:"nowrap",background:i.soft,color:i.text,...o}},r)}function et({children:e,size:t=11,color:r="var(--color-text-secondary)",spacing:n="0.06em",style:o,as:a="span"}){return or.default.createElement(a,{style:{fontFamily:ce,fontSize:t,fontWeight:600,letterSpacing:n,textTransform:"uppercase",color:r,...o}},e)}function fo({selected:e=!1,onClick:t,children:r,square:n=!1,mono:o=!1,title:a,style:i,testId:l}){return or.default.createElement("button",{type:"button","data-testid":l,onClick:t,title:a,style:{padding:"4px 10px",borderRadius:n?6:999,cursor:t?"pointer":"default",fontFamily:o?ce:"inherit",fontSize:o?11:12,fontWeight:o?400:500,background:e?"var(--color-accent-ui-tint)":"var(--color-card)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border)"}`,color:e?"var(--color-accent-ui)":o?"var(--color-text-muted)":"var(--color-text-cell)",...i}},r)}function lw({options:e,value:t,onChange:r,style:n}){return or.default.createElement("div",{style:{display:"flex",gap:4,...n},role:"group"},e.map(o=>{let a=o.value===t;return or.default.createElement("button",{key:o.value,type:"button",onClick:()=>r(o.value),"aria-pressed":a,style:{padding:"6px 12px",borderRadius:8,cursor:"pointer",fontSize:13,fontWeight:500,background:"var(--color-card)",border:`1px solid ${a?"var(--color-accent-ui)":"var(--color-border)"}`,color:a?"var(--color-accent-ui)":"var(--color-text-cell)"}},o.label)}))}function mr({variant:e="secondary",size:t="md",children:r,onClick:n,disabled:o=!1,title:a,type:i="button",style:l,testId:s}){let c={padding:t==="sm"?"6px 12px":"8px 14px",borderRadius:8,cursor:o?"not-allowed":"pointer",fontSize:13,fontWeight:500,opacity:o?.5:1,whiteSpace:"nowrap",fontFamily:"inherit"},d={primary:{background:"var(--color-accent-ui)",color:"var(--color-on-accent)",border:"1px solid transparent"},secondary:{background:"transparent",color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)"},danger:{background:"transparent",color:"var(--color-error)",border:"1px solid transparent"},ghost:{background:"transparent",color:"var(--color-text-secondary)",border:"1px solid transparent"}};return or.default.createElement("button",{type:i,"data-testid":s,onClick:n,disabled:o,title:a,style:{...c,...d[e]||d.secondary,...l}},r)}function ht({children:e,padding:t=20,style:r,className:n,testId:o,...a}){return or.default.createElement("div",{"data-testid":o,className:n,style:{background:"var(--color-card)",border:"1px solid var(--color-border)",borderRadius:12,padding:t,...r},...a},e)}function tp({label:e,value:t,sub:r,valueColor:n,valueSize:o=32,testId:a}){return or.default.createElement(ht,{testId:a},or.default.createElement(et,{size:11,spacing:"0.05em"},e),or.default.createElement("div",{style:{marginTop:8,fontFamily:ce,fontSize:o,fontWeight:700,lineHeight:1.1,color:n||"var(--color-text-primary)"}},t),r!=null&&or.default.createElement("div",{style:{marginTop:8,fontSize:13,color:"var(--color-text-secondary)"}},r))}function H$({title:e,meta:t,children:r,style:n,testId:o,bodyStyle:a}){return or.default.createElement("div",{"data-testid":o,style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0,...n}},(e||t)&&or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 12px",background:"var(--color-muted)"}},e&&or.default.createElement(et,null,e),t&&or.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},t)),or.default.createElement("div",{style:a},r))}function V$({passed:e,total:t,label:r,labelWidth:n=128,width:o,height:a=6,color:i,valueWidth:l=38,style:s}){let u=t?e/t:0,c=i||ml[fc(u)].strong;return or.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,...s}},r!=null&&or.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)",width:n,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:r},r),or.default.createElement("span",{style:{flex:o?void 0:1,width:o,height:a,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0}},or.default.createElement("span",{style:{display:"block",width:`${Math.round(u*100)}%`,height:"100%",borderRadius:999,background:c}})),or.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,width:l,textAlign:"right",color:c}},e,"/",t))}function rp({children:e,onClick:t,href:r="#",color:n="var(--color-info)",size:o=11,style:a,title:i}){return or.default.createElement("a",{href:r,title:i,onClick:l=>{t&&(l.preventDefault(),t(l))},style:{fontFamily:ce,fontSize:o,color:n,textDecoration:"none",...a}},e," ",CE.link)}function An({children:e,style:t}){return or.default.createElement("div",{style:{padding:"20px 12px",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)",textAlign:"center",...t}},e)}var Ir=e=>{let t=Number(e)||0;return Math.abs(t)>=1e6?`${(t/1e6).toFixed(1)}M`:Math.abs(t)>=1e3?`${(t/1e3).toFixed(1)}K`:`${Math.round(t)}`},NE=e=>e==null?"\u2014":Ir(e),kn=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(t>=1e4?1:2).replace(/\.?0+$/,"")}s`:`${Math.round(t)}ms`},fg=e=>{if(e==null)return"\u2014";let t=Number(e);return t===0?"$0.00":Math.abs(t)<.01?`$${t.toFixed(4)}`:`$${t.toFixed(2)}`},jr=(e,t=4)=>e==null?"\u2014":`$${Number(e).toFixed(t)}`,K$=(e,t=0)=>`${(Number(e||0)*100).toFixed(t)}%`,wa=e=>e==null?"\u2014":Number(e).toFixed(2),np=(e,t="%",r=0)=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let n=Number(e);return`${n>0?"+":n<0?"-":""}${Math.abs(n).toFixed(r)}${t}`},ci=e=>{if(!e)return"";let t=Math.floor((Date.now()-new Date(e).getTime())/6e4);if(t<1)return"just now";if(t<60)return`${t} min ago`;if(t<1440){let n=Math.floor(t/60);return`${n} hour${n===1?"":"s"} ago`}let r=Math.floor(t/1440);return`${r} day${r===1?"":"s"} ago`},Bo=(e,t=null)=>{let r=String(e||""),n=r.lastIndexOf("/");return n>0?{short:r.slice(n+1),provider:r.slice(0,n)}:{short:r,provider:t||""}};var Uue=["trace_error_rate","trace_latency"],_E=[{id:"rules",label:"Rule-based"},{id:"telemetry",label:"Telemetry"},{id:"judge",label:"LLM judge"}],At=(e,t)=>`${e} ${t}${e===1?"":"s"}`,sw=(e,t)=>{let r=String(e||"");return r.length>t?`${r.slice(0,t-1)}\u2026`:r},q$=e=>String(e||"").replace(/_/g," ").replace(/^\w/,t=>t.toUpperCase()),G$=e=>{let t=Number(e)||0;return t>=1e3?`${(t/1e3).toFixed(t%1e3===0?0:1)}s`:`${Math.round(t)}ms`},di=e=>e?.type==="llm_judge"?"judge":Uue.includes(e?.type)?"telemetry":"rules",uw=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"Response present";case"min_length":return"Response length";case"max_latency_ms":return"Latency";case"token_budget":return"Output tokens";case"contains":return"Must contain";case"not_contains":return"Must not contain";case"trace_error_rate":return"Trace error rate";case"trace_latency":return"Trace latency";case"llm_judge":return t.description||q$(e.key);default:return q$(e?.key)}},op=e=>{let t=e?.config||{};switch(e?.type){case"response_present":return"non-empty output";case"min_length":return`\u2265 ${t.chars??40} chars`;case"max_latency_ms":return`\u2264 ${G$(t.ms??5e3)}`;case"token_budget":return`\u2264 ${t.output_tokens??1e3} output tokens`;case"contains":return`matches /${t.pattern||""}/i`;case"not_contains":return`no /${t.pattern||""}/i`;case"trace_error_rate":return`error rate \u2264 ${t.max_error_rate??5}% \xB7 ${t.window_hours??168}h`;case"trace_latency":return`avg \u2264 ${G$(t.max_avg_ms??5e3)} \xB7 ${t.window_hours??168}h`;case"llm_judge":return t.prompt?`judge: ${sw(t.prompt,72)}`:"judge scores 0.0\u20131.0";default:return""}},pg=(e,t)=>(e?.criteria||[]).find(r=>r.key===t)||{key:t,type:t,config:{}},cw=(e,t=null)=>{let r=t?.scores||{};if(Object.prototype.hasOwnProperty.call(r,"_judge_label"))return r._judge_label||"rules";let n=r._verdict?.judge;return n&&n!=="pass rate"?n:e?.judge_kind==="judge_defined"?`judge-defined KPIs${e.judge_model?` \xB7 ${e.judge_model}`:""}`:e?.judge_kind==="llm"?e.judge_model||"LLM judge":"rules"},EE=(e,t=null)=>t?.models?.length||Object.keys(t?.scores?._models||t?.scores?._cohorts||{}).length||(e?.compare_models||[]).length||1,pc=(e,t=null)=>{let r=EE(e,t);if(e?.scenario_suite){let a=t?.samples_evaluated&&r?Math.round(t.samples_evaluated/r):e.scenario_count||0;return`${At(a,"scenario")} \xD7 ${At(r,"model")}`}let n=(e?.criteria||[]).length,o=n===1?"criterion":"criteria";return r>1?`${n} ${o} \xD7 ${At(r,"model")}`:`${n} ${o} \xB7 ${At(e?.sample_size??0,"sample")}`},OE=e=>e!=null&&typeof e=="object"&&!Array.isArray(e)&&!("score"in e)&&!("skipped"in e),ap=e=>Object.entries(e?.scores||{}).filter(([t,r])=>!t.startsWith("_")&&r&&typeof r=="object");var TE=e=>{let t=e?.scores?._cohorts||e?.scores?._models;if(t&&typeof t=="object"&&Object.keys(t).length)return Object.keys(t);if(Array.isArray(e?.models)&&e.models.length)return e.models;let r=[];return ap(e).forEach(([,n])=>{OE(n)&&Object.keys(n).forEach(o=>{r.includes(o)||r.push(o)})}),r},mc=(e,t)=>!e||typeof e!="object"?null:OE(e)?t&&e[t]||null:e,Y$=e=>e&&e.samples_evaluated?(e.samples_passed||0)/e.samples_evaluated:null;var dw=e=>{if(!e)return[];let t=e.scores||{},r=t._models;if(r&&typeof r=="object"&&Object.keys(r).length)return Object.entries(r).map(([a,i])=>({label:a,model:i.model||a,provider:i.provider||null,samples:i.scenarios??null,passed:i.passed??null,errored:i.errored??0,avg_score:i.avg_score??null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:i.faults||{},kind:"replay"}));let n=t._cohorts;if(n&&typeof n=="object"&&Object.keys(n).length)return Object.entries(n).map(([a,i])=>({label:a,model:a,provider:i.provider||null,samples:i.samples??null,passed:i.passed??null,errored:0,avg_score:null,avg_duration_ms:i.avg_duration_ms??null,input_tokens:i.input_tokens??null,output_tokens:i.output_tokens??null,cost:i.cost??null,faults:{},kind:"sample"}));let o=TE(e);return o.length?o.map(a=>{let i=ap(e).map(([,l])=>mc(l,a)).filter(l=>l&&l.total!=null).map(l=>l.total);return{label:a,model:a,provider:null,samples:i.length?Math.max(...i):null,passed:null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:e.selection||t._selection?"replay":"sample"}}):[{label:null,model:null,provider:null,samples:e.samples_evaluated??null,passed:e.samples_passed??null,errored:0,avg_score:null,avg_duration_ms:null,input_tokens:null,output_tokens:null,cost:null,faults:{},kind:"sample"}]},X$=(e,t)=>{let r=ap(e).map(([,o])=>mc(o,t)).filter(Boolean),n=r.filter(o=>o.score!=null);return{avg:n.length?n.reduce((o,a)=>o+a.score,0)/n.length:null,scored:n.length,cleared:n.filter(o=>o.score>=.7).length,below:n.filter(o=>o.score<.7).length,skipped:r.filter(o=>o.skipped).length}},Z$=20,mg=(e=[],t=null)=>Number.isFinite(t)?Math.max(t,e.length):e.length,ME=(e=[],t=null)=>{let r=mg(e,t),n=e.length=Z$;return`${At(r,"run")}${n?` \xB7 latest ${e.length}`:""}`},ip=(e,t,r=[],n=null)=>Number.isFinite(e?.number)?e.number:mg(r,n)-t,vg=(e,t,{olderNumber:r=t?.number,comparable:n=!0}={})=>{if(!e||e.status!=="complete")return null;if(!t)return{text:"first run",tone:"muted"};let o=Number.isFinite(r)?`#${r}`:"previous";if(t.status!=="complete")return{text:`${o} ${t.status}`,tone:"muted"};if(!n)return{text:"partial run",tone:"muted"};let a=(e.samples_passed||0)-(t.samples_passed||0);return a===0?{text:`same as ${o}`,tone:"muted"}:{text:`${a>0?"+":""}${a} passed vs ${o}`,tone:a>0?"success":"error"}},vl=e=>{let t=e?.usage;if(!t||typeof t!="object")return null;let r=t.replays??t.samples??null,n=t.cost??null,o=r!=null||n!=null?{cost:n,count:r||0,unit:t.replays!=null?"replay":"sample",perInteraction:t.per_interaction??(n!=null&&r?n/r:null),inputTokens:t.input_tokens??null,outputTokens:t.output_tokens??null,modelTimeMs:t.model_time_ms??null}:null,a=t.judge,i=a&&typeof a=="object"?{cost:a.cost??null,calls:a.calls||0,byKind:a.by_kind||{},model:a.model||null,inputTokens:a.input_tokens??null,outputTokens:a.output_tokens??null}:null;if(!o&&!i)return null;let l=o?.cost!=null||i?.cost!=null?(o?.cost||0)+(i?.cost||0):null;return{agent:o,judge:i,total:l,runtimeMs:t.runtime_ms??null}},fw=e=>{if(!e)return"";let t=["define","score","recommend","verdict"];return Object.entries(e.byKind||{}).sort(([n],[o])=>t.indexOf(n)-t.indexOf(o)).map(([n,o])=>`${n} ${o}`).join(" \xB7 ")},Q$=(e=[])=>{let t=null,r=0,n=null,o=0;return e.forEach(a=>{let i=vl(a);i&&(o+=1,i.agent?.cost!=null&&(t=(t||0)+i.agent.cost,r+=i.agent.count||0),i.judge?.cost!=null&&(n=(n||0)+i.judge.cost))}),{agentCost:t,interactions:r,perInteraction:t!=null&&r?t/r:null,judgeCost:n,priced:o}},pw=(e,t)=>{if(!t)return[];let r=[],n=`/agents/${e?.agent?.id}/run`;t.status==="failed"&&r.push({kind:"failed",label:"run failed",scope:Number.isFinite(t.number)?`run #${t.number}`:"latest run",text:t.error_message||"The run ended before any criterion was scored.",action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let o=Array.isArray(t.scores?._missing_models)?t.scores._missing_models:[];o.length&&r.push({kind:"missing",label:`no generations \xD7${o.length}`,scope:"comparison cohorts",text:"The comparison asked for these models, but the agent has no recorded generations under them. Run the agent under each model, then run the evaluation again.",chipsLabel:"missing models",chips:o,action:{label:"Run agent",path:n,hint:"Run Agent ->"}});let a={judge:[],telemetry:[],rules:[]},i=[];ap(t).forEach(([u,c])=>{let d=pg(e,u);(OE(c)?Object.entries(c):[[null,c]]).forEach(([p,m])=>{!m||typeof m!="object"||(m.skipped?a[di(d)].push({key:u,model:p,reason:m.reason}):m.score!=null&&m.score<.7&&i.push({key:u,model:p,stats:m,criterion:d}))})});let l=u=>[...new Set(u.map(c=>c.key))],s=u=>`${l(u).length} ${l(u).length===1?"criterion":"criteria"}`;if(a.judge.length&&r.push({kind:"judge",label:`judge skipped \xD7${a.judge.length}`,scope:s(a.judge),text:a.judge[0].reason||"The LLM judge could not score these criteria.",chipsLabel:"unscored criteria",chips:l(a.judge),action:{label:"Add provider key",path:"/settings",hint:"Settings ->"}}),a.telemetry.length&&r.push({kind:"telemetry",label:`no telemetry \xD7${a.telemetry.length}`,scope:s(a.telemetry),text:a.telemetry[0].reason||"No traces were recorded for this agent in the criterion window.",chipsLabel:"unscored criteria",chips:l(a.telemetry),action:{label:"Open traces",path:"/traces",hint:"Traces ->"}}),a.rules.length&&r.push({kind:"samples",label:`no samples \xD7${a.rules.length}`,scope:s(a.rules),text:a.rules[0].reason||"No generation could be scored against these criteria.",chipsLabel:"unscored criteria",chips:l(a.rules),action:{label:"Run agent",path:n,hint:"Run Agent ->"}}),i.length){let u=[...new Set(i.map(c=>c.model).filter(Boolean))];r.push({kind:"below",label:`below pass mark \xD7${i.length}`,scope:`${s(i)}${u.length?` \xB7 ${At(u.length,"model")}`:""}`,text:`Scored under the ${.7.toFixed(2)} pass mark. Each line is what the criterion expects against how the samples did; tighten the agent's instructions or revisit the budget before running again.`,details:i.map(c=>`${c.key}${c.model?` \xB7 ${c.model}`:""} ${c.stats.score.toFixed(2)} \xB7 expects ${op(c.criterion)} \xB7 ${c.stats.passed}/${c.stats.total} passed`)})}return r};var kt=te(re());var gl=te(re());var Wue="What the agent spent answering \u2014 the operating cost of these interactions, and of one on average",Hue="What the judge model spent scoring, recommending and ruling \u2014 the evaluation's own offline cost",mw=e=>e?.agent?.unit==="replay"?"replay":"sampled interaction",yl=e=>e==null?"\u2014":jr(e,Math.abs(Number(e))<.001?6:4),J$=e=>{if(!e)return null;let t=[];if(e.agent){let r=[`agent ${jr(e.agent.cost)}`,At(e.agent.count,mw(e))];e.agent.perInteraction!=null&&r.push(`${yl(e.agent.perInteraction)} each`),t.push(r.join(" \xB7 "))}return e.judge&&t.push(`judge ${jr(e.judge.cost)} \xB7 ${At(e.judge.calls,"call")}`),t.join(" \xB7 ")};function PE({label:e,value:t,sub:r,title:n,valueColor:o,testId:a,first:i=!1}){return gl.default.createElement("div",{"data-testid":a,title:n,style:{padding:"10px 16px",minWidth:0,borderLeft:i?"none":"1px solid var(--color-border-light)"}},gl.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e),gl.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:18,fontWeight:700,lineHeight:1.1,color:o||"var(--color-text-primary)"}},t),gl.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)",textWrap:"pretty"}},r))}function DE({spend:e,testId:t="run-spend"}){if(!e)return null;let{agent:r,judge:n,total:o}=e,a=r&&(r.inputTokens!=null||r.outputTokens!=null)?` \xB7 in ${Ir(r.inputTokens)} \xB7 out ${Ir(r.outputTokens)}`:"";return gl.default.createElement(ht,{padding:0,testId:t,style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",overflow:"hidden"}},gl.default.createElement(PE,{first:!0,label:"Agent cost",title:Wue,value:r?jr(r.cost):"\u2014",sub:r?`${At(r.count,mw(e))}${r.perInteraction!=null?` \xB7 ${yl(r.perInteraction)} per interaction`:""}${a}`:"nothing replayed or sampled",testId:"run-spend-agent"}),gl.default.createElement(PE,{label:"Judge cost",title:Hue,value:n?jr(n.cost):"\u2014",valueColor:n?void 0:"var(--color-text-muted)",sub:n?[At(n.calls,"call"),fw(n),n.model,"offline"].filter(Boolean).join(" \xB7 "):"no judge asked \xB7 rules only",testId:"run-spend-judge"}),gl.default.createElement(PE,{label:"Total",title:"Agent and judge together \u2014 what this run cost end to end",value:o!=null?jr(o):"\u2014",sub:r&&n?"agent + judge":r?"agent only":"judge only",testId:"run-spend-total"}))}function IE({run:e,testId:t}){if(!e)return kt.default.createElement(Tt,{tone:"muted",testId:t},"no runs");if(e.status==="failed")return kt.default.createElement(Tt,{tone:"error",testId:t},"failed");if(e.status==="pending")return kt.default.createElement(Tt,{tone:"warning",testId:t},"queued");if(e.status==="running")return kt.default.createElement(Tt,{tone:"warning",testId:t},"running");if(e.samples_evaluated)return kt.default.createElement(Tt,{tone:fc(Y$(e)),testId:t},`${e.samples_passed||0}/${e.samples_evaluated} passed`);if(e.average_score!=null){let r=Number(e.average_score);return kt.default.createElement(Tt,{tone:r>=.85?"success":r>=.7?"warning":"error",testId:t,title:"mean score across criteria"},`score ${wa(r)}`)}return kt.default.createElement(Tt,{tone:"muted",testId:t},"no samples")}var R$={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},eF=Lo.cost+16,Vue=e=>dw(e).filter(t=>t.samples>0).map(t=>({label:t.label,short:Bo(t.label||"").short||"all samples",passed:t.passed,total:t.samples}));function gg({runs:e=[],runCount:t=null,evaluation:r,agentName:n,selectedId:o=null,onOpen:a,previousRun:i=null,barsFor:l=null,deltaFor:s=null,title:u="Runs",testId:c="suite-runs-panel"}){let{darkMode:d}=Nt(),f=e.map((p,m)=>{let g=ip(p,m,e,t),h=e[m+1]||(m===0&&e.length===1?i:null),v=h?Number.isFinite(h.number)?h.number:g-1:null,y=s?s(p,h,v):vg(p,h,{olderNumber:v}),b=vl(p);return{run:p,number:g,latest:m===0,when:ci(p.completed_at||p.created_at),meta:`@${n||r?.agent?.name||"agent"} \xB7 ${pc(r,p)} \xB7 ${cw(r,p)}`,bars:l?l(p):Vue(p),delta:y,spend:b,selected:p.id===o}});return kt.default.createElement(H$,{title:u,meta:ME(e,t),testId:c,bodyStyle:{overflowX:"auto"}},f.length===0&&kt.default.createElement(An,null,"[ ] no runs yet"),kt.default.createElement("div",{style:{minWidth:880}},f.map(p=>kt.default.createElement("div",{key:p.run.id,role:"button",tabIndex:0,"data-testid":"evaluation-run","data-run-id":p.run.id,"data-selected":p.selected?"true":"false",onClick:()=>a?.(p.run),onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),a?.(p.run))},className:p.selected?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:"minmax(220px, 1.4fr) minmax(180px, 1fr) auto",gap:16,alignItems:"center",padding:"10px 14px 10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:p.selected?"var(--color-muted)":void 0,borderLeft:`2px solid ${p.selected?"var(--color-accent-ui)":"transparent"}`}},kt.default.createElement("div",{style:{minWidth:0}},kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},kt.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:700,color:"var(--color-text-primary)"}},`Run #${p.number}`),kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},p.when),p.latest&&kt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"}},"latest"),p.run.status==="failed"&&kt.default.createElement(Tt,{tone:"error",size:10,style:{padding:"1px 6px"}},"failed"),(p.run.status==="running"||p.run.status==="pending")&&kt.default.createElement(Tt,{tone:"warning",size:10,style:{padding:"1px 6px"}},p.run.status==="pending"?"queued":"running")),kt.default.createElement("div",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)",marginTop:3,textWrap:"pretty"}},p.meta),p.run.status==="failed"&&p.run.error_message&&kt.default.createElement("div",{style:{fontFamily:ce,fontSize:11,color:"var(--color-error)",marginTop:3,textWrap:"pretty"}},`[!] ${p.run.error_message}`)),kt.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,minWidth:0}},p.bars.map(m=>m.passed==null||m.total==null?kt.default.createElement("div",{key:m.label||"all",style:{display:"flex",alignItems:"center",gap:8}},kt.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)",width:128,flexShrink:0,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:m.label||void 0},m.short),kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},"\u2014")):kt.default.createElement(V$,{key:m.label||"all",label:m.short,passed:m.passed,total:m.total}))),kt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},kt.default.createElement(Jf,{darkMode:d,cells:[{key:"agent",width:eF,title:p.spend?.agent?`Agent: ${At(p.spend.agent.count,mw(p.spend))}${p.spend.agent.perInteraction!=null?` \xB7 ${yl(p.spend.agent.perInteraction)} per interaction`:""}`:void 0,empty:"Agent cost: nothing replayed or sampled in this run",content:p.spend?.agent?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"agent "),jr(p.spend.agent.cost))},{key:"judge",width:eF,title:p.spend?.judge?`Judge: ${At(p.spend.judge.calls,"call")} \xB7 ${fw(p.spend.judge)} \xB7 offline`:void 0,empty:"Judge cost: no judge was asked in this run",content:p.spend?.judge?.cost!=null&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11}},kt.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"judge "),jr(p.spend.judge.cost))},{key:"delta",width:128,title:p.delta?"Samples passed, against the run before":void 0,empty:"Movement is read once the run completes",content:p.delta&&kt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:R$[p.delta.tone]||R$.muted}},p.delta.text)},{key:"badge",width:108,content:kt.default.createElement(IE,{run:p.run,testId:p.latest?"suite-pass-badge":void 0})},{key:"open",width:20,content:kt.default.createElement(Fa,{kind:"link",color:"var(--color-info)",weight:400})}]}))))))}var tF=(e=[],t=null)=>{let r=e[0],n=Number.isFinite(t)?Math.max(t,e.length):e.length;return[At(n,"run"),r?`latest #${ip(r,0,e,t)} ${ci(r.completed_at||r.created_at)}`:null,r?.status==="complete"&&r.samples_evaluated?`${r.samples_passed||0}/${r.samples_evaluated} passed`:null].filter(Boolean).join(" \xB7 ")};var Cn=te(re());function vc({evaluation:e,run:t=null,keys:r=null,spend:n=null,reportPath:o=null,onDelete:a,deleting:i=!1,deleteLabel:l="Delete evaluation"}){let s=(r||(e.criteria||[]).map(p=>p.key)).map(p=>pg(e,p)),u={fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"},c={fontFamily:ce,fontSize:11,color:"var(--color-text-cell)"},d=(p,m,g)=>Cn.default.createElement("span",{"data-testid":m,title:g,style:{...u,fontSize:10,textTransform:"uppercase",letterSpacing:"0.04em",marginLeft:2}},p),f=J$(n);return Cn.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6,paddingTop:12,borderTop:"1px solid var(--color-border-light)"},"data-testid":"criteria-footer"},Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:u},"judge"),Cn.default.createElement("span",{style:{...c,fontWeight:600}},cw(e,t)),Cn.default.createElement("span",{style:{...u,marginLeft:8}},"criteria"),s.length===0&&Cn.default.createElement("span",{style:u},e.judge_kind==="judge_defined"?"defined by the judge on the first run":e.scenario_suite?"each scenario's own expectations":"\u2014"),s.map((p,m)=>Cn.default.createElement(Cn.default.Fragment,{key:p.key||m},m>0&&Cn.default.createElement("span",{style:u},"\xB7"),Cn.default.createElement("span",{style:c,title:op(p)||void 0},uw(p)),di(p)==="telemetry"&&d("telemetry","score-source-telemetry","Scored from the agent's telemetry traces, not from sampled generations"),di(p)==="judge"&&d("judge",void 0,"Scored by the judge model; needs provider credentials")))),Cn.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:16,flexWrap:"wrap",rowGap:4}},Cn.default.createElement("span",{style:{...u,whiteSpace:"nowrap"},title:"Run this evaluation again from the API"},"POST /api/evaluations/",e.id,"/run"),f&&Cn.default.createElement("span",{style:{...u,minWidth:0,textWrap:"pretty"},title:"Estimated spend of this run: the agent's replays or sampled interactions, and the judge's own calls"},f),o&&Cn.default.createElement(rp,{href:Re(o),onClick:()=>Ds(o),title:"The run rendered as a report page"},"run report"),a&&Cn.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),a()},disabled:i,title:"Delete this evaluation and its runs",style:{marginLeft:"auto",background:"transparent",border:"none",padding:0,cursor:i?"not-allowed":"pointer",fontFamily:ce,fontSize:11,color:"var(--color-error)",opacity:i?.5:1}},i?"Deleting\u2026":l)))}var he=te(re());var Rt=te(re());var Kue=e=>e>=.85?"success":e>=.7?"warning":"error";function vw({label:e,children:t,title:r,nowrap:n=!0}){return Rt.default.createElement("span",{style:{whiteSpace:n?"nowrap":"normal"},title:r},e," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},t))}function yg({label:e,short:t,provider:r,winner:n=!1,passed:o,total:a,avgScore:i,criteria:l,latencyMs:s,inputTokens:u,outputTokens:c,cost:d,perInteraction:f,unit:p="interaction",badges:m=[],note:g,testId:h="model-scorecard"}){let v=o!=null&&a>0,y=v?o/a:null,b=v?fc(y):i!=null?Kue(i):"muted",x=ml[b].strong;return Rt.default.createElement(ht,{padding:"14px 16px",testId:h,style:{display:"flex",flexDirection:"column",gap:10,minWidth:0}},Rt.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:14,fontWeight:700,color:"var(--color-text-primary)"},title:e||void 0},t||e||"all samples"),r&&Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},r),n&&Rt.default.createElement(Tt,{tone:"info",size:10,style:{padding:"1px 6px"},testId:"judges-pick"},"judge's pick")),Rt.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1,color:x}},v?`${o}/${a}`:i!=null?wa(i):"\u2014"),Rt.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},v?`${p==="scenario"?"scenarios":"samples"} passed`:i!=null?"mean score":"nothing scored")),Rt.default.createElement("span",{style:{display:"block",height:6,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},Rt.default.createElement("span",{style:{display:"block",height:"100%",borderRadius:999,background:x,width:`${Math.round((y??i??0)*100)}%`}})),Rt.default.createElement("div",{style:{display:"flex",gap:14,flexWrap:"wrap",fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)"}},Rt.default.createElement(vw,{label:"score"},i!=null?Number(i).toFixed(3):"\u2014"),l&&Rt.default.createElement(vw,{label:"criteria"},l.cleared,"/",l.scored),s!=null&&Rt.default.createElement(vw,{label:"latency"},kn(s)),(u!=null||c!=null)&&Rt.default.createElement("span",{style:{whiteSpace:"nowrap"}},Rt.default.createElement("span",{style:{color:"var(--color-token-in)"}},"in")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},NE(u))," \xB7 ",Rt.default.createElement("span",{style:{color:"var(--color-token-out)"}},"out")," ",Rt.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},NE(c))),d!=null&&Rt.default.createElement(vw,{label:"cost",title:`What the agent spent under this model${f!=null?` \u2014 ${yl(f)} per ${p}`:""}`},jr(d),f!=null&&Rt.default.createElement("span",{style:{fontWeight:400,color:"var(--color-text-muted)"}},` \xB7 ${yl(f)} / ${p}`))),(m.length>0||g)&&Rt.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap",alignItems:"center"}},m.map(S=>Rt.default.createElement(Tt,{key:S.text,tone:S.tone,testId:S.testId},S.text)),g&&Rt.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:g.color||"var(--color-text-muted)"}},g.text)))}var Is=e=>[...new Set(e)],hg=e=>String(e||"").replace(/_/g," "),js=e=>e?.status==="passed",gc=e=>!!e&&e.status!=="pending",yc=e=>!!e&&["pending","running"].includes(e.status),gw=e=>e?.selection||e?.scores?._selection||{},que=e=>(gw(e).models||[]).map(t=>typeof t=="string"?t:t?.label).filter(Boolean);function xg(e,t=[],r=null){if(Array.isArray(e?.models)&&e.models.length)return e.models;let n=Object.keys(e?.scores?._models||{});if(n.length)return n;let o=que(e);if(o.length)return o;let a=Is(t.map(l=>bg(e,l)));if(a.length)return a;let i=r?.compare_models||[];return i.length?i:e?["agent's model"]:[]}function bg(e,t){let n=(gw(e).models||[]).filter(i=>i&&typeof i=="object").find(i=>i.model===t.model&&(i.provider||"")===(t.provider||""));if(n?.label)return n.label;let o=e?.scores?._models||{};if(o[t.model])return t.model;let a=[t.provider,t.model].filter(Boolean).join("/");return o[a]?a:t.model}function zE(e,t){let r=e?.scores?._models?.[t],n=(gw(e).models||[]).find(o=>o&&typeof o=="object"&&o.label===t);return Bo(t,r?.provider||n?.provider||"")}function LE(e,t=[]){let r=gw(e);if(Array.isArray(r.scenario_keys)&&r.scenario_keys.length)return r.scenario_keys;if(!e)return[];if(Array.isArray(r.keys)&&r.keys.length)return r.keys;if(Array.isArray(r.scenario_ids)&&r.scenario_ids.length){let o=r.scenario_ids.map(String);return t.filter(a=>o.includes(String(a.id))).map(a=>a.key)}let n=t.filter(o=>o.enabled!==!1);return r.group?n.filter(o=>o.group===r.group).map(o=>o.key):yc(e)?n.map(o=>o.key):[]}function lp(e,t=[],r=[]){let n=LE(e,r);if(n.length)return n.length;let o=Object.values(e?.scores?._models||{});return o.length?Math.max(...o.map(a=>a.scenarios||0)):e?.samples_evaluated&&t.length?Math.round(e.samples_evaluated/t.length):0}function BE(e,t,r=[],n=0){let o=e?.scores?._models?.[t];if(o&&o.scenarios!=null)return{passed:o.passed||0,total:o.scenarios||0};let a=r.filter(i=>bg(e,i)===t);return{passed:a.filter(js).length,total:n||a.length}}function rF(e,t=[],r=[],n=[]){if(e?.status==="complete"&&e.samples_evaluated!=null)return{passed:e.samples_passed||0,total:e.samples_evaluated||0};let o=lp(e,r,n)*Math.max(r.length,1);return{passed:t.filter(js).length,total:o}}function nF(e,t=[]){let r=[],n={};return(Array.isArray(e)?e:[]).forEach(o=>{let a=typeof o=="string"?o:String(o?.name||"");a&&(n[a]||(n[a]={name:a,count:0,errored:!1},r.push(a)),n[a].count+=1,o&&typeof o=="object"&&o.error&&(n[a].errored=!0))}),r.map(o=>{let a=n[o],i=t.includes(o);return{...a,hit:i,label:`${o}${a.errored?" \u2717":""}${a.count>1?` \xD7${a.count}`:""}`,color:a.errored?"var(--color-error)":i?"var(--color-success-text)":"var(--color-text-muted)",weight:a.errored||i?600:400}})}var Gue=(e,t)=>{let r=String(e||"").trim();return r.length>t?`${r.slice(0,t-1)}\u2026`:r},jE=e=>e?.diagnosis?.judge?.instruction_change;function oF(e,t=[]){let r=e?.scores?._recommendations||[];if(Array.isArray(e?.fix_items)){let a=r.length>0||t.some(jE);if(e.fix_items.length>0||!a)return e.fix_items}let n=r.map(a=>Yue(a,t)),o=new Set;return t.forEach(a=>{let i=jE(a);if(!i||o.has(i))return;o.add(i);let l=t.filter(s=>jE(s)===i);n.push({kind:"instruction",fault:"instruction change",count:l.length,scenario_keys:Is(l.map(s=>s.scenario_key)),models:Is(l.map(s=>bg(e,s))),recommendation:a.diagnosis.judge.recommendation||a.recommendation||"",quote:i,tools_label:null,tools:[],server:null,note:null,action:{label:"Add to instructions",hint:"Agent -> Instructions",path:null}})}),n}function Yue(e,t){let r=e.fault,n=t.filter(u=>u.fault===r),o=(e.suggested_tools||[]).map(u=>typeof u=="string"?u:u?.name).filter(Boolean),a=null,i=[],l=null,s=null;if(r==="expected_tool_not_called"){a="missing tools";let u=Is(n.flatMap(d=>d.diagnosis?.evidence?.unavailable||[]));u.length||(u=Is(n.flatMap(d=>{let f=d.diagnosis?.evidence||{};return(f.expected||[]).filter(p=>!(f.called||[]).includes(p))}))),i=u.map(d=>({name:d,note:null,server:null}));let c=n.filter(d=>d.diagnosis?.summary&&(d.diagnosis?.evidence?.unavailable||[]).length===0);c.length&&c.length`${d.scenario_key} is the exception: ${d.diagnosis.summary} ${d.diagnosis.recommendation||""}`.trim()).join(" "))}else if(r==="tool_error"){a="failing tools";let u={};n.forEach(c=>(c.tool_calls||[]).forEach(d=>{!d||typeof d!="object"||!d.error||!d.name||u[d.name]||(u[d.name]={name:d.name,note:Gue(d.detail,60)||null,server:null})})),i=Object.values(u),s={label:"Open failing tools",hint:"Tools ->",path:"/tools"}}else a=o.length?"suggested tools":null,i=Is(o).map(u=>({name:u,note:null,server:null}));return!s&&a==="suggested tools"&&i.length&&(s={label:"Open suggested tools",hint:"Tools ->",path:"/tools"}),{kind:"fault",fault:r,count:e.count||n.length,scenario_keys:e.scenario_keys||Is(n.map(u=>u.scenario_key)),models:e.models||[],recommendation:e.recommendation||"",quote:null,tools_label:a,tools:i,server:null,note:l,action:s}}var Nn=(e,t="var(--color-text-muted)",r={})=>({fontFamily:ce,fontSize:e,color:t,...r});function aF({calls:e,empty:t,style:r}){return he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"2px 8px",fontFamily:ce,fontSize:11,...r}},e.map(n=>he.default.createElement("span",{key:n.name,style:{color:n.color,fontWeight:n.weight}},n.label)),e.length===0&&he.default.createElement("span",{style:{color:"var(--color-text-muted)"}},t))}function iF({run:e,columns:t,results:r=[],scenarioCount:n=0,judgedBy:o,verdict:a}){let i=e?.scores?._models||{};return he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10},"data-testid":"suite-models-panel"},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},he.default.createElement(et,null,"Models"),o&&he.default.createElement("span",{style:Nn(11)},`judged by ${o}`)),t.length===0&&he.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[ ] no models scored yet"),t.length>0&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},t.map(l=>{let{short:s,provider:u}=zE(e,l),c=i[l],{passed:d,total:f}=BE(e,l,r,n),p=Object.entries(c?.faults||{}),m=c&&p.length===0?{text:"[+] no faults",color:"var(--color-success-text)"}:!c&&yc(e)?{text:"scoring\u2026"}:null;return he.default.createElement(yg,{key:l,label:l,short:s,provider:u,winner:a?.winner===l,passed:d,total:f,avgScore:c?.avg_score,latencyMs:c?.avg_duration_ms,inputTokens:c?.input_tokens,outputTokens:c?.output_tokens,cost:c?.cost,perInteraction:c?.cost!=null&&c.scenarios?c.cost/c.scenarios:null,unit:"scenario",badges:p.map(([g,h])=>({tone:"error",text:`${hg(g)} \xD7${h}`})),note:m})})),a?.rationale&&he.default.createElement(ht,{padding:"12px 16px",testId:"suite-verdict",style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(et,null,"Verdict"),a.judge&&he.default.createElement("span",{style:Nn(11)},`judged by ${a.judge}`)),he.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},he.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:ce,fontSize:12}},a.winner),a.rationale?` \xB7 ${a.rationale}`:"")))}function lF({items:e,columns:t=[],agentName:r,onNavigate:n,onOpenScenario:o}){let a=i=>{let l=At((i.scenario_keys||[]).length,"scenario");if(i.kind==="instruction")return`${(i.scenario_keys||[]).join(", ")} \xB7 judge suggestion`;let s=Is(i.models||[]);if(t.length<=1||s.length===0)return l;let c=s.length>=t.length?t.length===2?"both models":"all models":s.map(d=>Bo(d).short).join(", ");return`${l} \xB7 ${c}`};return he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},e.map((i,l)=>{let s=i.kind==="instruction",u=s?"info":"error",c=[],d=new Set;(i.tools||[]).forEach(g=>{let h=typeof g=="string"?g:g?.name;!h||d.has(h)||(d.add(h),c.push({name:h,note:typeof g=="object"&&(g.note||g.server?.name)||null}))});let f=i.server,p=f?.status==="enabled",m=r||"the agent";return he.default.createElement("div",{key:`${i.fault}-${l}`,"data-testid":"scenario-recommendation",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},he.default.createElement(Fa,{kind:s?"info":"fault"}),he.default.createElement(Tt,{tone:u},`${hg(i.fault)}${i.count>1?` \xD7${i.count}`:""}`),o&&(i.scenario_keys||[]).length>0?he.default.createElement("button",{type:"button",onClick:()=>o(i.scenario_keys),title:`Show ${(i.scenario_keys||[]).join(", ")} \u2014 the question, the answer and the tools it called`,style:{...Nn(11),background:"none",border:0,padding:0,cursor:"pointer",color:"var(--color-text-link, var(--color-text-primary))",textDecoration:"underline",textUnderlineOffset:2}},a(i)):he.default.createElement("span",{style:Nn(11)},a(i))),i.recommendation&&he.default.createElement("p",{style:{margin:0,fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},i.recommendation),i.quote&&he.default.createElement("div",{style:{background:"var(--color-muted)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",fontStyle:"italic"}},"\u201C",i.quote,"\u201D"),c.length>0&&he.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},i.tools_label||"tools"),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:6}},c.map(g=>he.default.createElement("span",{key:g.name,style:{display:"inline-flex",alignItems:"center",gap:6,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",fontFamily:ce,fontSize:11,maxWidth:"100%"}},he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},g.name),g.note&&he.default.createElement("span",{style:{color:"var(--color-text-muted)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},title:g.note},g.note))))),f&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap",fontSize:12,color:"var(--color-text-cell)"}},he.default.createElement("span",null,"served by"),he.default.createElement("span",{style:{fontWeight:600,color:"var(--color-text-primary)"}},f.name||f.key),he.default.createElement(Tt,{tone:p?"success":"warning",size:10,style:{padding:"1px 6px"}},p?`enabled for ${m}`:`${f.status||"unknown"} \xB7 not enabled for ${m}`)),i.note&&he.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-secondary)",textWrap:"pretty"}},i.note),i.action&&he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto",paddingTop:2,flexWrap:"wrap"}},i.action.path&&he.default.createElement(mr,{size:"sm",onClick:()=>n?.(i.action.path)},i.action.label),i.action.hint&&he.default.createElement("span",{style:{...Nn(11),whiteSpace:"nowrap"}},i.action.hint)))}))}var Xue=e=>`minmax(240px, 1.6fr) 150px ${e.map(()=>"minmax(170px, 1fr)").join(" ")}`;function Zue({result:e,expects:t,pending:r}){if(!e)return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},r?"\u2026":"\u2014");if(!gc(e))return he.default.createElement("span",{style:{...Nn(12),fontWeight:600}},"\u2026");let n=js(e),o=n?"var(--color-success)":"var(--color-error)",a=nF(e.tool_calls,t);return he.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,flexWrap:"wrap",fontFamily:ce,fontSize:12}},he.default.createElement("span",{style:{fontWeight:700,color:o}},n?"[+]":"[!]"),he.default.createElement("span",{style:{fontWeight:600,color:o}},wa(e.score)),e.fault&&he.default.createElement("span",{style:{fontSize:11,color:"var(--color-error-text)"}},hg(e.fault))),he.default.createElement(aF,{calls:a,empty:"no tools called"}))}function sF({rows:e,columns:t,run:r,resultsByKey:n,runKeys:o,running:a,openKey:i,onToggleRow:l,emptyLabel:s,renderDetail:u}){let c=Xue(t),d=e.some(p=>p.group),f=[];return e.forEach(p=>{let m=p.group||"",g=f.find(h=>h.name===m);g||(g={name:m,rows:[]},f.push(g)),g.rows.push(p)}),he.default.createElement("div",{style:{border:"1px solid var(--color-border-light)",borderRadius:10,overflowX:"auto"}},he.default.createElement("div",{style:{minWidth:Math.max(760,400+180*t.length)}},he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"8px 12px",background:"var(--color-muted)",alignItems:"end"}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Scenario"),he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Expects"),t.map(p=>{let{short:m,provider:g}=zE(r,p);return he.default.createElement("span",{key:p,style:{display:"flex",flexDirection:"column",gap:1,minWidth:0},title:p},he.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},m),he.default.createElement("span",{style:Nn(10)},g||"\xA0"))})),f.map(p=>{let m=p.rows.filter(h=>o.has(h.key)||n[h.key]),g=t.map(h=>{let y=m.filter(S=>gc(n[S.key]?.[h])).filter(S=>js(n[S.key][h])).length,b=m.length,x=b&&y===b?"var(--color-success-text)":y===0?"var(--color-error-text)":"var(--color-text-cell)";return{label:h,text:b?`${y}/${b} passed`:"\u2014",color:x}});return he.default.createElement("div",{key:p.name||"__ungrouped"},(p.name||d)&&he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"7px 12px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",alignItems:"center"}},he.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},p.name||"ungrouped"),he.default.createElement("span",{style:Nn(11)},At(p.rows.length,"scenario")),g.map(h=>he.default.createElement("span",{key:h.label,style:{fontFamily:ce,fontSize:11,fontWeight:600,color:h.color}},h.text))),p.rows.map(h=>{let v=i===h.key,y=h.expectations?.tools||[],b=o.has(h.key)||!!n[h.key],x=h.enabled===!1;return he.default.createElement("div",{key:h.key},he.default.createElement("div",{"data-testid":"scenario-row","data-scenario-key":h.key,onClick:()=>l(h.key),className:v?void 0:"hover:bg-[var(--color-hover)]",style:{display:"grid",gridTemplateColumns:c,gap:12,padding:"10px 12px",borderTop:"1px solid var(--color-border-light)",cursor:"pointer",background:v?"var(--color-muted)":void 0,opacity:x?.5:1}},he.default.createElement("div",{style:{minWidth:0}},he.default.createElement("div",{style:{...Nn(11),marginBottom:2}},`${h.key}${x?" \xB7 disabled":""}`),he.default.createElement("div",{style:{fontSize:13,lineHeight:"18px",color:"var(--color-text-primary)",textWrap:"pretty"}},h.prompt)),he.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:4,alignContent:"flex-start",minWidth:0}},y.map(S=>he.default.createElement("span",{key:S,style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"}},S)),y.length===0&&(h.expectations?.contains||[]).map(S=>he.default.createElement("span",{key:`contains-${S}`,style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:"the answer must contain this"},`contains: ${S}`))),t.map(S=>he.default.createElement(Zue,{key:S,result:n[h.key]?.[S],expects:y,pending:a&&b}))),v&&u(h))}))}),e.length===0&&he.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)"}},s||"[+] nothing failed in this group")))}function Que(e){let t=[];return e.duration_ms!=null&&t.push(kn(e.duration_ms)),(e.input_tokens!=null||e.output_tokens!=null)&&t.push(`${Ir((e.input_tokens||0)+(e.output_tokens||0))} tokens`),e.cost!=null&&t.push(jr(e.cost)),t.join(" \xB7 ")}function Jue({label:e,run:t,result:r,expects:n,running:o}){let{short:a}=zE(t,e),i=he.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"},title:e},a),l=(v,y)=>he.default.createElement("div",{"data-testid":"scenario-result-detail",style:{background:"var(--color-card)",border:"1px solid var(--color-border-light)",borderRadius:10,overflow:"hidden",minWidth:0}},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},i,y),he.default.createElement("div",{style:{padding:"10px 12px",display:"flex",flexDirection:"column",gap:10}},v));if(!r||!gc(r))return l(he.default.createElement("span",{style:Nn(11)},o?"waiting for this replay\u2026":"not part of this run"),he.default.createElement(Tt,{tone:"muted"},o?"pending":"no result"));let u=js(r)?"success":"error",c=nF(r.tool_calls,n),d=r.diagnosis||{},f=d.judge||{},p=r.fault||(r.status==="errored"?"run_error":null),m=[d.summary,d.recommendation||r.recommendation].filter(Boolean).join(" ")||r.error_message||"",g=Object.entries(r.scores||{}),h=Que(r);return l(he.default.createElement(he.default.Fragment,null,he.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap",fontFamily:ce,fontSize:11}},he.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"tools"),he.default.createElement(aF,{calls:c,empty:"none called",style:{display:"contents"}})),p&&he.default.createElement("div",{style:{background:"var(--color-error-soft)",borderRadius:8,padding:"8px 10px",fontSize:12,lineHeight:"18px",color:"var(--color-error-text)",textWrap:"pretty"}},he.default.createElement("span",{style:{fontFamily:ce,fontWeight:700}},`[!] ${hg(p)}`),m?` \u2014 ${m}`:"",f.suggested_tool?.name&&he.default.createElement("div",{style:{marginTop:4,fontFamily:ce,fontSize:11}},`suggested tool: ${f.suggested_tool.name}${f.suggested_tool.description?` \u2014 ${f.suggested_tool.description}`:""}`),f.instruction_change&&he.default.createElement("div",{style:{marginTop:4,fontStyle:"italic"}},`instruction change: \u201C${f.instruction_change}\u201D`)),r.output?he.default.createElement("div",{style:{fontFamily:"var(--font-text)",fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",maxHeight:190,overflow:"auto",whiteSpace:"pre-wrap",textWrap:"pretty"}},r.output):he.default.createElement("div",{style:Nn(11)},"answer not retained for this run"),g.length>0&&he.default.createElement("div",{style:{...Nn(11),display:"flex",flexWrap:"wrap",gap:"2px 10px"},title:"score per criterion"},g.map(([v,y])=>he.default.createElement("span",{key:v},hg(v)," ",he.default.createElement("span",{style:{color:"var(--color-text-secondary)"}},y==null?"skipped":wa(y)))))),he.default.createElement(he.default.Fragment,null,he.default.createElement(Tt,{tone:u},r.score==null?r.status:`${r.status} \xB7 ${wa(r.score)}`),h&&he.default.createElement("span",{style:{marginLeft:"auto",...Nn(11)}},h)))}function uF({scenario:e,run:t,columns:r,resultsByKey:n,running:o,inRun:a=!0,onRerun:i,onToggleEnabled:l,canMutate:s=!0}){let u=e.expectations?.tools||[],c=n[e.key]||{},d=r.some(p=>c[p]),f=a||d;return he.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"12px 12px 14px"},"data-testid":"scenario-drilldown"},he.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10,flexWrap:"wrap"}},he.default.createElement("span",{style:Nn(11)},e.key),he.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-cell)"}},"expects"),he.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--color-text-primary)"}},u.join(" or ")||"\u2014"),s&&he.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14}},he.default.createElement("button",{type:"button",onClick:p=>{p.stopPropagation(),l?.(e)},title:e.enabled===!1?"Enable this scenario":"Disable this scenario",style:{background:"transparent",border:"none",padding:0,cursor:"pointer",fontFamily:ce,fontSize:11,color:e.enabled===!1?"var(--color-text-muted)":"var(--color-text-cell)"}},e.enabled===!1?"[ ] enabled":"[x] enabled"),he.default.createElement(rp,{onClick:()=>i?.(e),title:"Run only this scenario under the selected models"},"re-run scenario"))),e.notes&&he.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-secondary)",marginBottom:10}},e.notes),e.catalogChanged&&he.default.createElement("div",{style:{fontSize:12,color:"var(--color-text-secondary)",marginBottom:10}},"This run used an earlier version of this question. Re-running uses the current catalog."),t?f?he.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12}},r.map(p=>he.default.createElement(Jue,{key:p,label:p,run:t,result:c[p],expects:u,running:o}))):he.default.createElement("div",{style:Nn(11)},"Not part of this run \u2014 use \u201Cre-run scenario\u201D to replay it."):he.default.createElement("div",{style:Nn(11)},"No runs yet \u2014 use \u201Cre-run scenario\u201D to replay this one on its own."))}var $E=()=>document.querySelector('meta[name="csrf-token"]')?.content;function Rue(e){let t=[],r=null;return e.forEach(n=>{(n.group||"")!==(r||"")&&(r=n.group,r&&t.push(`# ${r}`));let o=[],a=n.expectations||{};a.tools?.length&&o.push(`tools: ${a.tools.join(", ")}`),a.contains?.length&&o.push(`contains: ${a.contains.join(", ")}`),a.not_contains?.length&&o.push(`not_contains: ${a.not_contains.join(", ")}`),n.notes&&o.push(`notes: ${n.notes}`),o.push(`key: ${n.key}`),t.push(`${n.prompt} | ${o.join(" | ")}`)}),t.join(` +`)}var ece=e=>{let{results:t,fix_items:r,...n}=e;return n},cF={padding:"6px 10px",borderRadius:8,fontSize:12,fontFamily:ce,background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function FE({evaluation:e,onChanged:t,onDelete:r,deleting:n=!1,initialRunId:o=null,onRunSelected:a}){let i=e.id,l=e.agent?.name||"Agent",[s,u]=(0,Ie.useState)(!1),[c,d]=(0,Ie.useState)(null),[f,p]=(0,Ie.useState)([]),[m,g]=(0,Ie.useState)(e.scenario_groups||[]),[h,v]=(0,Ie.useState)(e.latest_run?[e.latest_run]:[]),[y,b]=(0,Ie.useState)(null),[x,S]=(0,Ie.useState)(e.latest_run?.id??null),[w,T]=(0,Ie.useState)({}),[k,A]=(0,Ie.useState)((e.compare_models||[]).join(", ")),[M,H]=(0,Ie.useState)(null),[F,X]=(0,Ie.useState)(!1),[P,Y]=(0,Ie.useState)(!1),[C,_]=(0,Ie.useState)(""),[z,D]=(0,Ie.useState)(null),[E,j]=(0,Ie.useState)(null),[R,U]=(0,Ie.useState)(!1),[L,K]=(0,Ie.useState)(null),[ae,de]=(0,Ie.useState)(0),ze=(0,Ie.useCallback)(async()=>{let ve=await fetch(`/api/evaluations/${i}/scenarios`);if(!ve.ok)return;let Ye=await ve.json();p(Ye.scenarios||[]),g(Ye.groups||[])},[i]),oe=(0,Ie.useCallback)(async()=>{try{let ve=await fetch(`/api/evaluations/${i}`);if(!ve.ok)return d(`Could not load this suite (HTTP ${ve.status})`),null;let zt=(await ve.json()).evaluation||{};return p(zt.scenarios||[]),g(zt.scenario_groups||[]),v(zt.runs||[]),b(Number.isFinite(zt.run_count)?zt.run_count:null),d(null),zt}catch(ve){return d(`Could not load this suite: ${ve.message}`),null}finally{u(!0)}},[i]),Ee=(0,Ie.useCallback)(async ve=>{if(!ve)return null;let Ye=await fetch(`/api/evaluations/${i}/runs/${ve}`);if(!Ye.ok)return null;let qt=(await Ye.json()).run;return qt?(T(ar=>({...ar,[qt.id]:qt})),v(ar=>ar.map(_n=>_n.id===qt.id?{..._n,...ece(qt)}:_n)),qt):null},[i]);(0,Ie.useEffect)(()=>{let ve=!1;return(async()=>{let Ye=await oe();if(ve)return;let zt=Ye?.runs?.[0]?.id??null,qt=o&&Ye?.runs?.some(ar=>ar.id===o)?o:null;S(ar=>qt||(ar&&Ye?.runs?.some(_n=>_n.id===ar)?ar:zt)),(qt||zt)&&Ee(qt||zt)})(),()=>{ve=!0}},[oe,Ee]);let V=e.latest_run?.id??null;(0,Ie.useEffect)(()=>{!V||h.some(ve=>ve.id===V)||oe()},[V,h,oe]);let I=w[x]||h.find(ve=>ve.id===x)||null,N=h[0]||null,O=yc(I)?I.id:yc(N)?N.id:null;(0,Ie.useEffect)(()=>{if(!O)return;let ve=!1,Ye=setTimeout(async()=>{let zt=null;try{zt=await Ee(O)}catch{zt=null}if(!ve){if(zt&&!yc(zt)){await oe(),t?.();return}de(qt=>qt+1)}},3e3);return()=>{ve=!0,clearTimeout(Ye)}},[O,ae,Ee,oe,t]);let Z=k.split(",").map(ve=>ve.trim()).filter(Boolean),B=async ve=>{X(!0),H(null);try{let Ye=await fetch(`/api/evaluations/${i}/run`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({...ve,models:Z})}),zt=await Ye.json().catch(()=>({}));if(!Ye.ok)throw new Error((zt.errors||[zt.error]).filter(Boolean).join(", ")||"Run failed to start");let qt=zt.run;v(ar=>[qt,...ar.filter(_n=>_n.id!==qt.id)]),b(ar=>ar==null?null:ar+1),T(ar=>({...ar,[qt.id]:{...qt,results:[]}})),S(qt.id),K(null),t?.()}catch(Ye){H(Ye.message)}finally{X(!1)}},we=ve=>{S(ve),K(null),w[ve]||Ee(ve)};(0,Ie.useEffect)(()=>{!o||o===x||!h.some(ve=>ve.id===o)||we(o)},[o]);let ee=async ve=>{ve.id&&(await fetch(`/api/evaluations/${i}/scenarios/${ve.id}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({scenario:{enabled:ve.enabled===!1}})}),await ze())},ue=async()=>{D(null);let ve=await fetch(`/api/evaluations/${i}/scenarios`,{method:"PUT",headers:{"Content-Type":"application/json","X-CSRF-Token":$E()},body:JSON.stringify({scenarios_text:C})}),Ye=await ve.json().catch(()=>({}));if(!ve.ok){D((Ye.errors||[Ye.error]).filter(Boolean).join(", ")||"Could not save scenarios");return}p(Ye.scenarios||[]),g(Ye.groups||[]),Y(!1),t?.()},W=I,xe=(0,Ie.useMemo)(()=>(W?.results||[]).filter(ve=>ve&&ve.scenario_key),[W]),De=(0,Ie.useMemo)(()=>xg(W,xe,e),[W,xe,e]),Ge=(0,Ie.useMemo)(()=>xe.reduce((ve,Ye)=>((ve[Ye.scenario_key]||={})[bg(W,Ye)]=Ye,ve),{}),[xe,W]),it=(0,Ie.useMemo)(()=>new Set(LE(W,f)),[W,f]),zn=yc(W),$o=lp(W,De,f),Fo=rF(W,xe,De,f),Uo=(0,Ie.useCallback)(ve=>it.has(ve.key)||!!Ge[ve.key],[it,Ge]),zr=(0,Ie.useMemo)(()=>U$(f,Ge),[f,Ge]),bc=ve=>De.some(Ye=>{let zt=Ge[ve.key]?.[Ye];return gc(zt)&&!js(zt)}),$s=zr.filter(ve=>!E||(ve.group||"")===E).filter(ve=>!R||bc(ve)),Fs=h.findIndex(ve=>ve.id===W?.id),Ig=mg(h,y),jg=Fs>=0?Ig-Fs:null,wc=new Set(zr.filter(Uo).map(ve=>ve.group).filter(Boolean)).size,Lw=xe.filter(gc).length,Bw=$o*Math.max(De.length,1),bl=new Set(xe.filter(ve=>gc(ve)&&!js(ve)).map(ve=>ve.scenario_key)).size,Us=W?.scores?._verdict||null,$w=Object.prototype.hasOwnProperty.call(W?.scores||{},"_judge_label")?W.scores._judge_label||"rules":Us?.judge&&Us.judge!=="pass rate"?Us.judge:e.judge_model||"rules",pp=(0,Ie.useMemo)(()=>W?oF(W,xe):[],[W,xe]),Fw=(0,Ie.useCallback)(ve=>{let Ye=Array.isArray(ve)?ve[0]:ve;Ye&&(j(null),U(!1),K(Ye),requestAnimationFrame(()=>{document.querySelector(`[data-scenario-key="${CSS.escape(Ye)}"]`)?.scrollIntoView({behavior:"smooth",block:"center"})}))},[]),mp=Object.keys(W?.scores||{}).filter(ve=>!ve.startsWith("_")),zg=(0,Ie.useCallback)(ve=>{let Ye=ve.id===W?.id?xe:[],zt=xg(ve,Ye,e),qt=lp(ve,zt,f);return zt.map(ar=>({label:ar,short:Bo(ar).short,...BE(ve,ar,Ye,qt)}))},[W,xe,e,f]),Lg=(0,Ie.useCallback)((ve,Ye,zt)=>{if(!Ye||Ye.status!=="complete"||ve.status!=="complete")return vg(ve,Ye,{olderNumber:zt});let qt=xg(ve,ve.id===W?.id?xe:[],e),ar=xg(Ye,[],e),_n=lp(Ye,ar,f)===lp(ve,qt,f)&&ar.length===qt.length;return vg(ve,Ye,{olderNumber:zt,comparable:_n})},[W,xe,e,f]),vp=s?f.length:e.scenario_count??0,Bg=s?f.filter(ve=>ve.enabled!==!1&&(!E||(ve.group||"")===E)).length:vp,Uw=`Run ${At(Bg,"scenario")}${Z.length?` \xD7 ${At(Z.length,"model")}`:""}`,Ww=W?[Fs>0?`Viewing run #${jg} (latest is #${Ig})`:`Run #${jg??"?"} \xB7 ${ci(W.completed_at||W.created_at)}`,l,`${At($o,"scenario")}${wc?` in ${At(wc,"group")}`:""} \xD7 ${At(De.length,"model")}`,W.status==="failed"?"failed":`${Fo.passed}/${Fo.total} passed`].join(" \xB7 "):`${l} \xB7 ${At(vp,"scenario")}${m.length?` in ${At(m.length,"group")}`:""} \xB7 ${c?"not loaded":s?"no runs yet":"loading\u2026"}`,$g=W&&W.status==="complete"?`/evaluations/${i}/runs/${W.id}/report`:null,Hw=[...new Set([...m,...zr.map(ve=>ve.group).filter(Boolean)])],Vw=[{label:`All ${zr.length||vp}`,value:null}].concat(Hw.map(ve=>({label:s?`${ve} ${zr.filter(Ye=>Ye.group===ve).length}`:ve,value:ve}))),Sc=zr.length===0,Kw=R?"[+] nothing failed in this group":"[ ] no scenarios";return Ie.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:16},"data-testid":"scenario-suite-panel"},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ie.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Ww),zn&&Ie.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"},"data-testid":"suite-run-progress"},`running \xB7 ${Lw} of ${Bw} results in`),Ie.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8,alignItems:"center",flexWrap:"wrap"}},Ie.default.createElement(mr,{size:"sm",onClick:()=>{_(Rue(f)),D(null),Y(!P)}},P?"Cancel":"Edit scenarios"),Ie.default.createElement("input",{type:"text",value:k,onChange:ve=>A(ve.target.value),placeholder:"models, e.g. gpt-5-mini, ollama/qwen3:8b",style:{...cF,width:250},title:"Comma-separated. Prefix with a provider (ollama/qwen3:8b) when the name alone is ambiguous; blank runs the agent's own model."}),Ie.default.createElement(mr,{variant:"primary",size:"sm",disabled:F||!s||Bg===0,onClick:()=>B(E?{group:E}:{}),testId:"suite-run-button"},F?"Starting\u2026":Uw))),(c||M||W?.status==="failed")&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)",background:"var(--color-error-soft)",borderRadius:8,padding:"8px 12px"}},c||M||`Run failed: ${W.error_message||"unknown error"}`),P&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:8}},Ie.default.createElement("textarea",{value:C,onChange:ve=>_(ve.target.value),rows:Math.min(Math.max(f.length+4,6),24),style:{...cF,width:"100%",boxSizing:"border-box",lineHeight:"18px"}}),Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,fontSize:12,color:"var(--color-text-muted)",flexWrap:"wrap"}},Ie.default.createElement("span",{style:{flex:1,minWidth:240}},"One message per line. ",Ie.default.createElement("code",{style:{fontFamily:ce}},"# Heading")," starts a group; ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| tools: a, b"),", ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| contains: x"),", ",Ie.default.createElement("code",{style:{fontFamily:ce}},"| not_contains: y")," set expectations. Keep a scenario's ",Ie.default.createElement("code",{style:{fontFamily:ce}},"key")," to keep its history."),Ie.default.createElement(mr,{variant:"primary",size:"sm",onClick:ue},"Save scenarios")),z&&Ie.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},z)),Ie.default.createElement(gg,{runs:h,runCount:y,evaluation:e,agentName:l,selectedId:W?.id??null,onOpen:ve=>{we(ve.id),a?.(ve.id)},barsFor:zg,deltaFor:Lg}),Ie.default.createElement(iF,{run:W,columns:W?De:[],results:xe,scenarioCount:$o,judgedBy:$w,verdict:Us}),W&&W.status!=="failed"&&Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},Ie.default.createElement(et,null,"What to fix"),Ie.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},`${At(pp.length,"item")} \xB7 ${At(Math.max(Fo.total-Fo.passed,0),"fault")} across ${At(bl,"scenario")}`)),pp.length>0?Ie.default.createElement(lF,{items:pp,columns:De,agentName:l,onNavigate:Ds,onOpenScenario:Fw}):Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px"}},zn?"[ ] scoring\u2026":"[+] nothing to fix")),Ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},Ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Ie.default.createElement(et,{style:{marginRight:4}},"Scenarios"),Vw.map(ve=>Ie.default.createElement(fo,{key:ve.label,selected:E===ve.value,onClick:()=>j(ve.value)},ve.label)),Ie.default.createElement(fo,{square:!0,mono:!0,selected:R,onClick:()=>U(!R),style:{marginLeft:"auto",background:"transparent"},title:"Hide scenarios that passed on every model"},R?"[x] failed only":"[ ] failed only")),Sc&&c?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"[!] suite not loaded"):Sc&&!s?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"loading\u2026"):Sc?Ie.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10}},"No scenarios yet \u2014 paste some with \u201CEdit scenarios\u201D."):Ie.default.createElement(sF,{rows:$s,columns:W?De:[],run:W,resultsByKey:Ge,runKeys:it,running:zn,openKey:L,onToggleRow:ve=>K(L===ve?null:ve),emptyLabel:Kw,renderDetail:ve=>Ie.default.createElement(uF,{scenario:ve,run:W,columns:W?De:[],resultsByKey:Ge,running:zn,inRun:Uo(ve),canMutate:!ve.orphan,onRerun:Ye=>B({keys:[Ye.key]}),onToggleEnabled:ee})})),Ie.default.createElement(vc,{evaluation:e,run:W,keys:mp.length?mp:null,spend:vl(W),reportPath:$g,onDelete:r,deleting:n,deleteLabel:"Delete suite"}))}var Ue=te(re());var UE=[{type:"response_present",key:"response_present",label:"Response present",config:{}},{type:"min_length",key:"response_length",label:"Response length \u2265 40 chars",config:{chars:40}},{type:"max_latency_ms",key:"latency",label:"Latency \u2264 5s",config:{ms:5e3}},{type:"token_budget",key:"token_budget",label:"Output \u2264 1000 tokens",config:{output_tokens:1e3}}],dF=[{type:"trace_error_rate",key:"trace_error_rate",label:"Trace error rate \u2264 5% (telemetry, 7d)",config:{max_error_rate:5,window_hours:168}},{type:"trace_latency",key:"trace_latency",label:"Avg trace latency \u2264 5s (telemetry, 7d)",config:{max_avg_ms:5e3,window_hours:168}}],tce=()=>document.querySelector('meta[name="csrf-token"]')?.content,hl={padding:"8px 12px",borderRadius:8,fontSize:13,fontFamily:"inherit",boxSizing:"border-box",background:"var(--color-card)",border:"1px solid var(--color-border-strong)",color:"var(--color-text-primary)"};function WE({agents:e,agentId:t,onCreated:r,onCancel:n}){let[o,a]=(0,Ue.useState)({agent_id:t?String(t):"",name:"",sample_size:20,criteria:UE.map(g=>g.key),containsPattern:"",llmJudgePrompt:"",judgeKind:"manual",judgeModel:"",compareModels:"",scenariosText:""}),[i,l]=(0,Ue.useState)(null),[s,u]=(0,Ue.useState)(!1),c=g=>a(h=>({...h,...g})),d=(g,h)=>c({criteria:h?[...o.criteria,g]:o.criteria.filter(v=>v!==g)}),f=()=>{let g=[...UE,...dF].filter(h=>o.criteria.includes(h.key)).map(({key:h,type:v,config:y})=>({key:h,type:v,config:y}));return o.containsPattern.trim()&&g.push({key:"contains",type:"contains",config:{pattern:o.containsPattern.trim()}}),o.llmJudgePrompt.trim()&&g.push({key:"quality",type:"llm_judge",config:{prompt:o.llmJudgePrompt.trim()}}),g},p=async g=>{g.preventDefault(),u(!0),l(null);try{let h=await fetch("/api/evaluations",{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":tce()},body:JSON.stringify({evaluation:{agent_id:o.agent_id,name:o.name,sample_size:o.sample_size,judge_kind:o.judgeKind==="judge_defined"?"judge_defined":o.llmJudgePrompt.trim()?"llm":"rules",judge_model:o.judgeModel.trim()||void 0,compare_models:o.compareModels.split(",").map(y=>y.trim()).filter(Boolean),criteria:o.judgeKind==="judge_defined"?[]:f(),scenarios_text:o.scenariosText.trim()||void 0}})}),v=await h.json().catch(()=>({}));if(!h.ok)throw new Error((v.errors||[v.error]).filter(Boolean).join(", ")||`Failed to create evaluation (HTTP ${h.status})`);r?.(v.evaluation)}catch(h){l(h.message)}finally{u(!1)}},m=g=>Ue.default.createElement("label",{key:g.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},Ue.default.createElement("input",{type:"checkbox",checked:o.criteria.includes(g.key),onChange:h=>d(g.key,h.target.checked),style:{accentColor:"var(--color-accent-ui)"}}),g.label);return Ue.default.createElement(ht,{testId:"new-evaluation-form"},Ue.default.createElement("form",{onSubmit:p,style:{display:"flex",flexDirection:"column",gap:16}},Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Agent"),Ue.default.createElement("select",{required:!0,disabled:!!t,value:o.agent_id,onChange:g=>c({agent_id:g.target.value}),style:{...hl,width:"100%",opacity:t?.7:1}},!t&&Ue.default.createElement("option",{value:""},"Select agent\u2026"),e.map(g=>Ue.default.createElement("option",{key:g.id,value:g.id},g.name)))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Name"),Ue.default.createElement("input",{required:!0,type:"text",value:o.name,onChange:g=>c({name:g.target.value}),placeholder:"Response Quality",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Sample size"),Ue.default.createElement("input",{type:"number",min:"1",max:"100",value:o.sample_size,onChange:g=>c({sample_size:g.target.value}),style:{...hl,width:"100%",fontFamily:ce}}))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"KPI definition"),Ue.default.createElement("select",{value:o.judgeKind,onChange:g=>c({judgeKind:g.target.value}),style:{...hl,width:"100%"}},Ue.default.createElement("option",{value:"manual"},"Manual criteria"),Ue.default.createElement("option",{value:"judge_defined"},"Judge defines KPIs from agent goals"))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Judge model (optional)"),Ue.default.createElement("input",{type:"text",value:o.judgeModel,onChange:g=>c({judgeModel:g.target.value}),placeholder:"e.g. claude-opus-5",style:{...hl,width:"100%",fontFamily:ce,fontSize:12}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Compare models (optional, comma-separated)"),Ue.default.createElement("input",{type:"text",value:o.compareModels,onChange:g=>c({compareModels:g.target.value}),placeholder:"e.g. claude-haiku-4-5, qwen3:8b",style:{...hl,width:"100%",fontFamily:ce,fontSize:12}}))),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Scenarios (optional) \u2014 paste user messages to replay, one per line"),Ue.default.createElement("textarea",{value:o.scenariosText,onChange:g=>c({scenariosText:g.target.value}),rows:o.scenariosText?8:3,placeholder:`# Find records Which catalog items are available? | tools: find_records # Change history -Who updated the description for the sample notebook?`,style:{...ol,width:"100%",fontFamily:ye,fontSize:12,lineHeight:"18px"}}),re.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",re.default.createElement("code",{style:{fontFamily:ye}},"# Heading")," lines group related tasks so they can be run together; ",re.default.createElement("code",{style:{fontFamily:ye}},"| tools: a, b")," names the tool a task should call.")),L.judgeKind==="judge_defined"&&re.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."),L.judgeKind!=="judge_defined"&&re.default.createElement(re.default.Fragment,null,re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},e_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",null,re.default.createElement(rt,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),re.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},t_.map(E=>re.default.createElement("label",{key:E.key,style:{display:"flex",alignItems:"center",gap:8,fontSize:13,color:"var(--color-text-primary)"}},re.default.createElement("input",{type:"checkbox",checked:L.criteria.includes(E.key),onChange:Z=>H({...L,criteria:Z.target.checked?[...L.criteria,E.key]:L.criteria.filter(ge=>ge!==E.key)})}),E.label)))),re.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),re.default.createElement("input",{type:"text",value:L.containsPattern,onChange:E=>H({...L,containsPattern:E.target.value}),placeholder:"e.g. password reset",style:{...ol,width:"100%"}})),re.default.createElement("div",null,re.default.createElement(rt,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),re.default.createElement("input",{type:"text",value:L.llmJudgePrompt,onChange:E=>H({...L,llmJudgePrompt:E.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...ol,width:"100%"}})))),D&&re.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},D),re.default.createElement("div",null,re.default.createElement(zr,{variant:"primary",type:"submit",disabled:N},N?L.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run")))),re.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},re.default.createElement(Xv,{label:"Suites",value:fe.length,sub:$,testId:"stat-suites"}),re.default.createElement(Xv,{label:"Scenario runs",value:le,sub:"latest run of each suite",testId:"stat-scenario-runs"}),re.default.createElement(Xv,{label:"Pass rate",value:I==null?"\u2014":n$(I),valueColor:I==null?"var(--color-text-muted)":nl[Qu(I)].strong,sub:I==null?"no completed runs yet":`${Te} / ${le} passed`,testId:"stat-pass-rate"}),re.default.createElement(Xv,{label:"Open faults",value:le-Te,sub:`${Xt(K,"fix item")} across ${Xt(De.length,"suite")}`,testId:"stat-open-faults"})),re.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ee.map(E=>{let Z=E.latest_run,ge=j(E.id),Le=!!E.scenario_suite,nt=Z?.status==="complete",Bt=Z?.status==="pending"||Z?.status==="running",ft=Z?.models?.length||(E.compare_models||[]).length||1,En=Z?.samples_passed||0,Bn=Z?.samples_evaluated||0,oa=Bn?En/Bn:0,Mo=(E.criteria||[]).some(fr=>t_.some($n=>$n.key===fr.key)),nc=Le?`@${E.agent?.name||"agent"} \xB7 ${Xt(E.scenario_count||0,"scenario")} \xD7 ${Xt(ft,"model")}`:`@${E.agent?.name||"agent"} \xB7 ${Xt(E.sample_size||0,"sample")}${ft>1?` \xD7 ${Xt(ft,"model")}`:""}`;return re.default.createElement(yr,{key:E.id,padding:0,testId:"evaluation-card","data-telemetry":Mo?"true":"false","data-kind":Le?"suite":"sampling","data-open":ge?"true":"false",style:{overflow:"hidden"}},re.default.createElement("div",{onClick:()=>P(E.id),className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:12,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},re.default.createElement(Ju,{kind:"chevron",open:ge}),re.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:Le?"scenario suite":"sampling evaluation"},Le?"=":"~"),re.default.createElement("span",{style:{fontSize:14,fontWeight:600,color:"var(--color-text-primary)"}},E.name),re.default.createElement("span",{style:Ro(11)},nc),re.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:14,flexShrink:0}},re.default.createElement("span",{style:Ro(11)},Hf(Z?.completed_at||Z?.created_at||E.created_at)),Z?.status==="failed"&&re.default.createElement("span",{style:Ro(11,"var(--color-error)")},"failed"),Bt&&re.default.createElement("span",{style:Ro(11)},Z.status==="pending"?"queued":"running"),!Z&&re.default.createElement("span",{style:Ro(11)},"no runs"),nt&&Le&&re.default.createElement("span",{style:Ro(11)},Xt(Bn-En,"fault")),nt&&Le&&re.default.createElement(or,{tone:Qu(oa),testId:"suite-pass-badge"},`${En}/${Bn} passed`),nt&&!Le&&Z.average_score!=null&&re.default.createElement(or,{tone:g$(Z.average_score),title:"mean score across criteria"},`score ${Ru(Z.average_score)}`),nt&&!Le&&Bn>0&&re.default.createElement(or,{tone:Qu(oa)},`${En}/${Bn} passed`))),ge&&re.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},Le?re.default.createElement(RE,{evaluation:E,onChanged:z,onDelete:()=>G(E),deleting:M===E.id}):re.default.createElement(re.default.Fragment,null,Z?.status==="failed"?re.default.createElement("div",{style:{padding:16,fontSize:13,color:"var(--color-error-text)"}},Z.error_message):Z?.scores?re.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12}},Z.scores._verdict&&re.default.createElement("div",{style:{padding:"10px 12px",borderRadius:10,border:"1px solid var(--color-border-light)",display:"flex",flexDirection:"column",gap:6}},re.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},re.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},Z.scores._verdict.winner),re.default.createElement(or,{tone:"info",size:10,style:{padding:"1px 6px"}},"judge's pick"),re.default.createElement("span",{style:{marginLeft:"auto",...Ro(11)}},`judged by ${Z.scores._verdict.judge}`)),re.default.createElement("div",{style:{fontSize:12,lineHeight:"18px",color:"var(--color-text-cell)",textWrap:"pretty"}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)",style:{marginRight:8}},"Verdict"),Z.scores._verdict.rationale)),Z.scores._missing_models&&re.default.createElement("div",{style:{fontSize:12,fontStyle:"italic",color:"var(--color-text-muted)"}},"No recorded generations for: ",Z.scores._missing_models.join(", ")," \u2014 run the agent under those models first"),Object.entries(Z.scores).filter(([fr])=>!fr.startsWith("_")).map(([fr,$n])=>Ne($n)?re.default.createElement("div",{key:fr,style:{display:"flex",flexDirection:"column",gap:4}},re.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-secondary)"}},fr.replace(/_/g," ")),Object.entries($n).map(([ri,ac])=>re.default.createElement(v$,{key:ri,label:ri,score:ac,indent:!0,mono:!0}))):re.default.createElement(v$,{key:fr,label:fr,score:$n}))):re.default.createElement("div",{style:{padding:16,...Ro(11)}},"[ ] no runs yet"),re.default.createElement("div",{style:{padding:16,background:"var(--color-background)",display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(160px, 1fr))",gap:16,fontSize:13}},re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Judge"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},E.judge_kind==="judge_defined"?`judge-defined KPIs${E.judge_model?` (${E.judge_model})`:""}`:E.judge_kind==="llm"?E.judge_model||"llm judge":"rules")),re.default.createElement("div",{style:{gridColumn:"span 2",minWidth:0}},re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Criteria"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)",textWrap:"pretty"}},(E.criteria||[]).map(fr=>String(fr.key).replace(/_/g," ")).join(" \xB7 ")||"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Samples"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"}},nt&&Bn>0?`${En} / ${Bn} passed`:"\u2014")),re.default.createElement("div",null,re.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Last run"),re.default.createElement("div",{style:{marginTop:4,fontFamily:ye,fontSize:12,color:"var(--color-text-primary)"},title:"Estimated cost, tokens and wall-clock runtime of the latest run"},nue(Z?.usage)||"\u2014")),re.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",justifyContent:"flex-end",gap:8}},re.default.createElement(zr,{size:"sm",onClick:fr=>{fr.stopPropagation(),F(E.id)},disabled:k===E.id},k===E.id?"Running\u2026":"Run again"),re.default.createElement(zr,{variant:"danger",size:"sm",onClick:fr=>{fr.stopPropagation(),G(E)},disabled:M===E.id,title:"Delete this evaluation and its runs"},M===E.id?"Deleting\u2026":"Delete"))))))})),ee.length===0&&!w&&re.default.createElement(yr,{style:{textAlign:"center",padding:"48px 20px"}},re.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),re.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models")))}var Ce=te(ne());var aue=e=>new Date(`${e}T00:00:00`),oue=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function n_({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=kt(),a=Fa(n),[o,i]=(0,Ce.useState)(null),[l,s]=(0,Ce.useState)(!0),{timeWindow:u,days:c}=Qo(),[d,f]=(0,Ce.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,Ce.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},g=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!o)return Ce.default.createElement("div",{className:"flex items-center justify-center h-64"},Ce.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let y=o?.runs_by_day?.length>0?Math.max(...o.runs_by_day.map(x=>x.count)):1,b=r?"overview":d;return Ce.default.createElement("div",{className:"space-y-6"},r?Ce.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&Ce.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),Ce.default.createElement(Jo,null)):Ce.default.createElement("div",{className:"flex items-center justify-between"},Ce.default.createElement("div",{className:"flex items-center space-x-4"},Ce.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:a.textMuted}},Ce.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Ce.default.createElement("div",null,Ce.default.createElement("h1",{className:"text-2xl font-bold",style:{color:a.textPrimary}},e.name," Analytics"),Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Performance metrics and usage data"))),Ce.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&Ce.default.createElement("span",{className:"text-xs",style:{color:a.textMuted},title:"This view aggregates by day"},"showing 1 day"),Ce.default.createElement(Jo,null))),!r&&Ce.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:a.mutedBg}},oue.map(x=>Ce.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:a.cardBg,color:a.textPrimary}:{color:a.textSecondary}},x.label))),b==="traces"&&Ce.default.createElement(Zu,{agentClass:p,embedded:!0}),b==="interactions"&&Ce.default.createElement(rl,{agentId:e.id,embedded:!0}),b==="overview"&&Ce.default.createElement(Ce.default.Fragment,null,Ce.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},Ce.default.createElement(U1,{title:"Total Runs",value:o?.summary?.total_runs||0,icon:Ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:a,darkMode:n}),Ce.default.createElement(U1,{title:"Success Rate",value:`${o?.summary?.success_rate||0}%`,icon:Ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"green",colors:a,darkMode:n}),Ce.default.createElement(U1,{title:"Avg Duration",value:g(o?.summary?.avg_duration_ms),icon:Ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"blue",colors:a,darkMode:n}),Ce.default.createElement(U1,{title:"Total Tokens",value:h(o?.summary?.total_tokens),icon:Ce.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"})),color:"purple",colors:a,darkMode:n})),Ce.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Ce.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},Ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Runs Over Time"),o?.runs_by_day?.length>0?Ce.default.createElement("div",{className:"h-48"},Ce.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},o.runs_by_day.map((x,S)=>Ce.default.createElement("div",{key:x.date,className:"flex-1 flex flex-col items-center group"},Ce.default.createElement("div",{className:"relative w-full"},Ce.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${x.count/y*150}px`,minHeight:x.count>0?"4px":"0"}}),Ce.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap"},x.count," runs")),(S===0||S===o.runs_by_day.length-1||o.runs_by_day.length<=7)&&Ce.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:a.textMuted}},aue(x.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):Ce.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:a.textMuted}},"No data for this period")),Ce.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},Ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Status Breakdown"),Object.keys(o?.status_breakdown||{}).length>0?Ce.default.createElement("div",{className:"space-y-3"},Object.entries(o.status_breakdown).map(([x,S])=>{let w=o?.summary?.total_runs||1,O=(S/w*100).toFixed(1);return Ce.default.createElement("div",{key:x},Ce.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Ce.default.createElement("span",{className:"capitalize",style:{color:a.textSecondary}},x),Ce.default.createElement("span",{className:"font-medium",style:{color:a.textPrimary}},S," (",O,"%)")),Ce.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:a.trackBg}},Ce.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${O}%`}})))})):Ce.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:a.textMuted}},"No runs yet"))),o?.recent_errors?.length>0&&Ce.default.createElement("div",{className:"rounded-xl border p-6",style:{background:a.cardBg,borderColor:a.cardBorder}},Ce.default.createElement("h3",{className:"font-semibold mb-4",style:{color:a.textPrimary}},"Recent Errors"),Ce.default.createElement("div",{className:"space-y-3"},o.recent_errors.map(x=>Ce.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},Ce.default.createElement("svg",{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ce.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})),Ce.default.createElement("div",{className:"flex-1 min-w-0"},Ce.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},x.error||"Unknown error"),Ce.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.created_at).toLocaleString())))))),Ce.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},Ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Completed Runs"),Ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},o?.summary?.completed_runs||0)),Ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Failed Runs"),Ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},o?.summary?.failed_runs||0)),Ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Avg Tokens/Run"),Ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},h(o?.summary?.avg_tokens_per_run))),Ce.default.createElement("div",{className:"rounded-lg p-4",style:{background:a.innerBg}},Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},"Period"),Ce.default.createElement("p",{className:"text-2xl font-bold",style:{color:a.textPrimary}},o?.period_days||30," days")))))}var y$={rose:["#dc2626","rgba(220,38,38,0.18)","#fee2e2"],green:["#16a34a","rgba(22,163,74,0.18)","#dcfce7"],blue:["#2563eb","rgba(37,99,235,0.18)","#dbeafe"],purple:["#7c3aed","rgba(124,58,237,0.18)","#ede9fe"]};function U1({title:e,value:t,icon:r,color:n,colors:a,darkMode:o}){let[i,l,s]=y$[n]||y$.rose;return Ce.default.createElement("div",{className:"rounded-xl border p-4",style:{background:a.cardBg,borderColor:a.cardBorder}},Ce.default.createElement("div",{className:"flex items-center justify-between"},Ce.default.createElement("div",null,Ce.default.createElement("p",{className:"text-sm",style:{color:a.textSecondary}},e),Ce.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:a.textPrimary}},t)),Ce.default.createElement("div",{className:"p-3 rounded-lg",style:{background:o?l:s,color:i}},r)))}var ae=te(ne());var iue=["agent_defined","dashboard","mcp"],o_={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},lue={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},W1=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],i_=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},l_=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let a=Math.floor(n/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`},a_=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function F1(e,t=[]){let r=new Map;(t||[]).forEach(a=>{let o=a_(a);o&&r.set(o,a)});let n={};return(e.services||[]).forEach(a=>{let o=r.get(a.key),i=o&&typeof o=="object"&&Array.isArray(o.tools)?o.tools.map(l=>String(l&&l.name?l.name:l)):null;n[a.key]={on:r.has(a.key),tools:Object.fromEntries((a.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var h$=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function x$(e,t,{query:r="",filter:n=null}={}){let a=h$(r);return(e.services||[]).filter(o=>n?n==="enabled"?t[o.key]?.on:o.status===n:!0).filter(o=>a(o.name,o.description)||(o.tools||[]).some(i=>a(i.name))).map(o=>{let i=t[o.key]||{on:!1,tools:{}},l=o.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...o,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let a=t[n.key];!a||!a.on||(n.tools||[]).forEach(o=>{a.tools[o.name]&&r.push({...o,key:`${n.key}:${o.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function b$(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(a=>({...a,on:a.editable?n.has(a.key):a.enabled!==!1})).concat(sue(e,t).map(a=>({...a,on:!0})))}function w$(e,t,r,{query:n="",source:a=null,enabledOnly:o=!1}={}){let i=h$(n),l=b$(e,t,r),s=l.filter(u=>!a||u.source===a).filter(u=>!o||u.on).filter(u=>i(u.name,u.description));return iue.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:o_[u],meta:`${lue[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function S$(e,t,r,{range:n="7d"}={}){let a=b$(e,t,r),o=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=a.filter(p=>p.source!=="mcp"&&p.on),u=a.filter(p=>p.source==="mcp"),c=a.reduce((p,m)=>p+(m.calls||0),0),d=a.reduce((p,m)=>p+(m.errors||0),0),f=a.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:o?String(c):"\u2014",sub:o?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:o?String(f):"\u2014",sub:"enabled but unused in this window",tone:o&&f>6?"warning":null}]}function A$(e,t,r){let n=F1(e,t.mcpServers),a=F1(e,r.mcpServers),o=0;Object.keys(n).forEach(s=>{n[s].on!==a[s].on&&(o+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==a[s].tools[u]&&(o+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(o+=1)}),o}function k$(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=a_(i);l&&n.set(l,i)});let a=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=a_(i);l&&!o.has(l)&&a.push(i)}),a}function s_(e,t=[]){let r=new Set((e.tools||[]).filter(o=>o.editable).map(o=>o.key)),n=(t||[]).map(String).filter(o=>!r.has(o)),a=(e.tools||[]).filter(o=>o.editable&&t.includes(o.key)).map(o=>o.key);return n.concat(a)}var uue={active:"success",configured:"info",available:"warning",idle:"muted"},cue={agent_defined:"success",dashboard:"success",mcp:"info"},N$="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",C$="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",due=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],E$={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ye,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},ei={fontFamily:ye,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},H1={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function fue({on:e,onClick:t,title:r}){return ae.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ae.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function _$({on:e,dim:t=!1}){return ae.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ye,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function V1({children:e,onClick:t,disabled:r,title:n}){return ae.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ye,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function O$({children:e}){return ae.default.createElement("div",{style:{overflowX:"auto"}},ae.default.createElement("div",{style:{minWidth:800}},e))}function u_({agent:e,formData:t,updateField:r,onSave:n,hasChanges:a=!1,isLoading:o}){let[i,l]=(0,ae.useState)(null),[s,u]=(0,ae.useState)(null),[c,d]=(0,ae.useState)("7d"),[f,p]=(0,ae.useState)(""),[m,g]=(0,ae.useState)(null),[h,v]=(0,ae.useState)(null),[y,b]=(0,ae.useState)(!1),[x,S]=(0,ae.useState)(null),[w,O]=(0,ae.useState)({}),k=(W1.find(I=>I.value===c)||W1[1]).hours;(0,ae.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(C=>{if(!C.ok)throw new Error(`Request failed (${C.status})`);return C.json()}).then(C=>{I||l(C)}).catch(C=>{I||u(C.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ae.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,W=(0,ae.useMemo)(()=>t.tools||[],[t.tools]),L=(0,ae.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),H=(0,ae.useMemo)(()=>F1(M,L),[M,L]),D=(0,ae.useMemo)(()=>x$(M,H,{query:f,filter:m}),[M,H,f,m]),Y=(0,ae.useMemo)(()=>w$(M,H,W,{query:f,source:h,enabledOnly:y}),[M,H,W,f,h,y]),N=(0,ae.useMemo)(()=>S$(M,H,W,{range:c}),[M,H,W,c]),_=(0,ae.useMemo)(()=>A$(M,{tools:W,mcpServers:L},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,W,L,e]),z=M.usage_available!==!1,j=I=>z?I:"\u2014",P=(0,ae.useCallback)(I=>{r("mcp_servers",k$(M,I,L))},[M,L,r]),B=(0,ae.useCallback)(I=>{let C=H[I.key];P({...H,[I.key]:{...C,on:!C.on}})},[H,P]),R=(0,ae.useCallback)((I,C)=>{let T=H[I.key];T.on&&P({...H,[I.key]:{...T,tools:{...T.tools,[C.name]:!T.tools[C.name]}}})},[H,P]),F=(0,ae.useCallback)((I,C)=>{let T=H[I.key],X=Object.fromEntries((I.tools||[]).map($=>[$.name,C]));P({...H,[I.key]:{on:C||T.on,tools:X}})},[H,P]),G=(0,ae.useCallback)(I=>{if(!I.editable)return;let C=I.on?W.filter(T=>T!==I.key):[...W,I.key];r("tools",s_(M,C))},[M,W,r]),ee=(0,ae.useCallback)((I,C)=>{if(!I.editable)return;let T=C?[...W,...I.keys.filter(X=>!W.includes(X))]:W.filter(X=>!I.keys.includes(X));r("tools",s_(M,T))},[M,W,r]),fe=(0,ae.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>H[I.key]?.on),De=Y.find(I=>I.source==="mcp"),Te=Y.filter(I=>I.source!=="mcp").reduce((I,C)=>I+C.enabledCount,0)+(De?De.total:0),K=Y.reduce((I,C)=>I+C.total,0);return s?ae.default.createElement(yr,null,ae.default.createElement(rt,null,"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ae.default.createElement("div",{style:{flex:1,minWidth:260}},ae.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ae.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},"?"),ae.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ae.default.createElement(j1,{options:W1,value:c,onChange:d}))),ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},N.map(I=>ae.default.createElement(yr,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ae.default.createElement(rt,{size:11,spacing:"0.05em"},I.label),ae.default.createElement("div",{style:{marginTop:6,fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ae.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"MCP services"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",De?De.total:0," tools offered"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!m,onClick:()=>g(null)},"All ",(M.services||[]).length),due.map(I=>ae.default.createElement(al,{key:I.value,selected:m===I.value,onClick:()=>g(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ae.default.createElement(Ff,{href:Ge("/mcp"),onClick:()=>Gv("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:N$,...E$}},ae.default.createElement("span",null,"On"),ae.default.createElement("span",null,"Service"),ae.default.createElement("span",null,"Status"),ae.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ae.default.createElement("span",null)),D.map(I=>{let C=x===I.key;return ae.default.createElement("div",{key:I.key},ae.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:N$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ae.default.createElement(fue,{on:I.on,onClick:()=>B(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ae.default.createElement("div",{onClick:()=>S(C?null:I.key),style:{minWidth:0,cursor:"pointer"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ae.default.createElement(or,{tone:"accent",size:10},"first-party"),!I.known&&ae.default.createElement(or,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ae.default.createElement(or,{tone:"warning",size:10},I.partialLabel)),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},I.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:uue[I.status]||"muted"},I.status)),ae.default.createElement("span",{style:{...ei,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ae.default.createElement("span",{style:ei},j(I.calls)),ae.default.createElement("span",{style:{...ei,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(I.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(I.last_seen))),ae.default.createElement("span",{onClick:()=>S(C?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ae.default.createElement(Ju,{kind:"chevron",open:C}))),C&&ae.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ae.default.createElement(rt,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ae.default.createElement(V1,{onClick:()=>F(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ae.default.createElement(V1,{onClick:()=>F(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ae.default.createElement(aa,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(T=>ae.default.createElement("div",{key:T.name,className:"aa-roster-row",onClick:()=>R(I,T),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ae.default.createElement(_$,{on:T.on,dim:!I.on}),ae.default.createElement("span",{style:{minWidth:0}},ae.default.createElement("span",{style:{display:"block",fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)",...H1}},T.name),ae.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...H1}},T.description)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-muted)"}},j(T.errors?`${T.errors} err`:i_(T.avg_duration_ms)))))),!I.on&&ae.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),D.length===0&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ae.default.createElement(yr,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ae.default.createElement(rt,null,"Tools"),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Te," enabled of ",K," available"),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ae.default.createElement(al,{selected:!h,onClick:()=>v(null)},"All ",K),Y.map(I=>ae.default.createElement(al,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ae.default.createElement(al,{square:!0,mono:!0,selected:y,onClick:()=>b(!y),style:{marginLeft:4}},y?"[x] enabled only":"[ ] enabled only"))),ae.default.createElement(O$,null,ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:C$,...E$}},ae.default.createElement("span",null),ae.default.createElement("span",null,"Tool"),ae.default.createElement("span",null,"Source"),ae.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ae.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ae.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ae.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let C=w[I.source]!==!0;return ae.default.createElement("div",{key:I.source},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ae.default.createElement("span",{onClick:()=>O({...w,[I.source]:C}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ae.default.createElement(Ju,{kind:"chevron",open:C}),ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement(V1,{onClick:()=>ee(I,!0)},"all"),ae.default.createElement(V1,{onClick:()=>ee(I,!1)},"none")))),C&&I.rows.map(T=>ae.default.createElement("div",{key:T.key,className:"aa-roster-row","data-on":T.on?"true":"false","data-testid":`tool-row-${T.key}`,onClick:()=>G(T),style:{display:"grid",gridTemplateColumns:C$,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:T.editable?"pointer":"default",opacity:T.editable?1:.75}},ae.default.createElement(_$,{on:T.on,dim:!T.editable}),ae.default.createElement("div",{style:{minWidth:0}},ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ae.default.createElement("span",{style:{fontFamily:ye,fontSize:12,fontWeight:600,color:T.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},T.name),T.source==="mcp"&&ae.default.createElement(or,{size:10},"via ",T.server),T.source==="agent_defined"&&(T.editable?ae.default.createElement(or,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ae.default.createElement(or,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&T.on&&!T.calls&&ae.default.createElement(or,{size:10},"unused")),ae.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...H1}},T.description)),ae.default.createElement("span",null,ae.default.createElement(or,{tone:cue[T.source]||"muted"},o_[T.source])),ae.default.createElement("span",{style:ei},j(T.calls)),ae.default.createElement("span",{style:{...ei,color:T.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},j(T.errors)),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-secondary)"}},j(i_(T.avg_duration_ms))),ae.default.createElement("span",{style:{...ei,color:"var(--color-text-muted)"}},j(l_(T.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ae.default.createElement(aa,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ae.default.createElement(yr,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ae.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ae.default.createElement(rt,{size:11,spacing:"0.05em"},Te," tools \xB7 ",de.length," services"),ae.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ae.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ae.default.createElement(ae.default.Fragment,null,ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ae.default.createElement(zr,{variant:"secondary",onClick:fe},"Discard")),ae.default.createElement(zr,{variant:a?"primary":"secondary",onClick:n,disabled:o||!a,title:a?"Save this agent":"Nothing to save",style:a?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},o?"Saving\u2026":"Save Changes")))):ae.default.createElement(yr,null,ae.default.createElement(aa,null,"loading the roster\u2026"))}var pue=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],P$=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],mue=P$.map(e=>e.id),T$={success:{light:["#dcfce7","#166534"],dark:["rgba(22,163,74,0.18)","#4ade80"]},warning:{light:["#fef9c3","#854d0e"],dark:["rgba(234,179,8,0.18)","#facc15"]},neutral:{light:["#f3f4f6","#4b5563"],dark:["rgba(255,255,255,0.1)","rgba(255,255,255,0.7)"]},error:{light:["#fee2e2","#991b1b"],dark:["rgba(220,38,38,0.18)","#f87171"]},info:{light:["#dbeafe","#1e40af"],dark:["rgba(59,130,246,0.18)","#60a5fa"]}},vue={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function Ss({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[a,o]=(T$[e]||T$.neutral)[r?"dark":"light"];return ie.default.createElement("span",{style:{background:a,color:o,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Fe.mono:void 0,whiteSpace:"nowrap"}},n)}function Ln({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:a,title:o,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?a.mutedBg:vn,color:n?a.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:a.textCell,border:`1px solid ${a.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return ie.default.createElement("button",{type:"button",onClick:r,disabled:n,title:o,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function M$({tabs:e,active:t,onChange:r,colors:n}){return ie.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(a=>{let o=t===a.id;return ie.default.createElement("button",{key:a.id,type:"button",onClick:()=>r(a.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${o?vn:"transparent"}`,color:o?vn:n.textSecondary,fontSize:"13px",fontWeight:o?600:500,cursor:"pointer",whiteSpace:"nowrap"}},a.label)}))}function K1({agent:e,meta:t,onSave:r,onDelete:n,onRun:a,onDuplicate:o,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=kt(),d=Fa(c),[f,p]=(0,ie.useState)(u||"config"),[m,g]=(0,ie.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,ie.useState)([]),[y,b]=(0,ie.useState)(!1),[x,S]=(0,ie.useState)(""),[w,O]=(0,ie.useState)(od),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let N=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return N.endsWith("Agent")?N:`${N}Agent`})();(0,ie.useEffect)(()=>{let N=!1;return Ky(m.provider).then(_=>{N||_.length===0||O(z=>({...z,[m.provider]:_}))}),()=>{N=!0}},[m.provider]),(0,ie.useEffect)(()=>{let N=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(N)},[m,e]),(0,ie.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(N){console.error("Failed to load versions:",N)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(N){console.error("Failed to load code preview:",N)}},W=(N,_)=>{g(z=>({...z,[N]:_}))},L=(N,_)=>{g(z=>{let j=z[N]||[],P=j.includes(_)?j.filter(B=>B!==_):[...j,_];return{...z,[N]:P}})},H=()=>{r(m)},D=mue.includes(f),Y=f==="tools";return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},ie.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Fe.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),ie.default.createElement(mr,{size:44}),ie.default.createElement("div",{style:{flex:1,minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},ie.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),ie.default.createElement(Ss,{tone:vue[m.status]||"neutral",darkMode:c},m.status),y&&ie.default.createElement(Ss,{tone:"info",darkMode:c},"unsaved")),ie.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},o&&ie.default.createElement(Ln,{variant:"secondary",colors:d,onClick:o},"Duplicate"),ie.default.createElement(Ln,{variant:"primary",colors:d,onClick:a},"Run Agent"))),ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},ie.default.createElement(M$,{tabs:pue,active:f,onChange:p,colors:d}),ie.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),ie.default.createElement(M$,{tabs:P$,active:f,onChange:p,colors:d})),Y?ie.default.createElement(u_,{agent:e,formData:m,updateField:W,onSave:H,hasChanges:y,isLoading:s}):D?ie.default.createElement("div",null,f==="traces"&&ie.default.createElement(Zu,{agentClass:k,embedded:!0}),f==="metrics"&&ie.default.createElement(n_,{agent:e,embedded:!0}),f==="interactions"&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&ie.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},ie.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Fe.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),ie.default.createElement(rl,{agentId:e.id,embedded:!0})),f==="evals"&&ie.default.createElement(eg,{embedded:!0,agentId:e.id}),f==="feedback"&&ie.default.createElement(wue,{colors:d})):ie.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&ie.default.createElement(yue,{formData:m,updateField:W,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&ie.default.createElement(hue,{formData:m,updateField:W,meta:t,toggleArrayItem:L,colors:d}),f==="versions"&&ie.default.createElement(xue,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&ie.default.createElement(bue,{code:x,colors:d})),y&&!Y&&ie.default.createElement("div",{style:{position:"sticky",bottom:"0",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",background:d.cardBg,border:`1px solid ${d.borderStrong}`,borderRadius:"12px",padding:"10px 14px",boxShadow:"0 4px 16px rgba(0,0,0,0.12)"}},ie.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),ie.default.createElement("div",{style:{display:"flex",gap:"8px"}},ie.default.createElement(Ln,{variant:"primary",size:"sm",colors:d,onClick:H,disabled:s},s?"Saving\u2026":"Save Changes"))))}var ti=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),il=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),gue=e=>({fontFamily:Fe.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function yue({formData:e,updateField:t,providerModels:r,colors:n,darkMode:a,onDelete:o}){return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Agent Name"),ie.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:il(n)})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Preset Type"),ie.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:il(n)},Object.keys(nd).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Description"),ie.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...il(n),resize:"vertical"}})),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Provider"),ie.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:il(n)},Object.keys(r).map(i=>ie.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Model"),ie.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...il(n),fontFamily:Fe.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>ie.default.createElement("option",{key:i,value:i},i))))),ie.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Temperature"," ",ie.default.createElement("span",{style:{fontFamily:Fe.mono,color:n.textSecondary}},e.model_config.temperature)),ie.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:vn}})),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(n)},"Status"),ie.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:il(n)},ie.default.createElement("option",{value:"draft"},"Draft"),ie.default.createElement("option",{value:"active"},"Active"),ie.default.createElement("option",{value:"archived"},"Archived")))),o&&ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},ie.default.createElement("div",null,ie.default.createElement("div",{style:gue(n)},"Danger zone"),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),ie.default.createElement(Ln,{variant:"danger",size:"sm",colors:n,onClick:o},"Delete Agent")))}function hue({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:a}){let o=e.action_prompts||[],i=(u,c)=>{t("action_prompts",o.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...o,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",o.filter((c,d)=>d!==u))};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"System Instructions"),ie.default.createElement("textarea",{value:e.instructions,onChange:u=>t("instructions",u.target.value),placeholder:"You are a helpful AI assistant...",rows:12,className:"aa-field",style:{...il(a),fontFamily:Fe.mono,resize:"vertical"}})),ie.default.createElement("div",null,ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},ie.default.createElement("label",{style:{...ti(a),marginBottom:0}},"Action Prompts"),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:a,onClick:l},"+ Add action")),ie.default.createElement("p",{style:{fontSize:"12px",color:a.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",ie.default.createElement("span",{style:{fontFamily:Fe.mono}},"#ask")," action uses the system instructions alone."),o.length>0&&ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},o.map((u,c)=>ie.default.createElement("div",{key:c,style:{border:`1px solid ${a.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",color:a.textMuted}},"#"),ie.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...il(a),flex:1,padding:"6px 10px",fontFamily:Fe.mono}}),ie.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:a.textSecondary,whiteSpace:"nowrap"}},ie.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:vn}}),"Expose as tool"),ie.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Fe.mono,fontSize:"12px",color:a.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),ie.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...il(a),fontFamily:Fe.mono,resize:"vertical"}}))))),ie.default.createElement("div",null,ie.default.createElement("label",{style:ti(a)},"Instruction Sets"),ie.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return ie.default.createElement("button",{key:u,type:"button",onClick:()=>n("instruction_sets",u),style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?vn:a.inputBorder}`,background:c?vn:"transparent",color:c?"#ffffff":a.textCell}},u)}))))}function xue({versions:e,agentId:t,onRestore:r,colors:n,darkMode:a}){let o=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},ie.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return ie.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?vn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},ie.default.createElement("div",{style:{minWidth:0}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},ie.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&ie.default.createElement(Ss,{tone:"error",darkMode:a},"current")),ie.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),ie.default.createElement("p",{style:{fontFamily:Fe.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>o(i.id)},"Restore"))})):ie.default.createElement(D$,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function bue({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return ie.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},ie.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},ie.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),ie.default.createElement(Ln,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),ie.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Fe.mono,fontSize:"12px",lineHeight:1.6,margin:0}},ie.default.createElement("code",null,e||"Loading...")))}function wue({colors:e}){return ie.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},ie.default.createElement(D$,{colors:e,glyph:"[?]",title:"No feedback recorded",hint:"Thumbs and comments are not captured yet. Once an interaction feedback source is recorded, CSAT and per-trace comments appear here."}))}function D$({colors:e,glyph:t,title:r,hint:n}){return ie.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},ie.default.createElement("div",{style:{fontFamily:Fe.mono,fontSize:"20px",color:e.textMuted}},t),ie.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),ie.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var V=te(ne());async function Vf(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var Sue={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Aue=(e,t)=>{let r=Sue[e]||{role:e,label:e};return{...gr(r.role,t),label:r.label}},c_={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},kue=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],Nue=["user","assistant","tool"],Cue=1200,Eue=600*1e3,q1=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",I$=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},d_=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},As=e=>e?.context_id??e?.output_metadata?.context_id??null,tg=e=>e.json().catch(()=>({})),j$=({open:e,color:t})=>V.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},V.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function _ue({run:e,darkMode:t,colors:r,expanded:n,onToggle:a}){let o=d_(e),i=O1(t);return V.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},o.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Aue(l.kind,t);return V.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},V.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>a(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&V.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?V.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):V.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${q1(l.duration_ms)}`),l.at&&V.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&V.default.createElement(j$,{open:s,color:r.textMuted})),s&&V.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},I$(l.input))),l.output&&V.default.createElement("div",null,V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),V.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},I$(l.output)))))}))}function Oue({run:e,darkMode:t,colors:r}){return e?V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},V.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},V.default.createElement(Ss,{tone:c_[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&V.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?V.default.createElement("span",null,q1(e.duration_ms)):null,e.total_tokens?V.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function f_({agent:e,onBack:t}){let{darkMode:r}=kt(),n=Fa(r),a=e.action_prompts||e.actionPrompts||[],o=["ask",...a.map(oe=>oe.name).filter(Boolean)],[i,l]=(0,V.useState)("ask"),[s,u]=(0,V.useState)(""),[c,d]=(0,V.useState)([]),[f,p]=(0,V.useState)(!1),[m,g]=(0,V.useState)([]),[h,v]=(0,V.useState)(null),[y,b]=(0,V.useState)(null),[x,S]=(0,V.useState)(null),[w,O]=(0,V.useState)([]),[k,A]=(0,V.useState)(!1),[M,W]=(0,V.useState)(null),[L,H]=(0,V.useState)(null),[D,Y]=(0,V.useState)(null),[N,_]=(0,V.useState)(null),[z,j]=(0,V.useState)({}),[P,B]=(0,V.useState)(null),[R,F]=(0,V.useState)(!1),[G,ee]=(0,V.useState)(null),[fe,de]=(0,V.useState)(!1),[De,le]=(0,V.useState)(!1),[Te,K]=(0,V.useState)(null),[I,C]=(0,V.useState)(""),[T,X]=(0,V.useState)(!1),[$,Ne]=(0,V.useState)(null),E=(0,V.useRef)(null),Z=(0,V.useRef)(null),ge=(0,V.useRef)(0),Le=(0,V.useRef)(!0),nt=(0,V.useRef)(null),Bt=(0,V.useRef)([]),ft=(0,V.useRef)(null),En=(0,V.useRef)(null),Bn=(0,V.useRef)(null),oa=(0,V.useRef)(null),Mo=(y?.messages||[]).filter(oe=>Nue.includes(oe.role));(0,V.useEffect)(()=>{nt.current=L},[L]),(0,V.useEffect)(()=>{Bt.current=c},[c]),(0,V.useEffect)(()=>(Le.current=!0,nc(),()=>{Le.current=!1,ge.current+=1,ni(nt.current),ni({attachments:Bt.current}),H(null),d([])}),[e.id]),(0,V.useEffect)(()=>{fr(i)},[e.id,i]),(0,V.useEffect)(()=>{Z.current=h,h?$n(h):(b(null),S(null))},[h]),(0,V.useEffect)(()=>{let oe=En.current;oe&&(oe.scrollTop=oe.scrollHeight)},[Mo.length,L,M?.logs?.length,Te,D]),(0,V.useEffect)(()=>{if(!De)return;let oe=Ie=>{oa.current&&!oa.current.contains(Ie.target)&&le(!1)};return document.addEventListener("mousedown",oe),()=>document.removeEventListener("mousedown",oe)},[De]);let nc=async()=>{try{let Ie=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();O(Ie.runs||[])}catch(oe){console.error("Failed to load runs:",oe)}},fr=async oe=>{try{let Ie=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(oe)}`);if(!Ie.ok)throw new Error(`HTTP ${Ie.status}`);let at=(await Ie.json()).conversations||[];g(at),v(Hr=>Hr&&(E.current===Hr||at.some(fo=>fo.id===Hr))?Hr:at[0]?.id??null)}catch(Ie){console.error("Failed to load conversations:",Ie),g([])}},$n=async oe=>{try{let Ie=await fetch(`/api/interactions/${oe}`);if(!Ie.ok)throw new Error(Ie.status===404?"Conversation not found":`HTTP ${Ie.status}`);let Ye=await Ie.json();if(Z.current!==oe)return;b(Ye.interaction),S(null)}catch(Ie){if(Z.current!==oe)return;b(null),S(Ie.message)}},ri=async()=>{let oe=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Ie=await tg(oe);if(!oe.ok||!Ie.conversation)throw new Error(Ie.error||`Could not start a conversation (HTTP ${oe.status})`);let Ye=Ie.conversation;return g(at=>[Ye,...at.filter(Hr=>Hr.id!==Ye.id)]),E.current=Ye.id,v(Ye.id),Ye.id},ac=()=>Z.current?Promise.resolve(Z.current):ri(),aw=oe=>{E.current=null,l(oe)},Xf=()=>{W(null),_(null),j({})},ow=oe=>{let Ie=oe?Number(oe):null;Ie!==Z.current&&Xf(),E.current=Ie,v(Ie),Y(null)},oc=async()=>{if(!k)try{await ri(),S(null),Y(null),Xf(),ni(nt.current),H(null),K(null)}catch(oe){S(oe.message)}},ni=oe=>{(oe?.attachments||[]).forEach(Ie=>{Ie.url&&Ie.url.startsWith("blob:")&&URL.revokeObjectURL(Ie.url)})},ic=oe=>{let Ie=Array.from(oe||[]).filter(Boolean);Ie.length!==0&&d(Ye=>[...Ye,...Ie.map(at=>({file:at,filename:at.name,content_type:at.type||"application/octet-stream",byte_size:at.size,kind:j7(at),url:at.type&&at.type.startsWith("image/")?URL.createObjectURL(at):null}))])},iw=oe=>{d(Ie=>{let Ye=Ie[oe];return Ye?.url&&URL.revokeObjectURL(Ye.url),Ie.filter((at,Hr)=>Hr!==oe)})},fg=(oe,Ie)=>{A(!1),ni(nt.current),H(null),nc();let Ye=As(oe)??Ie;Ye&&(Ye!==Z.current?(E.current=Ye,v(Ye)):$n(Ye),fr(i))},lw=(oe,Ie)=>{if(!Le.current)return;let Ye=++ge.current,at=Date.now(),Hr=async()=>{if(ge.current===Ye){try{let fo=await fetch(`/api/runs/${oe}`);if(fo.ok){let Un=await fo.json();if(ge.current!==Ye)return;if(W(Un.run),!["pending","running"].includes(Un.run.status)){fg(Un.run,Ie);return}}}catch{}Date.now()-atfo&&{...fo,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Hr()},lc=async({text:oe,files:Ie,fromComposer:Ye=!1})=>{let at=(oe||"").trim();if(!at&&Ie.length===0||k)return;_(null),Y(null),K(null),A(!0),j({}),W({status:"pending",input_prompt:at,output:"",logs:[],started_at:new Date().toISOString()}),ni(nt.current),H({content:at||"(see attached files)",attachments:Ie.map(({file:Un,...Cs})=>Cs)}),Ye&&(u(""),d([]));let Hr=Z.current;if(!Hr)try{Hr=await ri()}catch(Un){_(`${Un.message} \u2014 running without a pinned conversation.`)}let fo=()=>{Ye&&(u(at),d(Ie)),H(null)};try{let Un=new FormData;Un.append("prompt",at),Un.append("action_name",i),Hr&&Un.append("params[context_id]",String(Hr)),Ie.forEach(({file:mg})=>Un.append("attachments[]",mg,mg.name));let Cs=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Un}),cc=await tg(Cs);if(Cs.status===402&&cc.upgrade_required){B(cc.usage),W(mg=>({...mg,status:"failed",error_message:cc.message||"Plan limit reached"})),A(!1),fo();return}if(!Cs.ok)throw new Error(cc.error||"Run failed");lw(cc.run.id,As(cc.run)??Hr)}catch(Un){W(Cs=>({...Cs,status:"failed",error_message:Un.message})),A(!1),fo()}},Zf=()=>lc({text:s,files:c,fromComposer:!0}),pg=oe=>{!oe||!oe.text||lc({text:oe.text,files:[]})},sw=oe=>{oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&(oe.preventDefault(),Zf())},Qf=async(oe,Ie)=>{let Ye=Z.current,at=await fetch(`/api/interactions/${Ye}/messages/${oe.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Ie})}),Hr=await tg(at);if(!at.ok)throw new Error(Hr.error||`Could not save the message (HTTP ${at.status})`);await $n(Ye)},uw=async oe=>{let Ie=Z.current;try{let Ye=await fetch(`/api/interactions/${Ie}/messages/${oe.id}`,{method:"DELETE"});if(!Ye.ok){let at=await tg(Ye);throw new Error(at.error||`Could not delete the message (HTTP ${Ye.status})`)}S(null),await $n(Ie),fr(i)}catch(Ye){S(Ye.message)}},cw=oe=>{le(!1),K(oe),C(""),Ne(null)},sc=async()=>{let oe=I.trim();if(!(!oe||T)){X(!0),Ne(null);try{let Ie=await ac(),Ye=await fetch(`/api/interactions/${Ie}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Te,content:oe})}),at=await tg(Ye);if(!Ye.ok)throw new Error(at.error||`Could not add the message (HTTP ${Ye.status})`);C(""),K(null),await $n(Ie),fr(i)}catch(Ie){Ne(Ie.message)}finally{X(!1)}}},dw=async oe=>{let Ie=oe;if(As(oe)==null)try{let at=await fetch(`/api/runs/${oe.id}`);at.ok&&(Ie=(await at.json()).run)}catch(at){console.error("Failed to load run details:",at)}let Ye=As(Ie);if(Ye){Y(null),Ye!==Z.current&&Xf(),E.current=Ye;let at=Ie.action_name||oe.action_name;at&&o.includes(at)&&at!==i&&l(at),v(Ye)}else Y({...Ie,output:Ie.output??Ie.output_preview,error_message:Ie.error_message??Ie.error});ft.current?.scrollIntoView({behavior:"smooth",block:"start"})},xe=async()=>{F(!0),ee(null);try{await Vf({planSlug:"pro"})}catch(oe){ee(oe.message),F(!1)}},ut=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Zt=a.find(oe=>oe.name===i)?.prompt,pr=[e.instructions,i==="ask"?null:Zt].map(oe=>(oe||"").trim()).filter(Boolean).join(` +Who updated the description for the sample notebook?`,style:{...hl,width:"100%",fontFamily:ce,fontSize:12,lineHeight:"18px"}}),Ue.default.createElement("p",{style:{margin:"6px 0 0",fontSize:12,color:"var(--color-text-muted)",textWrap:"pretty"}},"With scenarios, each run replays every message through the agent \u2014 once per model in \u201CCompare models\u201D \u2014 and reports which tasks it completes, what faults it hits, and how to fix them. ",Ue.default.createElement("code",{style:{fontFamily:ce}},"# Heading")," lines group related tasks so they can be run together; ",Ue.default.createElement("code",{style:{fontFamily:ce}},"| tools: a, b")," names the tool a task should call.")),o.judgeKind==="judge_defined"?Ue.default.createElement("p",{style:{margin:0,fontSize:12,color:"var(--color-text-secondary)"}},"On the first run the judge reads the agent's instructions and recent interactions, defines 3\u20136 KPIs, then scores samples against them. KPIs persist so later runs (and model cohorts) stay comparable."):Ue.default.createElement(Ue.default.Fragment,null,Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Rule-based criteria (sampled generations)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},UE.map(m))),Ue.default.createElement("div",null,Ue.default.createElement(et,{style:{display:"block",marginBottom:8}},"Telemetry criteria (trace aggregates)"),Ue.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:12}},dF.map(m))),Ue.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"Must contain (optional pattern)"),Ue.default.createElement("input",{type:"text",value:o.containsPattern,onChange:g=>c({containsPattern:g.target.value}),placeholder:"e.g. password reset",style:{...hl,width:"100%"}})),Ue.default.createElement("div",null,Ue.default.createElement(et,{as:"label",style:{display:"block",marginBottom:6}},"LLM judge criterion (optional, needs provider credentials)"),Ue.default.createElement("input",{type:"text",value:o.llmJudgePrompt,onChange:g=>c({llmJudgePrompt:g.target.value}),placeholder:"e.g. Is the answer helpful and accurate?",style:{...hl,width:"100%"}})))),i&&Ue.default.createElement("div",{style:{fontSize:13,color:"var(--color-error-text)"}},i),Ue.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Ue.default.createElement(mr,{variant:"primary",type:"submit",disabled:s},s?o.scenariosText.trim()?"Creating & starting run\u2026":"Creating & running\u2026":"Create & Run"),n&&Ue.default.createElement(mr,{onClick:n},"Cancel"))))}var ye=te(re());var rce={background:"none",border:"none",padding:0,cursor:"pointer",fontFamily:ce,fontSize:12,color:"var(--color-info)"},Xr=(e=11,t="var(--color-text-muted)",r={})=>({fontFamily:ce,fontSize:e,color:t,...r});function nce({stats:e}){if(!e)return ye.default.createElement("span",{style:Xr()},"\u2014");if(e.skipped)return ye.default.createElement("div",null,ye.default.createElement("span",{style:Xr(12,"var(--color-text-cell)",{fontWeight:700})},"[-] skipped"),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"},title:e.reason},sw(e.reason,90)));let t=Number(e.score),r=ml[t>=.85?"success":t>=.7?"warning":"error"].strong,n=[];if(e.total!=null&&n.push(`${e.passed}/${e.total} passed`),e.total>1&&e.min!=null&&n.push(`min ${wa(e.min)} \xB7 max ${wa(e.max)}`),e.source==="telemetry"){n.push(`${e.traces} traces \xB7 ${e.window_hours}h`);let o=e.observed||{};o.error_rate!=null&&n.push(`observed ${o.error_rate}% errors (${o.errors})`),o.avg_duration_ms!=null&&n.push(`observed avg ${kn(o.avg_duration_ms)}`)}return ye.default.createElement("div",null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6}},ye.default.createElement("span",{style:Xr(12,r,{fontWeight:700})},t>=.7?"[+]":"[!]"," ",wa(t)),e.source==="telemetry"&&ye.default.createElement("span",{"data-testid":"score-source-telemetry",title:"Aggregate over the agent's telemetry traces",style:Xr(10,"var(--color-text-muted)",{textTransform:"uppercase",letterSpacing:"0.04em"})},"telemetry")),ye.default.createElement("div",{style:{...Xr(),marginTop:2,textWrap:"pretty"}},n.join(" \xB7 ")))}function oce({item:e}){return ye.default.createElement("div",{"data-testid":"fix-item",style:{border:"1px solid var(--color-border)",borderRadius:10,padding:"12px 14px",display:"flex",flexDirection:"column",gap:10,minWidth:0}},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ye.default.createElement(Fa,{kind:"fault"}),ye.default.createElement(Tt,{tone:"error"},e.label),ye.default.createElement("span",{style:Xr()},e.scope)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},e.text),e.chips?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:6}},ye.default.createElement(et,{size:10,color:"var(--color-text-muted)"},e.chipsLabel),ye.default.createElement("div",{style:{display:"flex",gap:6,flexWrap:"wrap"}},e.chips.map(t=>ye.default.createElement("span",{key:t,style:{fontFamily:ce,fontSize:11,padding:"3px 8px",borderRadius:6,border:"1px solid var(--color-border)",color:"var(--color-text-primary)",fontWeight:600}},t)))),e.details?.length>0&&ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:3}},e.details.map(t=>ye.default.createElement("span",{key:t,style:Xr(11,"var(--color-text-cell)",{textWrap:"pretty"})},t))),e.action&&ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,marginTop:"auto"}},e.action.path&&ye.default.createElement(mr,{size:"sm",onClick:()=>Ds(e.action.path)},e.action.label),e.action.hint&&ye.default.createElement("span",{style:{...Xr(),whiteSpace:"nowrap"}},e.action.hint)))}function HE({evaluation:e,runs:t=[],runCount:r=null,runId:n,loading:o=!1,running:a=!1,onSelectRun:i,onRun:l,onBack:s,onOpenEvaluation:u,onDelete:c,deleting:d=!1}){let[f,p]=(0,ye.useState)("all"),[m,g]=(0,ye.useState)(!1),h=(L,K)=>ye.default.createElement("button",{type:"button",onClick:K,style:rce},L),v=t.findIndex(L=>L.id===n),y=v>=0?t[v]:t[0],b=y?ip(y,Math.max(v,0),t,r):null,x=ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},h("Evaluations",s),ye.default.createElement("span",{style:Xr(12)},"/"),h(e?.name||"Evaluation",u),ye.default.createElement("span",{style:Xr(12)},"/"),ye.default.createElement("span",{style:Xr(12,"var(--color-text-primary)",{fontWeight:700})},y?`Run #${b}`:"Runs"));if(!e)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},ye.default.createElement("div",null,h("Evaluations",s)),ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"This evaluation is not in the list any more.")));if(!y)return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:12}},x,o?ye.default.createElement("div",{className:"flex items-center justify-center h-64"},ye.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):ye.default.createElement(ht,null,ye.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-muted)"}},"No runs recorded yet.")));let S=TE(y),w=S.length?S:[null],T=dw(y),k=L=>T.find(K=>K.label===L)||(L==null?T[0]:null),A=y.scores?._verdict,M=Array.isArray(y.scores?._missing_models)?y.scores._missing_models:[],H=ap(y).map(([L,K])=>({key:L,value:K,criterion:pg(e,L)})),F=L=>H.filter(K=>di(K.criterion)===L).length,X=_E.filter(L=>F(L.id)>0),P=L=>w.some(K=>{let ae=mc(L.value,K);return ae&&(ae.skipped||ae.score!=null&&ae.score<.7)}),Y=H.filter(L=>(f==="all"||di(L.criterion)===f)&&(!m||P(L))),C=_E.map(L=>({...L,rows:Y.filter(K=>di(K.criterion)===L.id)})).filter(L=>L.rows.length),_=pw(e,{...y,number:b}),z=vl(y),D=ci(y.completed_at||y.created_at),E=y.status==="complete"&&y.samples_evaluated?` \xB7 ${y.samples_passed||0}/${y.samples_evaluated} passed`:"",j={fontFamily:ce,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)",padding:"8px 12px",textAlign:"left",verticalAlign:"top",whiteSpace:"nowrap"},R={padding:"10px 12px",verticalAlign:"top"},U={padding:"7px 12px",verticalAlign:"middle"};return ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16},"data-testid":"evaluation-run-detail"},x,ye.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},ye.default.createElement("div",{style:{minWidth:0}},ye.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},`Run #${b}`),ye.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},`${e.name} \xB7 ${D} \xB7 @${e.agent?.name||"agent"} \xB7 ${pc(e,y)}${E}`)),ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},t.map((L,K)=>ye.default.createElement(fo,{key:L.id,square:!0,mono:!0,selected:L.id===y.id,onClick:()=>i?.(L),title:`${L.status} \xB7 ${ci(L.completed_at||L.created_at)}`},`#${ip(L,K,t,r)}`)),ye.default.createElement(mr,{variant:"primary",disabled:a,onClick:l,testId:"run-again-button"},a?"Running\u2026":"Run again"))),ye.default.createElement(DE,{spend:z}),y.status==="failed"?ye.default.createElement(ht,{"data-testid":"run-failed",style:{borderColor:"var(--color-error)"},padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-error)",{fontWeight:700})},"[!] run failed"),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6,lineHeight:"19px"}},y.error_message)):y.status!=="complete"?ye.default.createElement(ht,{"data-testid":"run-pending",padding:"14px 16px"},ye.default.createElement("span",{style:Xr(12,"var(--color-warning-text)",{fontWeight:700})},`[~] ${y.status}`),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-cell)",marginTop:6}},"Scores appear once the run completes.")):ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(260px, 1fr))",gap:12}},w.map(L=>{let K=X$(y,L),ae=k(L),de=ae?.samples??(L==null?y.samples_evaluated:null),ze=ae?.passed??(L==null?y.samples_passed:null),oe=[];return K.below>0&&oe.push({tone:"error",text:`below pass mark \xD7${K.below}`}),K.skipped>0&&oe.push({tone:"warning",text:`skipped \xD7${K.skipped}`}),ye.default.createElement(yg,{key:L||"all",label:L,short:L?Bo(L).short:"all samples",provider:ae?.provider||(L?Bo(L).provider:null)||null,winner:!!A?.winner&&A.winner===L,passed:ze,total:de,avgScore:K.avg,criteria:{cleared:K.cleared,scored:K.scored},latencyMs:ae?.avg_duration_ms,inputTokens:ae?.input_tokens,outputTokens:ae?.output_tokens,cost:ae?.cost,perInteraction:ae?.cost!=null&&de?ae.cost/de:null,unit:"interaction",badges:oe})})),(A||M.length>0)&&ye.default.createElement(ht,{padding:"12px 16px",style:{display:"flex",flexDirection:"column",gap:6},"data-testid":"run-verdict"},A&&ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},ye.default.createElement(et,null,"Verdict"),A.judge&&ye.default.createElement("span",{style:Xr()},`judged by ${A.judge}`)),ye.default.createElement("div",{style:{fontSize:13,lineHeight:"19px",color:"var(--color-text-cell)",textWrap:"pretty"}},ye.default.createElement("strong",{style:{color:"var(--color-text-primary)",fontFamily:ce,fontSize:12}},A.winner),A.rationale?` \xB7 ${A.rationale}`:"")),M.length>0&&ye.default.createElement("span",{style:Xr(11,"var(--color-warning-text)",{fontWeight:600})},`[!] no generations recorded under ${M.join(", ")}`)),ye.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"criteria-matrix"},ye.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"10px 14px",flexWrap:"wrap"}},ye.default.createElement(et,{style:{marginRight:4}},"Criteria"),ye.default.createElement(fo,{selected:f==="all",onClick:()=>p("all")},`All ${H.length}`),X.map(L=>ye.default.createElement(fo,{key:L.id,selected:f===L.id,onClick:()=>p(L.id)},`${L.label} ${F(L.id)}`)),ye.default.createElement(fo,{square:!0,mono:!0,selected:m,onClick:()=>g(L=>!L),style:{marginLeft:"auto",background:"transparent"},title:"Hide criteria every model cleared"},m?"[x] failed only":"[ ] failed only")),ye.default.createElement("div",{style:{overflowX:"auto"}},ye.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse"}},ye.default.createElement("thead",null,ye.default.createElement("tr",{style:{background:"var(--color-muted)"}},ye.default.createElement("th",{style:{...j,width:"34%"}},"Criterion"),ye.default.createElement("th",{style:j},"Expects"),w.map(L=>ye.default.createElement("th",{key:L||"score",style:j},L?ye.default.createElement(ye.default.Fragment,null,ye.default.createElement("span",{style:{color:"var(--color-text-primary)",textTransform:"none",letterSpacing:0,fontSize:12}},Bo(L).short),(k(L)?.provider||Bo(L).provider)&&ye.default.createElement("span",{style:{display:"block",fontWeight:400,textTransform:"none",letterSpacing:0}},k(L)?.provider||Bo(L).provider)):"Score")))),ye.default.createElement("tbody",null,C.map(L=>ye.default.createElement(ye.default.Fragment,{key:L.id},ye.default.createElement("tr",{style:{background:"var(--color-background)",borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:{fontWeight:600,fontSize:13,color:"var(--color-text-primary)"}},L.label)),ye.default.createElement("td",{style:U},ye.default.createElement("span",{style:Xr()},`${L.rows.length} ${L.rows.length===1?"criterion":"criteria"}`)),w.map(K=>{let ae=L.rows.filter(oe=>{let Ee=mc(oe.value,K);return Ee&&Ee.score!=null}),de=ae.filter(oe=>mc(oe.value,K).score>=.7).length,ze=ae.length&&de===ae.length?"var(--color-success-text)":de===0&&ae.length?"var(--color-error-text)":"var(--color-text-cell)";return ye.default.createElement("td",{key:K||"score",style:U},ye.default.createElement("span",{style:Xr(11,ze,{fontWeight:600})},`${de}/${ae.length} passed`))})),L.rows.map(K=>ye.default.createElement("tr",{key:K.key,"data-testid":"criterion-row",style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{style:R},ye.default.createElement("div",{style:Xr()},K.key),ye.default.createElement("div",{style:{fontSize:13,color:"var(--color-text-primary)"}},uw(K.criterion))),ye.default.createElement("td",{style:R},ye.default.createElement("span",{style:{fontFamily:ce,fontSize:11,padding:"2px 6px",border:"1px solid var(--color-border)",borderRadius:4,color:"var(--color-text-cell)",whiteSpace:"nowrap"},title:op(K.criterion)},sw(op(K.criterion),40))),w.map(ae=>ye.default.createElement("td",{key:ae||"score",style:R},ye.default.createElement(nce,{stats:mc(K.value,ae)}))))))),C.length===0&&ye.default.createElement("tr",{style:{borderTop:"1px solid var(--color-border-light)"}},ye.default.createElement("td",{colSpan:2+w.length,style:{padding:"16px 14px",fontSize:13,color:"var(--color-text-muted)"}},H.length?"Nothing failed under this filter.":"This run recorded no criterion scores.")))))),ye.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:10}},ye.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:10}},ye.default.createElement(et,null,"What to fix"),ye.default.createElement("span",{style:Xr()},_.length?At(_.length,"item"):"nothing")),_.length?ye.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:12}},_.map(L=>ye.default.createElement(oce,{key:L.kind,item:L}))):ye.default.createElement(An,{style:{border:"1px solid var(--color-border-light)",borderRadius:10,padding:"14px 12px",color:"var(--color-success-text)"}},`[+] Every criterion cleared the ${.7.toFixed(2)} pass mark and nothing was skipped.`)),ye.default.createElement(vc,{evaluation:e,run:y,spend:z,onDelete:c,deleting:d}))}var fF=()=>document.querySelector('meta[name="csrf-token"]')?.content;var pF=()=>{let e=dl().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/);if(e)return{evaluationId:e[1],runId:e[2]};let t=kE(window.location.search);return t?.runId?t:null},hw=()=>{let e=dl().match(/^\/evaluations\/(\d+)(?:\/runs\/(\d+))?\/?$/);return e?{evaluationId:Number(e[1]),runId:e[2]?Number(e[2]):null}:null},mF=()=>kE(window.location.search)?.evaluationId||(hw()?String(hw().evaluationId):null),yw=(e=11,t="var(--color-text-muted)")=>({fontFamily:ce,fontSize:e,color:t}),ace=e=>{let t=e.latest_run;return t?e.scenario_suite?(t.scores?._recommendations||[]).length+(t.status==="failed"?1:0):pw(e,t).length:0};function Sg({embedded:e=!1,agentId:t=null}){let{darkMode:r}=Nt(),[n,o]=(0,je.useState)(()=>e?null:pF()),a=(0,je.useRef)(null),[i,l]=(0,je.useState)(0),[s,u]=(0,je.useState)(null);(0,je.useEffect)(()=>{let W=a.current?.contentDocument?.body;if(!W)return;let xe=()=>u(W.scrollHeight);if(xe(),typeof ResizeObserver>"u")return window.addEventListener("resize",xe),()=>window.removeEventListener("resize",xe);let De=new ResizeObserver(xe);return De.observe(W),()=>De.disconnect()},[i,n]),(0,je.useEffect)(()=>u(null),[n]);let[c,d]=(0,je.useState)([]),[f,p]=(0,je.useState)([]),[m,g]=(0,je.useState)(!0),[h,v]=(0,je.useState)(null),[y,b]=(0,je.useState)(null),[x,S]=(0,je.useState)(()=>{if(e)return null;let W=hw();return W?.runId?W:null}),[w,T]=(0,je.useState)(()=>e?null:mF()),[k,A]=(0,je.useState)({}),[M,H]=(0,je.useState)(!1),[F,X]=(0,je.useState)(null),[P,Y]=(0,je.useState)(null);(0,je.useEffect)(()=>{if(e)return;let W=()=>{o(pF());let xe=hw();S(xe?.runId?xe:null);let De=mF();T(De),De&&b(Ge=>new Set([...Ge||[],Number(De)]))};return window.addEventListener("popstate",W),window.addEventListener("dashboard:navigate",W),()=>{window.removeEventListener("popstate",W),window.removeEventListener("dashboard:navigate",W)}},[e]);let C=(0,je.useCallback)(async()=>{try{let W=await fetch(`/api/evaluations${t?`?agent_id=${encodeURIComponent(t)}`:""}`);if(!W.ok)throw new Error(`Request failed (${W.status})`);let De=(await W.json()).evaluations||[],Ge=null;try{De=await W$(De,w,fetch)}catch(it){Ge=it.message}d(De),b(it=>{if(it)return it;let zn=w?De.find($o=>String($o.id)===w):De.find($o=>$o.scenario_suite)||De[0];return new Set(zn?[zn.id]:[])}),v(Ge)}catch(W){v(W.message)}finally{g(!1)}},[t,w]),_=(0,je.useCallback)(async W=>{try{let xe=await fetch(`/api/evaluations/${W}`);if(!xe.ok)throw new Error(`Could not load this evaluation's runs (HTTP ${xe.status})`);let De=await xe.json();A(Ge=>({...Ge,[W]:{runs:De.evaluation?.runs||[],runCount:De.evaluation?.run_count??null}}))}catch(xe){A(De=>({...De,[W]:{runs:null,runCount:null,error:xe.message}})),v(xe.message)}},[]);(0,je.useEffect)(()=>{C(),fetch("/api/agents").then(W=>W.ok?W.json():{agents:[]}).then(W=>p(W.agents||[])).catch(()=>p([]))},[C]),(0,je.useEffect)(()=>{new Set([...y||[],...x?[x.evaluationId]:[]]).forEach(xe=>{let De=c.find(Ge=>Ge.id===xe);De&&!De.scenario_suite&&!k[xe]&&_(xe)})},[y,x,c,k,_]);let z=W=>{!e&&dl()!==W&&aw(W)},D=W=>!!y?.has(W),E=W=>{let xe=!D(W.id);b(De=>{let Ge=new Set(De||[]);return xe?Ge.add(W.id):Ge.delete(W.id),Ge}),z(xe?`/evaluations/${W.id}`:"/evaluations")},j=(W,xe)=>{b(De=>new Set([...De||[],W.id])),S({evaluationId:W.id,runId:xe.id}),z(`/evaluations/${W.id}/runs/${xe.id}`)},R=W=>{S(null),z(W?`/evaluations/${W}`:"/evaluations")},U=async W=>{X(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}/run`,{method:"POST",headers:{"X-CSRF-Token":fF()}}),De=await xe.json().catch(()=>({}));if(!xe.ok){v((De.errors||[De.error]).filter(Boolean).join(", ")||`Run failed (HTTP ${xe.status})`);return}await Promise.all([C(),_(W.id)]),De.run&&x?.evaluationId===W.id&&j(W,De.run)}finally{X(null)}},L=async W=>{if(window.confirm(`Delete "${W.name}"? Its runs are deleted with it.`)){Y(W.id),v(null);try{let xe=await fetch(`/api/evaluations/${W.id}`,{method:"DELETE",headers:{"X-CSRF-Token":fF()}});xe.ok||xe.status===404?(d(De=>De.filter(Ge=>Ge.id!==W.id)),b(De=>{let Ge=new Set(De||[]);return Ge.delete(W.id),Ge}),x?.evaluationId===W.id&&R(null)):v(`Delete failed (HTTP ${xe.status})`)}finally{Y(null)}}};if(m)return je.default.createElement("div",{className:"flex items-center justify-center h-64"},je.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}}));let K=t?c.filter(W=>String(W.agent?.id)===String(t)):c,ae=W=>{let xe=k[W.id];return xe?.runs?{runs:xe.runs,runCount:W.run_count??xe.runCount??null,loaded:!0}:{runs:W.latest_run?[W.latest_run]:[],runCount:W.run_count??null,loaded:!1}};if(n){let W=Re(`/api/evaluations/${n.evaluationId}/runs/${n.runId}/report`),xe=`${W}?theme=${r?"dark":"light"}`;return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{size:"sm",onClick:()=>{aw("/evaluations"),o(null)}},je.default.createElement("span",{style:{fontFamily:ce}},"<-")," Evaluations"),je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Run report"),je.default.createElement("span",{style:yw(11)},`evaluation ${n.evaluationId} \xB7 run ${n.runId}`)),je.default.createElement("a",{href:W,target:"_blank",rel:"noopener noreferrer",title:"The report is one self-contained page \u2014 save it to export",style:{padding:"6px 12px",borderRadius:8,fontSize:13,fontWeight:500,color:"var(--color-text-cell)",border:"1px solid var(--color-border-strong)",textDecoration:"none"}},"Open standalone ",je.default.createElement("span",{style:{fontFamily:ce}},"->"))),je.default.createElement("iframe",{ref:a,src:xe,title:"Evaluation run report",onLoad:()=>l(De=>De+1),scrolling:"no",style:{width:"100%",borderRadius:12,border:"1px solid var(--color-border)",background:"var(--color-background)",display:"block",height:s?`${s}px`:"calc(100vh - 180px)"}}))}if(x){let W=K.find(xe=>xe.id===x.evaluationId);if(!W||!W.scenario_suite){let{runs:xe,runCount:De,loaded:Ge}=W?ae(W):{runs:[],runCount:null,loaded:!0};return je.default.createElement(HE,{evaluation:W,runs:xe,runCount:De,runId:x.runId,loading:!Ge,running:F===x.evaluationId,onSelectRun:it=>j(W,it),onRun:()=>U(W),onBack:()=>R(null),onOpenEvaluation:()=>R(x.evaluationId),onDelete:W?()=>L(W):void 0,deleting:P===x.evaluationId})}}let ze=K.map(W=>W.latest_run).filter(Boolean).filter(W=>W.status==="complete"),oe=ze.reduce((W,xe)=>W+(xe.samples_evaluated||0),0),Ee=ze.reduce((W,xe)=>W+(xe.samples_passed||0),0),V=oe?Ee/oe:null,I=[...new Set(K.map(W=>W.agent?.name).filter(Boolean))],N=K.reduce((W,xe)=>Math.max(W,EE(xe,xe.latest_run)),0),O=K.map(ace),Z=O.reduce((W,xe)=>W+xe,0),B=O.filter(Boolean).length,we=Q$(ze),ee=K.length?`${At(I.length,"agent")} \xB7 ${N>1?`${N} models compared`:"no model comparisons"}`:"none defined yet",ue=we.agentCost!=null?[`agent ${jr(we.agentCost)} over ${At(we.interactions,"interaction")}`,we.judgeCost!=null?`judge ${jr(we.judgeCost)} offline`:"no judge spend"].join(" \xB7 "):"no priced runs yet";return je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:20}},je.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:16,flexWrap:"wrap"}},!e&&je.default.createElement("div",{style:{flex:1,minWidth:260}},je.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},"Evaluations"),je.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models. Every run is kept.")),je.default.createElement("div",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12}},je.default.createElement(mr,{variant:"primary",onClick:()=>H(!M),testId:"new-evaluation-button"},M?"Cancel":"New Evaluation"))),h&&je.default.createElement("div",{style:{padding:"10px 12px",borderRadius:8,fontSize:13,background:"var(--color-error-soft)",color:"var(--color-error-text)"}},"Failed to load evaluations: ",h),M&&je.default.createElement(WE,{agents:f,agentId:t,onCancel:()=>H(!1),onCreated:async W=>{H(!1),await C(),W?.id!=null&&(b(xe=>new Set([...xe||[],W.id])),z(`/evaluations/${W.id}`))}}),je.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(190px, 1fr))",gap:16}},je.default.createElement(tp,{label:"Evaluations",value:K.length,sub:ee,testId:"stat-evaluations"}),je.default.createElement(tp,{label:"Samples scored",value:oe,sub:"latest run of each evaluation",testId:"stat-samples-scored"}),je.default.createElement(tp,{label:"Pass rate",value:V==null?"\u2014":K$(V),valueColor:V==null?"var(--color-text-muted)":ml[fc(V)].strong,sub:V==null?"no completed runs yet":`${Ee} / ${oe} samples passed`,testId:"stat-pass-rate"}),je.default.createElement(tp,{label:"To fix",value:Z,valueColor:Z?"var(--color-error)":void 0,sub:Z?`across ${At(B,"evaluation")}`:"nothing outstanding",testId:"stat-to-fix"}),je.default.createElement(tp,{label:"Cost / interaction",value:yl(we.perInteraction),valueColor:we.perInteraction==null?"var(--color-text-muted)":void 0,sub:ue,testId:"stat-agent-cost"})),je.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},K.map((W,xe)=>{let De=W.latest_run,Ge=D(W.id),it=!!W.scenario_suite,zn=O[xe],$o=(W.criteria||[]).some(zr=>di(zr)==="telemetry"),{runs:Fo,runCount:Uo}=ae(W);return je.default.createElement(ht,{key:W.id,padding:0,testId:"evaluation-card","data-telemetry":$o?"true":"false","data-kind":it?"suite":"sampling","data-open":Ge?"true":"false",style:{overflow:"hidden"}},je.default.createElement("div",{role:"button",tabIndex:0,"aria-expanded":Ge,onClick:()=>E(W),onKeyDown:zr=>{(zr.key==="Enter"||zr.key===" ")&&(zr.preventDefault(),E(W))},className:"hover:bg-[var(--color-hover)]",style:{display:"flex",alignItems:"center",gap:10,rowGap:8,padding:"12px 16px",cursor:"pointer",flexWrap:"wrap"}},je.default.createElement(Fa,{kind:"chevron",open:Ge}),je.default.createElement("span",{style:{width:22,height:22,borderRadius:6,background:"var(--color-muted)",display:"inline-flex",alignItems:"center",justifyContent:"center",fontFamily:ce,fontSize:11,fontWeight:700,color:"var(--color-text-secondary)",flexShrink:0},title:it?"scenario suite":"sampling evaluation"},it?"=":"~"),je.default.createElement("span",{style:{fontSize:15,fontWeight:700,color:"var(--color-text-primary)"}},W.name),je.default.createElement("span",{style:yw(11)},`@${W.agent?.name||"agent"} \xB7 ${pc(W)}`),je.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:12,flexShrink:0}},je.default.createElement("span",{style:yw(11)},ci(De?.completed_at||De?.created_at||W.created_at)),zn>0&&je.default.createElement("span",{style:yw(11,"var(--color-error)")},`${zn} to fix`),je.default.createElement(IE,{run:De,testId:it?"suite-pass-badge":"evaluation-pass-badge"}))),Ge&&je.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)"}},it?je.default.createElement(FE,{evaluation:W,onChanged:C,onDelete:()=>L(W),deleting:P===W.id,initialRunId:x?.evaluationId===W.id?x.runId:null,onRunSelected:zr=>z(`/evaluations/${W.id}/runs/${zr}`)}):je.default.createElement("div",{style:{padding:16,display:"flex",flexDirection:"column",gap:12},"data-testid":"sampling-evaluation-panel"},je.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,flexWrap:"wrap"}},je.default.createElement("span",{style:{fontSize:13,color:"var(--color-text-secondary)"}},Fo.length?tF(Fo,Uo):`@${W.agent?.name||"agent"} \xB7 no runs yet`),je.default.createElement(mr,{variant:"primary",size:"sm",disabled:F===W.id,onClick:zr=>{zr.stopPropagation(),U(W)},testId:"evaluation-run-button"},F===W.id?"Running\u2026":`Run ${pc(W)}`)),je.default.createElement(gg,{runs:Fo,runCount:Uo,evaluation:W,agentName:W.agent?.name,previousRun:W.previous_run,onOpen:zr=>j(W,zr),testId:"evaluation-runs-panel"}),je.default.createElement(vc,{evaluation:W,run:De,spend:vl(De),onDelete:()=>L(W),deleting:P===W.id}))))})),K.length===0&&!M&&je.default.createElement(ht,{style:{textAlign:"center",padding:"48px 20px"}},je.default.createElement("div",{style:{fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"No evaluations yet"),je.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Create an evaluation to score recorded outputs, or paste scenarios to test new tasks across models. Every run is kept, so scores stay comparable over time.")))}var _e=te(re());var ice=e=>new Date(`${e}T00:00:00`),lce=[{id:"overview",label:"Overview"},{id:"traces",label:"Traces"},{id:"interactions",label:"Interactions"}];function VE({agent:e,onBack:t,embedded:r=!1}){let{darkMode:n}=Nt(),o=Ro(n),[a,i]=(0,_e.useState)(null),[l,s]=(0,_e.useState)(!0),{timeWindow:u,days:c}=si(),[d,f]=(0,_e.useState)("overview"),p=e.telemetry_agent_class||(()=>{let x=e.agent_class_name||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(S,w)=>w.toUpperCase()).replace(/^./,S=>S.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return x.endsWith("Agent")?x:`${x}Agent`})();(0,_e.useEffect)(()=>{m()},[e?.id,c]);let m=async()=>{if(e?.id){s(!0);try{let S=await(await fetch(`/api/agents/${e.id}/analytics?days=${c}`)).json();i(S)}catch(x){console.error("Failed to load analytics:",x)}finally{s(!1)}}},g=x=>x?x<1e3?`${x}ms`:`${(x/1e3).toFixed(2)}s`:"-",h=x=>x?x>=1e6?`${(x/1e6).toFixed(1)}M`:x>=1e3?`${(x/1e3).toFixed(1)}K`:x.toString():"0",v=x=>{switch(x){case"complete":return"bg-green-500";case"failed":return"bg-red-500";case"running":return"bg-blue-500";case"pending":return"bg-yellow-500";case"cancelled":return"bg-gray-500";default:return"bg-gray-400"}};if(l&&!a)return _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let y=a?.runs_by_day?.length>0?Math.max(...a.runs_by_day.map(x=>x.count)):1,b=r?"overview":d;return _e.default.createElement("div",{className:"space-y-6"},r?_e.default.createElement("div",{className:"flex items-center justify-end gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null)):_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",{className:"flex items-center space-x-4"},_e.default.createElement("button",{onClick:t,className:"p-2 transition-colors",style:{color:o.textMuted}},_e.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold",style:{color:o.textPrimary}},e.name," Analytics"),_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Performance metrics and usage data"))),_e.default.createElement("div",{className:"flex items-center gap-2"},u.minutes<1440&&_e.default.createElement("span",{className:"text-xs",style:{color:o.textMuted},title:"This view aggregates by day"},"showing 1 day"),_e.default.createElement(ui,null))),!r&&_e.default.createElement("div",{className:"flex rounded-lg p-1 w-fit",style:{background:o.mutedBg}},lce.map(x=>_e.default.createElement("button",{key:x.id,onClick:()=>f(x.id),className:`px-4 py-1.5 text-sm rounded-md transition-colors ${d===x.id?"shadow":""}`,style:d===x.id?{background:o.cardBg,color:o.textPrimary}:{color:o.textSecondary}},x.label))),b==="traces"&&_e.default.createElement(dc,{agentClass:p,embedded:!0}),b==="interactions"&&_e.default.createElement(pl,{agentId:e.id,embedded:!0}),b==="overview"&&_e.default.createElement(_e.default.Fragment,null,_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement(xw,{title:"Total Runs",value:a?.summary?.total_runs||0,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 10V3L4 14h7v7l9-11h-7z"})),color:"rose",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Success Rate",value:`${a?.summary?.success_rate||0}%`,icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"green",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Avg Duration",value:g(a?.summary?.avg_duration_ms),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})),color:"blue",colors:o,darkMode:n}),_e.default.createElement(xw,{title:"Total Tokens",value:h(a?.summary?.total_tokens),icon:_e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M7 21a4 4 0 01-4-4V5a2 2 0 012-2h4a2 2 0 012 2v12a4 4 0 01-4 4zm0 0h12a2 2 0 002-2v-4a2 2 0 00-2-2h-2.343M11 7.343l1.657-1.657a2 2 0 012.828 0l2.829 2.829a2 2 0 010 2.828l-8.486 8.485M7 17h.01"})),color:"purple",colors:o,darkMode:n})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Runs Over Time"),a?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},a.runs_by_day.map((x,S)=>_e.default.createElement("div",{key:x.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${x.count/y*150}px`,minHeight:x.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap"},x.count," runs")),(S===0||S===a.runs_by_day.length-1||a.runs_by_day.length<=7)&&_e.default.createElement("span",{className:"text-xs mt-2 transform -rotate-45 origin-left",style:{color:o.textMuted}},ice(x.date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center",style:{color:o.textMuted}},"No data for this period")),_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Status Breakdown"),Object.keys(a?.status_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(a.status_breakdown).map(([x,S])=>{let w=a?.summary?.total_runs||1,T=(S/w*100).toFixed(1);return _e.default.createElement("div",{key:x},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize",style:{color:o.textSecondary}},x),_e.default.createElement("span",{className:"font-medium",style:{color:o.textPrimary}},S," (",T,"%)")),_e.default.createElement("div",{className:"h-2 rounded-full overflow-hidden",style:{background:o.trackBg}},_e.default.createElement("div",{className:`h-full ${v(x)} rounded-full transition-all`,style:{width:`${T}%`}})))})):_e.default.createElement("div",{className:"h-32 flex items-center justify-center",style:{color:o.textMuted}},"No runs yet"))),a?.recent_errors?.length>0&&_e.default.createElement("div",{className:"rounded-xl border p-6",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("h3",{className:"font-semibold mb-4",style:{color:o.textPrimary}},"Recent Errors"),_e.default.createElement("div",{className:"space-y-3"},a.recent_errors.map(x=>_e.default.createElement("div",{key:x.id,className:"flex items-start space-x-3 p-3 rounded-lg",style:{background:n?"rgba(220,38,38,0.12)":"#fef2f2"}},_e.default.createElement("svg",{className:"w-5 h-5 text-red-500 flex-shrink-0 mt-0.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},_e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"text-sm",style:{color:n?"#fca5a5":"#991b1b"}},x.error||"Unknown error"),_e.default.createElement("p",{className:"text-xs mt-1",style:{color:n?"#f87171":"#dc2626"}},new Date(x.created_at).toLocaleString())))))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-4"},_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Completed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.completed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Failed Runs"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.summary?.failed_runs||0)),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Avg Tokens/Run"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},h(a?.summary?.avg_tokens_per_run))),_e.default.createElement("div",{className:"rounded-lg p-4",style:{background:o.innerBg}},_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},"Period"),_e.default.createElement("p",{className:"text-2xl font-bold",style:{color:o.textPrimary}},a?.period_days||30," days")))))}var vF={rose:["#dc2626","rgba(220,38,38,0.18)","#fee2e2"],green:["#16a34a","rgba(22,163,74,0.18)","#dcfce7"],blue:["#2563eb","rgba(37,99,235,0.18)","#dbeafe"],purple:["#7c3aed","rgba(124,58,237,0.18)","#ede9fe"]};function xw({title:e,value:t,icon:r,color:n,colors:o,darkMode:a}){let[i,l,s]=vF[n]||vF.rose;return _e.default.createElement("div",{className:"rounded-xl border p-4",style:{background:o.cardBg,borderColor:o.cardBorder}},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("p",{className:"text-sm",style:{color:o.textSecondary}},e),_e.default.createElement("p",{className:"text-2xl font-bold mt-1",style:{color:o.textPrimary}},t)),_e.default.createElement("div",{className:"p-3 rounded-lg",style:{background:a?l:s,color:i}},r)))}var ne=te(re());var sce=["agent_defined","dashboard","mcp"],qE={agent_defined:"Agent-defined",dashboard:"Dashboard",mcp:"MCP"},uce={agent_defined:"the host's schema tools, and what the agent class declares",dashboard:"built into the dashboard",mcp:"offered by the services above"},ww=[{value:"24h",label:"24h",hours:24},{value:"7d",label:"7d",hours:168},{value:"30d",label:"30d",hours:720}],GE=e=>{if(e==null||Number.isNaN(Number(e)))return"\u2014";let t=Number(e);return t>=1e3?`${(t/1e3).toFixed(1)}s`:`${Math.round(t)}ms`},YE=(e,t=Date.now())=>{if(!e)return"never";let r=new Date(e).getTime();if(Number.isNaN(r))return"never";let n=Math.floor((t-r)/6e4);if(n<1)return"just now";if(n<60)return`${n}m ago`;let o=Math.floor(n/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`},KE=e=>{if(typeof e=="string")return e.trim()||null;if(!e||typeof e!="object")return null;let t=e.key||e.name;return t&&String(t).trim()||null};function bw(e,t=[]){let r=new Map;(t||[]).forEach(o=>{let a=KE(o);a&&r.set(a,o)});let n={};return(e.services||[]).forEach(o=>{let a=r.get(o.key),i=a&&typeof a=="object"&&Array.isArray(a.tools)?a.tools.map(l=>String(l&&l.name?l.name:l)):null;n[o.key]={on:r.has(o.key),tools:Object.fromEntries((o.tools||[]).map(l=>[l.name,i===null||i.includes(l.name)]))}}),n}var gF=e=>{let t=String(e||"").trim().toLowerCase();return(...r)=>!t||r.some(n=>String(n||"").toLowerCase().includes(t))};function yF(e,t,{query:r="",filter:n=null}={}){let o=gF(r);return(e.services||[]).filter(a=>n?n==="enabled"?t[a.key]?.on:a.status===n:!0).filter(a=>o(a.name,a.description)||(a.tools||[]).some(i=>o(i.name))).map(a=>{let i=t[a.key]||{on:!1,tools:{}},l=a.tools||[],s=l.map(c=>({...c,on:!!i.tools[c.name]})),u=s.filter(c=>c.on);return{...a,on:i.on,tools:s,offeredCount:l.length,enabledCount:u.length,toolsLabel:`${u.length}/${l.length}`,partial:i.on&&u.length{let o=t[n.key];!o||!o.on||(n.tools||[]).forEach(a=>{o.tools[a.name]&&r.push({...a,key:`${n.key}:${a.name}`,source:"mcp",editable:!1,enabled:!0,server:n.name,serverKey:n.key})})}),r}function hF(e,t,r=[]){let n=new Set((r||[]).map(String));return(e.tools||[]).map(o=>({...o,on:o.editable?n.has(o.key):o.enabled!==!1})).concat(cce(e,t).map(o=>({...o,on:!0})))}function xF(e,t,r,{query:n="",source:o=null,enabledOnly:a=!1}={}){let i=gF(n),l=hF(e,t,r),s=l.filter(u=>!o||u.source===o).filter(u=>!a||u.on).filter(u=>i(u.name,u.description));return sce.map(u=>{let c=l.filter(p=>p.source===u),d=c.some(p=>p.editable),f=c.filter(p=>p.on).length;return{source:u,name:qE[u],meta:`${uce[u]} \xB7 ${c.length} ${c.length===1?"tool":"tools"}`,countLabel:d?`${f}/${c.length} on`:`${c.length} offered`,editable:d,total:c.length,enabledCount:f,keys:c.map(p=>p.key),rows:s.filter(p=>p.source===u)}}).filter(u=>u.total>0)}function bF(e,t,r,{range:n="7d"}={}){let o=hF(e,t,r),a=e.usage_available!==!1,i=e.services||[],l=i.filter(p=>t[p.key]?.on),s=o.filter(p=>p.source!=="mcp"&&p.on),u=o.filter(p=>p.source==="mcp"),c=o.reduce((p,m)=>p+(m.calls||0),0),d=o.reduce((p,m)=>p+(m.errors||0),0),f=o.filter(p=>p.on&&!p.calls).length;return[{key:"tools",label:"Tools enabled",value:String(s.length+u.length),sub:`${s.length} direct \xB7 ${u.length} offered through MCP`},{key:"services",label:"MCP services",value:`${l.length}/${i.length}`,sub:l.length?`on for this agent: ${l.map(p=>p.name).join(", ")}`:"none enabled for this agent"},{key:"calls",label:"Tool calls",value:a?String(c):"\u2014",sub:a?`${d} error${d===1?"":"s"} in the last ${n} \xB7 traced`:"no calls recorded in this window yet"},{key:"unused",label:"Never called",value:a?String(f):"\u2014",sub:"enabled but unused in this window",tone:a&&f>6?"warning":null}]}function wF(e,t,r){let n=bw(e,t.mcpServers),o=bw(e,r.mcpServers),a=0;Object.keys(n).forEach(s=>{n[s].on!==o[s].on&&(a+=1),Object.keys(n[s].tools).forEach(u=>{n[s].tools[u]!==o[s].tools[u]&&(a+=1)})});let i=new Set((t.tools||[]).map(String)),l=new Set((r.tools||[]).map(String));return(e.tools||[]).forEach(s=>{s.editable&&i.has(s.key)!==l.has(s.key)&&(a+=1)}),a}function SF(e,t,r=[]){let n=new Map;(r||[]).forEach(i=>{let l=KE(i);l&&n.set(l,i)});let o=[];(e.services||[]).forEach(i=>{let l=t[i.key];if(!l||!l.on)return;let s=(i.tools||[]).map(p=>p.name),u=s.filter(p=>l.tools[p]),c=n.get(i.key),d=s.length>0&&u.lengthi.key));return(r||[]).forEach(i=>{let l=KE(i);l&&!a.has(l)&&o.push(i)}),o}function XE(e,t=[]){let r=new Set((e.tools||[]).filter(a=>a.editable).map(a=>a.key)),n=(t||[]).map(String).filter(a=>!r.has(a)),o=(e.tools||[]).filter(a=>a.editable&&t.includes(a.key)).map(a=>a.key);return n.concat(o)}var dce={active:"success",configured:"info",available:"warning",idle:"muted"},fce={agent_defined:"success",dashboard:"success",mcp:"info"},AF="44px minmax(0, 1fr) 108px 60px 52px 58px 74px 26px",kF="26px minmax(0, 1fr) 108px 52px 52px 52px 74px",pce=[{value:"enabled",label:"Enabled"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],CF={padding:"7px 16px",gap:10,alignItems:"end",background:"var(--color-muted)",fontFamily:ce,fontSize:10,fontWeight:600,letterSpacing:"0.05em",textTransform:"uppercase",color:"var(--color-text-muted)"},fi={fontFamily:ce,fontSize:11,textAlign:"right",color:"var(--color-text-primary)"},Sw={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"};function mce({on:e,onClick:t,title:r}){return ne.default.createElement("span",{role:"switch","aria-checked":e,tabIndex:0,title:r,onClick:t,onKeyDown:n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),t(n))},style:{width:34,height:18,borderRadius:999,flexShrink:0,position:"relative",cursor:"pointer",background:e?"var(--color-accent-ui)":"var(--color-muted)",border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,transition:"background 0.12s ease"}},ne.default.createElement("span",{style:{position:"absolute",top:1,left:e?17:1,width:14,height:14,borderRadius:"50%",background:e?"#ffffff":"var(--color-text-muted)",transition:"left 0.12s ease"}}))}function NF({on:e,dim:t=!1}){return ne.default.createElement("span",{"aria-hidden":"true",style:{width:16,height:16,borderRadius:4,display:"flex",alignItems:"center",justifyContent:"center",fontFamily:ce,fontSize:10,fontWeight:700,flexShrink:0,border:`1px solid ${e?"var(--color-accent-ui)":"var(--color-border-strong)"}`,background:e?"var(--color-accent-ui)":"transparent",color:e?"var(--color-on-accent)":"transparent",opacity:t?.8:1}},e?"x":"")}function Aw({children:e,onClick:t,disabled:r,title:n}){return ne.default.createElement("button",{type:"button",onClick:t,disabled:r,title:n,style:{padding:"3px 9px",borderRadius:6,background:"transparent",fontFamily:ce,fontSize:11,border:"1px solid var(--color-border-strong)",color:"var(--color-text-cell)",cursor:r?"not-allowed":"pointer",opacity:r?.5:1}},e)}function _F({children:e}){return ne.default.createElement("div",{style:{overflowX:"auto"}},ne.default.createElement("div",{style:{minWidth:800}},e))}function ZE({agent:e,formData:t,updateField:r,onSave:n,hasChanges:o=!1,isLoading:a}){let[i,l]=(0,ne.useState)(null),[s,u]=(0,ne.useState)(null),[c,d]=(0,ne.useState)("7d"),[f,p]=(0,ne.useState)(""),[m,g]=(0,ne.useState)(null),[h,v]=(0,ne.useState)(null),[y,b]=(0,ne.useState)(!1),[x,S]=(0,ne.useState)(null),[w,T]=(0,ne.useState)({}),k=(ww.find(I=>I.value===c)||ww[1]).hours;(0,ne.useEffect)(()=>{let I=!1;return u(null),fetch(`/api/agents/${e.id}/tool_roster?hours=${k}`).then(N=>{if(!N.ok)throw new Error(`Request failed (${N.status})`);return N.json()}).then(N=>{I||l(N)}).catch(N=>{I||u(N.message)}),()=>{I=!0}},[e.id,k]);let A=(0,ne.useMemo)(()=>({services:[],tools:[]}),[]),M=i||A,H=(0,ne.useMemo)(()=>t.tools||[],[t.tools]),F=(0,ne.useMemo)(()=>t.mcp_servers||[],[t.mcp_servers]),X=(0,ne.useMemo)(()=>bw(M,F),[M,F]),P=(0,ne.useMemo)(()=>yF(M,X,{query:f,filter:m}),[M,X,f,m]),Y=(0,ne.useMemo)(()=>xF(M,X,H,{query:f,source:h,enabledOnly:y}),[M,X,H,f,h,y]),C=(0,ne.useMemo)(()=>bF(M,X,H,{range:c}),[M,X,H,c]),_=(0,ne.useMemo)(()=>wF(M,{tools:H,mcpServers:F},{tools:e.tools||[],mcpServers:e.mcp_servers||[]}),[M,H,F,e]),z=M.usage_available!==!1,D=I=>z?I:"\u2014",E=(0,ne.useCallback)(I=>{r("mcp_servers",SF(M,I,F))},[M,F,r]),j=(0,ne.useCallback)(I=>{let N=X[I.key];E({...X,[I.key]:{...N,on:!N.on}})},[X,E]),R=(0,ne.useCallback)((I,N)=>{let O=X[I.key];O.on&&E({...X,[I.key]:{...O,tools:{...O.tools,[N.name]:!O.tools[N.name]}}})},[X,E]),U=(0,ne.useCallback)((I,N)=>{let O=X[I.key],Z=Object.fromEntries((I.tools||[]).map(B=>[B.name,N]));E({...X,[I.key]:{on:N||O.on,tools:Z}})},[X,E]),L=(0,ne.useCallback)(I=>{if(!I.editable)return;let N=I.on?H.filter(O=>O!==I.key):[...H,I.key];r("tools",XE(M,N))},[M,H,r]),K=(0,ne.useCallback)((I,N)=>{if(!I.editable)return;let O=N?[...H,...I.keys.filter(Z=>!H.includes(Z))]:H.filter(Z=>!I.keys.includes(Z));r("tools",XE(M,O))},[M,H,r]),ae=(0,ne.useCallback)(()=>{r("tools",e.tools||[]),r("mcp_servers",e.mcp_servers||[])},[e,r]),de=(M.services||[]).filter(I=>X[I.key]?.on),ze=Y.find(I=>I.source==="mcp"),Ee=Y.filter(I=>I.source!=="mcp").reduce((I,N)=>I+N.enabledCount,0)+(ze?ze.total:0),V=Y.reduce((I,N)=>I+N.total,0);return s?ne.default.createElement(ht,null,ne.default.createElement(et,null,"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"8px 0 0",fontSize:13,color:"var(--color-error-text)"}},"Could not load the roster: ",s)):i?ne.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16}},ne.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},ne.default.createElement("div",{style:{flex:1,minWidth:260}},ne.default.createElement("h2",{style:{margin:0,fontSize:16,fontWeight:600,color:"var(--color-text-primary)"}},"Tools & MCP services"),ne.default.createElement("p",{style:{margin:"3px 0 0",fontSize:13,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turn a service on to offer its tools, then narrow the roster tool by tool. Call counts come from the traces recorded on every tool call.")),ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border-strong)",background:"var(--color-card)"}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:12,color:"var(--color-text-muted)"}},"?"),ne.default.createElement("input",{value:f,onChange:I=>p(I.target.value),placeholder:"Filter tools and services\u2026","aria-label":"Filter tools and services",style:{border:"none",outline:"none",background:"transparent",color:"var(--color-text-primary)",fontSize:13,width:180}})),ne.default.createElement(lw,{options:ww,value:c,onChange:d}))),ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(180px, 1fr))",gap:12}},C.map(I=>ne.default.createElement(ht,{key:I.key,padding:"14px 16px",testId:`roster-stat-${I.key}`},ne.default.createElement(et,{size:11,spacing:"0.05em"},I.label),ne.default.createElement("div",{style:{marginTop:6,fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1.1,color:I.tone==="warning"?"var(--color-warning)":"var(--color-text-primary)"}},I.value),ne.default.createElement("div",{style:{marginTop:5,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},I.sub)))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"mcp-services-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"MCP services"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},de.length," of ",(M.services||[]).length," enabled \xB7 ",ze?ze.total:0," tools offered"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!m,onClick:()=>g(null)},"All ",(M.services||[]).length),pce.map(I=>ne.default.createElement(fo,{key:I.value,selected:m===I.value,onClick:()=>g(m===I.value?null:I.value)},I.label,I.value==="enabled"?` ${de.length}`:"")),ne.default.createElement(rp,{href:Re("/mcp"),onClick:()=>Ds("/mcp"),title:"Every MCP service this workspace knows",style:{marginLeft:4}},"manage servers"))),ne.default.createElement(_F,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:AF,...CF}},ne.default.createElement("span",null,"On"),ne.default.createElement("span",null,"Service"),ne.default.createElement("span",null,"Status"),ne.default.createElement("span",{style:{textAlign:"right"}},"Tools"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen"),ne.default.createElement("span",null)),P.map(I=>{let N=x===I.key;return ne.default.createElement("div",{key:I.key},ne.default.createElement("div",{className:"aa-roster-row","data-on":I.on?"true":"false","data-testid":`service-row-${I.key}`,style:{display:"grid",gridTemplateColumns:AF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)"}},ne.default.createElement(mce,{on:I.on,onClick:()=>j(I),title:`${I.on?"Disable":"Enable"} ${I.name} for this agent`}),ne.default.createElement("div",{onClick:()=>S(N?null:I.key),style:{minWidth:0,cursor:"pointer"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},I.name),I.first_party&&ne.default.createElement(Tt,{tone:"accent",size:10},"first-party"),!I.known&&ne.default.createElement(Tt,{size:10,title:"Seen in your traffic but not in the platform catalog"},"undocumented"),I.partial&&ne.default.createElement(Tt,{tone:"warning",size:10},I.partialLabel)),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Sw}},I.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:dce[I.status]||"muted"},I.status)),ne.default.createElement("span",{style:{...fi,color:I.on?"var(--color-text-primary)":"var(--color-text-muted)"}},I.toolsLabel),ne.default.createElement("span",{style:fi},D(I.calls)),ne.default.createElement("span",{style:{...fi,color:I.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(I.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(YE(I.last_seen))),ne.default.createElement("span",{onClick:()=>S(N?null:I.key),style:{cursor:"pointer",textAlign:"center"}},ne.default.createElement(Fa,{kind:"chevron",open:N}))),N&&ne.default.createElement("div",{style:{borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",padding:"10px 16px 12px"}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap",marginBottom:8}},ne.default.createElement(et,{size:10,color:"var(--color-text-muted)"},"Tools offered"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},I.transport),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",gap:8}},ne.default.createElement(Aw,{onClick:()=>U(I,!0),title:`Offer every tool ${I.name} serves`},"all"),ne.default.createElement(Aw,{onClick:()=>U(I,!1),disabled:!I.on,title:`Offer none of ${I.name}'s tools`},"none"))),I.tools.length===0?ne.default.createElement(An,{style:{padding:"10px 0"}},"no tools recorded for this service yet"):ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:"6px 14px"}},I.tools.map(O=>ne.default.createElement("div",{key:O.name,className:"aa-roster-row",onClick:()=>R(I,O),style:{display:"grid",gridTemplateColumns:"20px minmax(0, 1fr) 46px 52px",gap:10,alignItems:"center",padding:"6px 8px",borderRadius:8,cursor:I.on?"pointer":"default",opacity:I.on?1:.55}},ne.default.createElement(NF,{on:O.on,dim:!I.on}),ne.default.createElement("span",{style:{minWidth:0}},ne.default.createElement("span",{style:{display:"block",fontFamily:ce,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)",...Sw}},O.name),ne.default.createElement("span",{style:{display:"block",fontSize:11,color:"var(--color-text-muted)",...Sw}},O.description)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-muted)"}},D(O.errors?`${O.errors} err`:GE(O.avg_duration_ms)))))),!I.on&&ne.default.createElement("div",{style:{marginTop:8,fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Turning ",I.name," on offers these ",I.tools.length," tools to the agent and starts recording traces and metrics for every call.")))}),P.length===0&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no services match "${f}"`:"no MCP services yet"))),ne.default.createElement(ht,{padding:0,style:{overflow:"hidden"},testId:"tools-card"},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"12px 16px",borderBottom:"1px solid var(--color-border-light)",flexWrap:"wrap"}},ne.default.createElement(et,null,"Tools"),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},Ee," enabled of ",V," available"),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:6,flexWrap:"wrap"}},ne.default.createElement(fo,{selected:!h,onClick:()=>v(null)},"All ",V),Y.map(I=>ne.default.createElement(fo,{key:I.source,selected:h===I.source,onClick:()=>v(h===I.source?null:I.source)},I.name," ",I.total)),ne.default.createElement(fo,{square:!0,mono:!0,selected:y,onClick:()=>b(!y),style:{marginLeft:4}},y?"[x] enabled only":"[ ] enabled only"))),ne.default.createElement(_F,null,ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:kF,...CF}},ne.default.createElement("span",null),ne.default.createElement("span",null,"Tool"),ne.default.createElement("span",null,"Source"),ne.default.createElement("span",{style:{textAlign:"right"}},"Calls"),ne.default.createElement("span",{style:{textAlign:"right"}},"Errors"),ne.default.createElement("span",{style:{textAlign:"right"}},"Avg"),ne.default.createElement("span",{style:{textAlign:"right"}},"Last seen")),Y.map(I=>{let N=w[I.source]!==!0;return ne.default.createElement("div",{key:I.source},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"7px 16px",borderTop:"1px solid var(--color-border-light)",background:"var(--color-background)",flexWrap:"wrap"}},ne.default.createElement("span",{onClick:()=>T({...w,[I.source]:N}),style:{cursor:"pointer",display:"inline-flex",alignItems:"center",gap:10}},ne.default.createElement(Fa,{kind:"chevron",open:N}),ne.default.createElement("span",{style:{fontSize:12,fontWeight:600,color:"var(--color-text-primary)"}},I.name)),ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},I.meta),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:8}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-cell)"}},I.countLabel),I.editable&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement(Aw,{onClick:()=>K(I,!0)},"all"),ne.default.createElement(Aw,{onClick:()=>K(I,!1)},"none")))),N&&I.rows.map(O=>ne.default.createElement("div",{key:O.key,className:"aa-roster-row","data-on":O.on?"true":"false","data-testid":`tool-row-${O.key}`,onClick:()=>L(O),style:{display:"grid",gridTemplateColumns:kF,gap:10,alignItems:"center",padding:"10px 16px",borderTop:"1px solid var(--color-border-light)",cursor:O.editable?"pointer":"default",opacity:O.editable?1:.75}},ne.default.createElement(NF,{on:O.on,dim:!O.editable}),ne.default.createElement("div",{style:{minWidth:0}},ne.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},ne.default.createElement("span",{style:{fontFamily:ce,fontSize:12,fontWeight:600,color:O.on?"var(--color-text-primary)":"var(--color-text-secondary)"}},O.name),O.source==="mcp"&&ne.default.createElement(Tt,{size:10},"via ",O.server),O.source==="agent_defined"&&(O.editable?ne.default.createElement(Tt,{size:10,title:"Generated from the host's schema tools; offered to this agent only while its roster names it"},"from schema"):ne.default.createElement(Tt,{size:10,title:"Declared by the agent class in code, so the roster reports it rather than selecting it"},"from code")),z&&O.on&&!O.calls&&ne.default.createElement(Tt,{size:10},"unused")),ne.default.createElement("div",{style:{marginTop:2,fontSize:12,lineHeight:"17px",color:"var(--color-text-secondary)",...Sw}},O.description)),ne.default.createElement("span",null,ne.default.createElement(Tt,{tone:fce[O.source]||"muted"},qE[O.source])),ne.default.createElement("span",{style:fi},D(O.calls)),ne.default.createElement("span",{style:{...fi,color:O.errors?"var(--color-error-text)":"var(--color-text-secondary)"}},D(O.errors)),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-secondary)"}},D(GE(O.avg_duration_ms))),ne.default.createElement("span",{style:{...fi,color:"var(--color-text-muted)"}},D(YE(O.last_seen))))))}),Y.every(I=>I.rows.length===0)&&ne.default.createElement(An,{style:{borderTop:"1px solid var(--color-border-light)",padding:"18px 16px"}},f?`no tools match "${f}"`:"nothing enabled yet"))),ne.default.createElement(ht,{padding:"12px 16px",style:{position:"sticky",bottom:0,zIndex:4,background:"var(--color-surface)",display:"flex",alignItems:"center",gap:12,flexWrap:"wrap"},testId:"roster-action-bar"},ne.default.createElement("div",{style:{minWidth:0,display:"flex",flexDirection:"column",gap:3}},ne.default.createElement(et,{size:11,spacing:"0.05em"},Ee," tools \xB7 ",de.length," services"),ne.default.createElement("span",{style:{fontSize:12,color:"var(--color-text-secondary)",textWrap:"pretty"}},"Every enabled tool is traced: calls, arguments, errors and latency land in Traces and roll up into Metrics.")),ne.default.createElement("span",{style:{marginLeft:"auto",display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},_>0&&ne.default.createElement(ne.default.Fragment,null,ne.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-warning-text)"}},_," change",_===1?"":"s"," pending"),ne.default.createElement(mr,{variant:"secondary",onClick:ae},"Discard")),ne.default.createElement(mr,{variant:o?"primary":"secondary",onClick:n,disabled:a||!o,title:o?"Save this agent":"Nothing to save",style:o?void 0:{background:"var(--color-muted)",color:"var(--color-text-muted)",border:"1px solid transparent",cursor:"default"}},a?"Saving\u2026":"Save Changes")))):ne.default.createElement(ht,null,ne.default.createElement(An,null,"loading the roster\u2026"))}var vce=[{id:"config",label:"Configuration"},{id:"instructions",label:"Instructions"},{id:"tools",label:"Tools"},{id:"versions",label:"Versions"},{id:"code",label:"Code"}],TF=[{id:"traces",label:"Traces"},{id:"metrics",label:"Metrics"},{id:"interactions",label:"Interactions"},{id:"evals",label:"Evals"},{id:"feedback",label:"Feedback"}],gce=TF.map(e=>e.id),EF={success:{light:["#dcfce7","#166534"],dark:["rgba(22,163,74,0.18)","#4ade80"]},warning:{light:["#fef9c3","#854d0e"],dark:["rgba(234,179,8,0.18)","#facc15"]},neutral:{light:["#f3f4f6","#4b5563"],dark:["rgba(255,255,255,0.1)","rgba(255,255,255,0.7)"]},error:{light:["#fee2e2","#991b1b"],dark:["rgba(220,38,38,0.18)","#f87171"]},info:{light:["#dbeafe","#1e40af"],dark:["rgba(59,130,246,0.18)","#60a5fa"]}},yce={active:"success",draft:"warning",archived:"neutral",failed:"error",trial:"info"};function zs({tone:e="neutral",mono:t=!1,darkMode:r,children:n}){let[o,a]=(EF[e]||EF.neutral)[r?"dark":"light"];return le.default.createElement("span",{style:{background:o,color:a,borderRadius:"999px",padding:"2px 8px",fontSize:"11px",fontWeight:600,fontFamily:t?Ve.mono:void 0,whiteSpace:"nowrap"}},n)}function qn({variant:e="secondary",size:t="md",onClick:r,disabled:n,colors:o,title:a,testId:i,children:l}){let u={padding:t==="sm"?"5px 10px":"7px 14px",borderRadius:"8px",fontSize:"13px",fontWeight:500,cursor:n?"not-allowed":"pointer",transition:"background 0.15s ease, border-color 0.15s ease",whiteSpace:"nowrap"},c={primary:{background:n?o.mutedBg:bn,color:n?o.textMuted:"#ffffff",border:"1px solid transparent"},secondary:{background:"transparent",color:o.textCell,border:`1px solid ${o.inputBorder}`},danger:{background:"transparent",color:"#dc2626",border:"1px solid rgba(220,38,38,0.4)"}};return le.default.createElement("button",{type:"button",onClick:r,disabled:n,title:a,"data-testid":i,style:{...u,...c[e]||c.secondary}},l)}function OF({tabs:e,active:t,onChange:r,colors:n}){return le.default.createElement("div",{style:{display:"flex",alignItems:"center"}},e.map(o=>{let a=t===o.id;return le.default.createElement("button",{key:o.id,type:"button",onClick:()=>r(o.id),style:{padding:"10px 12px",marginBottom:"-1px",background:"none",border:"none",borderBottom:`2px solid ${a?bn:"transparent"}`,color:a?bn:n.textSecondary,fontSize:"13px",fontWeight:a?600:500,cursor:"pointer",whiteSpace:"nowrap"}},o.label)}))}function kw({agent:e,meta:t,onSave:r,onDelete:n,onRun:o,onDuplicate:a,onRunReport:i,onBack:l,isLoading:s,initialTab:u}){let{darkMode:c}=Nt(),d=Ro(c),[f,p]=(0,le.useState)(u||"config"),[m,g]=(0,le.useState)({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"}),[h,v]=(0,le.useState)([]),[y,b]=(0,le.useState)(!1),[x,S]=(0,le.useState)(""),[w,T]=(0,le.useState)(hd),k=e.telemetry_agent_class||e.telemetryAgentClass||(()=>{let C=e.agent_class_name||e.agentClassName||`${(e.name||"").replace(/[^a-zA-Z0-9]+(.)/g,(_,z)=>z.toUpperCase()).replace(/^./,_=>_.toUpperCase()).replace(/[^a-zA-Z0-9]/g,"")}`;return C.endsWith("Agent")?C:`${C}Agent`})();(0,le.useEffect)(()=>{let C=!1;return yh(m.provider).then(_=>{C||_.length===0||T(z=>({...z,[m.provider]:_}))}),()=>{C=!0}},[m.provider]),(0,le.useEffect)(()=>{let C=JSON.stringify(m)!==JSON.stringify({name:e.name||"",description:e.description||"",provider:e.provider||"openai",model:e.model||"gpt-4o-mini",instructions:e.instructions||"",action_prompts:e.actionPrompts||e.action_prompts||[],preset_type:e.presetType||e.preset_type||"terminal",appearance:e.appearance||{},instruction_sets:e.instructionSets||e.instruction_sets||[],tools:e.tools||[],mcp_servers:e.mcpServers||e.mcp_servers||[],model_config:e.modelConfig||e.model_config||{temperature:.7},status:e.status||"draft"});b(C)},[m,e]),(0,le.useEffect)(()=>{f==="versions"?A():f==="code"&&M()},[f]);let A=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/versions`)).json();v(_.versions)}catch(C){console.error("Failed to load versions:",C)}},M=async()=>{try{let _=await(await fetch(`/api/agents/${e.id}/export`)).json();S(_.code)}catch(C){console.error("Failed to load code preview:",C)}},H=(C,_)=>{g(z=>({...z,[C]:_}))},F=(C,_)=>{g(z=>{let D=z[C]||[],E=D.includes(_)?D.filter(j=>j!==_):[...D,_];return{...z,[C]:E}})},X=()=>{r(m)},P=gce.includes(f),Y=f==="tools";return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"flex-start",gap:"12px"}},le.default.createElement("button",{type:"button",onClick:l,title:"Back to agents",style:{fontFamily:Ve.mono,fontSize:"13px",color:d.textSecondary,background:"none",border:"none",cursor:"pointer",padding:"4px 2px",marginTop:"10px"}},"<-"),le.default.createElement(wr,{size:44}),le.default.createElement("div",{style:{flex:1,minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},le.default.createElement("h1",{style:{fontSize:"20px",fontWeight:700,color:d.textPrimary,margin:0}},m.name||"Untitled agent"),le.default.createElement(zs,{tone:yce[m.status]||"neutral",darkMode:c},m.status),y&&le.default.createElement(zs,{tone:"info",darkMode:c},"unsaved")),le.default.createElement("p",{style:{fontSize:"13px",color:d.textSecondary,margin:"4px 0 0"}},m.description||"No description")),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexShrink:0}},a&&le.default.createElement(qn,{variant:"secondary",colors:d,onClick:a},"Duplicate"),le.default.createElement(qn,{variant:"primary",colors:d,onClick:o},"Run Agent"))),le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"20px",borderBottom:`1px solid ${d.cardBorder}`,overflowX:"auto"}},le.default.createElement(OF,{tabs:vce,active:f,onChange:p,colors:d}),le.default.createElement("div",{style:{width:"1px",height:"18px",background:d.borderStrong,flexShrink:0}}),le.default.createElement(OF,{tabs:TF,active:f,onChange:p,colors:d})),Y?le.default.createElement(ZE,{agent:e,formData:m,updateField:H,onSave:X,hasChanges:y,isLoading:s}):P?le.default.createElement("div",null,f==="traces"&&le.default.createElement(dc,{agentClass:k,embedded:!0}),f==="metrics"&&le.default.createElement(VE,{agent:e,embedded:!0}),f==="interactions"&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},i&&le.default.createElement("div",{style:{display:"flex",justifyContent:"flex-end"}},le.default.createElement("button",{type:"button",onClick:i,style:{background:"none",border:"none",cursor:"pointer",fontFamily:Ve.mono,fontSize:"11px",color:"#3b82f6"}},"run report ->")),le.default.createElement(pl,{agentId:e.id,embedded:!0})),f==="evals"&&le.default.createElement(Sg,{embedded:!0,agentId:e.id}),f==="feedback"&&le.default.createElement(Ace,{colors:d})):le.default.createElement("div",{style:{background:d.cardBg,border:`1px solid ${d.cardBorder}`,borderRadius:"12px",padding:"20px"}},f==="config"&&le.default.createElement(xce,{formData:m,updateField:H,providerModels:w,colors:d,darkMode:c,onDelete:n}),f==="instructions"&&le.default.createElement(bce,{formData:m,updateField:H,meta:t,toggleArrayItem:F,colors:d}),f==="versions"&&le.default.createElement(wce,{versions:h,agentId:e.id,onRestore:A,colors:d,darkMode:c}),f==="code"&&le.default.createElement(Sce,{code:x,colors:d})),y&&!Y&&le.default.createElement("div",{style:{position:"sticky",bottom:"0",display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",background:d.cardBg,border:`1px solid ${d.borderStrong}`,borderRadius:"12px",padding:"10px 14px",boxShadow:"0 4px 16px rgba(0,0,0,0.12)"}},le.default.createElement("span",{style:{fontSize:"13px",color:d.textSecondary}},"Unsaved changes"),le.default.createElement("div",{style:{display:"flex",gap:"8px"}},le.default.createElement(qn,{variant:"primary",size:"sm",colors:d,onClick:X,disabled:s},s?"Saving\u2026":"Save Changes"))))}var pi=e=>({display:"block",fontSize:"13px",fontWeight:500,color:e.textCell,marginBottom:"6px"}),xl=e=>({width:"100%",padding:"8px 12px",borderRadius:"8px",border:`1px solid ${e.inputBorder}`,background:e.inputBg,color:e.textPrimary,fontFamily:"inherit",fontSize:"13px"}),hce=e=>({fontFamily:Ve.mono,fontSize:"11px",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:e.textSecondary});function xce({formData:e,updateField:t,providerModels:r,colors:n,darkMode:o,onDelete:a}){return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Agent Name"),le.default.createElement("input",{type:"text",value:e.name,onChange:i=>t("name",i.target.value),className:"aa-field",style:xl(n)})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Preset Type"),le.default.createElement("select",{value:e.preset_type,onChange:i=>t("preset_type",i.target.value),className:"aa-field",style:xl(n)},Object.keys(gd).map(i=>le.default.createElement("option",{key:i,value:i},i))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Description"),le.default.createElement("textarea",{value:e.description,onChange:i=>t("description",i.target.value),rows:3,className:"aa-field",style:{...xl(n),resize:"vertical"}})),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Provider"),le.default.createElement("select",{value:e.provider,onChange:i=>{t("provider",i.target.value),t("model",r[i.target.value][0])},className:"aa-field",style:xl(n)},Object.keys(r).map(i=>le.default.createElement("option",{key:i,value:i},i.charAt(0).toUpperCase()+i.slice(1))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Model"),le.default.createElement("select",{value:e.model,onChange:i=>t("model",i.target.value),className:"aa-field",style:{...xl(n),fontFamily:Ve.mono}},(r[e.provider]?.includes(e.model)?r[e.provider]:[e.model,...r[e.provider]||[]]).filter(Boolean).map(i=>le.default.createElement("option",{key:i,value:i},i))))),le.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"16px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Temperature"," ",le.default.createElement("span",{style:{fontFamily:Ve.mono,color:n.textSecondary}},e.model_config.temperature)),le.default.createElement("input",{type:"range",min:"0",max:"1",step:"0.1",value:e.model_config.temperature,onChange:i=>t("model_config",{...e.model_config,temperature:parseFloat(i.target.value)}),style:{width:"100%",accentColor:bn}})),le.default.createElement("div",null,le.default.createElement("label",{style:pi(n)},"Status"),le.default.createElement("select",{value:e.status,onChange:i=>t("status",i.target.value),className:"aa-field",style:xl(n)},le.default.createElement("option",{value:"draft"},"Draft"),le.default.createElement("option",{value:"active"},"Active"),le.default.createElement("option",{value:"archived"},"Archived")))),a&&le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"12px",borderTop:`1px solid ${n.cardBorder}`,paddingTop:"16px"}},le.default.createElement("div",null,le.default.createElement("div",{style:hce(n)},"Danger zone"),le.default.createElement("p",{style:{fontSize:"13px",color:n.textMuted,margin:"4px 0 0"}},"Deleting an agent removes its configuration and version history.")),le.default.createElement(qn,{variant:"danger",size:"sm",colors:n,onClick:a},"Delete Agent")))}function bce({formData:e,updateField:t,meta:r,toggleArrayItem:n,colors:o}){let a=e.action_prompts||[],i=(u,c)=>{t("action_prompts",a.map((d,f)=>f===u?{...d,...c}:d))},l=()=>{t("action_prompts",[...a,{name:"",prompt:"",expose_as_tool:!1}])},s=u=>{t("action_prompts",a.filter((c,d)=>d!==u))};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"20px"}},le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"System Instructions"),le.default.createElement("textarea",{value:e.instructions,onChange:u=>t("instructions",u.target.value),placeholder:"You are a helpful AI assistant...",rows:12,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}})),le.default.createElement("div",null,le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:"6px"}},le.default.createElement("label",{style:{...pi(o),marginBottom:0}},"Action Prompts"),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:o,onClick:l},"+ Add action")),le.default.createElement("p",{style:{fontSize:"12px",color:o.textMuted,margin:"0 0 12px"}},"Named actions run with their prompt stacked below the system instructions. The default ",le.default.createElement("span",{style:{fontFamily:Ve.mono}},"#ask")," action uses the system instructions alone."),a.length>0&&le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},a.map((u,c)=>le.default.createElement("div",{key:c,style:{border:`1px solid ${o.cardBorder}`,borderRadius:"10px",padding:"12px",display:"flex",flexDirection:"column",gap:"8px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",color:o.textMuted}},"#"),le.default.createElement("input",{type:"text",value:u.name,onChange:d=>i(c,{name:d.target.value.toLowerCase().replace(/[^a-z0-9_]/g,"_")}),placeholder:"action_name",className:"aa-field",style:{...xl(o),flex:1,padding:"6px 10px",fontFamily:Ve.mono}}),le.default.createElement("label",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"12px",color:o.textSecondary,whiteSpace:"nowrap"}},le.default.createElement("input",{type:"checkbox",checked:!!u.expose_as_tool,onChange:d=>i(c,{expose_as_tool:d.target.checked}),style:{accentColor:bn}}),"Expose as tool"),le.default.createElement("button",{type:"button",onClick:()=>s(c),title:"Remove action",style:{fontFamily:Ve.mono,fontSize:"12px",color:o.textMuted,background:"none",border:"none",cursor:"pointer",padding:"4px"}},"[x]")),le.default.createElement("textarea",{value:u.prompt,onChange:d=>i(c,{prompt:d.target.value}),placeholder:"This action's system prompt, applied on top of the base instructions...",rows:4,className:"aa-field",style:{...xl(o),fontFamily:Ve.mono,resize:"vertical"}}))))),le.default.createElement("div",null,le.default.createElement("label",{style:pi(o)},"Instruction Sets"),le.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px"}},r.instructionSets?.map(u=>{let c=e.instruction_sets.includes(u);return le.default.createElement("button",{key:u,type:"button",onClick:()=>n("instruction_sets",u),style:{padding:"5px 12px",borderRadius:"999px",fontSize:"13px",cursor:"pointer",border:`1px solid ${c?bn:o.inputBorder}`,background:c?bn:"transparent",color:c?"#ffffff":o.textCell}},u)}))))}function wce({versions:e,agentId:t,onRestore:r,colors:n,darkMode:o}){let a=async i=>{if(confirm("Restore this version? This will create a new version with the restored configuration."))try{await fetch(`/api/agents/${t}/restore`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version_id:i})}),r()}catch(l){console.error("Failed to restore version:",l)}};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"16px"}},le.default.createElement("p",{style:{fontSize:"13px",color:n.textSecondary,margin:0}},"View and restore previous versions of this agent."),e.length>0?le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"10px"}},e.map(i=>{let l=i.is_latest||i.isLatest;return le.default.createElement("div",{key:i.id,style:{display:"flex",alignItems:"flex-start",justifyContent:"space-between",gap:"12px",padding:"14px",borderRadius:"10px",border:`1px solid ${l?bn:n.cardBorder}`,background:l?"rgba(239,68,68,0.06)":"transparent"}},le.default.createElement("div",{style:{minWidth:0}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px"}},le.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"13px",fontWeight:600,color:n.textPrimary}},"v",i.version_number||i.versionNumber),l&&le.default.createElement(zs,{tone:"error",darkMode:o},"current")),le.default.createElement("p",{style:{fontSize:"13px",color:n.textCell,margin:"4px 0 0"}},i.change_summary||i.changeSummary),le.default.createElement("p",{style:{fontFamily:Ve.mono,fontSize:"11px",color:n.textMuted,margin:"4px 0 0"}},new Date(i.created_at||i.createdAt).toLocaleString())),!l&&le.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>a(i.id)},"Restore"))})):le.default.createElement(MF,{colors:n,glyph:"[#]",title:"No version history",hint:"Saving a change records a new version."}))}function Sce({code:e,colors:t}){let r=()=>{navigator.clipboard.writeText(e)};return le.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:"12px"}},le.default.createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},le.default.createElement("p",{style:{fontSize:"13px",color:t.textSecondary,margin:0}},"Generated Ruby code for this agent."),le.default.createElement(qn,{variant:"secondary",size:"sm",colors:t,onClick:r},"Copy")),le.default.createElement("pre",{style:{padding:"16px",background:"#111827",color:"#e5e7eb",borderRadius:"10px",overflowX:"auto",fontFamily:Ve.mono,fontSize:"12px",lineHeight:1.6,margin:0}},le.default.createElement("code",null,e||"Loading...")))}function Ace({colors:e}){return le.default.createElement("div",{style:{background:e.cardBg,border:`1px solid ${e.cardBorder}`,borderRadius:"12px",padding:"20px"}},le.default.createElement(MF,{colors:e,glyph:"[?]",title:"No feedback recorded",hint:"Thumbs and comments are not captured yet. Once an interaction feedback source is recorded, CSAT and per-trace comments appear here."}))}function MF({colors:e,glyph:t,title:r,hint:n}){return le.default.createElement("div",{style:{textAlign:"center",padding:"40px 20px"}},le.default.createElement("div",{style:{fontFamily:Ve.mono,fontSize:"20px",color:e.textMuted}},t),le.default.createElement("div",{style:{fontSize:"14px",fontWeight:600,color:e.textPrimary,marginTop:"10px"}},r),le.default.createElement("p",{style:{fontSize:"13px",color:e.textMuted,margin:"6px auto 0",maxWidth:"420px"}},n))}var q=te(re());async function sp(){let e=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl;if(!e)throw new Error("This dashboard has no billing configured.");window.location.href=e}var kce={llm:{role:"assistant",label:"LLM"},tool:{role:"tool",label:"Tool"},agent:{role:"developer",label:"Agent"},mcp:{role:"system",label:"MCP"}},Cce=(e,t)=>{let r=kce[e]||{role:e,label:e};return{...Ar(r.role,t),label:r.label}},QE={complete:"success",failed:"error",running:"info",pending:"warning",cancelled:"neutral"},Nce=["Hello, what can you help me with?","Show me a dashboard of last quarter's sales","List the files in the current directory","Explain how this code works"],_ce=["user","assistant","tool"],Ece=1200,Oce=600*1e3,Cw=e=>e?e<1e3?`${e}ms`:`${(e/1e3).toFixed(2)}s`:"-",PF=e=>{if(!e)return null;try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}},JE=e=>{let t=new Map;return(e?.logs||[]).filter(r=>r.eid).forEach(r=>{let n=t.get(r.eid)||{eid:r.eid};r.status==="started"?Object.assign(n,r,{input:r.detail,output:n.output}):Object.assign(n,r,{input:n.input,output:r.detail}),t.set(r.eid,n)}),[...t.values()]},Ls=e=>e?.context_id??e?.output_metadata?.context_id??null,Ag=e=>e.json().catch(()=>({})),DF=({open:e,color:t})=>q.default.createElement("svg",{className:`w-3.5 h-3.5 mt-1 flex-shrink-0 transition-transform ${e?"rotate-180":""}`,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",style:{color:t}},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}));function Tce({run:e,darkMode:t,colors:r,expanded:n,onToggle:o}){let a=JE(e),i=tw(t);return q.default.createElement("div",{"data-testid":"runner-activity",className:"space-y-2"},a.map(l=>{let s=!!n[l.eid],u=!!(l.input||l.output),c=Cce(l.kind,t);return q.default.createElement("div",{key:l.eid,"data-testid":"runner-activity-event"},q.default.createElement("div",{className:`flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 ${u?"cursor-pointer":""}`,onClick:u?()=>o(l.eid):void 0,title:u?"Click to inspect input/output":void 0,style:s?{background:t?"rgba(255,255,255,0.04)":"rgba(0,0,0,0.03)"}:{}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium flex-shrink-0 mt-0.5",style:{background:c.background,color:c.color,minWidth:"72px",textAlign:"center"}},c.label),q.default.createElement("div",{className:"min-w-0 flex-1"},q.default.createElement("div",{className:"text-sm break-words",style:{color:r.textPrimary}},l.label,l.output&&!s&&q.default.createElement("span",{style:{color:r.textMuted}}," \u201C",l.output.slice(0,160),l.output.length>160?"\u2026":"","\u201D")),q.default.createElement("div",{className:"text-xs mt-0.5 font-mono flex items-center gap-2 flex-wrap",style:{color:r.textMuted}},l.status==="started"?q.default.createElement("span",{className:"animate-pulse",style:{color:"#3b82f6"}},"running\u2026"):q.default.createElement("span",{style:l.status==="error"?{color:"#ef4444"}:void 0},l.status==="error"?"failed":"\u2713",l.duration_ms!=null&&` ${Cw(l.duration_ms)}`),l.at&&q.default.createElement("span",null,new Date(l.at).toLocaleTimeString()))),u&&q.default.createElement(DF,{open:s,color:r.textMuted})),s&&q.default.createElement("div",{className:"ml-3 mt-1 mb-2 pl-4 space-y-2 border-l-2",style:{borderColor:c.color+"55"}},l.input&&q.default.createElement("div",null,q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},"Input"),q.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"160px",overflowY:"auto"}},PF(l.input))),l.output&&q.default.createElement("div",null,q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:r.textMuted}},l.status==="error"?"Error":"Result"),q.default.createElement("pre",{style:{...i,whiteSpace:"pre-wrap",maxHeight:"224px",overflowY:"auto",...l.status==="error"?{background:t?"rgba(239,68,68,0.12)":"#fef2f2",color:t?"#fca5a5":"#b91c1c"}:{}}},PF(l.output)))))}))}function Mce({run:e,darkMode:t,colors:r}){return e?q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap text-xs",style:{color:r.textMuted}},q.default.createElement("span",{"data-testid":"runner-status",style:{display:"inline-flex"}},q.default.createElement(zs,{tone:QE[e.status]||"neutral",darkMode:t},e.status)),e.output_metadata?.model&&q.default.createElement("span",{className:"font-mono",title:"Model that generated this run"},e.output_metadata.provider,"/",e.output_metadata.model),e.duration_ms?q.default.createElement("span",null,Cw(e.duration_ms)):null,e.total_tokens?q.default.createElement("span",null,e.total_tokens," tokens"):null,e.trace_id&&q.default.createElement("a",{href:Re(`/traces?trace=${e.trace_id}`),className:"font-mono hover:underline",style:{color:r.textSecondary},title:`${e.trace_id} \u2014 open in Traces`},"trace:",e.trace_id.slice(0,8)," \u2192")):null}function RE({agent:e,onBack:t}){let{darkMode:r}=Nt(),n=Ro(r),o=e.action_prompts||e.actionPrompts||[],a=["ask",...o.map(ie=>ie.name).filter(Boolean)],[i,l]=(0,q.useState)("ask"),[s,u]=(0,q.useState)(""),[c,d]=(0,q.useState)([]),[f,p]=(0,q.useState)(!1),[m,g]=(0,q.useState)([]),[h,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(null),[w,T]=(0,q.useState)([]),[k,A]=(0,q.useState)(!1),[M,H]=(0,q.useState)(null),[F,X]=(0,q.useState)(null),[P,Y]=(0,q.useState)(null),[C,_]=(0,q.useState)(null),[z,D]=(0,q.useState)({}),[E,j]=(0,q.useState)(null),[R,U]=(0,q.useState)(!1),[L,K]=(0,q.useState)(null),[ae,de]=(0,q.useState)(!1),[ze,oe]=(0,q.useState)(!1),[Ee,V]=(0,q.useState)(null),[I,N]=(0,q.useState)(""),[O,Z]=(0,q.useState)(!1),[B,we]=(0,q.useState)(null),ee=(0,q.useRef)(null),ue=(0,q.useRef)(null),W=(0,q.useRef)(0),xe=(0,q.useRef)(!0),De=(0,q.useRef)(null),Ge=(0,q.useRef)([]),it=(0,q.useRef)(null),zn=(0,q.useRef)(null),$o=(0,q.useRef)(null),Fo=(0,q.useRef)(null),Uo=(y?.messages||[]).filter(ie=>_ce.includes(ie.role));(0,q.useEffect)(()=>{De.current=F},[F]),(0,q.useEffect)(()=>{Ge.current=c},[c]),(0,q.useEffect)(()=>(xe.current=!0,zr(),()=>{xe.current=!1,W.current+=1,bl(De.current),bl({attachments:Ge.current}),X(null),d([])}),[e.id]),(0,q.useEffect)(()=>{bc(i)},[e.id,i]),(0,q.useEffect)(()=>{ue.current=h,h?$s(h):(b(null),S(null))},[h]),(0,q.useEffect)(()=>{let ie=zn.current;ie&&(ie.scrollTop=ie.scrollHeight)},[Uo.length,F,M?.logs?.length,Ee,P]),(0,q.useEffect)(()=>{if(!ze)return;let ie=Le=>{Fo.current&&!Fo.current.contains(Le.target)&&oe(!1)};return document.addEventListener("mousedown",ie),()=>document.removeEventListener("mousedown",ie)},[ze]);let zr=async()=>{try{let Le=await(await fetch(`/api/agents/${e.id}/runs?per_page=10`)).json();T(Le.runs||[])}catch(ie){console.error("Failed to load runs:",ie)}},bc=async ie=>{try{let Le=await fetch(`/api/agents/${e.id}/conversations?action_name=${encodeURIComponent(ie)}`);if(!Le.ok)throw new Error(`HTTP ${Le.status}`);let ut=(await Le.json()).conversations||[];g(ut),v(Zr=>Zr&&(ee.current===Zr||ut.some(Aa=>Aa.id===Zr))?Zr:ut[0]?.id??null)}catch(Le){console.error("Failed to load conversations:",Le),g([])}},$s=async ie=>{try{let Le=await fetch(`/api/interactions/${ie}`);if(!Le.ok)throw new Error(Le.status===404?"Conversation not found":`HTTP ${Le.status}`);let Je=await Le.json();if(ue.current!==ie)return;b(Je.interaction),S(null)}catch(Le){if(ue.current!==ie)return;b(null),S(Le.message)}},Fs=async()=>{let ie=await fetch(`/api/agents/${e.id}/conversations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action_name:i})}),Le=await Ag(ie);if(!ie.ok||!Le.conversation)throw new Error(Le.error||`Could not start a conversation (HTTP ${ie.status})`);let Je=Le.conversation;return g(ut=>[Je,...ut.filter(Zr=>Zr.id!==Je.id)]),ee.current=Je.id,v(Je.id),Je.id},Ig=()=>ue.current?Promise.resolve(ue.current):Fs(),jg=ie=>{ee.current=null,l(ie)},wc=()=>{H(null),_(null),D({})},Lw=ie=>{let Le=ie?Number(ie):null;Le!==ue.current&&wc(),ee.current=Le,v(Le),Y(null)},Bw=async()=>{if(!k)try{await Fs(),S(null),Y(null),wc(),bl(De.current),X(null),V(null)}catch(ie){S(ie.message)}},bl=ie=>{(ie?.attachments||[]).forEach(Le=>{Le.url&&Le.url.startsWith("blob:")&&URL.revokeObjectURL(Le.url)})},Us=ie=>{let Le=Array.from(ie||[]).filter(Boolean);Le.length!==0&&d(Je=>[...Je,...Le.map(ut=>({file:ut,filename:ut.name,content_type:ut.type||"application/octet-stream",byte_size:ut.size,kind:w$(ut),url:ut.type&&ut.type.startsWith("image/")?URL.createObjectURL(ut):null}))])},$w=ie=>{d(Le=>{let Je=Le[ie];return Je?.url&&URL.revokeObjectURL(Je.url),Le.filter((ut,Zr)=>Zr!==ie)})},pp=(ie,Le)=>{A(!1),bl(De.current),X(null),zr();let Je=Ls(ie)??Le;Je&&(Je!==ue.current?(ee.current=Je,v(Je)):$s(Je),bc(i))},Fw=(ie,Le)=>{if(!xe.current)return;let Je=++W.current,ut=Date.now(),Zr=async()=>{if(W.current===Je){try{let Aa=await fetch(`/api/runs/${ie}`);if(Aa.ok){let Gn=await Aa.json();if(W.current!==Je)return;if(H(Gn.run),!["pending","running"].includes(Gn.run.status)){pp(Gn.run,Le);return}}}catch{}Date.now()-utAa&&{...Aa,status:"failed",error_message:"Timed out waiting for the run to finish."}),_("Timed out waiting for the run to finish."))}};Zr()},mp=async({text:ie,files:Le,fromComposer:Je=!1})=>{let ut=(ie||"").trim();if(!ut&&Le.length===0||k)return;_(null),Y(null),V(null),A(!0),D({}),H({status:"pending",input_prompt:ut,output:"",logs:[],started_at:new Date().toISOString()}),bl(De.current),X({content:ut||"(see attached files)",attachments:Le.map(({file:Gn,...Ws})=>Ws)}),Je&&(u(""),d([]));let Zr=ue.current;if(!Zr)try{Zr=await Fs()}catch(Gn){_(`${Gn.message} \u2014 running without a pinned conversation.`)}let Aa=()=>{Je&&(u(ut),d(Le)),X(null)};try{let Gn=new FormData;Gn.append("prompt",ut),Gn.append("action_name",i),Zr&&Gn.append("params[context_id]",String(Zr)),Le.forEach(({file:Fg})=>Gn.append("attachments[]",Fg,Fg.name));let Ws=await fetch(`/api/agents/${e.id}/execute`,{method:"POST",body:Gn}),Ac=await Ag(Ws);if(Ws.status===402&&Ac.upgrade_required){j(Ac.usage),H(Fg=>({...Fg,status:"failed",error_message:Ac.message||"Plan limit reached"})),A(!1),Aa();return}if(!Ws.ok)throw new Error(Ac.error||"Run failed");Fw(Ac.run.id,Ls(Ac.run)??Zr)}catch(Gn){H(Ws=>({...Ws,status:"failed",error_message:Gn.message})),A(!1),Aa()}},zg=()=>mp({text:s,files:c,fromComposer:!0}),Lg=ie=>{!ie||!ie.text||mp({text:ie.text,files:[]})},vp=ie=>{ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&(ie.preventDefault(),zg())},Bg=async(ie,Le)=>{let Je=ue.current,ut=await fetch(`/api/interactions/${Je}/messages/${ie.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:Le})}),Zr=await Ag(ut);if(!ut.ok)throw new Error(Zr.error||`Could not save the message (HTTP ${ut.status})`);await $s(Je)},Uw=async ie=>{let Le=ue.current;try{let Je=await fetch(`/api/interactions/${Le}/messages/${ie.id}`,{method:"DELETE"});if(!Je.ok){let ut=await Ag(Je);throw new Error(ut.error||`Could not delete the message (HTTP ${Je.status})`)}S(null),await $s(Le),bc(i)}catch(Je){S(Je.message)}},Ww=ie=>{oe(!1),V(ie),N(""),we(null)},$g=async()=>{let ie=I.trim();if(!(!ie||O)){Z(!0),we(null);try{let Le=await Ig(),Je=await fetch(`/api/interactions/${Le}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({role:Ee,content:ie})}),ut=await Ag(Je);if(!Je.ok)throw new Error(ut.error||`Could not add the message (HTTP ${Je.status})`);N(""),V(null),await $s(Le),bc(i)}catch(Le){we(Le.message)}finally{Z(!1)}}},Hw=async ie=>{let Le=ie;if(Ls(ie)==null)try{let ut=await fetch(`/api/runs/${ie.id}`);ut.ok&&(Le=(await ut.json()).run)}catch(ut){console.error("Failed to load run details:",ut)}let Je=Ls(Le);if(Je){Y(null),Je!==ue.current&&wc(),ee.current=Je;let ut=Le.action_name||ie.action_name;ut&&a.includes(ut)&&ut!==i&&l(ut),v(Je)}else Y({...Le,output:Le.output??Le.output_preview,error_message:Le.error_message??Le.error});it.current?.scrollIntoView({behavior:"smooth",block:"start"})},Vw=async()=>{U(!0),K(null);try{await sp({planSlug:"pro"})}catch(ie){K(ie.message),U(!1)}},Sc=window.ACTIVE_AGENT_DASHBOARD?.meta?.upgradeUrl,Kw=o.find(ie=>ie.name===i)?.prompt,ve=[e.instructions,i==="ask"?null:Kw].map(ie=>(ie||"").trim()).filter(Boolean).join(` -`)||y?.instructions||"",hn=m.slice();h&&!hn.some(oe=>oe.id===h)&&hn.unshift({id:h,message_count:Mo.length});let Ns=(s.trim().length>0||c.length>0)&&!k,H_=M&&!k&&M.status==="failed",oU=M&&!k&&M.status==="complete"&&!As(M)&&!h,uc={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},V_={borderBottom:`1px solid ${n.cardBorder}`},K_={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Fe.mono,maxWidth:"260px"},q_={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?vn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},fw=gr("system",r),iU=O1(r);return V.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},V.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},P&&V.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},V.default.createElement("div",null,V.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),V.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",P.runs_used," of ",P.runs_limit," runs on the"," ",P.plan||"free"," plan. Upgrade to keep running agents."),G&&V.default.createElement("p",{className:"text-sm text-red-600 mt-1"},G)),V.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},ut&&V.default.createElement("a",{href:ut,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),V.default.createElement("button",{onClick:xe,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),V.default.createElement("div",{"data-testid":"runner-toolbar",style:uc,className:"p-4 flex items-center gap-3 flex-wrap"},V.default.createElement(mr,{size:40}),V.default.createElement("div",{className:"min-w-0"},V.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),V.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),V.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},V.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:oe=>aw(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Agent action to invoke"},o.map(oe=>V.default.createElement("option",{key:oe,value:oe},"#",oe))),V.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:oe=>ow(oe.target.value),disabled:k,className:"aa-field",style:K_,title:"Conversation to continue"},V.default.createElement("option",{value:""},"New conversation on first run"),hn.map(oe=>V.default.createElement("option",{key:oe.id,value:oe.id},"Conversation #",oe.id," \xB7 ",oe.message_count??0," message",oe.message_count===1?"":"s"))),V.default.createElement(Ln,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:oc,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),V.default.createElement(Ln,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),V.default.createElement("div",{"data-testid":"runner-context",ref:ft,style:uc,className:"flex flex-col overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:V_},V.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},V.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),y&&V.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",y.id," \xB7 ",Mo.length," message",Mo.length===1?"":"s")),V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement(Oue,{run:M,darkMode:r,colors:n}),V.default.createElement("div",{className:"relative",ref:oa},V.default.createElement(Ln,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>le(oe=>!oe),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),De&&V.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([oe,Ie,Ye])=>V.default.createElement("button",{key:oe,type:"button","data-testid":Ie,onClick:()=>cw(oe),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Ye)))))),V.default.createElement("div",{ref:En,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},V.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(oe=>!oe),title:fe?"Collapse system instructions":"Show system instructions"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:fw.background,color:fw.color,textAlign:"center"}},fw.label)),V.default.createElement("div",{className:"min-w-0 flex-1"},pr?fe?V.default.createElement("pre",{style:{...iU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},pr):V.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},pr.split(` -`).find(oe=>oe.trim())||""):V.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),V.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),V.default.createElement(j$,{open:fe,color:n.textMuted})),x&&V.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Mo.length>0?V.default.createElement("div",{className:"mt-3"},V.default.createElement(so,{messages:Mo,darkMode:r,testIdPrefix:"runner-message",onUiAction:pg,onEditMessage:Qf,onDeleteMessage:uw})):!L&&!D&&!H_&&V.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),L&&V.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},V.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr("user",r).background,color:gr("user",r).color,textAlign:"center"}},"User")),V.default.createElement("div",{className:"min-w-0 flex-1"},V.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},L.content),V.default.createElement(T1,{attachments:L.attachments,darkMode:r}))),M&&(k||d_(M).length>0)&&V.default.createElement("div",{className:"mt-3 space-y-2"},V.default.createElement(_ue,{run:M,darkMode:r,colors:n,expanded:z,onToggle:oe=>j(Ie=>({...Ie,[oe]:!Ie[oe]}))}),k&&V.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},V.default.createElement("span",{className:"animate-pulse"},"\u25CF"),V.default.createElement("span",null,d_(M).length>0?"Working\u2026":"Starting run\u2026"))),N&&V.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},N),H_&&M.error_message&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},V.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),oU&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},V.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),V.default.createElement(_o,{text:M.output||"No output",darkMode:r,onUiAction:pg})),D&&V.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},V.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},V.default.createElement("span",{style:{color:n.textPrimary}},"Run #",D.id),V.default.createElement(Ss,{tone:c_[D.status]||"neutral",darkMode:r},D.status),D.output_metadata?.model&&V.default.createElement("span",null,D.output_metadata.provider,"/",D.output_metadata.model),D.duration_ms?V.default.createElement("span",null,q1(D.duration_ms)):null,D.trace_id&&V.default.createElement("a",{href:Ge(`/traces?trace=${D.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",D.trace_id.slice(0,8)," \u2192"),V.default.createElement("span",null,"\xB7 no conversation attached")),V.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(D.input_prompt||D.input_preview)&&V.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},D.input_prompt||D.input_preview),D.error_message?V.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},D.error_message):V.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},V.default.createElement(_o,{text:D.output||"No output",darkMode:r}))),Te&&V.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},V.default.createElement("div",{className:"flex items-center gap-2 mb-2"},V.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:gr(Te,r).background,color:gr(Te,r).color}},gr(Te,r).label),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),V.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:oe=>C(oe.target.value),onKeyDown:oe=>{oe.key==="Escape"&&K(null),oe.key==="Enter"&&(oe.metaKey||oe.ctrlKey)&&sc()},placeholder:Te==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...q_,border:`1px solid ${n.inputBorder}`}}),V.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},V.default.createElement(Ln,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:sc,disabled:T||!I.trim()},T?"Adding\u2026":`Add ${Te} message`),V.default.createElement(Ln,{variant:"secondary",size:"sm",colors:n,onClick:()=>K(null),disabled:T},"Cancel"),$&&V.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},$))))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("div",{onDragOver:oe=>{oe.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:oe=>{oe.preventDefault(),p(!1),k||ic(oe.dataTransfer?.files)}},V.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:oe=>u(oe.target.value),onKeyDown:sw,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:q_})),V.default.createElement(T1,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(oe,Ie)=>iw(Ie),removeTestId:"runner-attachment-remove"}),V.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},V.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},V.default.createElement("input",{ref:Bn,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:oe=>{ic(oe.target.files),oe.target.value=""}}),V.default.createElement(Ln,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>Bn.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",V.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),V.default.createElement(Ln,{testId:"runner-run",variant:"primary",colors:n,onClick:Zf,disabled:!Ns},k?V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Fe.mono}},"[~]")," Running\u2026"):V.default.createElement(V.default.Fragment,null,V.default.createElement("span",{style:{fontFamily:Fe.mono}},"[>]")," Run"))))),V.default.createElement("div",{className:"space-y-4 min-w-0"},V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),V.default.createElement("dl",{className:"space-y-2 text-sm"},V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),V.default.createElement("div",{className:"flex justify-between"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),V.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),V.default.createElement("div",{className:"flex justify-between items-center"},V.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),V.default.createElement("dd",null,V.default.createElement(Ss,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&V.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},V.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),V.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),V.default.createElement("div",{style:uc,className:"overflow-hidden"},V.default.createElement("div",{className:"px-4 py-3",style:V_},V.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),V.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?V.default.createElement("div",null,w.map(oe=>V.default.createElement("div",{key:oe.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>dw(oe),title:As(oe)?"Open this run\u2019s conversation":"Show this run\u2019s output"},V.default.createElement("div",{className:"flex items-center justify-between mb-1"},V.default.createElement(Ss,{tone:c_[oe.status]||"neutral",darkMode:r},oe.status),V.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},q1(oe.duration_ms))),V.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},oe.input_preview||oe.input_prompt?.substring(0,50)),V.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},oe.model&&V.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},oe.model),As(oe)&&V.default.createElement("span",{className:"font-mono"},"#",As(oe)),V.default.createElement("span",null,new Date(oe.created_at).toLocaleString()))))):V.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),V.default.createElement("div",{style:uc,className:"p-4"},V.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),V.default.createElement("div",{className:"space-y-2"},kue.map(oe=>V.default.createElement("button",{key:oe,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(oe),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},oe))))))}var _e=te(ne()),Y1=e=>new Date(`${e}T00:00:00`),Tue=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function p_({onSelectAgent:e}){let[t,r]=(0,_e.useState)(null),[n,a]=(0,_e.useState)(!0),[o,i]=(0,_e.useState)(30);(0,_e.useEffect)(()=>{l()},[o]);let l=async()=>{a(!0);try{let p=await(await fetch(`/api/analytics?days=${o}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{a(!1)}},s=f=>f?f>=1e6?`${(f/1e6).toFixed(1)}M`:f>=1e3?`${(f/1e3).toFixed(1)}K`:f.toString():"0",u=f=>f?f<1e3?`${f}ms`:`${(f/1e3).toFixed(2)}s`:"-";if(n&&!t)return _e.default.createElement("div",{className:"flex items-center justify-center h-64"},_e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=t?.charts?.runs_by_day?.length>0?Math.max(...t.charts.runs_by_day.map(f=>f.count)):1,d=t?.charts?.tokens_by_day?.length>0?Math.max(...t.charts.tokens_by_day.map(f=>f.tokens)):1;return _e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"flex items-center justify-between"},_e.default.createElement("div",null,_e.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),_e.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),_e.default.createElement("select",{value:o,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Tue.map(f=>_e.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),_e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},_e.default.createElement(rg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),_e.default.createElement(rg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),_e.default.createElement(rg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),_e.default.createElement(rg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),_e.default.createElement(rg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Y1(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Y1(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?_e.default.createElement("div",{className:"h-48"},_e.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>_e.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},_e.default.createElement("div",{className:"relative w-full"},_e.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),_e.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),_e.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},_e.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Y1(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),_e.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Y1(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):_e.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),_e.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},_e.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?_e.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>_e.default.createElement("div",{key:f.id,onClick:()=>e?.(f),className:"flex items-center space-x-4 p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors"},_e.default.createElement("div",{className:"w-8 h-8 rounded-full bg-red-100 flex items-center justify-center text-red-600 font-semibold"},p+1),_e.default.createElement("div",{className:"flex-1 min-w-0"},_e.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),_e.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),_e.default.createElement("div",{className:"text-right"},_e.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),_e.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):_e.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),_e.default.createElement("div",{className:"space-y-6"},_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?_e.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,g=(p/m*100).toFixed(1);return _e.default.createElement("div",{key:f},_e.default.createElement("div",{className:"flex justify-between text-sm mb-1"},_e.default.createElement("span",{className:"capitalize text-gray-600"},f),_e.default.createElement("span",{className:"text-gray-900 font-medium"},p)),_e.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},_e.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):_e.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),_e.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},_e.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),_e.default.createElement("div",{className:"space-y-4"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),_e.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),_e.default.createElement("div",{className:"pt-2 border-t border-gray-100"},_e.default.createElement("div",{className:"flex justify-between items-center"},_e.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),_e.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function rg({title:e,value:t,subtitle:r,color:n}){return _e.default.createElement("div",{className:`bg-white rounded-xl border border-gray-200 border-l-4 ${{rose:"border-l-red-500",blue:"border-l-blue-500",green:"border-l-green-500",purple:"border-l-purple-500",amber:"border-l-amber-500"}[n]} p-4`},_e.default.createElement("p",{className:"text-sm text-gray-500"},e),_e.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&_e.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(ne());function m_({agent:e,onBack:t}){let{timeWindow:r}=Qo(),[n,a]=(0,Q.useState)([]),[o,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[g,h]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[O,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[W,L]=(0,Q.useState)(1),[H,D]=(0,Q.useState)(!0),[Y,N]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[j,P]=(0,Q.useState)("recent"),B=(0,Q.useRef)(null),R=Ge(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{F()},[e.id,W,Y,_,j,r.minutes]),(0,Q.useEffect)(()=>{L(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then($=>$.json()).then($=>i($.interactions||[])).catch(()=>{}).finally(()=>y(!0))},[e.id]),(0,Q.useEffect)(()=>{let $=()=>{let Ne=Xu(),E=Ne.match(/\/interactions\/runs\/(\d+)/),Z=Ne.match(/\/interactions\/sessions\/(\d+)/);if(E)m("run"),c(null),ee(parseInt(E[1],10),{updateUrl:!1});else if(Z)m("all"),c({id:parseInt(Z[1],10)});else if(Ne.endsWith("/interactions/sessions")||Ne.endsWith("/interactions/all"))Ne.endsWith("/all")&&window.history.replaceState({},"",Ne.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return $(),window.addEventListener("popstate",$),()=>window.removeEventListener("popstate",$)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!g||!v||m(n.length===0&&o.length>0?"all":"run")},[g,v,n.length,o.length]);let F=async()=>{M(!0);try{let $=new URLSearchParams({page:W.toString(),per_page:"20",minutes:String(r.minutes)});Y&&$.append("status",Y),_&&$.append("source",_),j!=="recent"&&$.append("sort",j);let E=await(await fetch(`/api/agents/${e.id}/runs?${$}`)).json();a(W===1?E.runs:Z=>[...Z,...E.runs]),D(E.runs.length===20)}catch($){console.error("Failed to load runs:",$)}finally{M(!1),h(!0)}},G=$=>{window.location.pathname!==$&&window.history.pushState({},"",$)},ee=async($,{updateUrl:Ne=!0}={})=>{try{let Z=await(await fetch(`/api/runs/${$}`)).json();s(Z.run),f(Z.messages||[]),m("run"),c(null),Ne&&G(`${R}/runs/${$}`)}catch(E){console.error("Failed to load run details:",E)}},fe=$=>{if($.source==="reported"){let Ne=$.trace_id||String($.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Ge(`/traces/${Ne}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Ge(`/traces/${Ne}`)}}));return}ee($.record_id||$.id)},de=()=>{s(null),c(null),f([]),m("run"),G(R)},De=$=>{m("all"),$?(c({id:$.id,name:$.display_name}),G(`${R}/sessions/${$.id}`)):(c(null),G(`${R}/sessions`))},le=$=>{x.current=!0,m($),G($==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Te=u?u.name||o.find($=>$.id===u.id)?.display_name||`Session #${u.id}`:null,K=()=>{let $=new Map;n.forEach(Z=>{let ge=`${Z.model||"unknown"}|${Z.instructions_digest||"none"}`;$.has(ge)||$.set(ge,{key:ge,model:Z.model,instructionsDigest:Z.instructions_digest,instructionsVersion:Z.instructions_version,instructionsCodename:Z.instructions_codename,instructionsPreview:Z.instructions_preview,runs:[]}),$.get(ge).runs.push(Z)});let Ne=[...$.values()].map(Z=>({...Z,count:Z.runs.length,completed:Z.runs.filter(ge=>ge.status==="complete").length,failed:Z.runs.filter(ge=>ge.status==="failed").length,totalTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0),avgTokens:Z.runs.reduce((ge,Le)=>ge+(Le.tokens||0),0)/Z.runs.length,avgDuration:Z.runs.reduce((ge,Le)=>ge+(Le.duration_ms||0),0)/Z.runs.length,latest:Z.runs[0],sortedRuns:[...Z.runs].sort((ge,Le)=>(Le.duration_ms||0)-(ge.duration_ms||0))}));Ne.sort((Z,ge)=>S==="longest"?ge.avgDuration-Z.avgDuration:new Date(ge.latest.created_at)-new Date(Z.latest.created_at));let E={runs:n.length,completed:n.filter(Z=>Z.status==="complete").length,tokens:n.reduce((Z,ge)=>Z+(ge.tokens||0),0),avgDuration:n.length?n.reduce((Z,ge)=>Z+(ge.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(Z=>Z.model).filter(Boolean))]};return{cohorts:Ne,totals:E}},I=$=>{switch($){case"complete":return"bg-green-100 text-green-700";case"failed":return"bg-red-100 text-red-700";case"running":return"bg-blue-100 text-blue-700";case"pending":return"bg-yellow-100 text-yellow-700";case"cancelled":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},C=$=>$?$<1e3?`${$}ms`:$<6e4?`${($/1e3).toFixed(1)}s`:`${Math.floor($/6e4)}m ${Math.floor($%6e4/1e3)}s`:"-",T=$=>$==null?"\u2014":$===0?"$0":$<.01?`$${$.toFixed(4)}`:`$${$.toFixed(2)}`,X=$=>{let Ne=new Date($),Z=new Date-Ne,ge=Math.floor(Z/6e4),Le=Math.floor(Z/36e5),nt=Math.floor(Z/864e5);return ge<1?"Just now":ge<60?`${ge}m ago`:Le<24?`${Le}h ago`:nt<7?`${nt}d ago`:Ne.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(Jo,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map($=>Q.default.createElement("button",{key:$.value||"all",onClick:()=>{z($.value),L(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===$.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:$.value==="dashboard"?"Executions started from this dashboard":$.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},$.label))),Q.default.createElement("select",{value:Y,onChange:$=>{N($.target.value),L(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:j,onChange:$=>{P($.target.value),L(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map($=>{let Ne=$.source==="reported";return Q.default.createElement("div",{key:$.id,onClick:()=>fe($),title:Ne?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!Ne&&l?.id===$.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I($.status)}`},$.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${Ne?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},Ne?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},X($.created_at||$.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},$.input_preview||$.input_prompt?.substring(0,60)||(Ne?`${$.action_name||"execution"} \xB7 trace ${String($.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},$.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},$.model),Q.default.createElement("span",{className:j==="longest"?"text-gray-700 font-medium":void 0},C($.duration_ms)),!!$.tokens&&Q.default.createElement("span",{className:j==="tokens"?"text-gray-700 font-medium":void 0},$.tokens," tokens"),$.cost!=null&&Q.default.createElement("span",{className:j==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},T($.cost))))}),H&&Q.default.createElement("button",{onClick:()=>L($=>$+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>De(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Te)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>le("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>le("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:$}=K();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Te} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.runs?Math.round($.completed/$.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},C(Math.round($.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},$.tokens.toLocaleString()))))})(),Q.default.createElement(rl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:De})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:B,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(so,{messages:d,darkMode:!1}):Q.default.createElement(so,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",C(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Ge(`/traces?trace=${l.trace_id}`),className:"font-mono text-xs text-blue-500 hover:underline",title:`${l.trace_id} \u2014 open in Traces`},"trace:",l.trace_id.slice(0,8)," \u2192")))):(()=>{let{cohorts:$,totals:Ne}=K();return $.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(mr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(mr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.runs?Math.round(Ne.completed/Ne.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},C(Math.round(Ne.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},Ne.tokens.toLocaleString()))),Ne.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),Ne.models.map(E=>Q.default.createElement("span",{key:E,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},E))),o.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},o.map(E=>Q.default.createElement("div",{key:E.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>De(E),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:E.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},E.agent?.name||E.agent_name),E.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",E.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,E.message_count," messages"),Q.default.createElement("span",null,(E.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,X(E.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:E=>w(E.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},$.map(E=>Q.default.createElement("div",{key:E.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(Z=>({...Z,[E.key]:!Z[E.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},E.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:E.instructionsDigest?`sha:${E.instructionsDigest}`:void 0},"instructions"," ",E.instructionsDigest?[E.instructionsVersion,E.instructionsCodename||E.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),E.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},E.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,E.count," run",E.count>1?"s":""),Q.default.createElement("span",{className:E.failed>0?"text-red-500":"text-green-600"},E.count?Math.round(E.completed/E.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",C(Math.round(E.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(E.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",X(E.latest.created_at)))),O[E.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},E.sortedRuns.map(Z=>Q.default.createElement("div",{key:Z.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>ee(Z.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},Z.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:Z.status==="failed"?"text-red-500":""},Z.status),Q.default.createElement("span",null,C(Z.duration_ms)),Z.tokens&&Q.default.createElement("span",null,Z.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,X(Z.created_at)))))))))))})()))}var ze=te(ne());var Mue={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function v_({onUseTemplate:e,onClose:t}){let[r,n]=(0,ze.useState)([]),[a,o]=(0,ze.useState)([]),[i,l]=(0,ze.useState)(""),[s,u]=(0,ze.useState)(null),[c,d]=(0,ze.useState)(!0),[f,p]=(0,ze.useState)(!1),[m,g]=(0,ze.useState)(null);(0,ze.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let y=new URLSearchParams;i&&y.append("category",i);let x=await(await fetch(`/api/templates?${y}`)).json();n(x.templates),o(x.categories)}catch(y){console.error("Failed to load templates:",y)}finally{d(!1)}},v=async y=>{p(!0),g(null);try{let b=await fetch(`/api/templates/${y.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}g(x)}}catch(b){console.error("Failed to create agent from template:",b),g("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},ze.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},ze.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},ze.default.createElement("div",null,ze.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),ze.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),ze.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},ze.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},ze.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),ze.default.createElement("div",{className:"flex-1 flex overflow-hidden"},ze.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},ze.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),ze.default.createElement("div",{className:"space-y-1"},ze.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),a.map(y=>ze.default.createElement("button",{key:y,onClick:()=>l(y),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===y?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},ze.default.createElement("span",null,Mue[y]||"\u{1F4E6}"),ze.default.createElement("span",{className:"capitalize"},y))))),ze.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?ze.default.createElement("div",{className:"flex items-center justify-center h-full"},ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?ze.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(y=>ze.default.createElement("div",{key:y.id,onClick:()=>u(y),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===y.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},ze.default.createElement("div",{className:"flex items-start space-x-3"},ze.default.createElement("div",{className:"flex-shrink-0"},ze.default.createElement(mr,{size:60})),ze.default.createElement("div",{className:"flex-1 min-w-0"},ze.default.createElement("div",{className:"flex items-center space-x-2"},ze.default.createElement("span",{className:"text-lg"},y.icon),ze.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},y.name)),ze.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},y.description),ze.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},y.category),y.featured&&ze.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):ze.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&ze.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},ze.default.createElement("div",{className:"flex justify-center mb-4"},ze.default.createElement(mr,{size:120})),ze.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),ze.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),ze.default.createElement("div",{className:"mt-6 space-y-4"},ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),ze.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(y=>ze.default.createElement("span",{key:y,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},y)))),ze.default.createElement("div",null,ze.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),ze.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),ze.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&ze.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var je=te(ne());function g_({currentView:e,onNavigate:t,agentCount:r,account:n,user:a,gemVersion:o,assistantEnabled:i=!0}){let{darkMode:l}=kt(),[s,u]=(0,je.useState)(!1),c=(0,je.useRef)(null);(0,je.useEffect)(()=>{function v(y){c.current&&!c.current.contains(y.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=a?.name||a?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Ut.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Ut.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Ut.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Ut.nav.traces},{id:"interactions",label:"Interactions",icon:Ut.nav.interactions},{id:"tools",label:"Tools",icon:Ut.nav.tools},{id:"mcp",label:"MCP Services",icon:Ut.nav.mcp},{id:"metrics",label:"Metrics",icon:Ut.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Ut.nav.evaluations},{id:"replay",label:"Session Replay",icon:Ut.nav.replay}],g=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>je.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor="transparent")}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),je.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&je.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return je.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},je.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},je.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},je.default.createElement(mr,{size:28}),je.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),je.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&je.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:"flex items-center space-x-3"},je.default.createElement(mr,{size:32}),je.default.createElement("div",{className:"min-w-0"},je.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),je.default.createElement("div",{className:"py-1"},je.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),je.default.createElement("span",null,"Settings")),je.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})),je.default.createElement("span",null,"Organization"))),je.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},je.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},je.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})),je.default.createElement("span",{className:"text-sm"},f))))),je.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},je.default.createElement("div",{className:"space-y-1"},p.map(v=>je.default.createElement(h,{key:v.id,item:v}))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),je.default.createElement("div",{className:"space-y-1"},m.map(v=>je.default.createElement(h,{key:v.id,item:v})))),je.default.createElement("div",{className:"pt-4"},je.default.createElement("div",{className:"px-4 pb-2"},je.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),je.default.createElement("div",{className:"space-y-1"},g.map(v=>je.default.createElement(h,{key:v.id,item:v}))))),je.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),je.default.createElement("div",{className:"space-y-2"},je.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.docs),je.default.createElement("span",null,"Documentation")),je.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},je.default.createElement("span",{style:{fontFamily:Fe.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Ut.nav.github),je.default.createElement("span",null,"GitHub")))),je.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},je.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",o?`v${o}`:"")))}var xt=te(ne());function y_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,xt.useState)(!1),i=(0,xt.useRef)(null);(0,xt.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&o(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return xt.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-4"}),xt.default.createElement("div",{className:"flex items-center space-x-4"},xt.default.createElement("button",{onClick:n,className:"p-2 rounded-lg transition-colors",style:{backgroundColor:r?"#252525":"#f3f4f6",color:r?"#fbbf24":"#4b5563"},title:r?"Switch to light mode":"Switch to dark mode"},r?xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})):xt.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},xt.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),xt.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},xt.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),xt.default.createElement("span",null,"Connected")),xt.default.createElement("div",{className:"relative",ref:i},xt.default.createElement("button",{onClick:()=>o(!a),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:a?r?"#252525":"#f3f4f6":"transparent"}},xt.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),a&&xt.default.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},xt.default.createElement("div",{className:"flex items-center space-x-3"},xt.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},xt.default.createElement("span",{className:"text-red-600 font-medium"},c)),xt.default.createElement("div",null,xt.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),xt.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&xt.default.createElement("div",{className:"py-1"},xt.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},xt.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},xt.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})),xt.default.createElement("span",null,"Sign out")))))))}var Ae=te(ne());var $e=te(ne());var h_=150,Pue=e=>e.reduce((t,r)=>t+(Number(r)||0),0),Due=e=>e.length?Pue(e)/e.length:0,Oo=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),x_=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},tc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),Iue=4,Kf=e=>Math.max(Iue,x_(e)),z$=(e,t=2,r=6)=>{let n=e/4;for(let a=t;aMath.abs(n*i-Number((n*i).toFixed(a)))<=n*.1))return a;return r},jue=5.5,zue=12,Lue=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*jue+zue,a=Number(e.left)/100*t,o=t-a;return r?!(aa):oo},Bue=typeof window>"u"?$e.useEffect:$e.useLayoutEffect,$ue=e=>{let[t,r]=(0,$e.useState)(0);return Bue(()=>{let n=e.current;if(!n)return;let a=()=>r(n.clientWidth);if(a(),typeof ResizeObserver>"u")return window.addEventListener("resize",a),()=>window.removeEventListener("resize",a);let o=new ResizeObserver(a);return o.observe(n),()=>o.disconnect()},[e]),t},rc=(e,t)=>{let r=e.length,n=[];return e.forEach((a,o)=>{if(a==null||Number.isNaN(Number(a)))return;let i=r>1?o/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(a)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},G1=(e,t)=>{let r=rc(e,t);return r?`0,100 ${r} 100,100`:""},L$=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,a=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return Due(e.slice(u,c).filter(d=>d!=null))}),o=Math.max(...a),i=Math.min(...a);return a.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(o===i?.5:(l-i)/(o-i))*24).toFixed(1)}`).join(" ")},ng=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(a,o)=>({title:r(o),segs:e.map(i=>({h:(Number(i.data[o])||0)/t*100,color:i.color}))}))};function B$({label:e,value:t,unit:r,sub:n,delta:a,deltaColor:o,deltaSub:i,spark:l,sparkColor:s}){return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},$e.default.createElement(rt,{size:11,spacing:"0.05em"},e),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,fontWeight:600,color:o,whiteSpace:"nowrap"}},a)),$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},$e.default.createElement("span",{style:{fontFamily:ye,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:12,color:"var(--color-text-muted)"}},r):null),$e.default.createElement("div",{title:n,style:{fontFamily:ye,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),$e.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},$e.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},$e.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),$e.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function $$({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:a=[],ticks:o=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=h_}){let f=(0,$e.useRef)(null),p=$ue(f),m="1px dashed var(--color-text-secondary)";return $e.default.createElement(yr,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},$e.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),$e.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},t),$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),$e.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},a.map(g=>$e.default.createElement("span",{key:g.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ye,fontSize:10,color:"var(--color-text-secondary)"}},$e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:g.color,flexShrink:0}}),g.label))),$e.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},o.map(g=>$e.default.createElement("div",{key:g.top,style:{position:"absolute",left:0,right:0,top:`${g.top}%`,borderTop:"1px solid var(--color-border-light)"}},$e.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ye,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},g.label))),i.length>0&&$e.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((g,h)=>$e.default.createElement("div",{key:h,title:g.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},g.segs.map((v,y)=>$e.default.createElement("div",{key:y,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&$e.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((g,h)=>$e.default.createElement("polygon",{key:h,points:g.points,fill:g.color,opacity:"0.16"})),l.map((g,h)=>$e.default.createElement("polyline",{key:h,points:g.points,fill:"none",stroke:g.color,strokeWidth:g.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((g,h)=>{let v=Lue(g,p),y=`${Number(g.left).toFixed(2)}%`;return $e.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:y,borderRight:m}:{left:y,right:0,borderLeft:m}}},$e.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ye,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},g.label))})),$e.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},c.map((g,h)=>$e.default.createElement("span",{key:h},g))))}function qf({label:e,qualifier:t,meta:r,children:n}){return $e.default.createElement(yr,{padding:0,style:{overflow:"hidden"}},$e.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},$e.default.createElement(rt,null,e),t?$e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?$e.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function b_({template:e,columns:t}){return $e.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ye,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},$e.default.createElement("span",null),t.map(r=>$e.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function X1({template:e,active:t=!1,onClick:r,title:n,padding:a="8px 14px",children:o}){let i=typeof r=="function";return $e.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:a,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},o)}function w_({children:e,padding:t="8px 14px"}){return $e.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function ag({children:e}){return $e.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},e)}function S_({color:e}){return $e.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function A_({pct:e,color:t}){return $e.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},$e.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function k_({pct:e,color:t,width:r=70}){return $e.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},$e.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function co({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:a}){return $e.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...a}},e)}var H$=6e4,Uue=1180,Gf={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Fue=Object.keys(Gf).map(e=>({value:e,label:e})),C_="24h",Yf=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],og=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],U$=e=>og.find(t=>t.type===e)?.color||"var(--color-text-muted)",Wue=3,Q1="var(--color-text-primary)",Hue={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},Vue=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],N_=e=>String(e).padStart(2,"0"),Xe=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Kue=e=>e.reduce((t,r)=>t+Xe(r),0),F$=e=>`${Xe(e).toFixed(1)}%`,Z1=(e,t)=>`${e} ${t}${e===1?"":"s"}`,que=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Yue=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(a=>a.name===n.name)&&r.push(n)}),r},Gue=e=>{let t=String(e.label||"incident"),r=og.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Xue=e=>{let t=Xe(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},W$=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Zue=(e,t,r=Date.now())=>{let n=Math.max(1,Xe(t))*1e3,a=Math.max(1,Math.round(Xe(e)*6e4/n)),o=Math.floor(r/n)*n;return Array.from({length:a},(i,l)=>({ts:new Date(o-(a-1-l)*n).toISOString()}))},Que=(e,t)=>{let r=e.summary||{},n=Gf[e.range]||Gf[t]||Gf[C_],a=Xe(e.bucket_seconds)||n.seconds,o=Xe(e.window_minutes)||(e.window_hours?Xe(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Zue(o,a),l=Xe(e.totals?.requests??r.total_requests),s=Xe(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:o?l/o:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:Xe(r.errors),error_rate:Xe(r.error_rate),tokens_in:Xe(r.tokens_input),tokens_out:Xe(r.tokens_output),tokens:Xe(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:Xe(p.requests),share_pct:l?Xe(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?Xe(p.errors)/Xe(p.requests)*100:0,cost:Xe(p.cost),tokens:Xe(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:og.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:a,windowMinutes:o,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},V$=e=>{let t=Gf[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Xue(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},Jue=e=>{let[t,r]=(0,Ae.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),a=()=>r(n.matches);return a(),n.addEventListener("change",a),()=>n.removeEventListener("change",a)},[e]),t};function E_(){let[e,t]=(0,Ae.useState)(C_),[r,n]=(0,Ae.useState)(""),[a,o]=(0,Ae.useState)(null),[i,l]=(0,Ae.useState)(!0),[s,u]=(0,Ae.useState)(null),[c,d]=(0,Ae.useState)(!1),f=(0,Ae.useRef)(0),p=Jue(Uue),m=(0,Ae.useRef)(null),g=(0,Ae.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[O,k]=await Promise.all([W$(w),r?W$(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:O.agents;Array.isArray(A)&&(m.current=A),o({data:O,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ae.useEffect)(()=>{let S=!1;d(!0),g().finally(()=>{S||d(!1)});let w=setInterval(g,H$);return()=>{S=!0,clearInterval(w)}},[g]);let h=(0,Ae.useMemo)(()=>a?Que(a.data,e):null,[a,e]),v=(0,Ae.useMemo)(()=>h?h.agent?Yue(a.ranking,h.agents):h.agents:[],[h,a]),y=(0,Ae.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ae.useMemo)(()=>{let S=Object.fromEntries(y.map((O,k)=>[O,Yf[k%Yf.length]])),w=y.length;return(h?h.agents:[]).forEach(O=>{O.name&&!S[O.name]&&(S[O.name]=Yf[w++%Yf.length])}),O=>S[O]||Yf[0]},[y,h]),x=(0,Ae.useMemo)(()=>h?ece(h,b):null,[h,b]);return i?Ae.default.createElement("div",{className:"flex items-center justify-center h-64"},Ae.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ae.default.createElement("div",null,Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Q1}},"Metrics"),Ae.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ae.default.createElement(Rue,{m:h,view:x,railAgents:v,range:Gf[e]?e:C_,agent:r,agentOptions:r&&!y.includes(r)?[...y,r]:y,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function Rue({m:e,view:t,railAgents:r=e.agents,range:n,agent:a,agentOptions:o,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=V$(e),f=e.totals.requests===0,p=m=>c(a===m?"":m);return Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Q1,fontSize:13}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ae.default.createElement("div",{style:{flex:1,minWidth:240}},Ae.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ae.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,a?` \xB7 ${a}`:"")),Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ae.default.createElement("select",{value:a,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Q1,cursor:"pointer"}},Ae.default.createElement("option",{value:""},"All agents"),o.map(m=>Ae.default.createElement("option",{key:m,value:m},m))),e.environment&&Ae.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ye,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ae.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ae.default.createElement(j1,{options:Fue,value:n,onChange:u}),Ae.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${H$/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},Ae.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ae.default.createElement(yr,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ae.default.createElement("div",{style:{marginTop:8,fontFamily:ye,fontSize:11,color:"var(--color-text-muted)"}},a||"all agents"," \xB7 ",d.title)):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ae.default.createElement(B$,{key:m.label,...m,deltaSub:d.prev}))),Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ae.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ae.default.createElement($$,{key:m.title,...m,xLabels:t.xLabels,height:h_}))),Ae.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ae.default.createElement(qf,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ae.default.createElement(ag,null,"no agents in this window"),r.map(m=>Ae.default.createElement(X1,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:a===m.name,onClick:()=>p(m.name),title:a===m.name?"Show all agents":`Filter to ${m.name}`},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ae.default.createElement(S_,{color:i(m.name)}),Ae.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ae.default.createElement(A_,{pct:m.share_pct,color:i(m.name)})),Ae.default.createElement(co,null,hr(m.requests)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.p95_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate)),Ae.default.createElement(co,null,Zv(m.cost))))),Ae.default.createElement(qf,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ae.default.createElement(ag,null,"no model usage in this window"),e.models.map((m,g)=>Ae.default.createElement(X1,{key:`${m.model}-${m.provider}-${g}`,template:"minmax(0, 1fr) 52px 56px"},Ae.default.createElement("div",{style:{minWidth:0}},Ae.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ae.default.createElement("span",{style:{fontFamily:ye,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ae.default.createElement(A_,{pct:m.share_pct,color:"var(--color-token-in)"})),Ae.default.createElement(co,null,hr(m.tokens)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Zv(m.cost))))),Ae.default.createElement(qf,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ae.default.createElement(ag,null,"no actions in this window"),e.actions.map(m=>Ae.default.createElement(w_,{key:m.name},Ae.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:ye,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(k_,{pct:t.slowestP95?Xe(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ae.default.createElement(co,{weight:600,width:40},Qr(m.p95_ms))))),Ae.default.createElement(qf,{label:"Tools",qualifier:"by calls"},Ae.default.createElement(b_,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ae.default.createElement(ag,null,"no tool calls in this window"),e.tools.map(m=>Ae.default.createElement(X1,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ae.default.createElement("span",{title:m.name,style:{fontFamily:ye,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ae.default.createElement(co,null,hr(m.calls)),Ae.default.createElement(co,{color:"var(--color-text-secondary)"},Qr(m.avg_ms)),Ae.default.createElement(co,{color:Xe(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},F$(m.error_rate))))),Ae.default.createElement(qf,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ae.default.createElement(w_,{key:m.type},Ae.default.createElement(S_,{color:U$(m.type)}),Ae.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ae.default.createElement(k_,{pct:t.errorTotal?Xe(m.count)/t.errorTotal*100:0,color:U$(m.type)}),Ae.default.createElement(co,{weight:600,width:32},Math.round(Xe(m.count))))))))))}function ece(e,t){let{series:r,totals:n,deltas:a}=e,o=r.length,i=V$(e),l=r.map(E=>new Date(E.ts)),s=e.windowMinutes>=2880,u=E=>Number.isNaN(E.getTime())?"":s?`${Vue[E.getDay()]} ${N_(E.getHours())}h`:`${N_(E.getHours())}:${N_(E.getMinutes())}`,c=o?[0,1,2,3,4,5,6].map(E=>E===6?"now":u(l[Math.round(E*(o-1)/6)])):[],d=E=>r.map(Z=>Xe(Z[E])),f=d("requests"),p=d("errors"),m=d("tokens_in"),g=d("tokens_out"),h=d("cost"),v=d("tool_calls"),y=d("tool_errors"),b=E=>r.map(Z=>Z[E]==null?null:Xe(Z[E])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),O=r.map(E=>E.requests_by_agent||{}),k=e.agents.map(E=>E.name).filter(Boolean);O.forEach(E=>Object.keys(E).forEach(Z=>{k.includes(Z)||k.push(Z)}));let A=k.length?k.map(E=>({label:E,color:t(E),data:O.map(Z=>Xe(Z[E]))})):[{label:"requests",color:Yf[0],data:f}],M=og.map(E=>({label:E.type,color:E.color,data:r.map(Z=>Xe((Z.errors_by_type||{})[E.type]))})),W=(Xe(e.bucketSeconds)||(o>1?(l[1]-l[0])/1e3:0))*1e3,L=(E,Z)=>{if(!E||o<2||!W)return null;let ge=new Date(E.ts).getTime();if(Number.isNaN(ge))return null;let nt=Math.min(o-1,Math.max(0,Math.floor((ge-l[0].getTime())/W)))/(o-1);return{left:nt*100,label:Z,flip:nt>.55}},H=e.markers.filter(E=>E.kind==="deploy").sort((E,Z)=>new Date(E.ts)-new Date(Z.ts)).slice(-Wue).map(E=>L(E,E.label)).filter(Boolean),D=e.markers.find(E=>E.kind==="incident"),Y=D?L(D,Gue(D)):null,N=Y?[Y]:[],_=Kf(Oo(f)*1.1),z=Kf(Oo(p)*1.15),j=Kf(Math.max(Oo(w),Oo(S),Oo(x))*1.05),P=Kf(Math.max(Oo(m),Oo(g))*1.1),B=x_(Oo(h)*1.1),R=z$(B),F=Kf(Oo(v)*1.1),G=Xe(n.requests),ee=Xe(n.requests_per_minute),fe=Xe(n.errors),de=Xe(n.error_rate),De=Xe(n.tokens)||Xe(n.tokens_in)+Xe(n.tokens_out),le=Xe(n.cost),Te=n.cost_per_request!=null?Xe(n.cost_per_request):G?le/G:0,K=Xe(n.tool_calls),I=n.tool_error_rate!=null?Xe(n.tool_error_rate):K?Xe(n.tool_errors)/K*100:0,C=Xe(e.errorsByType.find(E=>E.type===og[0].type)?.count),T=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${hr(G)} \xB7 ${ee.toFixed(1)}/min`,legend:A.map(E=>({label:E.label,color:E.color})),ticks:tc(_,hr),buckets:ng(A,_,E=>`${u(l[E])} \xB7 ${Math.round(f[E])} req`),markers:H},{title:"Latency",sub:"generation percentiles",value:`p50 ${Qr(n.p50_ms)}`,legend:[{label:`p50 ${Qr(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${Qr(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${Qr(n.p99_ms)}`,color:"var(--color-error)"}],ticks:tc(j,que),lines:[{points:rc(w,j),color:"var(--color-error)",width:1.5},{points:rc(S,j),color:"var(--color-warning)",width:1.5},{points:rc(x,j),color:"var(--color-token-in)",width:2}],areas:[{points:G1(x,j),color:"var(--color-token-in)"}],markers:N},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Z1(Math.round(fe),"error")}`,valueColor:de>1?"var(--color-error)":Q1,legend:M.map(E=>({label:E.label,color:E.color})),ticks:tc(z,E=>String(Math.round(E))),buckets:ng(M,z,E=>`${u(l[E])} \xB7 ${Z1(Math.round(p[E]),"error")}`),markers:N},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${hr(De)} \xB7 in ${hr(n.tokens_in)} / out ${hr(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:tc(P,hr),lines:[{points:rc(m,P),color:"var(--color-token-in)",width:1.5},{points:rc(g,P),color:"var(--color-token-out)",width:1.5}],areas:[{points:G1(m,P),color:"var(--color-token-in)"},{points:G1(g,P),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${Zv(le)} \xB7 ${uo(Te)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:tc(B,E=>uo(E,R)),buckets:ng([{color:"var(--color-text-secondary)",data:h}],B,E=>`${u(l[E])} \xB7 ${uo(h[E],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${hr(K)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:tc(F,hr),buckets:ng([{color:"var(--span-tool)",data:v.map((E,Z)=>Math.max(0,E-y[Z]))},{color:"var(--color-error)",data:y}],F,E=>`${u(l[E])} \xB7 ${Z1(Math.round(v[E]),"call")}`)}],X=(E,Z,ge)=>{let Le=E==null?null:Xe(E);return Le==null||Le===0?"muted":Z&&Z(Le)?"success":ge&&ge(Le)?"error":"muted"},$=(E,Z,ge,Le,nt,Bt,ft,En)=>({label:E,value:Z,unit:ge,sub:Le,delta:nt,deltaColor:Hue[Bt],spark:L$(ft),sparkColor:En});return{signals:[$("Requests",hr(G),"",`${ee.toFixed(1)} req/min`,Wf(a.requests_pct),X(a.requests_pct,E=>E>0,null),f,"var(--color-token-in)"),$("Latency",Qr(n.p50_ms),"p50",`p95 ${Qr(n.p95_ms)} \xB7 p99 ${Qr(n.p99_ms)}`,Wf(a.p50_pct),X(a.p50_pct,E=>E<0,E=>E>0),x,"var(--color-token-in)"),$("Error rate",de.toFixed(2),"%",`${Z1(Math.round(fe),"error")} \xB7 ${Math.round(C)} rate-limited`,Wf(a.error_rate_pt," pt",1),X(a.error_rate_pt,E=>E<0,E=>E>0),p,"var(--color-error)"),$("Tokens",hr(De),"",`in ${hr(n.tokens_in)} \xB7 out ${hr(n.tokens_out)}`,Wf(a.tokens_pct),"muted",m.map((E,Z)=>E+g[Z]),"var(--color-token-in)"),$("Cost",Zv(le),"",`${uo(Te)} per request`,Wf(a.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:T,xLabels:c,slowestP95:Oo(e.actions.map(E=>E.p95_ms)),errorTotal:Kue(e.errorsByType.map(E=>E.count))}}var ke=te(ne());var tce=6e4,rce=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],K$={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},ig=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),q$=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,nce=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function __({onOpenServer:e}){let{darkMode:t}=kt(),[r,n]=(0,ke.useState)(null),[a,o]=(0,ke.useState)(!0),[i,l]=(0,ke.useState)(null),[s,u]=(0,ke.useState)("all"),[c,d]=(0,ke.useState)(""),[f,p]=(0,ke.useState)(168),[m,g]=(0,ke.useState)(null),h=(0,ke.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{o(!1)}},[s,c,f]);(0,ke.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,ke.useEffect)(()=>{let A=setInterval(h,tce);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},y=A=>{let M=K$[A]||K$.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(a&&!r)return ke.default.createElement("div",{className:"flex items-center justify-center h-64"},ke.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return ke.default.createElement("div",{style:{padding:"24px"}},ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},O=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:W,tone:L})=>ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},ke.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),ke.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:L||v.textPrimary}},M),W&&ke.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},W));return ke.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},ke.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},ke.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},ke.default.createElement("div",null,ke.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),ke.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),ke.default.createElement("div",{style:{display:"flex",gap:"4px"}},rce.map(A=>ke.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),ke.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},ke.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},ke.default.createElement(k,{label:"Tools Detected",value:ig(x.total_tools),hint:`${x.active_tools||0} called in this window`}),ke.default.createElement(k,{label:"Tool Calls",value:ig(x.total_calls),hint:`${q$(x.avg_duration_ms)} average`}),ke.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),ke.default.createElement(k,{label:"From MCP",value:ig(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),ke.default.createElement(k,{label:"Never Called",value:ig(x.unused_tools),hint:"offered or configured, unused"})),ke.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>ke.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),ke.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),ke.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?ke.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},O?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):ke.default.createElement("div",{style:{overflowX:"auto"}},ke.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},ke.default.createElement("thead",null,ke.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),ke.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),ke.default.createElement("tbody",null,b.map((A,M)=>{let W=y(A.origin),L=m===A.name;return ke.default.createElement(ke.default.Fragment,{key:A.name},ke.default.createElement("tr",{onClick:()=>g(L?null:A.name),style:{borderBottom:M{H.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:W.bg,color:W.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},ig(A.calls)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},q$(A.avg_duration_ms)),ke.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},nce(A.last_seen))),L&&ke.default.createElement("tr",{style:{borderBottom:Mke.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ace({tool:e,colors:t,tone:r,darkMode:n}){let a=({label:o,children:i})=>ke.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},ke.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},o),ke.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return ke.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},ke.default.createElement(a,{label:"Full name"},ke.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&ke.default.createElement(a,{label:"Description"},e.description),ke.default.createElement(a,{label:"Parameters"},e.parameters?.length>0?ke.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):ke.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),ke.default.createElement(a,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):ke.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&ke.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),ke.default.createElement(a,{label:"Call breakdown"},ke.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&ke.default.createElement(a,{label:"Last arguments"},ke.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&ke.default.createElement(a,{label:"Last error"},ke.default.createElement("span",{style:{color:t.error}},e.last_error)),ke.default.createElement(a,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Oe=te(ne());var oce=6e4,ice=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],lce=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],Y$={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},lg=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function O_({focusServer:e,onOpenTools:t}){let{darkMode:r}=kt(),[n,a]=(0,Oe.useState)(null),[o,i]=(0,Oe.useState)(!0),[l,s]=(0,Oe.useState)(null),[u,c]=(0,Oe.useState)("all"),[d,f]=(0,Oe.useState)(168),[p,m]=(0,Oe.useState)(e||null),[g,h]=(0,Oe.useState)(null),[v,y]=(0,Oe.useState)(null),b=(0,Oe.useCallback)(async()=>{try{let D=await fetch(`/api/mcp_servers?hours=${d}`);if(!D.ok)throw new Error(`Request failed (${D.status})`);a(await D.json()),s(null)}catch(D){s(D.message)}finally{i(!1)}},[d]);(0,Oe.useEffect)(()=>{b();let D=setInterval(b,oce);return()=>clearInterval(D)},[b]),(0,Oe.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=D=>{let Y=Y$[D]||Y$.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async D=>{h(D.key),y(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(D.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),N=await Y.json();if(!Y.ok)throw new Error(N.reason||N.error||`Launch failed (${Y.status})`);y({kind:"ok",text:`${D.name} is starting in a sandbox (${N.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){y({kind:"error",text:Y.message})}finally{h(null)}};if(o&&!n)return Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Oe.default.createElement("div",{style:{padding:"24px"}},Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:O=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},W=u==="all"?O:O.filter(D=>D.status===u),L=new Set(A.flatMap(D=>D.mcp_servers||[])),H=({label:D,value:Y,hint:N})=>Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},D),Oe.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),N&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},N));return Oe.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Oe.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Oe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",null,Oe.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Oe.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Oe.default.createElement("div",{style:{display:"flex",gap:"4px"}},ice.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>f(D.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===D.value?"#ef4444":x.border}`,background:d===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===D.value?"#ef4444":x.textSecondary}},D.label))))),Oe.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Oe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Oe.default.createElement(H,{label:"Active",value:lg(k.active),hint:"called in this window"}),Oe.default.createElement(H,{label:"Configured",value:lg(k.configured),hint:"declared, no traffic yet"}),Oe.default.createElement(H,{label:"Available",value:lg(k.available),hint:"defaults you can connect"}),Oe.default.createElement(H,{label:"Tool Calls",value:lg(k.total_calls),hint:"through MCP servers"})),v&&Oe.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Oe.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},lce.map(D=>Oe.default.createElement("button",{key:D.value,onClick:()=>c(D.value),title:M[D.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===D.value?"#ef4444":x.border}`,background:u===D.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===D.value?"#ef4444":x.textSecondary}},D.label))),Oe.default.createElement("div",{style:{display:"grid",gap:"12px"}},W.length===0?Oe.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):W.map(D=>{let Y=S(D.status),N=p===D.key,_=L.has(D.key);return Oe.default.createElement("div",{key:D.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${N?Y.fg:x.border}`,overflow:"hidden"}},Oe.default.createElement("div",{onClick:()=>m(N?null:D.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Oe.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},D.name),Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},D.status),D.first_party&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!D.known&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Oe.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),D.description&&Oe.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},D.description)),Oe.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},lg(D.calls)),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Oe.default.createElement("div",{style:{textAlign:"right"}},Oe.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:D.errors>0?x.error:x.textPrimary}},D.errors||0),Oe.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),D.launchable&&Oe.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(D)},disabled:g===D.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:g===D.key?x.borderLight:"#ef4444",color:g===D.key?x.textMuted:"#ffffff",cursor:g===D.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${D.name} in a sandbox session`},g===D.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),N&&Oe.default.createElement(sce,{server:D,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Oe.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Oe.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Oe.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(D=>Oe.default.createElement("div",{key:D.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Oe.default.createElement("span",{style:{fontFamily:"monospace"}},(D.mcp_servers||[]).join(", ")||D.sandbox_type),Oe.default.createElement("span",{style:{color:x.textMuted}},D.status," \xB7 ",D.runs_count,"/",D.max_runs," runs \xB7 expires ",new Date(D.expires_at).toLocaleTimeString())))))))}function sce({server:e,colors:t,tone:r,onOpenTools:n}){let a=({label:i,children:l})=>Oe.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Oe.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Oe.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),o=e.command||e.url;return Oe.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Oe.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),o&&Oe.default.createElement(a,{label:e.transport==="http"?"Endpoint":"Command"},Oe.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},o)),e.transport&&Oe.default.createElement(a,{label:"Transport"},e.transport),e.categories?.length>0&&Oe.default.createElement(a,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Oe.default.createElement(a,{label:"Requires"},e.requires_credentials.join(", ")),Oe.default.createElement(a,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Oe.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Oe.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Oe.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Oe.default.createElement(a,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Oe.default.createElement(a,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Oe.default.createElement(a,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Oe.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Oe.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Oe.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var q=te(ne());var ks=te(ne());var R1={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},xr={log(...e){this.enabled&&(e.push(Date.now()),R1.logger.log("[ActionCable]",...e))}},ug=()=>new Date().getTime(),J1=e=>(ug()-e)/1e3,cg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=ug(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),xr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=ug(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),xr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=ug()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,xr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=ug(),xr.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){let{staleThreshold:t,reconnectionBackoffRate:r}=this.constructor,n=Math.pow(1+r,Math.min(this.reconnectAttempts,10)),o=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+o)}reconnectIfStale(){this.connectionIsStale()&&(xr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${J1(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?xr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${J1(this.disconnectedAt)} s`):(xr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return J1(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&J1(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(xr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};cg.staleThreshold=6;cg.reconnectionBackoffRate=.15;var X$={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},{message_types:sg,protocols:T_}=X$,uce=T_.slice(0,T_.length-1),G$=[].indexOf,dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new cg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return xr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...T_,...this.consumer.subprotocols||[]];return xr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new R1.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(xr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){xr.log("Failed to reopen WebSocket",t)}finally{xr.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return G$.call(uce,this.getProtocol())>=0}isState(...t){return G$.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in R1.WebSocket)if(R1.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};dg.reopenDelay=500;dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:a,type:o}=JSON.parse(e.data);switch(this.monitor.recordMessage(),o){case sg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case sg.disconnect:return xr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:a});case sg.ping:return null;case sg.confirmation:return this.subscriptions.confirmSubscription(t),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(t,"connected",{reconnected:!0})):this.subscriptions.notify(t,"connected",{reconnected:!1});case sg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(xr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return xr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(xr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){xr.log("WebSocket onerror event")}};var cce=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},M_=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),cce(this,n)}perform(t,r={}){return r.action=t,this.send(r)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}},P_=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(xr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):xr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){xr.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((r=>r!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map((t=>{xr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},D_=class{constructor(t){this.consumer=t,this.guarantor=new P_(this),this.subscriptions=[]}create(t,r){let n=t,a=typeof n=="object"?n:{channel:n},o=new M_(this.consumer,a,r);return this.add(o)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((r=>(this.forget(r),this.notify(r,"rejected"),r)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((r=>r!==t)),t}findAll(t){return this.subscriptions.filter((r=>r.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...r){return this.subscriptions.map((n=>this.notify(n,t,...r)))}notify(t,r,...n){let a;return typeof t=="string"?a=this.findAll(t):a=[t],a.map((o=>typeof o[r]=="function"?o[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){xr.log(`Subscription confirmed ${t}`),this.findAll(t).map((r=>this.guarantor.forget(r)))}sendCommand(t,r){let{identifier:n}=t;return this.consumer.send({command:r,identifier:n})}},I_=class{constructor(t){this._url=t,this.subscriptions=new D_(this),this.connection=new dg(this),this.subprotocols=[]}get url(){return dce(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}};function dce(e){if(typeof e=="function"&&(e=e()),e&&!/^wss?:/i.test(e)){let t=document.createElement("a");return t.href=e,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return e}function Z$(e=fce("url")||X$.default_mount_path){return new I_(e)}function fce(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var ew=null;function pce(){if(ew===null)try{ew=Z$()}catch{ew=!1}return ew||null}function Q$(e,t,r,n=!0){let a=(0,ks.useRef)(null),o=(0,ks.useRef)(r);return(0,ks.useEffect)(()=>{o.current=r},[r]),(0,ks.useEffect)(()=>{if(!n||!e)return;let l=pce();return a.current=l.subscriptions.create({channel:e,...t},{connected(){console.log(`[ActionCable] Connected to ${e}`,t)},disconnected(){console.log(`[ActionCable] Disconnected from ${e}`)},received(s){console.log(`[ActionCable] Received on ${e}:`,s),o.current&&o.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{a.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),a.current.unsubscribe(),a.current=null)}},[e,JSON.stringify(t),n]),{send:(0,ks.useCallback)((l,s)=>{a.current&&a.current.perform(l,s)},[])}}var tw=[{id:"anthropic",name:"Anthropic",model:"claude-haiku-4-5",color:"bg-orange-500"},{id:"openai",name:"OpenAI",model:"gpt-4o",color:"bg-green-500"},{id:"ollama",name:"Ollama",model:"llama3.1:8b",color:"bg-purple-500"}],mce={playwright_mcp:[{name:"Screenshot Example.com",task:"Take a screenshot of https://example.com",description:"Navigate to example.com and capture a screenshot"},{name:"Extract Hacker News Headlines",task:"Go to https://news.ycombinator.com and list the top 5 story titles with their scores",description:"Scrape the front page of Hacker News"},{name:"Check Wikipedia",task:"Navigate to https://en.wikipedia.org/wiki/Artificial_intelligence and extract the first paragraph",description:"Extract content from Wikipedia"},{name:"GitHub Trending",task:"Visit https://github.com/trending and list the top 3 trending repositories",description:"Check GitHub's trending repositories"}],comparison:[{name:"Explain Ruby Blocks",task:"Explain how Ruby blocks work with a simple example",description:"Compare how each model explains Ruby concepts"},{name:"Write a Haiku",task:"Write a haiku about programming",description:"Compare creative output across models"},{name:"Debug This Code",task:"What's wrong with this code? def add(a, b); a - b; end; puts add(2, 3)",description:"Compare debugging abilities"},{name:"Summarize AI",task:"Summarize the current state of AI in 3 sentences",description:"Compare factual knowledge and conciseness"}]},J$={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function j_({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,q.useState)(e),[a,o]=(0,q.useState)(null),[i,l]=(0,q.useState)(""),[s,u]=(0,q.useState)([]),[c,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[m,g]=(0,q.useState)(!1),[h,v]=(0,q.useState)(null),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(!1),[w,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(!1),M=(0,q.useRef)(null),[W,L]=(0,q.useState)(["anthropic"]),[H,D]=(0,q.useState)(!1),[Y,N]=(0,q.useState)({}),[_,z]=(0,q.useState)([]),j=(0,q.useCallback)(T=>{switch(console.log("[SandboxRunner] Received ActionCable message:",T),T.type){case"run_started":H?N(X=>({...X,[T.provider]:{status:"running",started_at:T.started_at,provider:T.provider}})):d(X=>({...X,status:"running",provider:T.provider}));break;case"run_complete":H?(N(X=>({...X,[T.provider]:{...T.run,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider)),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))):(d(T.run),p(!1),T.sandbox&&(o(T.sandbox),u(T.sandbox.runs||[]))),z(X=>{let $=X.filter(Ne=>Ne!==T.provider);return $.length===0&&p(!1),$});break;case"run_error":H?(N(X=>({...X,[T.provider]:{status:"failed",error:T.error,provider:T.provider}})),z(X=>X.filter($=>$!==T.provider))):(d(X=>({...X,status:"failed",error:T.error})),p(!1)),T.sandbox&&o(T.sandbox);break}},[H]);Q$("SandboxChannel",{session_id:a?.session_id},j,!!a?.session_id),(0,q.useEffect)(()=>{B(),P()},[r]);let P=async()=>{try{let T=await fetch("/api/usage");if(T.ok){let X=await T.json();O(X.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,q.useEffect)(()=>{if(!a?.expires_at)return;let T=setInterval(()=>{let X=new Date,$=new Date(a.expires_at),Ne=Math.max(0,Math.floor(($-X)/1e3));b(Ne),Ne===0&&(o(E=>({...E,status:"expired"})),clearInterval(T))},1e3);return()=>clearInterval(T)},[a?.expires_at]),(0,q.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let B=async()=>{g(!0),v(null);try{let T=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!T.ok)throw new Error("Failed to create sandbox session");let X=await T.json();o(X.sandbox),u([]),d(null)}catch(T){v(T.message)}finally{g(!1)}},R=async()=>{!i.trim()||f||!a||(H&&W.length>1?await G():await F(W[0]||"anthropic"))},F=async T=>{p(!0),d({status:"running",task:i,provider:T,result:"",started_at:new Date().toISOString()});try{let X=await fetch(`/api/sandboxes/${a.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:T})}),$=await X.json();if(X.status===402&&$.upgrade_required){O($.usage),S(!0),d(Ne=>({...Ne,status:"failed",error:$.message||"Plan limit reached"})),p(!1);return}if(!X.ok)throw new Error($.error||"Task execution failed");$.usage&&O($.usage),De($.run_id)}catch(X){d($=>({...$,status:"failed",error:X.message})),p(!1)}},G=async()=>{p(!0),z([...W]),N({});let T={};W.forEach(X=>{T[X]={status:"running",result:"",started_at:new Date().toISOString()}}),N(T);try{let X=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:W,sandbox_id:a?.session_id,sandbox_type:r})});if(!X.ok){let Ne=await X.json();throw new Error(Ne.error||"Comparison failed")}let $=await X.json();$.sandbox&&o($.sandbox),ee(W,$.sandbox?.session_id||a?.session_id,$.sandbox?.runs_count??a?.runs_count??0)}catch(X){W.forEach($=>{N(Ne=>({...Ne,[$]:{status:"failed",error:X.message}}))}),p(!1),z([])}},ee=(T,X,$)=>{if(!X)return;let Ne=async()=>{try{let E=await fetch(`/api/sandboxes/${X}`);if(!E.ok)throw new Error(`HTTP ${E.status}`);let Z=await E.json();o(Z.sandbox);let ge=Z.sandbox.runs||[];u(ge);let Le=new Set;if(ge.slice($).forEach(nt=>{nt.provider&&(N(Bt=>({...Bt,[nt.provider]:{...nt,provider:nt.provider}})),(nt.status==="completed"||nt.status==="failed")&&Le.add(nt.provider))}),T.every(nt=>Le.has(nt))){p(!1),z([]);return}setTimeout(Ne,1e3)}catch(E){console.error("Comparison polling failed:",E),p(!1),z([])}};setTimeout(Ne,1e3)},fe=async()=>{if(a?.session_id)try{let X=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(X.sandbox),u(X.sandbox.runs||[]),(X.sandbox.runs||[]).forEach(E=>{E.provider&&N(Z=>({...Z,[E.provider]:{...E,provider:E.provider}}))}),W.every(E=>{let Z=Y[E];return Z?.status==="completed"||Z?.status==="failed"})&&(p(!1),z([]))}catch(T){console.error("Polling error:",T)}},de=T=>{L(X=>X.includes(T)?X.length===1?X:X.filter($=>$!==T):[...X,T])},De=async T=>{let X=async()=>{try{let Ne=await(await fetch(`/api/sandboxes/${a.session_id}`)).json();o(Ne.sandbox);let E=Ne.sandbox.runs||[],Z=E[E.length-1];if(Z&&(d(Z),u(E),Z.status==="completed"||Z.status==="failed")){p(!1);return}setTimeout(X,1e3)}catch{p(!1)}};X()},le=T=>{T.key==="Enter"&&(T.metaKey||T.ctrlKey)&&R()},Te=T=>{if(!T)return"--:--";let X=Math.floor(T/60),$=T%60;return`${X}:${$.toString().padStart(2,"0")}`},K=T=>{switch(T){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=a?.status==="ready"&&a?.runs_count{A(!0);try{await Vf({planSlug:"pro",billingInterval:T})}catch(X){console.error("Checkout error:",X),v(X.message||"Failed to initiate checkout. Please try again."),A(!1)}};return q.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},q.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},q.default.createElement("div",{className:"flex items-center justify-between"},q.default.createElement("div",{className:"flex items-center space-x-4"},q.default.createElement(mr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),q.default.createElement("div",null,q.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),q.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),q.default.createElement("div",{className:"flex items-center space-x-4"},a&&q.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},q.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${K(a.status)}`},a.status),q.default.createElement("span",{className:"text-gray-500"},a.runs_count,"/",a.max_runs," runs"),q.default.createElement("span",{className:`font-mono ${y<60?"text-red-500":"text-gray-500"}`},Te(y))),t&&q.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},q.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),q.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("textarea",{value:i,onChange:T=>l(T.target.value),onKeyDown:le,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),q.default.createElement("div",{className:"flex items-center justify-between mt-3"},q.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),q.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin"},"\u25E0"),q.default.createElement("span",null,"Running...")):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",null,"\u25B6"),q.default.createElement("span",null,"Run"))))),q.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},q.default.createElement("h3",{className:"font-medium text-gray-900"},H&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!H&&q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(c.status)}`},c.status),H&&_.length>0&&q.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),q.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?q.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},q.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?q.default.createElement("div",{className:"text-red-600 p-4"},h):H&&Object.keys(Y).length>0?q.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},W.map(T=>{let X=tw.find(Ne=>Ne.id===T),$=Y[T];return q.default.createElement("div",{key:T,className:"p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-2"},q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("div",{className:`w-3 h-3 rounded-full ${X?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"font-medium text-gray-900"},X?.name||T),q.default.createElement("span",{className:"text-xs text-gray-500"},X?.model)),$&&q.default.createElement("div",{className:"flex items-center space-x-2"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K($.status)}`},$.status),$.tokens&&q.default.createElement("span",{className:"text-xs text-gray-500"},$.tokens," tokens"),$.duration_ms&&q.default.createElement("span",{className:"text-xs text-gray-500"},($.duration_ms/1e3).toFixed(1),"s"))),q.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},$?.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Processing...")):$?.error?q.default.createElement("div",{className:"text-red-600"},$.error):$?.result?q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},$.result):q.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?q.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&q.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},q.default.createElement("div",{className:`w-2 h-2 rounded-full ${tw.find(T=>T.id===c.provider)?.color||"bg-gray-400"}`}),q.default.createElement("span",{className:"text-sm text-gray-600"},tw.find(T=>T.id===c.provider)?.name||c.provider)),c.status==="running"?q.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,"Executing task...")):c.error?q.default.createElement("div",{className:"text-red-600"},q.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),q.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):q.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):q.default.createElement("div",{className:"text-gray-400 text-center py-12"},q.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),q.default.createElement("p",{className:"text-xs"},H?`Compare results across ${W.length} providers`:"Task will execute using the selected provider"))))),q.default.createElement("div",{className:"space-y-4 overflow-auto"},q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),q.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},q.default.createElement("input",{type:"checkbox",checked:H,onChange:T=>D(T.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),q.default.createElement("div",{className:"space-y-2"},tw.map(T=>q.default.createElement("label",{key:T.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${W.includes(T.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},q.default.createElement("div",{className:"flex items-center space-x-3"},q.default.createElement("input",{type:"checkbox",checked:W.includes(T.id),onChange:()=>de(T.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),q.default.createElement("div",{className:`w-2 h-2 rounded-full ${T.color}`}),q.default.createElement("span",{className:"text-sm font-medium text-gray-900"},T.name)),q.default.createElement("span",{className:"text-xs text-gray-500"},T.model)))),H&&W.length>1&&q.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},q.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",W.length," providers simultaneously"))),q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},q.default.createElement("div",{className:"flex items-center justify-between mb-3"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),H&&q.default.createElement("button",{onClick:()=>n(r==="playwright_mcp"?"comparison":"playwright_mcp"),className:"text-xs text-rose-600 hover:text-rose-700"},r==="comparison"?"Browser Tasks":"Comparison Tasks")),q.default.createElement("div",{className:"space-y-2"},mce[r]?.map((T,X)=>q.default.createElement("button",{key:X,onClick:()=>l(T.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},q.default.createElement("div",{className:"font-medium text-sm text-gray-900"},T.name),q.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},T.description))))),q.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},q.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&q.default.createElement("div",{className:"mb-4"},q.default.createElement("div",{className:"flex justify-between text-sm mb-1"},q.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),q.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),q.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},q.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&q.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),q.default.createElement("dd",{className:"text-gray-900"},a?.runs_count||0,"/",a?.max_runs||J$.max_runs)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{className:"text-gray-500"},"Timeout"),q.default.createElement("dd",{className:"text-gray-900"},J$.timeout_seconds,"s per task"))),w?.plan==="free"&&q.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},q.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},q.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),q.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((T,X)=>q.default.createElement("div",{key:T.id||X,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(T)},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${K(T.status||"completed")}`},T.status||"completed"),q.default.createElement("span",{className:"text-xs text-gray-400"},T.tokens||0," tokens")),q.default.createElement("p",{className:"text-sm text-gray-600 truncate"},T.task))))),a?.status==="expired"&&q.default.createElement("button",{onClick:B,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&q.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},q.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},q.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},q.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),q.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),q.default.createElement("div",{className:"p-6"},q.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),q.default.createElement("span",{className:"text-gray-500"},"/mo"))),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),q.default.createElement("button",{disabled:!0,className:"w-full py-2 px-4 border border-gray-300 text-gray-400 rounded-lg text-sm cursor-not-allowed"},"Current Plan")),q.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},q.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},q.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),q.default.createElement("div",{className:"text-center mb-4 mt-2"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),q.default.createElement("button",{onClick:()=>C("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),q.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},q.default.createElement("div",{className:"text-center mb-4"},q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),q.default.createElement("div",{className:"mt-2"},q.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),q.default.createElement("span",{className:"text-gray-500"},"/mo")),q.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),q.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),q.default.createElement("li",{className:"flex items-start"},q.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),q.default.createElement("a",{href:"mailto:sales@activeagents.ai",className:"block w-full py-2 px-4 border border-gray-300 text-gray-700 rounded-lg text-sm font-semibold text-center hover:bg-gray-50 transition-colors"},"Contact Sales")))),q.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},q.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Ee=te(ne());var rw={SCREENSHOT:"screenshot",IFRAME:"iframe"},R$={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},z_={navigate:"#3b82f6",click:"#ef4444",type:"#10b981",form_fill:"#8b5cf6",key_press:"#f59e0b",snapshot:"#06b6d4",hover:"#ec4899",select:"#6366f1",file_upload:"#14b8a6",dialog:"#f97316",evaluate:"#a855f7",wait:"#94a3b8",scroll:"#64748b",drag:"#ea580c"},vce=` +`)||y?.instructions||"",Ye=m.slice();h&&!Ye.some(ie=>ie.id===h)&&Ye.unshift({id:h,message_count:Uo.length});let zt=(s.trim().length>0||c.length>0)&&!k,qt=M&&!k&&M.status==="failed",ar=M&&!k&&M.status==="complete"&&!Ls(M)&&!h,_n={background:n.cardBg,border:`1px solid ${n.cardBorder}`,borderRadius:"12px"},T5={borderBottom:`1px solid ${n.cardBorder}`},M5={padding:"6px 10px",borderRadius:"8px",border:`1px solid ${n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontSize:"13px",fontFamily:Ve.mono,maxWidth:"260px"},P5={width:"100%",padding:"10px 12px",borderRadius:"8px",border:`1px solid ${f?bn:n.inputBorder}`,background:n.inputBg,color:n.textPrimary,fontFamily:"inherit",fontSize:"13px",resize:"vertical"},qw=Ar("system",r),nU=tw(r);return q.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},q.default.createElement("div",{className:"col-span-2 flex flex-col gap-4 min-w-0"},E&&q.default.createElement("div",{className:"bg-amber-50 border border-amber-200 rounded-xl p-4 flex items-center justify-between gap-4"},q.default.createElement("div",null,q.default.createElement("p",{className:"font-medium text-amber-900"},"Monthly run limit reached"),q.default.createElement("p",{className:"text-sm text-amber-700 mt-0.5"},"You've used ",E.runs_used," of ",E.runs_limit," runs on the"," ",E.plan||"free"," plan. Upgrade to keep running agents."),L&&q.default.createElement("p",{className:"text-sm text-red-600 mt-1"},L)),q.default.createElement("div",{className:"flex items-center gap-2 flex-shrink-0"},Sc&&q.default.createElement("a",{href:Sc,className:"px-4 py-2 text-sm text-amber-800 hover:text-amber-900"},"See plans"),q.default.createElement("button",{onClick:Vw,disabled:R,className:"px-4 py-2 text-sm bg-amber-500 text-white rounded-lg hover:bg-amber-600 transition-colors disabled:opacity-50"},R?"Redirecting\u2026":"Upgrade to Pro"))),q.default.createElement("div",{"data-testid":"runner-toolbar",style:_n,className:"p-4 flex items-center gap-3 flex-wrap"},q.default.createElement(wr,{size:40}),q.default.createElement("div",{className:"min-w-0"},q.default.createElement("div",{className:"font-semibold truncate",style:{color:n.textPrimary}},e.name),q.default.createElement("div",{className:"text-xs font-mono",style:{color:n.textSecondary}},e.provider," / ",e.model)),q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap ml-auto"},q.default.createElement("select",{"data-testid":"runner-action-select",value:i,onChange:ie=>jg(ie.target.value),disabled:k,className:"aa-field",style:M5,title:"Agent action to invoke"},a.map(ie=>q.default.createElement("option",{key:ie,value:ie},"#",ie))),q.default.createElement("select",{"data-testid":"runner-conversation-select",value:h??"",onChange:ie=>Lw(ie.target.value),disabled:k,className:"aa-field",style:M5,title:"Conversation to continue"},q.default.createElement("option",{value:""},"New conversation on first run"),Ye.map(ie=>q.default.createElement("option",{key:ie.id,value:ie.id},"Conversation #",ie.id," \xB7 ",ie.message_count??0," message",ie.message_count===1?"":"s"))),q.default.createElement(qn,{testId:"runner-new-conversation",variant:"secondary",size:"sm",colors:n,onClick:Bw,disabled:k,title:"Start an empty conversation for this action"},"+ New conversation"),q.default.createElement(qn,{testId:"runner-back",variant:"secondary",size:"sm",colors:n,onClick:t},"\u2190 Back to editor"))),q.default.createElement("div",{"data-testid":"runner-context",ref:it,style:_n,className:"flex flex-col overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3 flex items-center justify-between gap-3 flex-wrap",style:T5},q.default.createElement("div",{className:"flex items-center gap-2 min-w-0"},q.default.createElement("h3",{className:"font-medium",style:{color:n.textPrimary}},"Context"),y&&q.default.createElement("span",{className:"text-xs font-mono",style:{color:n.textMuted}},"#",y.id," \xB7 ",Uo.length," message",Uo.length===1?"":"s")),q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},q.default.createElement(Mce,{run:M,darkMode:r,colors:n}),q.default.createElement("div",{className:"relative",ref:Fo},q.default.createElement(qn,{testId:"runner-add-message",variant:"secondary",size:"sm",colors:n,onClick:()=>oe(ie=>!ie),disabled:k,title:"Insert a message into the context without running"},"+ Add message"),ze&&q.default.createElement("div",{className:"absolute right-0 mt-1 z-10 py-1 rounded-lg shadow-lg",style:{background:n.cardBg,border:`1px solid ${n.borderStrong}`,minWidth:"180px"}},[["user","runner-add-user-message","User message"],["assistant","runner-add-assistant-message","Assistant message"]].map(([ie,Le,Je])=>q.default.createElement("button",{key:ie,type:"button","data-testid":Le,onClick:()=>Ww(ie),className:"w-full text-left px-3 py-1.5 text-sm hover:bg-black/5",style:{color:n.textCell,background:"none",border:"none",cursor:"pointer"}},Je)))))),q.default.createElement("div",{ref:zn,className:"p-4 overflow-auto",style:{maxHeight:"60vh"}},q.default.createElement("div",{"data-testid":"runner-system-row",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 cursor-pointer",onClick:()=>de(ie=>!ie),title:ae?"Collapse system instructions":"Show system instructions"},q.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:qw.background,color:qw.color,textAlign:"center"}},qw.label)),q.default.createElement("div",{className:"min-w-0 flex-1"},ve?ae?q.default.createElement("pre",{style:{...nU,whiteSpace:"pre-wrap",maxHeight:"260px",overflowY:"auto"}},ve):q.default.createElement("div",{className:"text-sm truncate",style:{color:n.textSecondary}},ve.split(` +`).find(ie=>ie.trim())||""):q.default.createElement("div",{className:"text-sm",style:{color:n.textMuted}},"No system instructions"),q.default.createElement("div",{className:"text-xs mt-0.5 font-mono",style:{color:n.textMuted}},"read-only \xB7 Edit in the Instructions tab")),q.default.createElement(DF,{open:ae,color:n.textMuted})),x&&q.default.createElement("div",{className:"text-sm mt-3",style:{color:"#dc2626"}},x),Uo.length>0?q.default.createElement("div",{className:"mt-3"},q.default.createElement(ba,{messages:Uo,darkMode:r,testIdPrefix:"runner-message",onUiAction:Lg,onEditMessage:Bg,onDeleteMessage:Uw})):!F&&!P&&!qt&&q.default.createElement("div",{"data-testid":"runner-context-empty",className:"text-sm text-center py-8",style:{color:n.textMuted}},"No messages yet \u2014 say something below to test the agent as a user."),F&&q.default.createElement("div",{"data-testid":"runner-pending-turn",className:"flex gap-3 items-start rounded-lg -mx-2 px-2 py-1 mt-3"},q.default.createElement("span",{className:"flex flex-col gap-1 flex-shrink-0 mt-0.5",style:{minWidth:"72px"}},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar("user",r).background,color:Ar("user",r).color,textAlign:"center"}},"User")),q.default.createElement("div",{className:"min-w-0 flex-1"},q.default.createElement("div",{className:"text-sm break-words whitespace-pre-wrap",style:{color:n.textPrimary}},F.content),q.default.createElement(rw,{attachments:F.attachments,darkMode:r}))),M&&(k||JE(M).length>0)&&q.default.createElement("div",{className:"mt-3 space-y-2"},q.default.createElement(Tce,{run:M,darkMode:r,colors:n,expanded:z,onToggle:ie=>D(Le=>({...Le,[ie]:!Le[ie]}))}),k&&q.default.createElement("div",{className:"flex items-center gap-2 text-sm",style:{color:n.textSecondary}},q.default.createElement("span",{className:"animate-pulse"},"\u25CF"),q.default.createElement("span",null,JE(M).length>0?"Working\u2026":"Starting run\u2026"))),C&&q.default.createElement("div",{className:"text-xs mt-3",style:{color:"#d97706"}},C),qt&&M.error_message&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:r?"rgba(239,68,68,0.12)":"#fef2f2",color:r?"#fca5a5":"#b91c1c"}},q.default.createElement("div",{className:"font-semibold mb-1"},"Run failed"),q.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0}},M.error_message)),ar&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3 text-sm",style:{background:n.innerBg,color:n.textPrimary}},q.default.createElement("div",{className:"text-xs uppercase tracking-wide mb-1",style:{color:n.textMuted}},"Output"),q.default.createElement($a,{text:M.output||"No output",darkMode:r,onUiAction:Lg})),P&&q.default.createElement("div",{"data-testid":"runner-inspected-run",className:"mt-3 rounded-lg p-3",style:{background:n.innerBg,border:`1px solid ${n.cardBorder}`}},q.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mb-2"},q.default.createElement("div",{className:"flex items-center gap-2 text-xs font-mono",style:{color:n.textMuted}},q.default.createElement("span",{style:{color:n.textPrimary}},"Run #",P.id),q.default.createElement(zs,{tone:QE[P.status]||"neutral",darkMode:r},P.status),P.output_metadata?.model&&q.default.createElement("span",null,P.output_metadata.provider,"/",P.output_metadata.model),P.duration_ms?q.default.createElement("span",null,Cw(P.duration_ms)):null,P.trace_id&&q.default.createElement("a",{href:Re(`/traces?trace=${P.trace_id}`),className:"hover:underline",style:{color:n.textSecondary}},"trace:",P.trace_id.slice(0,8)," \u2192"),q.default.createElement("span",null,"\xB7 no conversation attached")),q.default.createElement("button",{type:"button",onClick:()=>Y(null),className:"text-xs font-mono",style:{color:n.textMuted,background:"none",border:"none",cursor:"pointer"},title:"Close"},"[x]")),(P.input_prompt||P.input_preview)&&q.default.createElement("div",{className:"text-sm mb-2 whitespace-pre-wrap",style:{color:n.textSecondary}},P.input_prompt||P.input_preview),P.error_message?q.default.createElement("pre",{className:"whitespace-pre-wrap font-mono text-xs",style:{margin:0,color:r?"#fca5a5":"#b91c1c"}},P.error_message):q.default.createElement("div",{className:"text-sm",style:{color:n.textPrimary}},q.default.createElement($a,{text:P.output||"No output",darkMode:r}))),Ee&&q.default.createElement("div",{className:"mt-3 rounded-lg p-3",style:{border:`1px dashed ${n.borderStrong}`}},q.default.createElement("div",{className:"flex items-center gap-2 mb-2"},q.default.createElement("span",{className:"px-2 py-0.5 rounded text-xs font-medium",style:{background:Ar(Ee,r).background,color:Ar(Ee,r).color}},Ar(Ee,r).label),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Added to the context without running the agent")),q.default.createElement("textarea",{"data-testid":"runner-inline-composer",value:I,onChange:ie=>N(ie.target.value),onKeyDown:ie=>{ie.key==="Escape"&&V(null),ie.key==="Enter"&&(ie.metaKey||ie.ctrlKey)&&$g()},placeholder:Ee==="user"?"What the user said\u2026":"What the assistant replied\u2026",rows:3,autoFocus:!0,className:"aa-field",style:{...P5,border:`1px solid ${n.inputBorder}`}}),q.default.createElement("div",{className:"flex items-center gap-2 mt-2 flex-wrap"},q.default.createElement(qn,{testId:"runner-inline-submit",variant:"primary",size:"sm",colors:n,onClick:$g,disabled:O||!I.trim()},O?"Adding\u2026":`Add ${Ee} message`),q.default.createElement(qn,{variant:"secondary",size:"sm",colors:n,onClick:()=>V(null),disabled:O},"Cancel"),B&&q.default.createElement("span",{className:"text-xs",style:{color:"#dc2626"}},B))))),q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("div",{onDragOver:ie=>{ie.preventDefault(),f||p(!0)},onDragLeave:()=>p(!1),onDrop:ie=>{ie.preventDefault(),p(!1),k||Us(ie.dataTransfer?.files)}},q.default.createElement("textarea",{"data-testid":"runner-prompt",value:s,onChange:ie=>u(ie.target.value),onKeyDown:vp,placeholder:"Message the agent as a user\u2026 (\u2318/Ctrl+Enter to run \xB7 drop files here to attach)",rows:3,disabled:k,className:"aa-field",style:P5})),q.default.createElement(rw,{attachments:c,darkMode:r,testId:"runner-attachment-chip",onRemove:(ie,Le)=>$w(Le),removeTestId:"runner-attachment-remove"}),q.default.createElement("div",{className:"flex items-center justify-between gap-3 flex-wrap mt-3"},q.default.createElement("div",{className:"flex items-center gap-3 flex-wrap"},q.default.createElement("input",{ref:$o,"data-testid":"runner-attach-input",type:"file",multiple:!0,style:{display:"none"},onChange:ie=>{Us(ie.target.files),ie.target.value=""}}),q.default.createElement(qn,{testId:"runner-attach",variant:"secondary",size:"sm",colors:n,onClick:()=>$o.current?.click(),disabled:k,title:"Attach images, PDFs, or text files to this message"},"\u{1F4CE} Attach files"),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},"Press ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"\u2318")," + ",q.default.createElement("kbd",{className:"px-1.5 py-0.5 rounded",style:{background:n.mutedBg,color:n.textSecondary}},"Enter")," to run")),q.default.createElement(qn,{testId:"runner-run",variant:"primary",colors:n,onClick:zg,disabled:!zt},k?q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{className:"animate-spin inline-block",style:{fontFamily:Ve.mono}},"[~]")," Running\u2026"):q.default.createElement(q.default.Fragment,null,q.default.createElement("span",{style:{fontFamily:Ve.mono}},"[>]")," Run"))))),q.default.createElement("div",{className:"space-y-4 min-w-0"},q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Configuration"),q.default.createElement("dl",{className:"space-y-2 text-sm"},q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Temperature"),q.default.createElement("dd",{style:{color:n.textPrimary}},e.modelConfig?.temperature||e.model_config?.temperature||.7)),q.default.createElement("div",{className:"flex justify-between"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Tools"),q.default.createElement("dd",{style:{color:n.textPrimary}},e.tools?.length||0)),q.default.createElement("div",{className:"flex justify-between items-center"},q.default.createElement("dt",{style:{color:n.textSecondary}},"Status"),q.default.createElement("dd",null,q.default.createElement(zs,{tone:e.status==="active"?"success":"neutral",darkMode:r},e.status)))),e.instructions&&q.default.createElement("div",{className:"mt-3 pt-3",style:{borderTop:`1px solid ${n.cardBorder}`}},q.default.createElement("div",{className:"text-xs mb-1.5",style:{color:n.textSecondary}},"System Instructions"),q.default.createElement("p",{className:"text-xs whitespace-pre-wrap max-h-44 overflow-y-auto font-mono leading-relaxed",style:{color:n.textCell}},e.instructions))),q.default.createElement("div",{style:_n,className:"overflow-hidden"},q.default.createElement("div",{className:"px-4 py-3",style:T5},q.default.createElement("h4",{className:"font-medium",style:{color:n.textPrimary}},"Recent Runs")),q.default.createElement("div",{className:"max-h-64 overflow-auto"},w.length>0?q.default.createElement("div",null,w.map(ie=>q.default.createElement("div",{key:ie.id,"data-testid":"runner-recent-run",className:"px-4 py-3 cursor-pointer hover:bg-black/5",style:{borderBottom:`1px solid ${n.cardBorder}`},onClick:()=>Hw(ie),title:Ls(ie)?"Open this run\u2019s conversation":"Show this run\u2019s output"},q.default.createElement("div",{className:"flex items-center justify-between mb-1"},q.default.createElement(zs,{tone:QE[ie.status]||"neutral",darkMode:r},ie.status),q.default.createElement("span",{className:"text-xs",style:{color:n.textMuted}},Cw(ie.duration_ms))),q.default.createElement("p",{className:"text-sm truncate",style:{color:n.textCell}},ie.input_preview||ie.input_prompt?.substring(0,50)),q.default.createElement("p",{className:"text-xs mt-1 flex items-center gap-2 flex-wrap",style:{color:n.textMuted}},ie.model&&q.default.createElement("span",{className:"px-1.5 py-0.5 rounded font-mono",style:{background:n.mutedBg,color:n.textSecondary}},ie.model),Ls(ie)&&q.default.createElement("span",{className:"font-mono"},"#",Ls(ie)),q.default.createElement("span",null,new Date(ie.created_at).toLocaleString()))))):q.default.createElement("div",{className:"px-4 py-8 text-center text-sm",style:{color:n.textMuted}},"No runs yet"))),q.default.createElement("div",{style:_n,className:"p-4"},q.default.createElement("h4",{className:"font-medium mb-3",style:{color:n.textPrimary}},"Example Prompts"),q.default.createElement("div",{className:"space-y-2"},Nce.map(ie=>q.default.createElement("button",{key:ie,type:"button","data-testid":"runner-example-prompt",onClick:()=>u(ie),className:"w-full text-left px-3 py-2 text-sm rounded-lg transition-colors hover:bg-black/5",style:{color:n.textCell,border:`1px solid ${n.cardBorder}`,background:"transparent",cursor:"pointer"}},ie))))))}var Te=te(re()),Nw=e=>new Date(`${e}T00:00:00`),Pce=[{value:7,label:"7 days"},{value:14,label:"14 days"},{value:30,label:"30 days"},{value:90,label:"90 days"}];function e5({onSelectAgent:e}){let[t,r]=(0,Te.useState)(null),[n,o]=(0,Te.useState)(!0),[a,i]=(0,Te.useState)(30);(0,Te.useEffect)(()=>{l()},[a]);let l=async()=>{o(!0);try{let p=await(await fetch(`/api/analytics?days=${a}`)).json();r(p)}catch(f){console.error("Failed to load analytics:",f)}finally{o(!1)}},s=f=>f?f>=1e6?`${(f/1e6).toFixed(1)}M`:f>=1e3?`${(f/1e3).toFixed(1)}K`:f.toString():"0",u=f=>f?f<1e3?`${f}ms`:`${(f/1e3).toFixed(2)}s`:"-";if(n&&!t)return Te.default.createElement("div",{className:"flex items-center justify-center h-64"},Te.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));let c=t?.charts?.runs_by_day?.length>0?Math.max(...t.charts.runs_by_day.map(f=>f.count)):1,d=t?.charts?.tokens_by_day?.length>0?Math.max(...t.charts.tokens_by_day.map(f=>f.tokens)):1;return Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"flex items-center justify-between"},Te.default.createElement("div",null,Te.default.createElement("h1",{className:"text-2xl font-bold text-gray-900"},"Analytics Dashboard"),Te.default.createElement("p",{className:"text-sm text-gray-500"},"Overview of all your agents' performance")),Te.default.createElement("select",{value:a,onChange:f=>i(Number(f.target.value)),className:"px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-red-500"},Pce.map(f=>Te.default.createElement("option",{key:f.value,value:f.value},"Last ",f.label)))),Te.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-5 gap-4"},Te.default.createElement(kg,{title:"Total Agents",value:t?.summary?.total_agents||0,subtitle:`${t?.summary?.active_agents||0} active`,color:"rose"}),Te.default.createElement(kg,{title:"Total Runs",value:t?.summary?.total_runs||0,subtitle:`${t?.period_days} day period`,color:"blue"}),Te.default.createElement(kg,{title:"Success Rate",value:`${t?.summary?.success_rate||0}%`,subtitle:`${t?.summary?.completed_runs||0} completed`,color:"green"}),Te.default.createElement(kg,{title:"Avg Duration",value:u(t?.summary?.avg_duration_ms),subtitle:"per run",color:"purple"}),Te.default.createElement(kg,{title:"Total Tokens",value:s(t?.summary?.total_tokens),subtitle:`${s(t?.summary?.avg_tokens_per_run)}/run avg`,color:"amber"})),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Runs Over Time"),t?.charts?.runs_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.runs_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-red-500 rounded-t transition-all hover:bg-red-600",style:{height:`${f.count/c*150}px`,minHeight:f.count>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},f.count," runs"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.runs_by_day[0]?.date&&Nw(t.charts.runs_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.runs_by_day[t.charts.runs_by_day.length-1]?.date&&Nw(t.charts.runs_by_day[t.charts.runs_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No runs in this period")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage Over Time"),t?.charts?.tokens_by_day?.length>0?Te.default.createElement("div",{className:"h-48"},Te.default.createElement("div",{className:"flex items-end justify-between h-full space-x-1"},t.charts.tokens_by_day.map((f,p)=>Te.default.createElement("div",{key:f.date,className:"flex-1 flex flex-col items-center group"},Te.default.createElement("div",{className:"relative w-full"},Te.default.createElement("div",{className:"w-full bg-purple-500 rounded-t transition-all hover:bg-purple-600",style:{height:`${f.tokens/d*150}px`,minHeight:f.tokens>0?"4px":"0"}}),Te.default.createElement("div",{className:"absolute -top-8 left-1/2 transform -translate-x-1/2 bg-gray-800 text-white text-xs px-2 py-1 rounded opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap z-10"},s(f.tokens)," tokens"))))),Te.default.createElement("div",{className:"flex justify-between mt-2 text-xs text-gray-400"},Te.default.createElement("span",null,t.charts.tokens_by_day[0]?.date&&Nw(t.charts.tokens_by_day[0].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),Te.default.createElement("span",null,t.charts.tokens_by_day[t.charts.tokens_by_day.length-1]?.date&&Nw(t.charts.tokens_by_day[t.charts.tokens_by_day.length-1].date).toLocaleDateString("en-US",{month:"short",day:"numeric"})))):Te.default.createElement("div",{className:"h-48 flex items-center justify-center text-gray-400"},"No token usage in this period"))),Te.default.createElement("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-6"},Te.default.createElement("div",{className:"lg:col-span-2 bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Top Agents"),t?.top_agents?.length>0?Te.default.createElement("div",{className:"space-y-3"},t.top_agents.map((f,p)=>Te.default.createElement("div",{key:f.id,onClick:()=>e?.(f),className:"flex items-center space-x-4 p-3 rounded-lg hover:bg-gray-50 cursor-pointer transition-colors"},Te.default.createElement("div",{className:"w-8 h-8 rounded-full bg-red-100 flex items-center justify-center text-red-600 font-semibold"},p+1),Te.default.createElement("div",{className:"flex-1 min-w-0"},Te.default.createElement("p",{className:"font-medium text-gray-900 truncate"},f.name),Te.default.createElement("p",{className:"text-sm text-gray-500"},f.run_count," runs")),Te.default.createElement("div",{className:"text-right"},Te.default.createElement("p",{className:"font-medium text-gray-900"},s(f.total_tokens)),Te.default.createElement("p",{className:"text-xs text-gray-500"},"tokens"))))):Te.default.createElement("div",{className:"py-8 text-center text-gray-400"},"No agent activity yet")),Te.default.createElement("div",{className:"space-y-6"},Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"By Provider"),Object.keys(t?.provider_breakdown||{}).length>0?Te.default.createElement("div",{className:"space-y-3"},Object.entries(t.provider_breakdown).map(([f,p])=>{let m=t?.summary?.total_runs||1,g=(p/m*100).toFixed(1);return Te.default.createElement("div",{key:f},Te.default.createElement("div",{className:"flex justify-between text-sm mb-1"},Te.default.createElement("span",{className:"capitalize text-gray-600"},f),Te.default.createElement("span",{className:"text-gray-900 font-medium"},p)),Te.default.createElement("div",{className:"h-2 bg-gray-100 rounded-full overflow-hidden"},Te.default.createElement("div",{className:"h-full bg-blue-500 rounded-full",style:{width:`${g}%`}})))})):Te.default.createElement("div",{className:"py-4 text-center text-gray-400 text-sm"},"No data")),Te.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-6"},Te.default.createElement("h3",{className:"font-semibold text-gray-900 mb-4"},"Token Usage"),Te.default.createElement("div",{className:"space-y-4"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Input Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_input_tokens))),Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm text-gray-500"},"Output Tokens"),Te.default.createElement("span",{className:"font-medium text-gray-900"},s(t?.summary?.total_output_tokens))),Te.default.createElement("div",{className:"pt-2 border-t border-gray-100"},Te.default.createElement("div",{className:"flex justify-between items-center"},Te.default.createElement("span",{className:"text-sm font-medium text-gray-700"},"Total"),Te.default.createElement("span",{className:"font-bold text-gray-900"},s(t?.summary?.total_tokens)))))))))}function kg({title:e,value:t,subtitle:r,color:n}){return Te.default.createElement("div",{className:`bg-white rounded-xl border border-gray-200 border-l-4 ${{rose:"border-l-red-500",blue:"border-l-blue-500",green:"border-l-green-500",purple:"border-l-purple-500",amber:"border-l-amber-500"}[n]} p-4`},Te.default.createElement("p",{className:"text-sm text-gray-500"},e),Te.default.createElement("p",{className:"text-2xl font-bold text-gray-900 mt-1"},t),r&&Te.default.createElement("p",{className:"text-xs text-gray-400 mt-1"},r))}var Q=te(re());function t5({agent:e,onBack:t}){let{timeWindow:r}=si(),[n,o]=(0,Q.useState)([]),[a,i]=(0,Q.useState)([]),[l,s]=(0,Q.useState)(null),[u,c]=(0,Q.useState)(null),[d,f]=(0,Q.useState)([]),[p,m]=(0,Q.useState)("run"),[g,h]=(0,Q.useState)(!1),[v,y]=(0,Q.useState)(!1),b=(0,Q.useRef)(!1),x=(0,Q.useRef)(!1),[S,w]=(0,Q.useState)("recent"),[T,k]=(0,Q.useState)({}),[A,M]=(0,Q.useState)(!0),[H,F]=(0,Q.useState)(1),[X,P]=(0,Q.useState)(!0),[Y,C]=(0,Q.useState)(""),[_,z]=(0,Q.useState)(""),[D,E]=(0,Q.useState)("recent"),j=(0,Q.useRef)(null),R=Re(`/agents/${e.id}/interactions`);(0,Q.useEffect)(()=>{U()},[e.id,H,Y,_,D,r.minutes]),(0,Q.useEffect)(()=>{F(1)},[r.minutes]),(0,Q.useEffect)(()=>{fetch(`/api/interactions?agent_id=${e.id}`).then(B=>B.json()).then(B=>i(B.interactions||[])).catch(()=>{}).finally(()=>y(!0))},[e.id]),(0,Q.useEffect)(()=>{let B=()=>{let we=dl(),ee=we.match(/\/interactions\/runs\/(\d+)/),ue=we.match(/\/interactions\/sessions\/(\d+)/);if(ee)m("run"),c(null),K(parseInt(ee[1],10),{updateUrl:!1});else if(ue)m("all"),c({id:parseInt(ue[1],10)});else if(we.endsWith("/interactions/sessions")||we.endsWith("/interactions/all"))we.endsWith("/all")&&window.history.replaceState({},"",we.replace(/\/all$/,"/sessions")),m("all"),c(null);else{b.current=!1,s(null),c(null),f([]);return}b.current=!0};return B(),window.addEventListener("popstate",B),()=>window.removeEventListener("popstate",B)},[e.id]),(0,Q.useEffect)(()=>{b.current||x.current||!g||!v||m(n.length===0&&a.length>0?"all":"run")},[g,v,n.length,a.length]);let U=async()=>{M(!0);try{let B=new URLSearchParams({page:H.toString(),per_page:"20",minutes:String(r.minutes)});Y&&B.append("status",Y),_&&B.append("source",_),D!=="recent"&&B.append("sort",D);let ee=await(await fetch(`/api/agents/${e.id}/runs?${B}`)).json();o(H===1?ee.runs:ue=>[...ue,...ee.runs]),P(ee.runs.length===20)}catch(B){console.error("Failed to load runs:",B)}finally{M(!1),h(!0)}},L=B=>{window.location.pathname!==B&&window.history.pushState({},"",B)},K=async(B,{updateUrl:we=!0}={})=>{try{let ue=await(await fetch(`/api/runs/${B}`)).json();s(ue.run),f(ue.messages||[]),m("run"),c(null),we&&L(`${R}/runs/${B}`)}catch(ee){console.error("Failed to load run details:",ee)}},ae=B=>{if(B.source==="reported"){let we=B.trace_id||String(B.id).replace(/^trace-/,"");window.history.pushState(window.history.state,"",Re(`/traces/${we}`)),window.dispatchEvent(new CustomEvent("dashboard:navigate",{detail:{path:Re(`/traces/${we}`)}}));return}K(B.record_id||B.id)},de=()=>{s(null),c(null),f([]),m("run"),L(R)},ze=B=>{m("all"),B?(c({id:B.id,name:B.display_name}),L(`${R}/sessions/${B.id}`)):(c(null),L(`${R}/sessions`))},oe=B=>{x.current=!0,m(B),L(B==="all"?u?`${R}/sessions/${u.id}`:`${R}/sessions`:l?`${R}/runs/${l.id}`:R)},Ee=u?u.name||a.find(B=>B.id===u.id)?.display_name||`Session #${u.id}`:null,V=()=>{let B=new Map;n.forEach(ue=>{let W=`${ue.model||"unknown"}|${ue.instructions_digest||"none"}`;B.has(W)||B.set(W,{key:W,model:ue.model,instructionsDigest:ue.instructions_digest,instructionsVersion:ue.instructions_version,instructionsCodename:ue.instructions_codename,instructionsPreview:ue.instructions_preview,runs:[]}),B.get(W).runs.push(ue)});let we=[...B.values()].map(ue=>({...ue,count:ue.runs.length,completed:ue.runs.filter(W=>W.status==="complete").length,failed:ue.runs.filter(W=>W.status==="failed").length,totalTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0),avgTokens:ue.runs.reduce((W,xe)=>W+(xe.tokens||0),0)/ue.runs.length,avgDuration:ue.runs.reduce((W,xe)=>W+(xe.duration_ms||0),0)/ue.runs.length,latest:ue.runs[0],sortedRuns:[...ue.runs].sort((W,xe)=>(xe.duration_ms||0)-(W.duration_ms||0))}));we.sort((ue,W)=>S==="longest"?W.avgDuration-ue.avgDuration:new Date(W.latest.created_at)-new Date(ue.latest.created_at));let ee={runs:n.length,completed:n.filter(ue=>ue.status==="complete").length,tokens:n.reduce((ue,W)=>ue+(W.tokens||0),0),avgDuration:n.length?n.reduce((ue,W)=>ue+(W.duration_ms||0),0)/n.length:0,models:[...new Set(n.map(ue=>ue.model).filter(Boolean))]};return{cohorts:we,totals:ee}},I=B=>{switch(B){case"complete":return"bg-green-100 text-green-700";case"failed":return"bg-red-100 text-red-700";case"running":return"bg-blue-100 text-blue-700";case"pending":return"bg-yellow-100 text-yellow-700";case"cancelled":return"bg-gray-100 text-gray-500";default:return"bg-gray-100 text-gray-500"}},N=B=>B?B<1e3?`${B}ms`:B<6e4?`${(B/1e3).toFixed(1)}s`:`${Math.floor(B/6e4)}m ${Math.floor(B%6e4/1e3)}s`:"-",O=B=>B==null?"\u2014":B===0?"$0":B<.01?`$${B.toFixed(4)}`:`$${B.toFixed(2)}`,Z=B=>{let we=new Date(B),ue=new Date-we,W=Math.floor(ue/6e4),xe=Math.floor(ue/36e5),De=Math.floor(ue/864e5);return W<1?"Just now":W<60?`${W}m ago`:xe<24?`${xe}h ago`:De<7?`${De}d ago`:we.toLocaleDateString()};return Q.default.createElement("div",{className:"flex h-full"},Q.default.createElement("div",{className:"w-80 border-r border-gray-200 flex flex-col bg-white"},Q.default.createElement("div",{className:"p-4 border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3 mb-4"},Q.default.createElement("button",{onClick:t,className:"p-1 text-gray-400 hover:text-gray-600 transition-colors"},Q.default.createElement("svg",{className:"w-5 h-5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),Q.default.createElement("div",null,Q.default.createElement("h2",{className:"font-semibold text-gray-900"},"Agent Interactions"),Q.default.createElement("p",{className:"text-sm text-gray-500"},e.name))),Q.default.createElement("div",{className:"mb-2"},Q.default.createElement(ui,{compact:!0})),Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1 mb-2 text-sm"},[{value:"",label:"All"},{value:"dashboard",label:"Dashboard"},{value:"reported",label:"Reported"}].map(B=>Q.default.createElement("button",{key:B.value||"all",onClick:()=>{z(B.value),F(1)},className:`flex-1 px-2 py-1 rounded-md transition-colors ${_===B.value?"bg-white shadow text-gray-900":"text-gray-600"}`,title:B.value==="dashboard"?"Executions started from this dashboard":B.value==="reported"?"Executions reported by your app via telemetry":"Every execution, however it started"},B.label))),Q.default.createElement("select",{value:Y,onChange:B=>{C(B.target.value),F(1)},className:"w-full px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500"},Q.default.createElement("option",{value:""},"All statuses"),Q.default.createElement("option",{value:"complete"},"Completed"),Q.default.createElement("option",{value:"failed"},"Failed"),Q.default.createElement("option",{value:"running"},"Running"),Q.default.createElement("option",{value:"cancelled"},"Cancelled")),Q.default.createElement("select",{value:D,onChange:B=>{E(B.target.value),F(1)},className:"w-full mt-2 px-3 py-2 border border-gray-300 rounded-lg text-sm focus:ring-2 focus:ring-red-500",title:"Rank these executions"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest running"),Q.default.createElement("option",{value:"cost"},"Highest cost"),Q.default.createElement("option",{value:"tokens"},"Most tokens"))),Q.default.createElement("div",{className:"flex-1 overflow-auto"},A&&n.length===0?Q.default.createElement("div",{className:"flex items-center justify-center h-32"},Q.default.createElement("div",{className:"animate-spin rounded-full h-6 w-6 border-b-2 border-red-500"})):n.length>0?Q.default.createElement(Q.default.Fragment,null,n.map(B=>{let we=B.source==="reported";return Q.default.createElement("div",{key:B.id,onClick:()=>ae(B),title:we?"Reported by your app \u2014 opens its trace":"Started from this dashboard",className:`p-4 border-b border-gray-100 cursor-pointer transition-colors ${!we&&l?.id===B.id?"bg-red-50 border-l-4 border-l-red-500":"hover:bg-gray-50"}`},Q.default.createElement("div",{className:"flex items-center justify-between mb-2 gap-2"},Q.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${I(B.status)}`},B.status),Q.default.createElement("div",{className:"flex items-center gap-2"},Q.default.createElement("span",{className:`px-1.5 py-0.5 rounded text-[10px] uppercase tracking-wide ${we?"bg-blue-100 text-blue-700":"bg-gray-100 text-gray-600"}`},we?"reported":"dashboard"),Q.default.createElement("span",{className:"text-xs text-gray-400"},Z(B.created_at||B.occurred_at)))),Q.default.createElement("p",{className:"text-sm text-gray-700 truncate"},B.input_preview||B.input_prompt?.substring(0,60)||(we?`${B.action_name||"execution"} \xB7 trace ${String(B.trace_id||"").slice(0,8)}`:"No input")),Q.default.createElement("div",{className:"flex items-center space-x-3 mt-2 text-xs text-gray-400 flex-wrap gap-y-1"},B.model&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},B.model),Q.default.createElement("span",{className:D==="longest"?"text-gray-700 font-medium":void 0},N(B.duration_ms)),!!B.tokens&&Q.default.createElement("span",{className:D==="tokens"?"text-gray-700 font-medium":void 0},B.tokens," tokens"),B.cost!=null&&Q.default.createElement("span",{className:D==="cost"?"text-gray-700 font-medium":void 0,title:"Estimated from token counts at this model's published rates"},O(B.cost))))}),X&&Q.default.createElement("button",{onClick:()=>F(B=>B+1),disabled:A,className:"w-full py-3 text-sm text-red-600 hover:bg-gray-50 transition-colors"},A?"Loading...":"Load More")):Q.default.createElement("div",{className:"p-8 text-center text-gray-400"},Q.default.createElement("svg",{className:"w-12 h-12 mx-auto mb-3 text-gray-300",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Q.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"})),Q.default.createElement("p",null,"No conversations yet")))),Q.default.createElement("div",{className:"flex-1 flex flex-col bg-gray-50"},Q.default.createElement("div",{className:"px-4 py-2 bg-white border-b border-gray-100 flex items-center gap-1.5 text-xs text-gray-500"},Q.default.createElement("button",{onClick:t,className:"hover:text-gray-900 hover:underline transition-colors"},e.name),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"||l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:de,className:"hover:text-gray-900 hover:underline transition-colors"},"Interactions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),p==="all"?u?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("button",{onClick:()=>ze(null),className:"hover:text-gray-900 hover:underline transition-colors"},"Sessions"),Q.default.createElement("span",{className:"text-gray-300"},"/"),Q.default.createElement("span",{className:"text-gray-900 font-medium"},Ee)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Sessions"):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Run #",l.id)):Q.default.createElement("span",{className:"text-gray-900 font-medium"},"Interactions")),Q.default.createElement("div",{className:"p-3 bg-white border-b border-gray-200 flex items-center justify-between"},Q.default.createElement("div",{className:"flex bg-gray-100 rounded-lg p-1"},Q.default.createElement("button",{onClick:()=>oe("run"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="run"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Selected run"),Q.default.createElement("button",{onClick:()=>oe("all"),className:`px-3 py-1 text-sm rounded-md transition-colors ${p==="all"?"bg-white shadow text-gray-900":"text-gray-600"}`},"Sessions")),p==="run"&&l&&Q.default.createElement("span",{className:`px-3 py-1 rounded-full text-sm font-medium ${I(l.status)}`},l.status)),p==="all"?Q.default.createElement("div",{className:"flex-1 overflow-auto p-4 space-y-4"},(()=>{let{totals:B}=V();return Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4 space-y-3"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},e.name),Q.default.createElement("p",{className:"text-xs text-gray-500"},u?`${Ee} \u2014 one persisted interaction stream`:"Sessions group this agent\u2019s runs into persisted interaction streams"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs)),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.runs?Math.round(B.completed/B.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},N(Math.round(B.avgDuration)))),Q.default.createElement("div",{className:"bg-gray-50 rounded-lg p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-lg font-bold text-gray-900"},B.tokens.toLocaleString()))))})(),Q.default.createElement(pl,{agentId:e.id,embedded:!0,selectedSessionId:u?.id??null,onSelectSession:ze})):l?Q.default.createElement(Q.default.Fragment,null,Q.default.createElement("div",{className:"p-4 bg-white border-b border-gray-200"},Q.default.createElement("div",{className:"flex items-center space-x-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-medium text-gray-900"},e.name," \u2014 Run #",l.id),Q.default.createElement("p",{className:"text-xs text-gray-500"},new Date(l.created_at).toLocaleString())))),Q.default.createElement("div",{ref:j,className:"flex-1 overflow-auto p-6"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 shadow-sm p-4"},d.length>0?Q.default.createElement(ba,{messages:d,darkMode:!1}):Q.default.createElement(ba,{darkMode:!1,messages:[{id:`run-${l.id}-input`,role:"user",content:l.input_prompt||l.input_preview,created_at:l.created_at},{id:`run-${l.id}-output`,role:"assistant",content:l.error_message||l.output||l.output_preview||"No response",created_at:l.completed_at||l.created_at}]}))),Q.default.createElement("div",{className:"p-4 bg-white border-t border-gray-200"},Q.default.createElement("div",{className:"flex items-center justify-center space-x-8 text-sm text-gray-500"},Q.default.createElement("span",null,"Duration: ",N(l.duration_ms)),l.total_tokens&&Q.default.createElement("span",null,"Tokens: ",l.total_tokens),l.input_tokens&&l.output_tokens&&Q.default.createElement("span",null,"Input: ",l.input_tokens," / Output: ",l.output_tokens),l.trace_id&&Q.default.createElement("a",{href:Re(`/traces?trace=${l.trace_id}`),className:"font-mono text-xs text-blue-500 hover:underline",title:`${l.trace_id} \u2014 open in Traces`},"trace:",l.trace_id.slice(0,8)," \u2192")))):(()=>{let{cohorts:B,totals:we}=V();return B.length===0?Q.default.createElement("div",{className:"flex-1 flex items-center justify-center"},Q.default.createElement("div",{className:"text-center text-gray-400"},Q.default.createElement(wr,{size:100}),Q.default.createElement("p",{className:"mt-4"},"No runs yet \u2014 run the agent to build its report"))):Q.default.createElement("div",{className:"flex-1 overflow-auto p-6 space-y-5"},Q.default.createElement("div",{className:"flex items-center gap-3"},Q.default.createElement(wr,{size:40}),Q.default.createElement("div",null,Q.default.createElement("h3",{className:"font-semibold text-gray-900"},"Agent Report"),Q.default.createElement("p",{className:"text-xs text-gray-500"},"Recent activity for ",e.name," \u2014 select a run for its full interaction"))),Q.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-4 gap-3"},Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Runs"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs)),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Success"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.runs?Math.round(we.completed/we.runs*100):0,"%")),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Avg Duration"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},N(Math.round(we.avgDuration)))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-3"},Q.default.createElement("p",{className:"text-xs text-gray-500"},"Tokens"),Q.default.createElement("p",{className:"text-xl font-bold text-gray-900"},we.tokens.toLocaleString()))),we.models.length>0&&Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap text-xs"},Q.default.createElement("span",{className:"text-gray-500"},"Models used:"),we.models.map(ee=>Q.default.createElement("span",{key:ee,className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono"},ee))),a.length>0&&Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Sessions \u2014 grouped interaction streams")),Q.default.createElement("div",{className:"divide-y divide-gray-100"},a.map(ee=>Q.default.createElement("div",{key:ee.id,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer flex items-center justify-between gap-3",onClick:()=>ze(ee),title:"Open this session's interaction stream"},Q.default.createElement("div",{className:"flex items-center gap-2 min-w-0",title:ee.display_name},Q.default.createElement("span",{className:"px-2 py-0.5 text-xs font-medium bg-blue-100 text-blue-700 rounded flex-shrink-0"},"SESSION"),Q.default.createElement("span",{className:"text-sm text-gray-900 truncate"},ee.agent?.name||ee.agent_name),ee.action_name&&Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-purple-50 text-purple-700 font-mono text-xs flex-shrink-0"},"#",ee.action_name)),Q.default.createElement("div",{className:"flex items-center gap-3 text-xs text-gray-400 flex-shrink-0"},Q.default.createElement("span",null,ee.message_count," messages"),Q.default.createElement("span",null,(ee.tokens?.total||0).toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ee.last_activity_at))))))),Q.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},Q.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100 flex items-center justify-between"},Q.default.createElement("span",{className:"text-xs uppercase tracking-wide text-gray-400"},"Interactions by instructions \xD7 model"),Q.default.createElement("select",{value:S,onChange:ee=>w(ee.target.value),className:"text-xs border border-gray-200 rounded px-2 py-1 text-gray-600"},Q.default.createElement("option",{value:"recent"},"Most recent"),Q.default.createElement("option",{value:"longest"},"Longest interactions"))),Q.default.createElement("div",{className:"divide-y divide-gray-100"},B.map(ee=>Q.default.createElement("div",{key:ee.key},Q.default.createElement("div",{className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>k(ue=>({...ue,[ee.key]:!ue[ee.key]})),title:"Show this configuration's runs"},Q.default.createElement("div",{className:"flex items-center gap-2 flex-wrap"},Q.default.createElement("span",{className:"px-1.5 py-0.5 rounded bg-indigo-50 text-indigo-700 font-mono text-xs"},ee.model||"unknown model"),Q.default.createElement("span",{className:"text-xs text-gray-400 font-mono",title:ee.instructionsDigest?`sha:${ee.instructionsDigest}`:void 0},"instructions"," ",ee.instructionsDigest?[ee.instructionsVersion,ee.instructionsCodename||ee.instructionsDigest].filter(Boolean).join(" \xB7 "):"n/a")),ee.instructionsPreview&&Q.default.createElement("p",{className:"text-xs text-gray-500 mt-1 truncate"},ee.instructionsPreview),Q.default.createElement("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 flex-wrap gap-y-1"},Q.default.createElement("span",null,ee.count," run",ee.count>1?"s":""),Q.default.createElement("span",{className:ee.failed>0?"text-red-500":"text-green-600"},ee.count?Math.round(ee.completed/ee.count*100):0,"% success"),Q.default.createElement("span",null,"avg ",N(Math.round(ee.avgDuration))),Q.default.createElement("span",null,"avg ",Math.round(ee.avgTokens).toLocaleString()," tokens"),Q.default.createElement("span",null,"last ",Z(ee.latest.created_at)))),T[ee.key]&&Q.default.createElement("div",{className:"bg-gray-50 divide-y divide-gray-100 border-t border-gray-100"},ee.sortedRuns.map(ue=>Q.default.createElement("div",{key:ue.id,className:"px-6 py-2 hover:bg-gray-100 cursor-pointer",onClick:()=>K(ue.id),title:"Open this run's interaction"},Q.default.createElement("p",{className:"text-xs text-gray-700 truncate"},ue.input_preview||"No input"),Q.default.createElement("div",{className:"flex items-center gap-3 mt-0.5 text-[11px] text-gray-400"},Q.default.createElement("span",{className:ue.status==="failed"?"text-red-500":""},ue.status),Q.default.createElement("span",null,N(ue.duration_ms)),ue.tokens&&Q.default.createElement("span",null,ue.tokens.toLocaleString()," tokens"),Q.default.createElement("span",null,Z(ue.created_at)))))))))))})()))}var $e=te(re());var Dce={productivity:"[+]",development:"<>",research:"[?]",creative:"[*]",data:"[#]",automation:"[>]"};function r5({onUseTemplate:e,onClose:t}){let[r,n]=(0,$e.useState)([]),[o,a]=(0,$e.useState)([]),[i,l]=(0,$e.useState)(""),[s,u]=(0,$e.useState)(null),[c,d]=(0,$e.useState)(!0),[f,p]=(0,$e.useState)(!1),[m,g]=(0,$e.useState)(null);(0,$e.useEffect)(()=>{h()},[i]);let h=async()=>{d(!0);try{let y=new URLSearchParams;i&&y.append("category",i);let x=await(await fetch(`/api/templates?${y}`)).json();n(x.templates),a(x.categories)}catch(y){console.error("Failed to load templates:",y)}finally{d(!1)}},v=async y=>{p(!0),g(null);try{let b=await fetch(`/api/templates/${y.id}/use`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:y.name})});if(b.ok){let x=await b.json();e(x.agent)}else{let x=`Could not create the agent (HTTP ${b.status})`;try{let S=await b.json(),w=S.errors||S.error;w&&(x=Array.isArray(w)?w.join(", "):String(w))}catch{}g(x)}}catch(b){console.error("Failed to create agent from template:",b),g("Could not create the agent \u2014 check your connection and try again.")}finally{p(!1)}};return $e.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},$e.default.createElement("div",{className:"bg-white rounded-2xl w-full max-w-5xl max-h-[90vh] flex flex-col overflow-hidden"},$e.default.createElement("div",{className:"px-6 py-4 border-b border-gray-200 flex items-center justify-between"},$e.default.createElement("div",null,$e.default.createElement("h2",{className:"text-xl font-semibold text-gray-900"},"Template Library"),$e.default.createElement("p",{className:"text-sm text-gray-500"},"Start with a pre-configured agent template")),$e.default.createElement("button",{onClick:t,className:"p-2 text-gray-400 hover:text-gray-600 transition-colors"},$e.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},$e.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))),$e.default.createElement("div",{className:"flex-1 flex overflow-hidden"},$e.default.createElement("div",{className:"w-48 border-r border-gray-200 p-4 flex-shrink-0"},$e.default.createElement("h3",{className:"text-xs font-semibold text-gray-400 uppercase mb-3"},"Categories"),$e.default.createElement("div",{className:"space-y-1"},$e.default.createElement("button",{onClick:()=>l(""),className:`w-full text-left px-3 py-2 rounded-lg text-sm transition-colors ${i?"text-gray-600 hover:bg-gray-50":"bg-red-50 text-red-600"}`},"All Templates"),o.map(y=>$e.default.createElement("button",{key:y,onClick:()=>l(y),className:`w-full text-left px-3 py-2 rounded-lg text-sm flex items-center space-x-2 transition-colors ${i===y?"bg-red-50 text-red-600":"text-gray-600 hover:bg-gray-50"}`},$e.default.createElement("span",null,Dce[y]||"\u{1F4E6}"),$e.default.createElement("span",{className:"capitalize"},y))))),$e.default.createElement("div",{className:"flex-1 p-6 overflow-auto"},c?$e.default.createElement("div",{className:"flex items-center justify-center h-full"},$e.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):r.length>0?$e.default.createElement("div",{className:"grid grid-cols-2 lg:grid-cols-3 gap-4"},r.map(y=>$e.default.createElement("div",{key:y.id,onClick:()=>u(y),className:`bg-white rounded-xl border-2 p-4 cursor-pointer transition-all hover:shadow-lg ${s?.id===y.id?"border-red-500 ring-2 ring-red-100":"border-gray-200 hover:border-gray-300"}`},$e.default.createElement("div",{className:"flex items-start space-x-3"},$e.default.createElement("div",{className:"flex-shrink-0"},$e.default.createElement(wr,{size:60})),$e.default.createElement("div",{className:"flex-1 min-w-0"},$e.default.createElement("div",{className:"flex items-center space-x-2"},$e.default.createElement("span",{className:"text-lg"},y.icon),$e.default.createElement("h3",{className:"font-medium text-gray-900 truncate"},y.name)),$e.default.createElement("p",{className:"text-xs text-gray-500 mt-1 line-clamp-2"},y.description),$e.default.createElement("div",{className:"flex items-center space-x-2 mt-2"},$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-gray-100 rounded capitalize"},y.category),y.featured&&$e.default.createElement("span",{className:"text-xs px-2 py-0.5 bg-yellow-100 text-yellow-700 rounded"},"Featured"))))))):$e.default.createElement("div",{className:"text-center py-12 text-gray-500"},"No templates found in this category")),s&&$e.default.createElement("div",{className:"w-80 border-l border-gray-200 p-6 flex-shrink-0 bg-gray-50 overflow-auto"},$e.default.createElement("div",{className:"flex justify-center mb-4"},$e.default.createElement(wr,{size:120})),$e.default.createElement("h3",{className:"text-lg font-semibold text-gray-900 text-center"},s.name),$e.default.createElement("p",{className:"text-sm text-gray-500 text-center mt-1"},s.description),$e.default.createElement("div",{className:"mt-6 space-y-4"},$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Provider / Model"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.provider," / ",s.model)),s.tools?.length>0&&$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Tools"),$e.default.createElement("div",{className:"flex flex-wrap gap-1 mt-1"},s.tools.map(y=>$e.default.createElement("span",{key:y,className:"text-xs px-2 py-0.5 bg-red-100 text-red-700 rounded"},y)))),$e.default.createElement("div",null,$e.default.createElement("span",{className:"text-xs font-medium text-gray-500 uppercase"},"Usage"),$e.default.createElement("p",{className:"text-sm text-gray-900"},s.usage_count," agents created"))),$e.default.createElement("button",{onClick:()=>v(s),disabled:f,className:"w-full mt-6 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50"},f?"Creating...":"Use This Template"),m&&$e.default.createElement("p",{className:"mt-2 text-sm text-red-600",role:"alert"},m)))))}var Be=te(re());function n5({currentView:e,onNavigate:t,agentCount:r,account:n,user:o,gemVersion:a,assistantEnabled:i=!0}){let{darkMode:l}=Nt(),[s,u]=(0,Be.useState)(!1),c=(0,Be.useRef)(null);(0,Be.useEffect)(()=>{function v(y){c.current&&!c.current.contains(y.target)&&u(!1)}return document.addEventListener("mousedown",v),()=>document.removeEventListener("mousedown",v)},[]);let d=n?.name||"My Workspace",f=o?.name||o?.email?.split("@")[0]||"User",p=[...i?[{id:"assistant",label:"Ask ActiveAgents",icon:">"}]:[],{id:"list",label:"Agents",icon:Yt.nav.agents,badge:r},{id:"builder",label:"New Agent",icon:Yt.nav.newAgent},{id:"sandbox",label:"Run Agents",icon:Yt.nav.demo,highlight:!0}],m=[{id:"traces",label:"Traces",icon:Yt.nav.traces},{id:"interactions",label:"Interactions",icon:Yt.nav.interactions},{id:"tools",label:"Tools",icon:Yt.nav.tools},{id:"mcp",label:"MCP Services",icon:Yt.nav.mcp},{id:"metrics",label:"Metrics",icon:Yt.nav.metrics},{id:"evaluations",label:"Evaluations",icon:Yt.nav.evaluations},{id:"replay",label:"Session Replay",icon:Yt.nav.replay}],g=[{id:"organization",label:"Organization",icon:"\u{1F3E2}"},{id:"settings",label:"Settings",icon:"\u2699\uFE0F"}],h=({item:v})=>Be.default.createElement("button",{onClick:()=>t(v.id),className:`w-full flex items-center justify-between py-3 rounded-lg text-left transition-colors ${v.indent?"pl-10 pr-4":"px-4"}`,style:{backgroundColor:e===v.id?l?"rgba(239, 68, 68, 0.15)":"#fef2f2":"transparent",color:e===v.id?"#ef4444":l?"#d1d5db":"#374151"},onMouseEnter:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor=l?"#252525":"#f3f4f6")},onMouseLeave:y=>{e!==v.id&&(y.currentTarget.style.backgroundColor="transparent")}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},v.icon),Be.default.createElement("span",{className:"font-medium"},v.label)),v.badge!==void 0&&Be.default.createElement("span",{className:"px-2 py-0.5 text-xs rounded-full",style:{backgroundColor:e===v.id?"#fee2e2":l?"#2a2a2a":"#f3f4f6",color:e===v.id?"#ef4444":l?"#d1d5db":"#4b5563"}},v.badge));return Be.default.createElement("aside",{className:"w-64 border-r flex flex-col",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"h-16 flex items-center px-4 border-b relative",style:{borderColor:l?"#2a2a2a":"#e5e7eb"},ref:c},Be.default.createElement("button",{onClick:()=>u(!s),className:"w-full flex items-center justify-between px-2 py-2 rounded-lg transition-colors",style:{backgroundColor:s?l?"#252525":"#f3f4f6":"transparent"}},Be.default.createElement("div",{className:"flex items-center space-x-3 min-w-0"},Be.default.createElement(wr,{size:28}),Be.default.createElement("span",{className:`font-semibold truncate ${l?"text-white":"text-gray-900"}`},d)),Be.default.createElement("svg",{className:`w-4 h-4 flex-shrink-0 transition-transform ${s?"rotate-180":""}`,style:{color:l?"#9ca3af":"#6b7280"},fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"}))),s&&Be.default.createElement("div",{className:"absolute left-4 right-4 top-14 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:l?"#1a1a1a":"#ffffff",borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:"flex items-center space-x-3"},Be.default.createElement(wr,{size:32}),Be.default.createElement("div",{className:"min-w-0"},Be.default.createElement("div",{className:`font-medium truncate ${l?"text-white":"text-gray-900"}`},d)))),Be.default.createElement("div",{className:"py-1"},Be.default.createElement("button",{onClick:()=>{t("settings"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})),Be.default.createElement("span",null,"Settings")),Be.default.createElement("button",{onClick:()=>{t("organization"),u(!1)},className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${l?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 21V5a2 2 0 00-2-2H7a2 2 0 00-2 2v16m14 0h2m-2 0h-5m-9 0H3m2 0h5M9 7h1m-1 4h1m4-4h1m-1 4h1m-5 10v-5a1 1 0 011-1h2a1 1 0 011 1v5m-4 0h4"})),Be.default.createElement("span",null,"Organization"))),Be.default.createElement("div",{className:"border-t py-1",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`px-4 py-2 flex items-center space-x-3 ${l?"text-gray-300":"text-gray-700"}`},Be.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Be.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})),Be.default.createElement("span",{className:"text-sm"},f))))),Be.default.createElement("nav",{className:"flex-1 px-4 py-4 space-y-1 overflow-y-auto"},Be.default.createElement("div",{className:"space-y-1"},p.map(v=>Be.default.createElement(h,{key:v.id,item:v}))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Observability")),Be.default.createElement("div",{className:"space-y-1"},m.map(v=>Be.default.createElement(h,{key:v.id,item:v})))),Be.default.createElement("div",{className:"pt-4"},Be.default.createElement("div",{className:"px-4 pb-2"},Be.default.createElement("span",{className:`text-xs font-semibold uppercase tracking-wide ${l?"text-gray-500":"text-gray-400"}`},"Workspace")),Be.default.createElement("div",{className:"space-y-1"},g.map(v=>Be.default.createElement(h,{key:v.id,item:v}))))),Be.default.createElement("div",{className:"px-4 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs font-semibold uppercase mb-3 ${l?"text-gray-500":"text-gray-400"}`},"Resources"),Be.default.createElement("div",{className:"space-y-2"},Be.default.createElement("a",{href:"https://docs.activeagents.ai",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.docs),Be.default.createElement("span",null,"Documentation")),Be.default.createElement("a",{href:"https://github.com/activeagents/activeagent",target:"_blank",rel:"noopener noreferrer",className:`flex items-center space-x-2 text-sm transition-colors ${l?"text-gray-400 hover:text-red-400":"text-gray-600 hover:text-red-600"}`},Be.default.createElement("span",{style:{fontFamily:Ve.mono,fontSize:"12px",width:"20px",textAlign:"center"}},Yt.nav.github),Be.default.createElement("span",null,"GitHub")))),Be.default.createElement("div",{className:"px-6 py-4 border-t",style:{borderColor:l?"#2a2a2a":"#e5e7eb"}},Be.default.createElement("div",{className:`text-xs ${l?"text-gray-500":"text-gray-400"}`},"Active Agent ",a?`v${a}`:"")))}var Ct=te(re());function o5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,Ct.useState)(!1),i=(0,Ct.useRef)(null);(0,Ct.useEffect)(()=>{function d(f){i.current&&!i.current.contains(f.target)&&a(!1)}return document.addEventListener("mousedown",d),()=>document.removeEventListener("mousedown",d)},[]);let l=window.ACTIVE_AGENT_DASHBOARD?.meta?.signOutPath,s=()=>{if(!l)return;let d=document.querySelector('meta[name="csrf-token"]')?.content,f=document.createElement("form");f.method="POST",f.action=l;let p=document.createElement("input");p.type="hidden",p.name="_method",p.value="delete",f.appendChild(p);let m=document.createElement("input");m.type="hidden",m.name="authenticity_token",m.value=d,f.appendChild(m),document.body.appendChild(f),f.submit()},u=e?.name||e?.email?.split("@")[0]||"User",c=u.charAt(0).toUpperCase();return Ct.default.createElement("header",{className:"h-16 border-b flex items-center justify-between px-6",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-4"}),Ct.default.createElement("div",{className:"flex items-center space-x-4"},Ct.default.createElement("button",{onClick:n,className:"p-2 rounded-lg transition-colors",style:{backgroundColor:r?"#252525":"#f3f4f6",color:r?"#fbbf24":"#4b5563"},title:r?"Switch to light mode":"Switch to dark mode"},r?Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{fillRule:"evenodd",d:"M10 2a1 1 0 011 1v1a1 1 0 11-2 0V3a1 1 0 011-1zm4 8a4 4 0 11-8 0 4 4 0 018 0zm-.464 4.95l.707.707a1 1 0 001.414-1.414l-.707-.707a1 1 0 00-1.414 1.414zm2.12-10.607a1 1 0 010 1.414l-.706.707a1 1 0 11-1.414-1.414l.707-.707a1 1 0 011.414 0zM17 11a1 1 0 100-2h-1a1 1 0 100 2h1zm-7 4a1 1 0 011 1v1a1 1 0 11-2 0v-1a1 1 0 011-1zM5.05 6.464A1 1 0 106.465 5.05l-.708-.707a1 1 0 00-1.414 1.414l.707.707zm1.414 8.486l-.707.707a1 1 0 01-1.414-1.414l.707-.707a1 1 0 011.414 1.414zM4 11a1 1 0 100-2H3a1 1 0 000 2h1z",clipRule:"evenodd"})):Ct.default.createElement("svg",{className:"w-5 h-5",fill:"currentColor",viewBox:"0 0 20 20"},Ct.default.createElement("path",{d:"M17.293 13.293A8 8 0 016.707 2.707a8.001 8.001 0 1010.586 10.586z"}))),Ct.default.createElement("div",{className:`flex items-center space-x-2 text-sm ${r?"text-gray-400":"text-gray-500"}`},Ct.default.createElement("span",{className:"w-2 h-2 bg-green-400 rounded-full"}),Ct.default.createElement("span",null,"Connected")),Ct.default.createElement("div",{className:"relative",ref:i},Ct.default.createElement("button",{onClick:()=>a(!o),className:"flex items-center space-x-2 p-1 rounded-lg transition-colors",style:{backgroundColor:o?r?"#252525":"#f3f4f6":"transparent"}},Ct.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium text-sm"},c))),o&&Ct.default.createElement("div",{className:"absolute right-0 mt-2 w-64 rounded-lg shadow-lg border overflow-hidden z-50",style:{backgroundColor:r?"#1a1a1a":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"px-4 py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},Ct.default.createElement("div",{className:"flex items-center space-x-3"},Ct.default.createElement("div",{className:"w-10 h-10 bg-red-100 rounded-full flex items-center justify-center"},Ct.default.createElement("span",{className:"text-red-600 font-medium"},c)),Ct.default.createElement("div",null,Ct.default.createElement("div",{className:`font-medium ${r?"text-white":"text-gray-900"}`},u),Ct.default.createElement("div",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},e?.email)))),l&&Ct.default.createElement("div",{className:"py-1"},Ct.default.createElement("button",{onClick:s,className:`w-full flex items-center space-x-3 px-4 py-2 text-left text-sm transition-colors ${r?"text-gray-300 hover:bg-gray-800":"text-gray-700 hover:bg-gray-100"}`},Ct.default.createElement("svg",{className:"w-4 h-4",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},Ct.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})),Ct.default.createElement("span",null,"Sign out")))))))}var Ce=te(re());var We=te(re());var a5=150,Ice=e=>e.reduce((t,r)=>t+(Number(r)||0),0),jce=e=>e.length?Ice(e)/e.length:0,Ua=e=>e.reduce((t,r)=>r!=null&&Number(r)>t?Number(r):t,0),i5=e=>{if(!(e>0))return 1;let t=Math.pow(10,Math.floor(Math.log10(e))),r=e/t;return(r<=1?1:r<=2?2:r<=2.5?2.5:r<=5?5:10)*t},hc=(e,t)=>[0,25,50,75,100].map(r=>({top:r,label:t(e*(1-r/100))})),zce=4,up=e=>Math.max(zce,i5(e)),IF=(e,t=2,r=6)=>{let n=e/4;for(let o=t;oMath.abs(n*i-Number((n*i).toFixed(o)))<=n*.1))return o;return r},Lce=5.5,Bce=12,$ce=(e,t)=>{let r=!!e.flip;if(!(t>0))return r;let n=String(e.label||"").length*Lce+Bce,o=Number(e.left)/100*t,a=t-o;return r?!(oo):aa},Fce=typeof window>"u"?We.useEffect:We.useLayoutEffect,Uce=e=>{let[t,r]=(0,We.useState)(0);return Fce(()=>{let n=e.current;if(!n)return;let o=()=>r(n.clientWidth);if(o(),typeof ResizeObserver>"u")return window.addEventListener("resize",o),()=>window.removeEventListener("resize",o);let a=new ResizeObserver(o);return a.observe(n),()=>a.disconnect()},[e]),t},xc=(e,t)=>{let r=e.length,n=[];return e.forEach((o,a)=>{if(o==null||Number.isNaN(Number(o)))return;let i=r>1?a/(r-1)*100:50,l=100-Math.min(100,Math.max(0,Number(o)/t*100));n.push(`${i.toFixed(2)},${l.toFixed(2)}`)}),n.join(" ")},_w=(e,t)=>{let r=xc(e,t);return r?`0,100 ${r} 100,100`:""},jF=(e,t=24)=>{let r=e.length;if(!r)return"";let n=r/t,o=Array.from({length:t},(l,s)=>{let u=Math.floor(s*n),c=Math.max(u+1,Math.floor((s+1)*n));return jce(e.slice(u,c).filter(d=>d!=null))}),a=Math.max(...o),i=Math.min(...o);return o.map((l,s)=>`${(s/(t-1)*100).toFixed(1)},${(26-(a===i?.5:(l-i)/(a-i))*24).toFixed(1)}`).join(" ")},Cg=(e,t,r)=>{let n=e.length?e[0].data.length:0;return Array.from({length:n},(o,a)=>({title:r(a),segs:e.map(i=>({h:(Number(i.data[a])||0)/t*100,color:i.color}))}))};function zF({label:e,value:t,unit:r,sub:n,delta:o,deltaColor:a,deltaSub:i,spark:l,sparkColor:s}){return We.default.createElement(ht,{padding:"14px 16px 12px",style:{display:"flex",flexDirection:"column",gap:6,minWidth:0}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8}},We.default.createElement(et,{size:11,spacing:"0.05em"},e),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,fontWeight:600,color:a,whiteSpace:"nowrap"}},o)),We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6}},We.default.createElement("span",{style:{fontFamily:ce,fontSize:26,fontWeight:700,lineHeight:1.1,letterSpacing:"-0.01em",color:"var(--color-text-primary)"}},t),r?We.default.createElement("span",{style:{fontFamily:ce,fontSize:12,color:"var(--color-text-muted)"}},r):null),We.default.createElement("div",{title:n,style:{fontFamily:ce,fontSize:11,color:"var(--color-text-secondary)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},n),We.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:8,marginTop:2}},We.default.createElement("svg",{viewBox:"0 0 100 28",preserveAspectRatio:"none","aria-hidden":"true",style:{flex:1,height:28,minWidth:0,display:"block",overflow:"visible"}},We.default.createElement("polyline",{points:l,fill:"none",stroke:s,strokeWidth:"1.5",strokeLinejoin:"round",vectorEffect:"non-scaling-stroke"})),We.default.createElement("span",{style:{fontSize:10,color:"var(--color-text-muted)",whiteSpace:"nowrap"}},i)))}function LF({title:e,sub:t,value:r,valueColor:n="var(--color-text-primary)",legend:o=[],ticks:a=[],buckets:i=[],lines:l=[],areas:s=[],markers:u=[],xLabels:c=[],height:d=a5}){let f=(0,We.useRef)(null),p=Uce(f),m="1px dashed var(--color-text-secondary)";return We.default.createElement(ht,{padding:"14px 16px 12px",style:{minWidth:0,display:"flex",flexDirection:"column",gap:8}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,flexWrap:"wrap"}},We.default.createElement("span",{style:{fontSize:13,fontWeight:600,color:"var(--color-text-primary)"}},e),We.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},t),We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:12,fontWeight:600,color:n,whiteSpace:"nowrap"}},r)),We.default.createElement("div",{style:{display:"flex",gap:12,flexWrap:"wrap"}},o.map(g=>We.default.createElement("span",{key:g.label,style:{display:"inline-flex",alignItems:"center",gap:5,fontFamily:ce,fontSize:10,color:"var(--color-text-secondary)"}},We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:g.color,flexShrink:0}}),g.label))),We.default.createElement("div",{ref:f,style:{position:"relative",height:d,margin:"6px 0 0 40px"}},a.map(g=>We.default.createElement("div",{key:g.top,style:{position:"absolute",left:0,right:0,top:`${g.top}%`,borderTop:"1px solid var(--color-border-light)"}},We.default.createElement("span",{style:{position:"absolute",right:"calc(100% + 6px)",top:-6,whiteSpace:"nowrap",fontFamily:ce,fontSize:10,lineHeight:"12px",color:"var(--color-text-muted)"}},g.label))),i.length>0&&We.default.createElement("div",{style:{position:"absolute",inset:0,display:"flex",alignItems:"stretch",gap:1}},i.map((g,h)=>We.default.createElement("div",{key:h,title:g.title,style:{flex:1,minWidth:0,display:"flex",flexDirection:"column-reverse"}},g.segs.map((v,y)=>We.default.createElement("div",{key:y,style:{height:`${v.h.toFixed(2)}%`,background:v.color,flexShrink:0}}))))),(l.length>0||s.length>0)&&We.default.createElement("svg",{viewBox:"0 0 100 100",preserveAspectRatio:"none","aria-hidden":"true",style:{position:"absolute",inset:0,width:"100%",height:"100%",overflow:"visible",pointerEvents:"none"}},s.map((g,h)=>We.default.createElement("polygon",{key:h,points:g.points,fill:g.color,opacity:"0.16"})),l.map((g,h)=>We.default.createElement("polyline",{key:h,points:g.points,fill:"none",stroke:g.color,strokeWidth:g.width||1.5,strokeLinejoin:"round",strokeLinecap:"round",vectorEffect:"non-scaling-stroke"}))),u.map((g,h)=>{let v=$ce(g,p),y=`${Number(g.left).toFixed(2)}%`;return We.default.createElement("div",{key:h,style:{position:"absolute",top:0,bottom:0,pointerEvents:"none",...v?{left:0,width:y,borderRight:m}:{left:y,right:0,borderLeft:m}}},We.default.createElement("span",{style:{position:"absolute",top:-4,[v?"right":"left"]:4,maxWidth:"calc(100% - 8px)",boxSizing:"border-box",overflow:"hidden",textOverflow:"ellipsis",fontFamily:ce,fontSize:9,lineHeight:"12px",color:"var(--color-text-secondary)",whiteSpace:"nowrap",background:"var(--color-card)",padding:"0 4px",borderRadius:3}},g.label))})),We.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",marginLeft:40,fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},c.map((g,h)=>We.default.createElement("span",{key:h},g))))}function cp({label:e,qualifier:t,meta:r,children:n}){return We.default.createElement(ht,{padding:0,style:{overflow:"hidden"}},We.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:8,padding:"10px 14px",borderBottom:"1px solid var(--color-border-light)"}},We.default.createElement(et,null,e),t?We.default.createElement("span",{style:{fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},t):null,r?We.default.createElement("span",{style:{marginLeft:"auto",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},r):null),n)}function l5({template:e,columns:t}){return We.default.createElement("div",{style:{display:"grid",gridTemplateColumns:e,gap:8,padding:"6px 14px 4px",fontFamily:ce,fontSize:10,textTransform:"uppercase",letterSpacing:"0.05em",color:"var(--color-text-muted)"}},We.default.createElement("span",null),t.map(r=>We.default.createElement("span",{key:r,style:{textAlign:"right"}},r)))}function Ew({template:e,active:t=!1,onClick:r,title:n,padding:o="8px 14px",children:a}){let i=typeof r=="function";return We.default.createElement("div",{role:i?"button":void 0,tabIndex:i?0:void 0,"aria-pressed":i?t:void 0,onClick:r,onKeyDown:i?s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),r(s))}:void 0,title:n,className:i?"hover:bg-[var(--color-hover)]":void 0,style:{display:"grid",gridTemplateColumns:e,gap:8,alignItems:"center",padding:o,borderTop:"1px solid var(--color-border-light)",cursor:i?"pointer":"default",background:t?"var(--color-muted)":void 0}},a)}function s5({children:e,padding:t="8px 14px"}){return We.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,padding:t,borderTop:"1px solid var(--color-border-light)"}},e)}function Ng({children:e}){return We.default.createElement("div",{style:{padding:"12px 14px",fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},e)}function u5({color:e}){return We.default.createElement("span",{style:{width:8,height:8,borderRadius:2,background:e,flexShrink:0}})}function c5({pct:e,color:t}){return We.default.createElement("div",{style:{marginTop:5,height:3,borderRadius:999,background:"var(--color-muted)",overflow:"hidden"}},We.default.createElement("div",{style:{width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function d5({pct:e,color:t,width:r=70}){return We.default.createElement("span",{style:{width:r,height:4,borderRadius:999,background:"var(--color-muted)",overflow:"hidden",flexShrink:0,display:"inline-block"}},We.default.createElement("span",{style:{display:"block",width:`${Math.max(0,Math.min(100,Number(e)||0))}%`,height:"100%",background:t}}))}function Sa({children:e,color:t="var(--color-text-primary)",weight:r=400,width:n,style:o}){return We.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:r,textAlign:"right",color:t,width:n,...o}},e)}var UF=6e4,Wce=1180,fp={"1h":{n:60,seconds:60,bucket:"1 min",prev:"vs previous hour",title:"last hour"},"24h":{n:96,seconds:900,bucket:"15 min",prev:"vs previous 24h",title:"last 24 hours"},"7d":{n:84,seconds:7200,bucket:"2 h",prev:"vs previous 7 days",title:"last 7 days"}},Hce=Object.keys(fp).map(e=>({value:e,label:e})),p5="24h",dp=["var(--chart-1)","var(--chart-2)","var(--chart-3)","var(--chart-5)","var(--chart-4)"],_g=[{type:"429 rate limit",short:"429",color:"var(--color-error)"},{type:"timeout",short:"timeout",color:"var(--color-warning)"},{type:"tool error",short:"tool error",color:"var(--span-tool)"},{type:"provider 5xx",short:"5xx",color:"var(--color-token-out)"},{type:"other",short:"error",color:"var(--color-text-muted)"}],BF=e=>_g.find(t=>t.type===e)?.color||"var(--color-text-muted)",Vce=3,Tw="var(--color-text-primary)",Kce={success:"var(--color-success)",error:"var(--color-error)",muted:"var(--color-text-muted)"},qce=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f5=e=>String(e).padStart(2,"0"),tt=e=>e==null||Number.isNaN(Number(e))?0:Number(e),Gce=e=>e.reduce((t,r)=>t+tt(r),0),$F=e=>`${tt(e).toFixed(1)}%`,Ow=(e,t)=>`${e} ${t}${e===1?"":"s"}`,Yce=e=>e>=1e3?`${(e/1e3).toFixed(1)}s`:`${Math.round(e)}ms`,Xce=(e,t)=>{let r=Array.isArray(e)?[...e]:[];return t.forEach(n=>{n.name&&!r.some(o=>o.name===n.name)&&r.push(n)}),r},Zce=e=>{let t=String(e.label||"incident"),r=_g.find(n=>t.startsWith(n.type));return r&&(t=`${r.short}${t.slice(r.type.length)}`),e.agent&&!t.includes(e.agent)?`${t} \xB7 ${e.agent}`:t},Qce=e=>{let t=tt(e);return t<60?`${t}s`:t<3600?`${+(t/60).toFixed(1)} min`:`${+(t/3600).toFixed(1)} h`},FF=async e=>{let t=await fetch(`/api/metrics?${e.toString()}`);if(!t.ok)throw new Error(`Request failed (${t.status})`);return t.json()},Jce=(e,t,r=Date.now())=>{let n=Math.max(1,tt(t))*1e3,o=Math.max(1,Math.round(tt(e)*6e4/n)),a=Math.floor(r/n)*n;return Array.from({length:o},(i,l)=>({ts:new Date(a-(o-1-l)*n).toISOString()}))},Rce=(e,t)=>{let r=e.summary||{},n=fp[e.range]||fp[t]||fp[p5],o=tt(e.bucket_seconds)||n.seconds,a=tt(e.window_minutes)||(e.window_hours?tt(e.window_hours)*60:n.n*n.seconds/60),i=Array.isArray(e.series)?e.series:Jce(a,o),l=tt(e.totals?.requests??r.total_requests),s=tt(e.totals?.cost??r.total_cost),u={requests:l,requests_per_minute:a?l/a:0,p50_ms:null,p95_ms:null,p99_ms:null,errors:tt(r.errors),error_rate:tt(r.error_rate),tokens_in:tt(r.tokens_input),tokens_out:tt(r.tokens_output),tokens:tt(r.tokens_used),cost:s,cost_per_request:l?s/l:0,tool_calls:0,tool_errors:0,tool_error_rate:0,...e.totals||{}},c={requests_pct:r.requests_change??null,p50_pct:r.latency_change??null,error_rate_pt:null,tokens_pct:null,cost_pct:null,...e.deltas||{}},d=Array.isArray(e.agents)?e.agents:(e.by_agent||[]).map(p=>({name:p.name,requests:tt(p.requests),share_pct:l?tt(p.requests)/l*100:0,p95_ms:null,error_rate:p.requests?tt(p.errors)/tt(p.requests)*100:0,cost:tt(p.cost),tokens:tt(p.tokens)})),f=Array.isArray(e.errors_by_type)&&e.errors_by_type.length?e.errors_by_type:_g.map(p=>({type:p.type,count:0}));return{range:e.range||t,bucketSeconds:o,windowMinutes:a,agent:e.agent||null,environment:e.environment||null,totals:u,deltas:c,series:i,agents:d,models:Array.isArray(e.models)?e.models:[],actions:Array.isArray(e.actions)?e.actions:[],tools:Array.isArray(e.tools)?e.tools:[],errorsByType:f,markers:Array.isArray(e.markers)?e.markers:[]}},WF=e=>{let t=fp[e.range];if(t)return t;let r=Math.max(1,Math.round(e.windowMinutes/60));return{bucket:Qce(e.bucketSeconds),prev:`vs previous ${r}h`,title:`last ${r} hours`}},ede=e=>{let[t,r]=(0,Ce.useState)(()=>typeof window<"u"&&window.innerWidth{let n=window.matchMedia(`(max-width: ${e-1}px)`),o=()=>r(n.matches);return o(),n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),t};function m5(){let[e,t]=(0,Ce.useState)(p5),[r,n]=(0,Ce.useState)(""),[o,a]=(0,Ce.useState)(null),[i,l]=(0,Ce.useState)(!0),[s,u]=(0,Ce.useState)(null),[c,d]=(0,Ce.useState)(!1),f=(0,Ce.useRef)(0),p=ede(Wce),m=(0,Ce.useRef)(null),g=(0,Ce.useCallback)(async()=>{let S=++f.current;try{let w=new URLSearchParams({range:e});r&&w.set("agent",r);let[T,k]=await Promise.all([FF(w),r?FF(new URLSearchParams({range:e})).catch(()=>null):null]);if(S!==f.current)return;let A=r?k?.agents:T.agents;Array.isArray(A)&&(m.current=A),a({data:T,ranking:Array.isArray(A)?A:m.current}),u(null)}catch(w){if(S!==f.current)return;u(w.message)}finally{S===f.current&&l(!1)}},[e,r]);(0,Ce.useEffect)(()=>{let S=!1;d(!0),g().finally(()=>{S||d(!1)});let w=setInterval(g,UF);return()=>{S=!0,clearInterval(w)}},[g]);let h=(0,Ce.useMemo)(()=>o?Rce(o.data,e):null,[o,e]),v=(0,Ce.useMemo)(()=>h?h.agent?Xce(o.ranking,h.agents):h.agents:[],[h,o]),y=(0,Ce.useMemo)(()=>v.map(S=>S.name).filter(Boolean),[v]),b=(0,Ce.useMemo)(()=>{let S=Object.fromEntries(y.map((T,k)=>[T,dp[k%dp.length]])),w=y.length;return(h?h.agents:[]).forEach(T=>{T.name&&!S[T.name]&&(S[T.name]=dp[w++%dp.length])}),T=>S[T]||dp[0]},[y,h]),x=(0,Ce.useMemo)(()=>h?rde(h,b):null,[h,b]);return i?Ce.default.createElement("div",{className:"flex items-center justify-center h-64"},Ce.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2",style:{borderBottomColor:"var(--color-accent-ui)"}})):s||!h?Ce.default.createElement("div",null,Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em",color:Tw}},"Metrics"),Ce.default.createElement("div",{style:{marginTop:16,padding:"12px 16px",background:"var(--color-error-soft)",borderRadius:8,color:"var(--color-error-text)",fontSize:14}},"Failed to load metrics",s?`: ${s}`:"")):Ce.default.createElement(tde,{m:h,view:x,railAgents:v,range:fp[e]?e:p5,agent:r,agentOptions:r&&!y.includes(r)?[...y,r]:y,colorFor:b,narrow:p,pending:c,onRange:t,onAgent:n})}function tde({m:e,view:t,railAgents:r=e.agents,range:n,agent:o,agentOptions:a,colorFor:i,narrow:l,pending:s=!1,onRange:u,onAgent:c}){let d=WF(e),f=e.totals.requests===0,p=m=>c(o===m?"":m);return Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,width:"100%",maxWidth:1600,boxSizing:"border-box",color:Tw,fontSize:13}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"flex-end",gap:16,flexWrap:"wrap"}},Ce.default.createElement("div",{style:{flex:1,minWidth:240}},Ce.default.createElement("h1",{style:{margin:0,fontSize:24,fontWeight:700,letterSpacing:"-0.01em"}},"Metrics"),Ce.default.createElement("p",{style:{margin:"4px 0 0",fontSize:14,color:"var(--color-text-secondary)"}},"Requests, latency, errors, tokens and cost across every agent \u2014 ",d.title,o?` \xB7 ${o}`:"")),Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:10,flexWrap:"wrap"}},Ce.default.createElement("select",{value:o,onChange:m=>c(m.target.value),"aria-label":"Filter by agent",style:{padding:"6px 10px",borderRadius:8,fontSize:13,fontFamily:"inherit",border:"1px solid var(--color-border-strong)",background:"var(--color-card)",color:Tw,cursor:"pointer"}},Ce.default.createElement("option",{value:""},"All agents"),a.map(m=>Ce.default.createElement("option",{key:m,value:m},m))),e.environment&&Ce.default.createElement("span",{style:{display:"inline-flex",alignItems:"center",gap:6,padding:"6px 10px",borderRadius:8,border:"1px solid var(--color-border)",fontFamily:ce,fontSize:11,color:"var(--color-text-cell)",background:"var(--color-card)"}},Ce.default.createElement("span",{style:{color:"var(--color-text-muted)"}},"env"),e.environment),Ce.default.createElement(lw,{options:Hce,value:n,onChange:u}),Ce.default.createElement("span",{title:s?"loading\u2026":`refreshes every ${UF/1e3}s`,style:{display:"inline-flex",alignItems:"center",gap:6,fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},Ce.default.createElement("span",{style:{width:7,height:7,borderRadius:"50%",background:s?"var(--color-text-muted)":"var(--color-success)"}}),"live \xB7 ",d.bucket," buckets"))),f?Ce.default.createElement(ht,{style:{padding:"40px 24px",textAlign:"center",fontSize:14,color:"var(--color-text-secondary)"}},"No traffic yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace",Ce.default.createElement("div",{style:{marginTop:8,fontFamily:ce,fontSize:11,color:"var(--color-text-muted)"}},o||"all agents"," \xB7 ",d.title)):Ce.default.createElement(Ce.default.Fragment,null,Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:12,opacity:s?.6:1}},t.signals.map(m=>Ce.default.createElement(zF,{key:m.label,...m,deltaSub:d.prev}))),Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:l?"minmax(0, 1fr)":"minmax(0, 2.3fr) minmax(300px, 1fr)",gap:16,alignItems:"start",opacity:s?.6:1}},Ce.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(320px, 1fr))",gap:16,minWidth:0}},t.panels.map(m=>Ce.default.createElement(LF,{key:m.title,...m,xLabels:t.xLabels,height:a5}))),Ce.default.createElement("div",{style:{display:"flex",flexDirection:"column",gap:16,minWidth:0}},Ce.default.createElement(cp,{label:"Agents",qualifier:"by requests \xB7 click to filter"},Ce.default.createElement(l5,{template:"minmax(0, 1fr) 44px 44px 40px 52px",columns:["req","p95","err","cost"]}),r.length===0&&Ce.default.createElement(Ng,null,"no agents in this window"),r.map(m=>Ce.default.createElement(Ew,{key:m.name,template:"minmax(0, 1fr) 44px 44px 40px 52px",active:o===m.name,onClick:()=>p(m.name),title:o===m.name?"Show all agents":`Filter to ${m.name}`},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:6,minWidth:0}},Ce.default.createElement(u5,{color:i(m.name)}),Ce.default.createElement("span",{style:{fontSize:12,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name)),Ce.default.createElement(c5,{pct:m.share_pct,color:i(m.name)})),Ce.default.createElement(Sa,null,Ir(m.requests)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.p95_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=1.5?"var(--color-error-text)":"var(--color-text-secondary)"},$F(m.error_rate)),Ce.default.createElement(Sa,null,fg(m.cost))))),Ce.default.createElement(cp,{label:"Models",qualifier:"by tokens"},e.models.length===0&&Ce.default.createElement(Ng,null,"no model usage in this window"),e.models.map((m,g)=>Ce.default.createElement(Ew,{key:`${m.model}-${m.provider}-${g}`,template:"minmax(0, 1fr) 52px 56px"},Ce.default.createElement("div",{style:{minWidth:0}},Ce.default.createElement("div",{style:{display:"flex",alignItems:"baseline",gap:6,minWidth:0}},Ce.default.createElement("span",{style:{fontFamily:ce,fontSize:11,fontWeight:600,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.model||"unknown"),m.provider&&Ce.default.createElement("span",{style:{fontFamily:ce,fontSize:10,color:"var(--color-text-muted)"}},m.provider)),Ce.default.createElement(c5,{pct:m.share_pct,color:"var(--color-token-in)"})),Ce.default.createElement(Sa,null,Ir(m.tokens)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},fg(m.cost))))),Ce.default.createElement(cp,{label:"Slowest actions",qualifier:"p95"},e.actions.length===0&&Ce.default.createElement(Ng,null,"no actions in this window"),e.actions.map(m=>Ce.default.createElement(s5,{key:m.name},Ce.default.createElement("span",{title:m.name,style:{flex:1,minWidth:0,fontFamily:ce,fontSize:11,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(d5,{pct:t.slowestP95?tt(m.p95_ms)/t.slowestP95*100:0,color:i(m.agent)}),Ce.default.createElement(Sa,{weight:600,width:40},kn(m.p95_ms))))),Ce.default.createElement(cp,{label:"Tools",qualifier:"by calls"},Ce.default.createElement(l5,{template:"minmax(0, 1fr) 44px 48px 40px",columns:["calls","avg","err"]}),e.tools.length===0&&Ce.default.createElement(Ng,null,"no tool calls in this window"),e.tools.map(m=>Ce.default.createElement(Ew,{key:m.name,template:"minmax(0, 1fr) 44px 48px 40px",padding:"7px 14px"},Ce.default.createElement("span",{title:m.name,style:{fontFamily:ce,fontSize:11,fontWeight:600,color:"var(--span-tool)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.name),Ce.default.createElement(Sa,null,Ir(m.calls)),Ce.default.createElement(Sa,{color:"var(--color-text-secondary)"},kn(m.avg_ms)),Ce.default.createElement(Sa,{color:tt(m.error_rate)>=2?"var(--color-error-text)":"var(--color-text-secondary)"},$F(m.error_rate))))),Ce.default.createElement(cp,{label:"Errors by type",meta:`${Math.round(e.totals.errors)} total`},e.errorsByType.map(m=>Ce.default.createElement(s5,{key:m.type},Ce.default.createElement(u5,{color:BF(m.type)}),Ce.default.createElement("span",{style:{flex:1,minWidth:0,fontSize:12,color:"var(--color-text-cell)",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}},m.type),Ce.default.createElement(d5,{pct:t.errorTotal?tt(m.count)/t.errorTotal*100:0,color:BF(m.type)}),Ce.default.createElement(Sa,{weight:600,width:32},Math.round(tt(m.count))))))))))}function rde(e,t){let{series:r,totals:n,deltas:o}=e,a=r.length,i=WF(e),l=r.map(ee=>new Date(ee.ts)),s=e.windowMinutes>=2880,u=ee=>Number.isNaN(ee.getTime())?"":s?`${qce[ee.getDay()]} ${f5(ee.getHours())}h`:`${f5(ee.getHours())}:${f5(ee.getMinutes())}`,c=a?[0,1,2,3,4,5,6].map(ee=>ee===6?"now":u(l[Math.round(ee*(a-1)/6)])):[],d=ee=>r.map(ue=>tt(ue[ee])),f=d("requests"),p=d("errors"),m=d("tokens_in"),g=d("tokens_out"),h=d("cost"),v=d("tool_calls"),y=d("tool_errors"),b=ee=>r.map(ue=>ue[ee]==null?null:tt(ue[ee])),x=b("p50_ms"),S=b("p95_ms"),w=b("p99_ms"),T=r.map(ee=>ee.requests_by_agent||{}),k=e.agents.map(ee=>ee.name).filter(Boolean);T.forEach(ee=>Object.keys(ee).forEach(ue=>{k.includes(ue)||k.push(ue)}));let A=k.length?k.map(ee=>({label:ee,color:t(ee),data:T.map(ue=>tt(ue[ee]))})):[{label:"requests",color:dp[0],data:f}],M=_g.map(ee=>({label:ee.type,color:ee.color,data:r.map(ue=>tt((ue.errors_by_type||{})[ee.type]))})),H=(tt(e.bucketSeconds)||(a>1?(l[1]-l[0])/1e3:0))*1e3,F=(ee,ue)=>{if(!ee||a<2||!H)return null;let W=new Date(ee.ts).getTime();if(Number.isNaN(W))return null;let De=Math.min(a-1,Math.max(0,Math.floor((W-l[0].getTime())/H)))/(a-1);return{left:De*100,label:ue,flip:De>.55}},X=e.markers.filter(ee=>ee.kind==="deploy").sort((ee,ue)=>new Date(ee.ts)-new Date(ue.ts)).slice(-Vce).map(ee=>F(ee,ee.label)).filter(Boolean),P=e.markers.find(ee=>ee.kind==="incident"),Y=P?F(P,Zce(P)):null,C=Y?[Y]:[],_=up(Ua(f)*1.1),z=up(Ua(p)*1.15),D=up(Math.max(Ua(w),Ua(S),Ua(x))*1.05),E=up(Math.max(Ua(m),Ua(g))*1.1),j=i5(Ua(h)*1.1),R=IF(j),U=up(Ua(v)*1.1),L=tt(n.requests),K=tt(n.requests_per_minute),ae=tt(n.errors),de=tt(n.error_rate),ze=tt(n.tokens)||tt(n.tokens_in)+tt(n.tokens_out),oe=tt(n.cost),Ee=n.cost_per_request!=null?tt(n.cost_per_request):L?oe/L:0,V=tt(n.tool_calls),I=n.tool_error_rate!=null?tt(n.tool_error_rate):V?tt(n.tool_errors)/V*100:0,N=tt(e.errorsByType.find(ee=>ee.type===_g[0].type)?.count),O=[{title:"Requests",sub:`per ${i.bucket} \xB7 stacked by agent`,value:`${Ir(L)} \xB7 ${K.toFixed(1)}/min`,legend:A.map(ee=>({label:ee.label,color:ee.color})),ticks:hc(_,Ir),buckets:Cg(A,_,ee=>`${u(l[ee])} \xB7 ${Math.round(f[ee])} req`),markers:X},{title:"Latency",sub:"generation percentiles",value:`p50 ${kn(n.p50_ms)}`,legend:[{label:`p50 ${kn(n.p50_ms)}`,color:"var(--color-token-in)"},{label:`p95 ${kn(n.p95_ms)}`,color:"var(--color-warning)"},{label:`p99 ${kn(n.p99_ms)}`,color:"var(--color-error)"}],ticks:hc(D,Yce),lines:[{points:xc(w,D),color:"var(--color-error)",width:1.5},{points:xc(S,D),color:"var(--color-warning)",width:1.5},{points:xc(x,D),color:"var(--color-token-in)",width:2}],areas:[{points:_w(x,D),color:"var(--color-token-in)"}],markers:C},{title:"Errors",sub:`per ${i.bucket} \xB7 by type`,value:`${de.toFixed(2)}% \xB7 ${Ow(Math.round(ae),"error")}`,valueColor:de>1?"var(--color-error)":Tw,legend:M.map(ee=>({label:ee.label,color:ee.color})),ticks:hc(z,ee=>String(Math.round(ee))),buckets:Cg(M,z,ee=>`${u(l[ee])} \xB7 ${Ow(Math.round(p[ee]),"error")}`),markers:C},{title:"Tokens",sub:`per ${i.bucket} \xB7 input / output`,value:`${Ir(ze)} \xB7 in ${Ir(n.tokens_in)} / out ${Ir(n.tokens_out)}`,legend:[{label:"input",color:"var(--color-token-in)"},{label:"output",color:"var(--color-token-out)"}],ticks:hc(E,Ir),lines:[{points:xc(m,E),color:"var(--color-token-in)",width:1.5},{points:xc(g,E),color:"var(--color-token-out)",width:1.5}],areas:[{points:_w(m,E),color:"var(--color-token-in)"},{points:_w(g,E),color:"var(--color-token-out)"}]},{title:"Cost",sub:`estimated \xB7 per ${i.bucket}`,value:`${fg(oe)} \xB7 ${jr(Ee)}/req`,legend:[{label:"spend",color:"var(--color-text-secondary)"}],ticks:hc(j,ee=>jr(ee,R)),buckets:Cg([{color:"var(--color-text-secondary)",data:h}],j,ee=>`${u(l[ee])} \xB7 ${jr(h[ee],R)}`)},{title:"Tool calls",sub:`per ${i.bucket} \xB7 MCP + agent-defined`,value:`${Ir(V)} \xB7 ${I.toFixed(1)}% errors`,legend:[{label:"calls",color:"var(--span-tool)"},{label:"errors",color:"var(--color-error)"}],ticks:hc(U,Ir),buckets:Cg([{color:"var(--span-tool)",data:v.map((ee,ue)=>Math.max(0,ee-y[ue]))},{color:"var(--color-error)",data:y}],U,ee=>`${u(l[ee])} \xB7 ${Ow(Math.round(v[ee]),"call")}`)}],Z=(ee,ue,W)=>{let xe=ee==null?null:tt(ee);return xe==null||xe===0?"muted":ue&&ue(xe)?"success":W&&W(xe)?"error":"muted"},B=(ee,ue,W,xe,De,Ge,it,zn)=>({label:ee,value:ue,unit:W,sub:xe,delta:De,deltaColor:Kce[Ge],spark:jF(it),sparkColor:zn});return{signals:[B("Requests",Ir(L),"",`${K.toFixed(1)} req/min`,np(o.requests_pct),Z(o.requests_pct,ee=>ee>0,null),f,"var(--color-token-in)"),B("Latency",kn(n.p50_ms),"p50",`p95 ${kn(n.p95_ms)} \xB7 p99 ${kn(n.p99_ms)}`,np(o.p50_pct),Z(o.p50_pct,ee=>ee<0,ee=>ee>0),x,"var(--color-token-in)"),B("Error rate",de.toFixed(2),"%",`${Ow(Math.round(ae),"error")} \xB7 ${Math.round(N)} rate-limited`,np(o.error_rate_pt," pt",1),Z(o.error_rate_pt,ee=>ee<0,ee=>ee>0),p,"var(--color-error)"),B("Tokens",Ir(ze),"",`in ${Ir(n.tokens_in)} \xB7 out ${Ir(n.tokens_out)}`,np(o.tokens_pct),"muted",m.map((ee,ue)=>ee+g[ue]),"var(--color-token-in)"),B("Cost",fg(oe),"",`${jr(Ee)} per request`,np(o.cost_pct),"muted",h,"var(--color-text-secondary)")],panels:O,xLabels:c,slowestP95:Ua(e.actions.map(ee=>ee.p95_ms)),errorTotal:Gce(e.errorsByType.map(ee=>ee.count))}}var Ne=te(re());var nde=6e4,ode=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],HF={mcp:{light:"#7c3aed",dark:"#c4b5fd",bgLight:"#f5f3ff",bgDark:"rgba(124,58,237,0.15)"},builtin:{light:"#2563eb",dark:"#93c5fd",bgLight:"#eff6ff",bgDark:"rgba(37,99,235,0.15)"},agent:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.12)"}},Eg=e=>e==null?"0":e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e),VF=e=>e==null?"\u2014":e>=1e3?`${(e/1e3).toFixed(2)}s`:`${Math.round(e)}ms`,ade=e=>{if(!e)return"\u2014";let t=new Date(e),r=Math.round((Date.now()-t.getTime())/6e4);if(r<1)return"just now";if(r<60)return`${r}m ago`;let n=Math.round(r/60);return n<24?`${n}h ago`:`${Math.round(n/24)}d ago`};function v5({onOpenServer:e}){let{darkMode:t}=Nt(),[r,n]=(0,Ne.useState)(null),[o,a]=(0,Ne.useState)(!0),[i,l]=(0,Ne.useState)(null),[s,u]=(0,Ne.useState)("all"),[c,d]=(0,Ne.useState)(""),[f,p]=(0,Ne.useState)(168),[m,g]=(0,Ne.useState)(null),h=(0,Ne.useCallback)(async()=>{try{let A=new URLSearchParams({hours:String(f)});s!=="all"&&A.set("origin",s),c.trim()&&A.set("q",c.trim());let M=await fetch(`/api/tools?${A}`);if(!M.ok)throw new Error(`Request failed (${M.status})`);n(await M.json()),l(null)}catch(A){l(A.message)}finally{a(!1)}},[s,c,f]);(0,Ne.useEffect)(()=>{let A=setTimeout(h,c?250:0);return()=>clearTimeout(A)},[h,c]),(0,Ne.useEffect)(()=>{let A=setInterval(h,nde);return()=>clearInterval(A)},[h]);let v={bg:t?"transparent":"#f9fafb",cardBg:t?"rgba(255,255,255,0.05)":"#ffffff",border:t?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:t?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:t?"#ffffff":"#111827",textSecondary:t?"rgba(255,255,255,0.6)":"#6b7280",textMuted:t?"rgba(255,255,255,0.4)":"#9ca3af",textCell:t?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:t?"rgba(239,68,68,0.2)":"#fef2f2",inputBg:t?"rgba(255,255,255,0.06)":"#ffffff"},y=A=>{let M=HF[A]||HF.agent;return{fg:t?M.dark:M.light,bg:t?M.bgDark:M.bgLight}};if(o&&!r)return Ne.default.createElement("div",{className:"flex items-center justify-center h-64"},Ne.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(i&&!r)return Ne.default.createElement("div",{style:{padding:"24px"}},Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:v.errorBg,borderRadius:"8px",color:v.error,fontSize:"14px"}},"Failed to load tools: ",i));let{tools:b=[],summary:x={},origins:S={},sources:w={}}=r||{},T=!w.telemetry&&!w.generations&&!w.messages&&!w.declared,k=({label:A,value:M,hint:H,tone:F})=>Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${v.border}`}},Ne.default.createElement("div",{style:{fontSize:"11px",color:v.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},A),Ne.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:F||v.textPrimary}},M),H&&Ne.default.createElement("div",{style:{fontSize:"13px",color:v.textSecondary,marginTop:"8px"}},H));return Ne.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:v.bg}},Ne.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${v.border}`,marginBottom:"16px"}},Ne.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Ne.default.createElement("div",null,Ne.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:v.textPrimary,margin:0}},"Tools"),Ne.default.createElement("p",{style:{fontSize:"14px",color:v.textSecondary,marginTop:"4px"}},"Detected from telemetry spans, generation request bodies, and agent records \u2014 nothing to register by hand")),Ne.default.createElement("div",{style:{display:"flex",gap:"4px"}},ode.map(A=>Ne.default.createElement("button",{key:A.value,onClick:()=>p(A.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${f===A.value?"#ef4444":v.border}`,background:f===A.value?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:f===A.value?"#ef4444":v.textSecondary}},A.label))))),Ne.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Ne.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Ne.default.createElement(k,{label:"Tools Detected",value:Eg(x.total_tools),hint:`${x.active_tools||0} called in this window`}),Ne.default.createElement(k,{label:"Tool Calls",value:Eg(x.total_calls),hint:`${VF(x.avg_duration_ms)} average`}),Ne.default.createElement(k,{label:"Error Rate",value:`${x.error_rate||0}%`,tone:x.error_rate>5?v.error:v.textPrimary,hint:`${x.total_errors||0} failed call${x.total_errors===1?"":"s"}`}),Ne.default.createElement(k,{label:"From MCP",value:Eg(x.mcp_tools),hint:`across ${x.mcp_servers_active||0} active server${x.mcp_servers_active===1?"":"s"}`}),Ne.default.createElement(k,{label:"Never Called",value:Eg(x.unused_tools),hint:"offered or configured, unused"})),Ne.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap",alignItems:"center"}},Object.entries(S).map(([A,M])=>Ne.default.createElement("button",{key:A,onClick:()=>u(A),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${s===A?"#ef4444":v.border}`,background:s===A?t?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:s===A?"#ef4444":v.textSecondary}},M)),Ne.default.createElement("input",{value:c,onChange:A=>d(A.target.value),placeholder:"Filter by name\u2026",style:{marginLeft:"auto",padding:"6px 12px",fontSize:"13px",borderRadius:"6px",minWidth:"200px",border:`1px solid ${v.border}`,background:v.inputBg,color:v.textPrimary}})),Ne.default.createElement("div",{style:{background:v.cardBg,borderRadius:"12px",border:`1px solid ${v.border}`,overflow:"hidden"}},b.length===0?Ne.default.createElement("div",{style:{textAlign:"center",padding:"48px 24px",color:v.textSecondary,fontSize:"14px"}},T?"No tool activity yet \u2014 run an agent, or point your app's ActiveAgent telemetry at this workspace":"No tools match these filters"):Ne.default.createElement("div",{style:{overflowX:"auto"}},Ne.default.createElement("table",{style:{width:"100%",borderCollapse:"collapse",minWidth:"760px"}},Ne.default.createElement("thead",null,Ne.default.createElement("tr",{style:{textAlign:"left",fontSize:"13px",color:v.textSecondary,borderBottom:`1px solid ${v.border}`}},Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Tool"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500"}},"Source"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Calls"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Errors"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Avg"),Ne.default.createElement("th",{style:{padding:"12px 16px",fontWeight:"500",textAlign:"right"}},"Last seen"))),Ne.default.createElement("tbody",null,b.map((A,M)=>{let H=y(A.origin),F=m===A.name;return Ne.default.createElement(Ne.default.Fragment,{key:A.name},Ne.default.createElement("tr",{onClick:()=>g(F?null:A.name),style:{borderBottom:M{X.stopPropagation(),A.mcp_server&&e&&e(A.mcp_server)},style:{fontSize:"11px",padding:"3px 8px",borderRadius:"6px",border:"none",background:H.bg,color:H.fg,fontFamily:"monospace",cursor:A.mcp_server&&e?"pointer":"default"},title:A.mcp_server?`Open ${A.mcp_server} in MCP Services`:A.source_label},A.source_label)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},Eg(A.calls)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",fontFamily:"monospace",color:A.errors>0?v.error:v.textCell}},A.errors),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textCell,fontFamily:"monospace"}},VF(A.avg_duration_ms)),Ne.default.createElement("td",{style:{padding:"12px 16px",textAlign:"right",color:v.textMuted,fontSize:"13px"}},ade(A.last_seen))),F&&Ne.default.createElement("tr",{style:{borderBottom:MNe.default.createElement("span",{key:A,style:{color:w[A]?v.textSecondary:v.textMuted,opacity:w[A]?1:.5}},w[A]?"\u25CF":"\u25CB"," ",M)))))}function ide({tool:e,colors:t,tone:r,darkMode:n}){let o=({label:a,children:i})=>Ne.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Ne.default.createElement("span",{style:{color:t.textMuted,minWidth:"108px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},a),Ne.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},i));return Ne.default.createElement("div",{style:{display:"grid",gap:"8px",padding:"12px 16px",borderRadius:"8px",background:n?"rgba(0,0,0,0.25)":"#ffffff",border:`1px solid ${t.border}`}},Ne.default.createElement(o,{label:"Full name"},Ne.default.createElement("code",{style:{fontFamily:"monospace"}},e.name)),e.description&&Ne.default.createElement(o,{label:"Description"},e.description),Ne.default.createElement(o,{label:"Parameters"},e.parameters?.length>0?Ne.default.createElement("code",{style:{fontFamily:"monospace",color:r.fg}},e.parameters.join(", ")):Ne.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),Ne.default.createElement(o,{label:"Agents"},e.agents?.length>0?e.agents.join(", "):Ne.default.createElement("span",{style:{color:t.textMuted}},"\u2014")),e.configured_by?.length>0&&Ne.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),Ne.default.createElement(o,{label:"Call breakdown"},Ne.default.createElement("span",{style:{fontFamily:"monospace"}},e.traced_calls," traced \xB7 ",e.requested," requested \xB7 ",e.results," results")),e.sample_arguments&&Ne.default.createElement(o,{label:"Last arguments"},Ne.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",color:t.textMuted}},e.sample_arguments)),e.last_error&&Ne.default.createElement(o,{label:"Last error"},Ne.default.createElement("span",{style:{color:t.error}},e.last_error)),Ne.default.createElement(o,{label:"Detected from"},e.detected_from?.join(", ")||"\u2014"))}var Me=te(re());var lde=6e4,sde=[{value:24,label:"24h"},{value:168,label:"7d"},{value:720,label:"30d"}],ude=[{value:"all",label:"All"},{value:"active",label:"Active"},{value:"configured",label:"Configured"},{value:"available",label:"Available"}],KF={active:{light:"#15803d",dark:"#86efac",bgLight:"#f0fdf4",bgDark:"rgba(34,197,94,0.15)"},configured:{light:"#b45309",dark:"#fcd34d",bgLight:"#fffbeb",bgDark:"rgba(245,158,11,0.15)"},available:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"},idle:{light:"#4b5563",dark:"rgba(255,255,255,0.6)",bgLight:"#f3f4f6",bgDark:"rgba(255,255,255,0.08)"}},Og=e=>e==null?"0":e>=1e3?`${(e/1e3).toFixed(1)}K`:String(e);function g5({focusServer:e,onOpenTools:t}){let{darkMode:r}=Nt(),[n,o]=(0,Me.useState)(null),[a,i]=(0,Me.useState)(!0),[l,s]=(0,Me.useState)(null),[u,c]=(0,Me.useState)("all"),[d,f]=(0,Me.useState)(168),[p,m]=(0,Me.useState)(e||null),[g,h]=(0,Me.useState)(null),[v,y]=(0,Me.useState)(null),b=(0,Me.useCallback)(async()=>{try{let P=await fetch(`/api/mcp_servers?hours=${d}`);if(!P.ok)throw new Error(`Request failed (${P.status})`);o(await P.json()),s(null)}catch(P){s(P.message)}finally{i(!1)}},[d]);(0,Me.useEffect)(()=>{b();let P=setInterval(b,lde);return()=>clearInterval(P)},[b]),(0,Me.useEffect)(()=>{e&&m(e)},[e]);let x={bg:r?"transparent":"#f9fafb",cardBg:r?"rgba(255,255,255,0.05)":"#ffffff",border:r?"rgba(255,255,255,0.1)":"#e5e7eb",borderLight:r?"rgba(255,255,255,0.05)":"#f3f4f6",textPrimary:r?"#ffffff":"#111827",textSecondary:r?"rgba(255,255,255,0.6)":"#6b7280",textMuted:r?"rgba(255,255,255,0.4)":"#9ca3af",textCell:r?"rgba(255,255,255,0.7)":"#4b5563",error:"#ef4444",errorBg:r?"rgba(239,68,68,0.2)":"#fef2f2",codeBg:r?"rgba(0,0,0,0.35)":"#f9fafb"},S=P=>{let Y=KF[P]||KF.available;return{fg:r?Y.dark:Y.light,bg:r?Y.bgDark:Y.bgLight}},w=async P=>{h(P.key),y(null);try{let Y=await fetch(`/api/mcp_servers/${encodeURIComponent(P.key)}/launch`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""}}),C=await Y.json();if(!Y.ok)throw new Error(C.reason||C.error||`Launch failed (${Y.status})`);y({kind:"ok",text:`${P.name} is starting in a sandbox (${C.sandbox.session_id.slice(0,8)}\u2026)`}),b()}catch(Y){y({kind:"error",text:Y.message})}finally{h(null)}};if(a&&!n)return Me.default.createElement("div",{className:"flex items-center justify-center h-64"},Me.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}));if(l&&!n)return Me.default.createElement("div",{style:{padding:"24px"}},Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("div",{style:{marginTop:"16px",padding:"12px 16px",background:x.errorBg,borderRadius:"8px",color:x.error,fontSize:"14px"}},"Failed to load MCP services: ",l));let{servers:T=[],summary:k={},sandboxes:A=[],statuses:M={}}=n||{},H=u==="all"?T:T.filter(P=>P.status===u),F=new Set(A.flatMap(P=>P.mcp_servers||[])),X=({label:P,value:Y,hint:C})=>Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",padding:"20px",border:`1px solid ${x.border}`}},Me.default.createElement("div",{style:{fontSize:"11px",color:x.textSecondary,textTransform:"uppercase",letterSpacing:"0.05em",marginBottom:"8px"}},P),Me.default.createElement("div",{style:{fontSize:"32px",fontWeight:"bold",fontFamily:"monospace",color:x.textPrimary}},Y),C&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"8px"}},C));return Me.default.createElement("div",{style:{borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)",backgroundColor:x.bg}},Me.default.createElement("div",{style:{padding:"24px 24px 16px 24px",borderBottom:`1px solid ${x.border}`,marginBottom:"16px"}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",null,Me.default.createElement("h1",{style:{fontSize:"24px",fontWeight:"bold",color:x.textPrimary,margin:0}},"MCP Services"),Me.default.createElement("p",{style:{fontSize:"14px",color:x.textSecondary,marginTop:"4px"}},"Servers detected from your agents' traffic, plus the defaults you can connect or run in a sandbox")),Me.default.createElement("div",{style:{display:"flex",gap:"4px"}},sde.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>f(P.value),style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${d===P.value?"#ef4444":x.border}`,background:d===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:d===P.value?"#ef4444":x.textSecondary}},P.label))))),Me.default.createElement("div",{style:{padding:"0 24px 24px 24px"}},Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px",marginBottom:"16px"}},Me.default.createElement(X,{label:"Active",value:Og(k.active),hint:"called in this window"}),Me.default.createElement(X,{label:"Configured",value:Og(k.configured),hint:"declared, no traffic yet"}),Me.default.createElement(X,{label:"Available",value:Og(k.available),hint:"defaults you can connect"}),Me.default.createElement(X,{label:"Tool Calls",value:Og(k.total_calls),hint:"through MCP servers"})),v&&Me.default.createElement("div",{style:{marginBottom:"16px",padding:"12px 16px",borderRadius:"8px",fontSize:"14px",background:v.kind==="error"?x.errorBg:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:v.kind==="error"?x.error:r?"#86efac":"#15803d"}},v.text),Me.default.createElement("div",{style:{display:"flex",gap:"8px",marginBottom:"16px",flexWrap:"wrap"}},ude.map(P=>Me.default.createElement("button",{key:P.value,onClick:()=>c(P.value),title:M[P.value]||"Every MCP service known to this workspace",style:{padding:"6px 12px",fontSize:"13px",borderRadius:"6px",cursor:"pointer",border:`1px solid ${u===P.value?"#ef4444":x.border}`,background:u===P.value?r?"rgba(239,68,68,0.15)":"#fef2f2":"transparent",color:u===P.value?"#ef4444":x.textSecondary}},P.label))),Me.default.createElement("div",{style:{display:"grid",gap:"12px"}},H.length===0?Me.default.createElement("div",{style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,textAlign:"center",padding:"48px 24px",color:x.textSecondary,fontSize:"14px"}},"No MCP services in this state"):H.map(P=>{let Y=S(P.status),C=p===P.key,_=F.has(P.key);return Me.default.createElement("div",{key:P.key,style:{background:x.cardBg,borderRadius:"12px",border:`1px solid ${C?Y.fg:x.border}`,overflow:"hidden"}},Me.default.createElement("div",{onClick:()=>m(C?null:P.key),style:{padding:"16px 20px",cursor:"pointer",display:"flex",alignItems:"center",gap:"16px",flexWrap:"wrap"}},Me.default.createElement("div",{style:{flex:1,minWidth:"220px"}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"8px",flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontSize:"15px",fontWeight:"600",color:x.textPrimary}},P.name),Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:Y.bg,color:Y.fg,textTransform:"uppercase",letterSpacing:"0.04em"}},P.status),P.first_party&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(239,68,68,0.15)":"#fef2f2",color:"#ef4444"}},"first-party"),!P.known&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:x.borderLight,color:x.textMuted},title:"Seen in your traffic but not in the platform catalog"},"undocumented"),_&&Me.default.createElement("span",{style:{fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r?"rgba(34,197,94,0.15)":"#f0fdf4",color:r?"#86efac":"#15803d"}},"\u25CF sandbox running")),P.description&&Me.default.createElement("div",{style:{fontSize:"13px",color:x.textSecondary,marginTop:"4px"}},P.description)),Me.default.createElement("div",{style:{display:"flex",gap:"24px",alignItems:"center"}},Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:x.textPrimary}},Og(P.calls)),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"calls")),Me.default.createElement("div",{style:{textAlign:"right"}},Me.default.createElement("div",{style:{fontSize:"18px",fontFamily:"monospace",fontWeight:"600",color:P.errors>0?x.error:x.textPrimary}},P.errors||0),Me.default.createElement("div",{style:{fontSize:"11px",color:x.textMuted}},"errors")),P.launchable&&Me.default.createElement("button",{onClick:z=>{z.stopPropagation(),w(P)},disabled:g===P.key,style:{padding:"8px 14px",fontSize:"13px",borderRadius:"6px",border:"none",background:g===P.key?x.borderLight:"#ef4444",color:g===P.key?x.textMuted:"#ffffff",cursor:g===P.key?"wait":"pointer",fontWeight:"500",whiteSpace:"nowrap"},title:`Start ${P.name} in a sandbox session`},g===P.key?"Starting\u2026":_?"Start another":"Start in sandbox"))),C&&Me.default.createElement(cde,{server:P,colors:x,tone:Y,onOpenTools:t}))})),A.length>0&&Me.default.createElement("div",{style:{marginTop:"24px",background:x.cardBg,borderRadius:"12px",border:`1px solid ${x.border}`,padding:"20px"}},Me.default.createElement("h3",{style:{fontSize:"16px",fontWeight:"600",color:x.textPrimary,margin:"0 0 12px 0"}},"Running sandboxes"),Me.default.createElement("div",{style:{display:"grid",gap:"8px"}},A.map(P=>Me.default.createElement("div",{key:P.session_id,style:{display:"flex",justifyContent:"space-between",gap:"12px",fontSize:"13px",color:x.textCell,flexWrap:"wrap"}},Me.default.createElement("span",{style:{fontFamily:"monospace"}},(P.mcp_servers||[]).join(", ")||P.sandbox_type),Me.default.createElement("span",{style:{color:x.textMuted}},P.status," \xB7 ",P.runs_count,"/",P.max_runs," runs \xB7 expires ",new Date(P.expires_at).toLocaleTimeString())))))))}function cde({server:e,colors:t,tone:r,onOpenTools:n}){let o=({label:i,children:l})=>Me.default.createElement("div",{style:{display:"flex",gap:"12px",fontSize:"13px",alignItems:"baseline"}},Me.default.createElement("span",{style:{color:t.textMuted,minWidth:"120px",fontSize:"11px",textTransform:"uppercase",letterSpacing:"0.05em"}},i),Me.default.createElement("span",{style:{color:t.textCell,flex:1,wordBreak:"break-word"}},l)),a=e.command||e.url;return Me.default.createElement("div",{style:{padding:"0 20px 20px 20px",display:"grid",gap:"10px"}},Me.default.createElement("div",{style:{height:"1px",background:t.borderLight,marginBottom:"4px"}}),a&&Me.default.createElement(o,{label:e.transport==="http"?"Endpoint":"Command"},Me.default.createElement("code",{style:{fontFamily:"monospace",fontSize:"12px",padding:"4px 8px",borderRadius:"4px",background:t.codeBg,display:"inline-block"}},a)),e.transport&&Me.default.createElement(o,{label:"Transport"},e.transport),e.categories?.length>0&&Me.default.createElement(o,{label:"Categories"},e.categories.join(", ")),e.requires_credentials?.length>0&&Me.default.createElement(o,{label:"Requires"},e.requires_credentials.join(", ")),Me.default.createElement(o,{label:e.tool_count>0?"Tools used":"Tools offered"},e.tools?.length>0?Me.default.createElement("span",{style:{display:"flex",gap:"6px",flexWrap:"wrap"}},e.tools.map(i=>Me.default.createElement("code",{key:i,style:{fontFamily:"monospace",fontSize:"11px",padding:"2px 8px",borderRadius:"6px",background:r.bg,color:r.fg}},i))):Me.default.createElement("span",{style:{color:t.textMuted}},"none recorded")),e.agents?.length>0&&Me.default.createElement(o,{label:"Used by"},e.agents.join(", ")),e.configured_by?.length>0&&Me.default.createElement(o,{label:"Configured by"},e.configured_by.join(", ")),e.last_seen&&Me.default.createElement(o,{label:"Last call"},new Date(e.last_seen).toLocaleString()),Me.default.createElement("div",{style:{display:"flex",gap:"12px",marginTop:"4px",flexWrap:"wrap"}},e.docs_url&&Me.default.createElement("a",{href:e.docs_url,target:"_blank",rel:"noopener noreferrer",style:{fontSize:"13px",color:"#ef4444",textDecoration:"none"}},"Documentation \u2192"),e.calls>0&&n&&Me.default.createElement("button",{onClick:()=>n(e.key),style:{fontSize:"13px",color:"#ef4444",background:"none",border:"none",padding:0,cursor:"pointer"}},"View its tools \u2192")))}var G=te(re());var Bs=te(re());var Pw={logger:typeof console<"u"?console:void 0,WebSocket:typeof WebSocket<"u"?WebSocket:void 0},Cr={log(...e){this.enabled&&(e.push(Date.now()),Pw.logger.log("[ActionCable]",...e))}},Mg=()=>new Date().getTime(),Mw=e=>(Mg()-e)/1e3,Pg=class{constructor(t){this.visibilityDidChange=this.visibilityDidChange.bind(this),this.connection=t,this.reconnectAttempts=0}start(){this.isRunning()||(this.startedAt=Mg(),delete this.stoppedAt,this.startPolling(),addEventListener("visibilitychange",this.visibilityDidChange),Cr.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`))}stop(){this.isRunning()&&(this.stoppedAt=Mg(),this.stopPolling(),removeEventListener("visibilitychange",this.visibilityDidChange),Cr.log("ConnectionMonitor stopped"))}isRunning(){return this.startedAt&&!this.stoppedAt}recordMessage(){this.pingedAt=Mg()}recordConnect(){this.reconnectAttempts=0,delete this.disconnectedAt,Cr.log("ConnectionMonitor recorded connect")}recordDisconnect(){this.disconnectedAt=Mg(),Cr.log("ConnectionMonitor recorded disconnect")}startPolling(){this.stopPolling(),this.poll()}stopPolling(){clearTimeout(this.pollTimeout)}poll(){this.pollTimeout=setTimeout((()=>{this.reconnectIfStale(),this.poll()}),this.getPollInterval())}getPollInterval(){let{staleThreshold:t,reconnectionBackoffRate:r}=this.constructor,n=Math.pow(1+r,Math.min(this.reconnectAttempts,10)),a=(this.reconnectAttempts===0?1:r)*Math.random();return t*1e3*n*(1+a)}reconnectIfStale(){this.connectionIsStale()&&(Cr.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${Mw(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`),this.reconnectAttempts++,this.disconnectedRecently()?Cr.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${Mw(this.disconnectedAt)} s`):(Cr.log("ConnectionMonitor reopening"),this.connection.reopen()))}get refreshedAt(){return this.pingedAt?this.pingedAt:this.startedAt}connectionIsStale(){return Mw(this.refreshedAt)>this.constructor.staleThreshold}disconnectedRecently(){return this.disconnectedAt&&Mw(this.disconnectedAt){(this.connectionIsStale()||!this.connection.isOpen())&&(Cr.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`),this.connection.reopen())}),200)}};Pg.staleThreshold=6;Pg.reconnectionBackoffRate=.15;var GF={message_types:{welcome:"welcome",disconnect:"disconnect",ping:"ping",confirmation:"confirm_subscription",rejection:"reject_subscription"},disconnect_reasons:{unauthorized:"unauthorized",invalid_request:"invalid_request",server_restart:"server_restart",remote:"remote"},default_mount_path:"/cable",protocols:["actioncable-v1-json","actioncable-unsupported"]},{message_types:Tg,protocols:y5}=GF,dde=y5.slice(0,y5.length-1),qF=[].indexOf,Dg=class{constructor(t){this.open=this.open.bind(this),this.consumer=t,this.subscriptions=this.consumer.subscriptions,this.monitor=new Pg(this),this.disconnected=!0}send(t){return this.isOpen()?(this.webSocket.send(JSON.stringify(t)),!0):!1}open(){if(this.isActive())return Cr.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`),!1;{let t=[...y5,...this.consumer.subprotocols||[]];return Cr.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${t}`),this.webSocket&&this.uninstallEventHandlers(),this.webSocket=new Pw.WebSocket(this.consumer.url,t),this.installEventHandlers(),this.monitor.start(),!0}}close({allowReconnect:t}={allowReconnect:!0}){if(t||this.monitor.stop(),this.isOpen())return this.webSocket.close()}reopen(){if(Cr.log(`Reopening WebSocket, current state is ${this.getState()}`),this.isActive())try{return this.close()}catch(t){Cr.log("Failed to reopen WebSocket",t)}finally{Cr.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`),setTimeout(this.open,this.constructor.reopenDelay)}else return this.open()}getProtocol(){if(this.webSocket)return this.webSocket.protocol}isOpen(){return this.isState("open")}isActive(){return this.isState("open","connecting")}triedToReconnect(){return this.monitor.reconnectAttempts>0}isProtocolSupported(){return qF.call(dde,this.getProtocol())>=0}isState(...t){return qF.call(t,this.getState())>=0}getState(){if(this.webSocket){for(let t in Pw.WebSocket)if(Pw.WebSocket[t]===this.webSocket.readyState)return t.toLowerCase()}return null}installEventHandlers(){for(let t in this.events){let r=this.events[t].bind(this);this.webSocket[`on${t}`]=r}}uninstallEventHandlers(){for(let t in this.events)this.webSocket[`on${t}`]=function(){}}};Dg.reopenDelay=500;Dg.prototype.events={message(e){if(!this.isProtocolSupported())return;let{identifier:t,message:r,reason:n,reconnect:o,type:a}=JSON.parse(e.data);switch(this.monitor.recordMessage(),a){case Tg.welcome:return this.triedToReconnect()&&(this.reconnectAttempted=!0),this.monitor.recordConnect(),this.subscriptions.reload();case Tg.disconnect:return Cr.log(`Disconnecting. Reason: ${n}`),this.close({allowReconnect:o});case Tg.ping:return null;case Tg.confirmation:return this.subscriptions.confirmSubscription(t),this.reconnectAttempted?(this.reconnectAttempted=!1,this.subscriptions.notify(t,"connected",{reconnected:!0})):this.subscriptions.notify(t,"connected",{reconnected:!1});case Tg.rejection:return this.subscriptions.reject(t);default:return this.subscriptions.notify(t,"received",r)}},open(){if(Cr.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`),this.disconnected=!1,!this.isProtocolSupported())return Cr.log("Protocol is unsupported. Stopping monitor and disconnecting."),this.close({allowReconnect:!1})},close(e){if(Cr.log("WebSocket onclose event"),!this.disconnected)return this.disconnected=!0,this.monitor.recordDisconnect(),this.subscriptions.notifyAll("disconnected",{willAttemptReconnect:this.monitor.isRunning()})},error(){Cr.log("WebSocket onerror event")}};var fde=function(e,t){if(t!=null)for(let r in t){let n=t[r];e[r]=n}return e},h5=class{constructor(t,r={},n){this.consumer=t,this.identifier=JSON.stringify(r),fde(this,n)}perform(t,r={}){return r.action=t,this.send(r)}send(t){return this.consumer.send({command:"message",identifier:this.identifier,data:JSON.stringify(t)})}unsubscribe(){return this.consumer.subscriptions.remove(this)}},x5=class{constructor(t){this.subscriptions=t,this.pendingSubscriptions=[]}guarantee(t){this.pendingSubscriptions.indexOf(t)==-1?(Cr.log(`SubscriptionGuarantor guaranteeing ${t.identifier}`),this.pendingSubscriptions.push(t)):Cr.log(`SubscriptionGuarantor already guaranteeing ${t.identifier}`),this.startGuaranteeing()}forget(t){Cr.log(`SubscriptionGuarantor forgetting ${t.identifier}`),this.pendingSubscriptions=this.pendingSubscriptions.filter((r=>r!==t))}startGuaranteeing(){this.stopGuaranteeing(),this.retrySubscribing()}stopGuaranteeing(){clearTimeout(this.retryTimeout)}retrySubscribing(){this.retryTimeout=setTimeout((()=>{this.subscriptions&&typeof this.subscriptions.subscribe=="function"&&this.pendingSubscriptions.map((t=>{Cr.log(`SubscriptionGuarantor resubscribing ${t.identifier}`),this.subscriptions.subscribe(t)}))}),500)}},b5=class{constructor(t){this.consumer=t,this.guarantor=new x5(this),this.subscriptions=[]}create(t,r){let n=t,o=typeof n=="object"?n:{channel:n},a=new h5(this.consumer,o,r);return this.add(a)}add(t){return this.subscriptions.push(t),this.consumer.ensureActiveConnection(),this.notify(t,"initialized"),this.subscribe(t),t}remove(t){return this.forget(t),this.findAll(t.identifier).length||this.sendCommand(t,"unsubscribe"),t}reject(t){return this.findAll(t).map((r=>(this.forget(r),this.notify(r,"rejected"),r)))}forget(t){return this.guarantor.forget(t),this.subscriptions=this.subscriptions.filter((r=>r!==t)),t}findAll(t){return this.subscriptions.filter((r=>r.identifier===t))}reload(){return this.subscriptions.map((t=>this.subscribe(t)))}notifyAll(t,...r){return this.subscriptions.map((n=>this.notify(n,t,...r)))}notify(t,r,...n){let o;return typeof t=="string"?o=this.findAll(t):o=[t],o.map((a=>typeof a[r]=="function"?a[r](...n):void 0))}subscribe(t){this.sendCommand(t,"subscribe")&&this.guarantor.guarantee(t)}confirmSubscription(t){Cr.log(`Subscription confirmed ${t}`),this.findAll(t).map((r=>this.guarantor.forget(r)))}sendCommand(t,r){let{identifier:n}=t;return this.consumer.send({command:r,identifier:n})}},w5=class{constructor(t){this._url=t,this.subscriptions=new b5(this),this.connection=new Dg(this),this.subprotocols=[]}get url(){return pde(this._url)}send(t){return this.connection.send(t)}connect(){return this.connection.open()}disconnect(){return this.connection.close({allowReconnect:!1})}ensureActiveConnection(){if(!this.connection.isActive())return this.connection.open()}addSubProtocol(t){this.subprotocols=[...this.subprotocols,t]}};function pde(e){if(typeof e=="function"&&(e=e()),e&&!/^wss?:/i.test(e)){let t=document.createElement("a");return t.href=e,t.href=t.href,t.protocol=t.protocol.replace("http","ws"),t.href}else return e}function YF(e=mde("url")||GF.default_mount_path){return new w5(e)}function mde(e){let t=document.head.querySelector(`meta[name='action-cable-${e}']`);if(t)return t.getAttribute("content")}var Dw=null;function vde(){if(Dw===null)try{Dw=YF()}catch{Dw=!1}return Dw||null}function XF(e,t,r,n=!0){let o=(0,Bs.useRef)(null),a=(0,Bs.useRef)(r);return(0,Bs.useEffect)(()=>{a.current=r},[r]),(0,Bs.useEffect)(()=>{if(!n||!e)return;let l=vde();return o.current=l.subscriptions.create({channel:e,...t},{connected(){console.log(`[ActionCable] Connected to ${e}`,t)},disconnected(){console.log(`[ActionCable] Disconnected from ${e}`)},received(s){console.log(`[ActionCable] Received on ${e}:`,s),a.current&&a.current(s)},rejected(){console.warn(`[ActionCable] Subscription rejected for ${e}`)}}),()=>{o.current&&(console.log(`[ActionCable] Unsubscribing from ${e}`),o.current.unsubscribe(),o.current=null)}},[e,JSON.stringify(t),n]),{send:(0,Bs.useCallback)((l,s)=>{o.current&&o.current.perform(l,s)},[])}}var Iw=[{id:"anthropic",name:"Anthropic",model:"claude-haiku-4-5",color:"bg-orange-500"},{id:"openai",name:"OpenAI",model:"gpt-4o",color:"bg-green-500"},{id:"ollama",name:"Ollama",model:"llama3.1:8b",color:"bg-purple-500"}],gde={playwright_mcp:[{name:"Screenshot Example.com",task:"Take a screenshot of https://example.com",description:"Navigate to example.com and capture a screenshot"},{name:"Extract Hacker News Headlines",task:"Go to https://news.ycombinator.com and list the top 5 story titles with their scores",description:"Scrape the front page of Hacker News"},{name:"Check Wikipedia",task:"Navigate to https://en.wikipedia.org/wiki/Artificial_intelligence and extract the first paragraph",description:"Extract content from Wikipedia"},{name:"GitHub Trending",task:"Visit https://github.com/trending and list the top 3 trending repositories",description:"Check GitHub's trending repositories"}],comparison:[{name:"Explain Ruby Blocks",task:"Explain how Ruby blocks work with a simple example",description:"Compare how each model explains Ruby concepts"},{name:"Write a Haiku",task:"Write a haiku about programming",description:"Compare creative output across models"},{name:"Debug This Code",task:"What's wrong with this code? def add(a, b); a - b; end; puts add(2, 3)",description:"Compare debugging abilities"},{name:"Summarize AI",task:"Summarize the current state of AI in 3 sentences",description:"Compare factual knowledge and conciseness"}]},ZF={max_runs:10,timeout_seconds:300,session_duration_minutes:15};function S5({initialType:e="playwright_mcp",onClose:t}){let[r,n]=(0,G.useState)(e),[o,a]=(0,G.useState)(null),[i,l]=(0,G.useState)(""),[s,u]=(0,G.useState)([]),[c,d]=(0,G.useState)(null),[f,p]=(0,G.useState)(!1),[m,g]=(0,G.useState)(!1),[h,v]=(0,G.useState)(null),[y,b]=(0,G.useState)(null),[x,S]=(0,G.useState)(!1),[w,T]=(0,G.useState)(null),[k,A]=(0,G.useState)(!1),M=(0,G.useRef)(null),[H,F]=(0,G.useState)(["anthropic"]),[X,P]=(0,G.useState)(!1),[Y,C]=(0,G.useState)({}),[_,z]=(0,G.useState)([]),D=(0,G.useCallback)(O=>{switch(console.log("[SandboxRunner] Received ActionCable message:",O),O.type){case"run_started":X?C(Z=>({...Z,[O.provider]:{status:"running",started_at:O.started_at,provider:O.provider}})):d(Z=>({...Z,status:"running",provider:O.provider}));break;case"run_complete":X?(C(Z=>({...Z,[O.provider]:{...O.run,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider)),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))):(d(O.run),p(!1),O.sandbox&&(a(O.sandbox),u(O.sandbox.runs||[]))),z(Z=>{let B=Z.filter(we=>we!==O.provider);return B.length===0&&p(!1),B});break;case"run_error":X?(C(Z=>({...Z,[O.provider]:{status:"failed",error:O.error,provider:O.provider}})),z(Z=>Z.filter(B=>B!==O.provider))):(d(Z=>({...Z,status:"failed",error:O.error})),p(!1)),O.sandbox&&a(O.sandbox);break}},[X]);XF("SandboxChannel",{session_id:o?.session_id},D,!!o?.session_id),(0,G.useEffect)(()=>{j(),E()},[r]);let E=async()=>{try{let O=await fetch("/api/usage");if(O.ok){let Z=await O.json();T(Z.usage)}}catch{console.log("Could not fetch usage (user may not be authenticated)")}};(0,G.useEffect)(()=>{if(!o?.expires_at)return;let O=setInterval(()=>{let Z=new Date,B=new Date(o.expires_at),we=Math.max(0,Math.floor((B-Z)/1e3));b(we),we===0&&(a(ee=>({...ee,status:"expired"})),clearInterval(O))},1e3);return()=>clearInterval(O)},[o?.expires_at]),(0,G.useEffect)(()=>{M.current&&(M.current.scrollTop=M.current.scrollHeight)},[c?.result]);let j=async()=>{g(!0),v(null);try{let O=await fetch("/api/sandboxes",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sandbox_type:r})});if(!O.ok)throw new Error("Failed to create sandbox session");let Z=await O.json();a(Z.sandbox),u([]),d(null)}catch(O){v(O.message)}finally{g(!1)}},R=async()=>{!i.trim()||f||!o||(X&&H.length>1?await L():await U(H[0]||"anthropic"))},U=async O=>{p(!0),d({status:"running",task:i,provider:O,result:"",started_at:new Date().toISOString()});try{let Z=await fetch(`/api/sandboxes/${o.session_id}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,provider:O})}),B=await Z.json();if(Z.status===402&&B.upgrade_required){T(B.usage),S(!0),d(we=>({...we,status:"failed",error:B.message||"Plan limit reached"})),p(!1);return}if(!Z.ok)throw new Error(B.error||"Task execution failed");B.usage&&T(B.usage),ze(B.run_id)}catch(Z){d(B=>({...B,status:"failed",error:Z.message})),p(!1)}},L=async()=>{p(!0),z([...H]),C({});let O={};H.forEach(Z=>{O[Z]={status:"running",result:"",started_at:new Date().toISOString()}}),C(O);try{let Z=await fetch("/api/sandboxes/compare",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({task:i,providers:H,sandbox_id:o?.session_id,sandbox_type:r})});if(!Z.ok){let we=await Z.json();throw new Error(we.error||"Comparison failed")}let B=await Z.json();B.sandbox&&a(B.sandbox),K(H,B.sandbox?.session_id||o?.session_id,B.sandbox?.runs_count??o?.runs_count??0)}catch(Z){H.forEach(B=>{C(we=>({...we,[B]:{status:"failed",error:Z.message}}))}),p(!1),z([])}},K=(O,Z,B)=>{if(!Z)return;let we=async()=>{try{let ee=await fetch(`/api/sandboxes/${Z}`);if(!ee.ok)throw new Error(`HTTP ${ee.status}`);let ue=await ee.json();a(ue.sandbox);let W=ue.sandbox.runs||[];u(W);let xe=new Set;if(W.slice(B).forEach(De=>{De.provider&&(C(Ge=>({...Ge,[De.provider]:{...De,provider:De.provider}})),(De.status==="completed"||De.status==="failed")&&xe.add(De.provider))}),O.every(De=>xe.has(De))){p(!1),z([]);return}setTimeout(we,1e3)}catch(ee){console.error("Comparison polling failed:",ee),p(!1),z([])}};setTimeout(we,1e3)},ae=async()=>{if(o?.session_id)try{let Z=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(Z.sandbox),u(Z.sandbox.runs||[]),(Z.sandbox.runs||[]).forEach(ee=>{ee.provider&&C(ue=>({...ue,[ee.provider]:{...ee,provider:ee.provider}}))}),H.every(ee=>{let ue=Y[ee];return ue?.status==="completed"||ue?.status==="failed"})&&(p(!1),z([]))}catch(O){console.error("Polling error:",O)}},de=O=>{F(Z=>Z.includes(O)?Z.length===1?Z:Z.filter(B=>B!==O):[...Z,O])},ze=async O=>{let Z=async()=>{try{let we=await(await fetch(`/api/sandboxes/${o.session_id}`)).json();a(we.sandbox);let ee=we.sandbox.runs||[],ue=ee[ee.length-1];if(ue&&(d(ue),u(ee),ue.status==="completed"||ue.status==="failed")){p(!1);return}setTimeout(Z,1e3)}catch{p(!1)}};Z()},oe=O=>{O.key==="Enter"&&(O.metaKey||O.ctrlKey)&&R()},Ee=O=>{if(!O)return"--:--";let Z=Math.floor(O/60),B=O%60;return`${Z}:${B.toString().padStart(2,"0")}`},V=O=>{switch(O){case"completed":return"text-green-600 bg-green-100";case"failed":return"text-red-600 bg-red-100";case"running":return"text-blue-600 bg-blue-100";case"ready":return"text-emerald-600 bg-emerald-100";case"expired":return"text-orange-600 bg-orange-100";default:return"text-gray-600 bg-gray-100"}},I=o?.status==="ready"&&o?.runs_count{A(!0);try{await sp({planSlug:"pro",billingInterval:O})}catch(Z){console.error("Checkout error:",Z),v(Z.message||"Failed to initiate checkout. Please try again."),A(!1)}};return G.default.createElement("div",{className:"h-full flex flex-col bg-gray-50"},G.default.createElement("div",{className:"bg-white border-b border-gray-200 px-6 py-4"},G.default.createElement("div",{className:"flex items-center justify-between"},G.default.createElement("div",{className:"flex items-center space-x-4"},G.default.createElement(wr,{size:48,appearance:{hat:"fedora",hatAccessory:"theaterMasks",heldItem:"browser"}}),G.default.createElement("div",null,G.default.createElement("h1",{className:"text-xl font-semibold text-gray-900"},"PlaywrightMCP Demo"),G.default.createElement("p",{className:"text-sm text-gray-500"},"Try browser automation for free - no account required"))),G.default.createElement("div",{className:"flex items-center space-x-4"},o&&G.default.createElement("div",{className:"flex items-center space-x-3 text-sm"},G.default.createElement("span",{className:`px-2 py-1 rounded-full text-xs font-medium ${V(o.status)}`},o.status),G.default.createElement("span",{className:"text-gray-500"},o.runs_count,"/",o.max_runs," runs"),G.default.createElement("span",{className:`font-mono ${y<60?"text-red-500":"text-gray-500"}`},Ee(y))),t&&G.default.createElement("button",{onClick:t,className:"text-gray-400 hover:text-gray-600"},G.default.createElement("svg",{className:"w-6 h-6",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24"},G.default.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M6 18L18 6M6 6l12 12"})))))),G.default.createElement("div",{className:"flex-1 p-6 overflow-hidden"},G.default.createElement("div",{className:"grid grid-cols-3 gap-6 h-full"},G.default.createElement("div",{className:"col-span-2 flex flex-col space-y-4"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("textarea",{value:i,onChange:O=>l(O.target.value),onKeyDown:oe,placeholder:"Describe what you want the browser agent to do...",rows:3,disabled:!I,className:"w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-rose-500 focus:border-transparent resize-none disabled:bg-gray-100"}),G.default.createElement("div",{className:"flex items-center justify-between mt-3"},G.default.createElement("span",{className:"text-xs text-gray-400"},"Press ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Cmd")," + ",G.default.createElement("kbd",{className:"px-1.5 py-0.5 bg-gray-100 rounded text-gray-600"},"Enter")," to run"),G.default.createElement("button",{onClick:R,disabled:!i.trim()||!I,className:`flex items-center space-x-2 px-6 py-2 rounded-lg transition-colors ${i.trim()&&I?"bg-rose-500 text-white hover:bg-rose-600":"bg-gray-200 text-gray-400 cursor-not-allowed"}`},f?G.default.createElement(G.default.Fragment,null,G.default.createElement("span",{className:"animate-spin"},"\u25E0"),G.default.createElement("span",null,"Running...")):G.default.createElement(G.default.Fragment,null,G.default.createElement("span",null,"\u25B6"),G.default.createElement("span",null,"Run"))))),G.default.createElement("div",{className:"flex-1 bg-white rounded-xl border border-gray-200 flex flex-col overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-200 flex items-center justify-between"},G.default.createElement("h3",{className:"font-medium text-gray-900"},X&&Object.keys(Y).length>0?"Comparison Results":"Output"),c&&!X&&G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(c.status)}`},c.status),X&&_.length>0&&G.default.createElement("span",{className:"text-xs text-blue-600"},"Running ",_.length," provider(s)...")),G.default.createElement("div",{ref:M,className:"flex-1 overflow-auto bg-gray-50"},m?G.default.createElement("div",{className:"flex items-center justify-center h-full text-gray-500 p-4"},G.default.createElement("span",{className:"animate-pulse"},"Starting sandbox...")):h?G.default.createElement("div",{className:"text-red-600 p-4"},h):X&&Object.keys(Y).length>0?G.default.createElement("div",{className:"grid grid-cols-1 divide-y divide-gray-200"},H.map(O=>{let Z=Iw.find(we=>we.id===O),B=Y[O];return G.default.createElement("div",{key:O,className:"p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-2"},G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("div",{className:`w-3 h-3 rounded-full ${Z?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"font-medium text-gray-900"},Z?.name||O),G.default.createElement("span",{className:"text-xs text-gray-500"},Z?.model)),B&&G.default.createElement("div",{className:"flex items-center space-x-2"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(B.status)}`},B.status),B.tokens&&G.default.createElement("span",{className:"text-xs text-gray-500"},B.tokens," tokens"),B.duration_ms&&G.default.createElement("span",{className:"text-xs text-gray-500"},(B.duration_ms/1e3).toFixed(1),"s"))),G.default.createElement("div",{className:"bg-white rounded-lg border border-gray-200 p-3 font-mono text-sm max-h-48 overflow-auto"},B?.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Processing...")):B?.error?G.default.createElement("div",{className:"text-red-600"},B.error):B?.result?G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},B.result):G.default.createElement("span",{className:"text-gray-400"},"Waiting...")))})):c?G.default.createElement("div",{className:"p-4 font-mono text-sm"},c.provider&&G.default.createElement("div",{className:"flex items-center space-x-2 mb-3 pb-2 border-b border-gray-200"},G.default.createElement("div",{className:`w-2 h-2 rounded-full ${Iw.find(O=>O.id===c.provider)?.color||"bg-gray-400"}`}),G.default.createElement("span",{className:"text-sm text-gray-600"},Iw.find(O=>O.id===c.provider)?.name||c.provider)),c.status==="running"?G.default.createElement("div",{className:"flex items-center space-x-2 text-gray-500"},G.default.createElement("span",{className:"animate-pulse"},"\u25CF"),G.default.createElement("span",null,"Executing task...")):c.error?G.default.createElement("div",{className:"text-red-600"},G.default.createElement("div",{className:"font-semibold mb-2"},"Error:"),G.default.createElement("pre",{className:"whitespace-pre-wrap"},c.error)):G.default.createElement("pre",{className:"whitespace-pre-wrap text-gray-800"},c.result||"Processing...")):G.default.createElement("div",{className:"text-gray-400 text-center py-12"},G.default.createElement("p",{className:"mb-2"},"Select a sample task or enter your own"),G.default.createElement("p",{className:"text-xs"},X?`Compare results across ${H.length} providers`:"Task will execute using the selected provider"))))),G.default.createElement("div",{className:"space-y-4 overflow-auto"},G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Providers"),G.default.createElement("label",{className:"flex items-center space-x-2 cursor-pointer"},G.default.createElement("input",{type:"checkbox",checked:X,onChange:O=>P(O.target.checked),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("span",{className:"text-xs text-gray-600"},"Compare"))),G.default.createElement("div",{className:"space-y-2"},Iw.map(O=>G.default.createElement("label",{key:O.id,className:`flex items-center justify-between p-2 rounded-lg border cursor-pointer transition-colors ${H.includes(O.id)?"border-rose-300 bg-rose-50":"border-gray-200 hover:bg-gray-50"}`},G.default.createElement("div",{className:"flex items-center space-x-3"},G.default.createElement("input",{type:"checkbox",checked:H.includes(O.id),onChange:()=>de(O.id),className:"rounded border-gray-300 text-rose-500 focus:ring-rose-500"}),G.default.createElement("div",{className:`w-2 h-2 rounded-full ${O.color}`}),G.default.createElement("span",{className:"text-sm font-medium text-gray-900"},O.name)),G.default.createElement("span",{className:"text-xs text-gray-500"},O.model)))),X&&H.length>1&&G.default.createElement("div",{className:"mt-3 p-2 bg-purple-50 rounded-lg"},G.default.createElement("p",{className:"text-xs text-purple-700"},"Comparison mode: Run task on ",H.length," providers simultaneously"))),G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 p-4"},G.default.createElement("div",{className:"flex items-center justify-between mb-3"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Sample Tasks"),X&&G.default.createElement("button",{onClick:()=>n(r==="playwright_mcp"?"comparison":"playwright_mcp"),className:"text-xs text-rose-600 hover:text-rose-700"},r==="comparison"?"Browser Tasks":"Comparison Tasks")),G.default.createElement("div",{className:"space-y-2"},gde[r]?.map((O,Z)=>G.default.createElement("button",{key:Z,onClick:()=>l(O.task),disabled:!I,className:"w-full text-left px-3 py-2 rounded-lg transition-colors border border-gray-200 hover:bg-gray-50 disabled:opacity-50"},G.default.createElement("div",{className:"font-medium text-sm text-gray-900"},O.name),G.default.createElement("div",{className:"text-xs text-gray-500 mt-0.5"},O.description))))),G.default.createElement("div",{className:"bg-gradient-to-br from-rose-50 to-purple-50 rounded-xl border border-rose-200 p-4"},G.default.createElement("h4",{className:"font-medium text-gray-900 mb-3"},w?.unlimited?"Unlimited":w?.plan==="free"?"Free Tier":`${w?.plan?.toUpperCase()||"FREE"} Plan`),w&&!w.unlimited&&w.runs_limit!=null&&G.default.createElement("div",{className:"mb-4"},G.default.createElement("div",{className:"flex justify-between text-sm mb-1"},G.default.createElement("span",{className:"text-gray-600"},"Agent Runs"),G.default.createElement("span",{className:`font-medium ${w.runs_remaining<=1?"text-rose-600":"text-gray-900"}`},w.runs_used," / ",w.runs_limit)),G.default.createElement("div",{className:"w-full bg-white rounded-full h-2 border border-rose-200"},G.default.createElement("div",{className:`h-2 rounded-full transition-all ${w.runs_remaining<=1?"bg-rose-500":"bg-emerald-500"}`,style:{width:`${Math.min(w.runs_used/w.runs_limit*100,100)}%`}})),w.runs_remaining<=1&&G.default.createElement("p",{className:"text-xs text-rose-600 mt-1"},w.runs_remaining===0?"Limit reached!":"Almost at limit!")),G.default.createElement("dl",{className:"space-y-2 text-sm"},G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Session Runs"),G.default.createElement("dd",{className:"text-gray-900"},o?.runs_count||0,"/",o?.max_runs||ZF.max_runs)),G.default.createElement("div",{className:"flex justify-between"},G.default.createElement("dt",{className:"text-gray-500"},"Timeout"),G.default.createElement("dd",{className:"text-gray-900"},ZF.timeout_seconds,"s per task"))),w?.plan==="free"&&G.default.createElement("div",{className:"mt-4 pt-4 border-t border-rose-200"},G.default.createElement("button",{onClick:()=>S(!0),className:"w-full text-center text-sm text-rose-600 hover:text-rose-700 font-medium"},"Upgrade to PRO \u2192"))),s.length>0&&G.default.createElement("div",{className:"bg-white rounded-xl border border-gray-200 overflow-hidden"},G.default.createElement("div",{className:"px-4 py-3 border-b border-gray-100"},G.default.createElement("h4",{className:"font-medium text-gray-900"},"Run History")),G.default.createElement("div",{className:"max-h-48 overflow-auto divide-y divide-gray-100"},s.slice().reverse().map((O,Z)=>G.default.createElement("div",{key:O.id||Z,className:"px-4 py-3 hover:bg-gray-50 cursor-pointer",onClick:()=>d(O)},G.default.createElement("div",{className:"flex items-center justify-between mb-1"},G.default.createElement("span",{className:`px-2 py-0.5 rounded-full text-xs font-medium ${V(O.status||"completed")}`},O.status||"completed"),G.default.createElement("span",{className:"text-xs text-gray-400"},O.tokens||0," tokens")),G.default.createElement("p",{className:"text-sm text-gray-600 truncate"},O.task))))),o?.status==="expired"&&G.default.createElement("button",{onClick:j,className:"w-full px-4 py-3 bg-rose-500 text-white rounded-lg hover:bg-rose-600 transition-colors"},"Start New Session")))),x&&G.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4"},G.default.createElement("div",{className:"bg-white rounded-2xl max-w-4xl w-full overflow-hidden shadow-2xl max-h-[90vh] overflow-y-auto"},G.default.createElement("div",{className:"bg-gradient-to-r from-rose-500 to-purple-600 px-6 py-6 text-white text-center"},G.default.createElement("h2",{className:"text-2xl font-bold mb-1"},"Upgrade Your Plan"),G.default.createElement("p",{className:"text-rose-100 text-sm"},"You've used ",w?.runs_used||0," of ",w?.runs_limit||25," trial runs. Choose a plan to continue.")),G.default.createElement("div",{className:"p-6"},G.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4"},G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Free"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$0"),G.default.createElement("span",{className:"text-gray-500"},"/mo"))),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"25 trial runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Community support"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-gray-400 mr-2"},"-"),"Basic features")),G.default.createElement("button",{disabled:!0,className:"w-full py-2 px-4 border border-gray-300 text-gray-400 rounded-lg text-sm cursor-not-allowed"},"Current Plan")),G.default.createElement("div",{className:"border-2 border-rose-500 rounded-xl p-5 relative bg-rose-50"},G.default.createElement("div",{className:"absolute -top-3 left-1/2 transform -translate-x-1/2"},G.default.createElement("span",{className:"bg-rose-500 text-white text-xs font-semibold px-3 py-1 rounded-full"},"RECOMMENDED")),G.default.createElement("div",{className:"text-center mb-4 mt-2"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Pro"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$99"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $995/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-700 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"10,000 agent runs/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Advanced cost tracking"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"25K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Priority email support")),G.default.createElement("button",{onClick:()=>N("monthly"),disabled:k,className:"w-full py-2 px-4 bg-rose-500 text-white rounded-lg text-sm font-semibold hover:bg-rose-600 transition-colors disabled:opacity-50"},k?"Loading...":"Upgrade to Pro")),G.default.createElement("div",{className:"border border-gray-200 rounded-xl p-5"},G.default.createElement("div",{className:"text-center mb-4"},G.default.createElement("h3",{className:"font-semibold text-gray-900"},"Enterprise"),G.default.createElement("div",{className:"mt-2"},G.default.createElement("span",{className:"text-3xl font-bold text-gray-900"},"$269"),G.default.createElement("span",{className:"text-gray-500"},"/mo")),G.default.createElement("p",{className:"text-xs text-gray-500 mt-1"},"or $2,690/year (save 16%)")),G.default.createElement("ul",{className:"space-y-2 text-sm text-gray-600 mb-4"},G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Unlimited runs"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"500K traces/month"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"SSO & SOC2/HIPAA"),G.default.createElement("li",{className:"flex items-start"},G.default.createElement("span",{className:"text-green-500 mr-2"},"\u2713"),"Dedicated support")),G.default.createElement("a",{href:"mailto:sales@activeagents.ai",className:"block w-full py-2 px-4 border border-gray-300 text-gray-700 rounded-lg text-sm font-semibold text-center hover:bg-gray-50 transition-colors"},"Contact Sales")))),G.default.createElement("div",{className:"px-6 py-4 bg-gray-50 border-t border-gray-100 flex justify-center"},G.default.createElement("button",{onClick:()=>S(!1),className:"text-gray-500 hover:text-gray-700 text-sm"},"Maybe later")))))}var Oe=te(re());var jw={SCREENSHOT:"screenshot",IFRAME:"iframe"},QF={navigate:"[->]",click:"[*]",type:"[T]",form_fill:"[F]",key_press:"[K]",snapshot:"[S]",hover:"[~]",select:"[v]",file_upload:"[^]",dialog:"[!]",evaluate:"[js]",wait:"[..]",scroll:"[|]",drag:"[<>]"},A5={navigate:"#3b82f6",click:"#ef4444",type:"#10b981",form_fill:"#8b5cf6",key_press:"#f59e0b",snapshot:"#06b6d4",hover:"#ec4899",select:"#6366f1",file_upload:"#14b8a6",dialog:"#f97316",evaluate:"#a855f7",wait:"#94a3b8",scroll:"#64748b",drag:"#ea580c"},yde=` @keyframes ripple { 0% { transform: translate(-50%, -50%) scale(0.5); opacity: 1; } 100% { transform: translate(-50%, -50%) scale(2); opacity: 0; } @@ -90,10 +90,10 @@ Who updated the description for the sample notebook?`,style:{...ol,width:"100%", 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.5; transform: scale(1.2); } } -`;function L_({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=kt(),[a,o]=(0,Ee.useState)([]),[i,l]=(0,Ee.useState)(e),[s,u]=(0,Ee.useState)(null),[c,d]=(0,Ee.useState)([]),[f,p]=(0,Ee.useState)(!0),[m,g]=(0,Ee.useState)(null),[h,v]=(0,Ee.useState)(!1),[y,b]=(0,Ee.useState)(0),[x,S]=(0,Ee.useState)(1),[w,O]=(0,Ee.useState)(null),k=(0,Ee.useRef)(null),A=(0,Ee.useRef)(null),M=(0,Ee.useRef)(null),[W,L]=(0,Ee.useState)(rw.IFRAME),[H,D]=(0,Ee.useState)({x:0,y:0,visible:!1}),[Y,N]=(0,Ee.useState)(null);(0,Ee.useEffect)(()=>{_()},[]),(0,Ee.useEffect)(()=>{i&&B(i)},[i]);let _=async()=>{try{let K=await fetch("/api/session_recordings");if(K.ok){let I=await K.json();o(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(K){console.error("Failed to load recordings list:",K)}};(0,Ee.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let K=c[y],I=c[y+1];if(!I){v(!1);return}let C=(I.timestamp_ms-K.timestamp_ms)/x;return A.current=setTimeout(()=>{b(T=>T+1)},Math.max(C,50)),()=>{A.current&&clearTimeout(A.current)}},[h,y,c,x]),(0,Ee.useEffect)(()=>{let K=c[y];K?.screenshot_url?(O(K.screenshot_url),L(rw.SCREENSHOT)):W===rw.IFRAME&&z(K)},[y,c,W]);let z=(0,Ee.useCallback)(K=>{if(!K||!M.current)return;let I=M.current;try{let C=s?.metadata?.page_url||"/";switch(I.src!==C&&I.src.includes(C),K.action_type){case"navigate":D({x:50,y:50,visible:!0}),N(null);break;case"click":case"focus":D({x:200,y:300,visible:!0}),N(K.selector),j(K.selector);break;case"type":D({x:200,y:300,visible:!0}),N(K.selector),P(K.selector,K.value);break;case"submit":D({x:250,y:400,visible:!0}),N(K.selector);break;case"scroll":D({x:300,y:200,visible:!0}),N(null);break;case"handoff":D({x:0,y:0,visible:!1}),N(null);break;default:D({x:150,y:250,visible:!0}),N(K.selector)}}catch(C){console.log("Could not simulate action in iframe:",C)}},[s]),j=K=>{if(!(!K||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(T=>{T.classList.remove("session-replay-highlight"),T.style.outline=""});let C=I.querySelector(K);C&&(C.classList.add("session-replay-highlight"),C.style.outline="3px solid #ef4444",C.style.outlineOffset="2px",C.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},P=(K,I)=>{if(!(!K||!I||!M.current))try{let C=M.current.contentDocument||M.current.contentWindow?.document;if(!C)return;let T=C.querySelector(K);if(T&&(T.tagName==="INPUT"||T.tagName==="TEXTAREA")){let X=0,$=setInterval(()=>{X{if(!K){u(null),d([]),b(0),v(!1),p(!1),g(null);return}p(!0),g(null);try{let I=await fetch(`/api/session_recordings/${K}`);if(!I.ok)throw new Error("Failed to load recording");let C=await I.json();if(u(C.recording),b(0),v(!1),C.recording?.id){let T=await fetch(`/api/session_recordings/${C.recording.id}/actions`);if(T.ok){let X=await T.json();d(X.actions||C.recording.timeline||[])}else d(C.recording.timeline||[])}}catch(I){g(I.message)}finally{p(!1)}},R=()=>{y>=c.length-1&&b(0),v(!h)},F=()=>{v(!1),b(K=>Math.min(K+1,c.length-1))},G=()=>{v(!1),b(K=>Math.max(K-1,0))},ee=K=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),X=(K.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),$=c.findIndex((Ne,E)=>{let Z=c[E+1];return!Z||X{if(s?.id)try{let K=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!K.ok)throw new Error("Handoff not available");let I=await K.json();t&&t(I)}catch(K){g(K.message)}},de=K=>{if(!K)return"0:00";let I=Math.floor(K/1e3),C=Math.floor(I/60),T=I%60;return`${C}:${T.toString().padStart(2,"0")}`},De=c[y],le=s?.duration_ms?(De?.timestamp_ms||0)/s.duration_ms*100:0;return f?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-red-500"},m)):s?Ee.default.createElement("div",{className:n?"":"bg-white rounded-xl border border-gray-200",style:n?{background:"linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)",borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}:{}},Ee.default.createElement("style",{dangerouslySetInnerHTML:{__html:vce}}),Ee.default.createElement("div",{className:n?"":"border-b border-gray-200 p-4",style:n?{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",justifyContent:"space-between"}:{display:"flex",alignItems:"center",justifyContent:"space-between"}},Ee.default.createElement("div",null,Ee.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Ee.default.createElement("h2",{className:n?"":"text-xl font-semibold text-gray-900",style:n?{fontSize:"20px",fontWeight:"600",color:"white",margin:0}:{}},s.name||"Session Replay"),a.length>1&&Ee.default.createElement("select",{value:i||"",onChange:K=>l(Number(K.target.value)),style:{padding:"6px 12px",borderRadius:"6px",border:n?"1px solid rgba(255,255,255,0.2)":"1px solid #d1d5db",background:n?"rgba(255,255,255,0.1)":"white",color:n?"white":"#374151",fontSize:"14px",cursor:"pointer"}},a.map(K=>Ee.default.createElement("option",{key:K.id,value:K.id},K.name," (",new Date(K.created_at).toLocaleDateString(),")")))),Ee.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Ee.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Ee.default.createElement("button",{onClick:fe,className:n?"":"px-4 py-2 bg-gradient-to-r from-red-500 to-rose-500 text-white rounded-lg hover:from-red-600 hover:to-rose-600 font-medium",style:n?{padding:"10px 20px",background:"linear-gradient(90deg, #ef4444 0%, #f43f5e 100%)",color:"white",borderRadius:"8px",border:"none",fontWeight:"500",cursor:"pointer",fontSize:"14px"}:{}},"Take Over Session"),r&&Ee.default.createElement("button",{onClick:r,className:n?"":"text-gray-400 hover:text-gray-600",style:n?{color:"rgba(255,255,255,0.6)",background:"none",border:"none",cursor:"pointer"}:{}},Ee.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Ee.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 bg-gray-100 flex items-center justify-center relative",style:n?{flex:1,background:"rgba(0,0,0,0.3)",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"}:{overflow:"hidden"}},W===rw.SCREENSHOT&&w?Ee.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Ee.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Ee.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),H.visible&&Ee.default.createElement("div",{style:{position:"absolute",left:`${H.x}px`,top:`${H.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Ee.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Ee.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),De?.action_type==="click"&&Ee.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Ee.default.createElement("div",{style:{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.8)",color:"#60a5fa",padding:"8px 12px",borderRadius:"6px",fontSize:"12px",fontFamily:Fe.mono,zIndex:100}},Y),De&&Ee.default.createElement("div",{style:{position:"absolute",top:"60px",left:"16px",background:"rgba(0,0,0,0.8)",color:"white",padding:"8px 16px",borderRadius:"6px",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px",zIndex:100}},Ee.default.createElement("span",{style:{color:z_[De.action_type]||"#94a3b8",fontWeight:"600"}},R$[De.action_type]||"[?]"),Ee.default.createElement("span",null,De.action_type),De.value&&Ee.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",De.value))),Ee.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Ee.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Ee.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Ee.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Ee.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),De?.selector&&Ee.default.createElement("div",{className:n?"":"absolute bottom-4 left-4 bg-black/75 text-white px-3 py-1 rounded text-sm font-mono",style:n?{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.75)",color:"white",padding:"6px 12px",borderRadius:"6px",fontSize:"13px",fontFamily:Fe.mono}:{}},De.selector)),Ee.default.createElement("div",{className:n?"":"w-80 border-l border-gray-200 flex flex-col",style:n?{width:"320px",borderLeft:"1px solid rgba(255,255,255,0.1)",display:"flex",flexDirection:"column"}:{}},Ee.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Ee.default.createElement("div",{className:n?"":"p-3 border-b border-gray-100 font-medium text-sm text-gray-700",style:n?{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.1)",fontWeight:"500",fontSize:"14px",color:"rgba(255,255,255,0.8)"}:{}},"Actions (",c.length,")"),c.map((K,I)=>{let C=I===y,T=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${C?"bg-red-50 border-l-2 border-l-red-500":""}`,style:n?{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.05)",background:C?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:C?"3px solid #ef4444":"3px solid transparent",opacity:T?.6:1}:{opacity:T?.6:1}},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{style:{color:X,fontFamily:Fe.mono,fontSize:"12px",fontWeight:"600"}},R$[K.action_type]||"[?]"),Ee.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},K.action_type),Ee.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(K.timestamp_ms))),K.value&&Ee.default.createElement("div",{className:n?"":"text-xs text-gray-500 mt-1 truncate",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"4px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.value.length>50?K.value.substring(0,50)+"...":K.value),K.selector&&Ee.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Fe.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},K.selector))})))),Ee.default.createElement("div",{className:n?"":"border-t border-gray-200 p-4",style:n?{borderTop:"1px solid rgba(255,255,255,0.1)",padding:"16px 24px"}:{}},Ee.default.createElement("div",{ref:k,onClick:ee,className:n?"":"h-2 bg-gray-200 rounded-full mb-4 cursor-pointer relative",style:n?{height:"8px",background:"rgba(255,255,255,0.1)",borderRadius:"4px",marginBottom:"16px",cursor:"pointer",position:"relative"}:{}},Ee.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${le}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((K,I)=>{let C=s?.duration_ms?K.timestamp_ms/s.duration_ms*100:0,T=z_[K.action_type]||"#94a3b8";return Ee.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${C}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===y?T:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Ee.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Ee.default.createElement("div",{className:"flex items-center gap-4"},Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("button",{onClick:G,disabled:y===0,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y===0?"not-allowed":"pointer",opacity:y===0?.5:1}:{}},"<<"),Ee.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Ee.default.createElement("button",{onClick:F,disabled:y>=c.length-1,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y>=c.length-1?"not-allowed":"pointer",opacity:y>=c.length-1?.5:1}:{}},">>")),Ee.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Fe.mono}:{}},de(De?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Ee.default.createElement("div",{className:"flex items-center gap-2"},Ee.default.createElement("span",{className:n?"":"text-sm text-gray-500",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.5)"}:{}},"Speed:"),[.5,1,2,4].map(K=>Ee.default.createElement("button",{key:K,onClick:()=>S(K),className:n?"":`px-2 py-1 rounded text-sm ${x===K?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===K?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},K,"x")))))):Ee.default.createElement("div",{className:"flex items-center justify-center h-64"},Ee.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var he=te(ne());var nw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function B_({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:a}=kt(),[o,i]=(0,he.useState)(null),[l,s]=(0,he.useState)(!1),[u,c]=(0,he.useState)(!1),[d,f]=(0,he.useState)(!1),[p,m]=(0,he.useState)(null);(0,he.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let g=async()=>{f(!0),m(null);try{await Vf({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:a?"#1f1f1f":"#ffffff",borderColor:a?"#2a2a2a":"#e5e7eb"},y=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[y.toLowerCase()]||b.free;return he.default.createElement("div",{className:"p-6 space-y-6"},he.default.createElement("div",null,he.default.createElement("h2",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},"Organization"),he.default.createElement("p",{className:`mt-1 ${a?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Workspace"),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Name"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Owner"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Created"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Current Plan"),he.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},y)),he.default.createElement("div",{className:"space-y-3"},he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Team Seats"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.seats)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Workspaces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.workspaces)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Agents"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.agents)),he.default.createElement("div",{className:"flex justify-between items-center"},he.default.createElement("span",{className:a?"text-gray-400":"text-gray-500"},"Traces"),he.default.createElement("span",{className:`font-medium ${a?"text-white":"text-gray-900"}`},x.traces))),y.toLowerCase()!=="enterprise"&&he.default.createElement(he.default.Fragment,null,he.default.createElement("button",{onClick:g,disabled:d,className:"mt-4 w-full px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},d?"Redirecting to checkout\u2026":"Upgrade Plan"),p&&he.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("div",{className:"flex items-center justify-between mb-4"},he.default.createElement("h3",{className:`text-lg font-semibold ${a?"text-white":"text-gray-900"}`},"Team Members"),he.default.createElement("button",{className:"px-4 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},"+ Invite Member")),he.default.createElement("div",{className:"overflow-hidden"},he.default.createElement("table",{className:"min-w-full"},he.default.createElement("thead",null,he.default.createElement("tr",{className:a?"border-b border-gray-700":"border-b border-gray-200"},he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Member"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Role"),he.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${a?"text-gray-400":"text-gray-500"}`},"Status"))),he.default.createElement("tbody",null,he.default.createElement("tr",null,he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("div",{className:"flex items-center space-x-3"},he.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},he.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),he.default.createElement("div",null,he.default.createElement("p",{className:`font-medium ${a?"text-white":"text-gray-900"}`},t?.name||"You"),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},t?.email)))),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),he.default.createElement("td",{className:"py-3 px-4"},he.default.createElement("span",{className:"flex items-center text-green-600"},he.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${a?"text-white":"text-gray-900"}`},"Usage This Month"),he.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},n),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Agents")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.traces_used),o?.traces_limit>0&&he.default.createElement("span",{className:`text-sm font-normal ${a?"text-gray-500":"text-gray-400"}`}," / ",nw(o.traces_limit))),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Traces")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.runs_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Executions")),he.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:a?"#252525":"#f9fafb"}},he.default.createElement("p",{className:`text-2xl font-bold ${a?"text-white":"text-gray-900"}`},nw(o?.tokens_used)),he.default.createElement("p",{className:`text-sm ${a?"text-gray-400":"text-gray-500"}`},"Tokens")))),he.default.createElement("div",{className:"border rounded-lg p-6",style:v},he.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${a?"text-white":"text-gray-900"}`},"Telemetry"),he.default.createElement("p",{className:`text-sm mb-4 ${a?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",he.default.createElement("code",{className:`px-1 rounded text-xs ${a?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),he.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${a?"bg-black text-gray-300":"bg-gray-900 text-gray-100"}`},`telemetry: +`;function k5({recordingId:e,onHandoff:t,onClose:r}){let{darkMode:n}=Nt(),[o,a]=(0,Oe.useState)([]),[i,l]=(0,Oe.useState)(e),[s,u]=(0,Oe.useState)(null),[c,d]=(0,Oe.useState)([]),[f,p]=(0,Oe.useState)(!0),[m,g]=(0,Oe.useState)(null),[h,v]=(0,Oe.useState)(!1),[y,b]=(0,Oe.useState)(0),[x,S]=(0,Oe.useState)(1),[w,T]=(0,Oe.useState)(null),k=(0,Oe.useRef)(null),A=(0,Oe.useRef)(null),M=(0,Oe.useRef)(null),[H,F]=(0,Oe.useState)(jw.IFRAME),[X,P]=(0,Oe.useState)({x:0,y:0,visible:!1}),[Y,C]=(0,Oe.useState)(null);(0,Oe.useEffect)(()=>{_()},[]),(0,Oe.useEffect)(()=>{i&&j(i)},[i]);let _=async()=>{try{let V=await fetch("/api/session_recordings");if(V.ok){let I=await V.json();a(I.recordings||[]),!i&&I.recordings?.length>0&&l(I.recordings[0].id)}}catch(V){console.error("Failed to load recordings list:",V)}};(0,Oe.useEffect)(()=>{if(!h||c.length===0){A.current&&clearTimeout(A.current);return}let V=c[y],I=c[y+1];if(!I){v(!1);return}let N=(I.timestamp_ms-V.timestamp_ms)/x;return A.current=setTimeout(()=>{b(O=>O+1)},Math.max(N,50)),()=>{A.current&&clearTimeout(A.current)}},[h,y,c,x]),(0,Oe.useEffect)(()=>{let V=c[y];V?.screenshot_url?(T(V.screenshot_url),F(jw.SCREENSHOT)):H===jw.IFRAME&&z(V)},[y,c,H]);let z=(0,Oe.useCallback)(V=>{if(!V||!M.current)return;let I=M.current;try{let N=s?.metadata?.page_url||"/";switch(I.src!==N&&I.src.includes(N),V.action_type){case"navigate":P({x:50,y:50,visible:!0}),C(null);break;case"click":case"focus":P({x:200,y:300,visible:!0}),C(V.selector),D(V.selector);break;case"type":P({x:200,y:300,visible:!0}),C(V.selector),E(V.selector,V.value);break;case"submit":P({x:250,y:400,visible:!0}),C(V.selector);break;case"scroll":P({x:300,y:200,visible:!0}),C(null);break;case"handoff":P({x:0,y:0,visible:!1}),C(null);break;default:P({x:150,y:250,visible:!0}),C(V.selector)}}catch(N){console.log("Could not simulate action in iframe:",N)}},[s]),D=V=>{if(!(!V||!M.current))try{let I=M.current.contentDocument||M.current.contentWindow?.document;if(!I)return;I.querySelectorAll(".session-replay-highlight").forEach(O=>{O.classList.remove("session-replay-highlight"),O.style.outline=""});let N=I.querySelector(V);N&&(N.classList.add("session-replay-highlight"),N.style.outline="3px solid #ef4444",N.style.outlineOffset="2px",N.scrollIntoView({behavior:"smooth",block:"center"}))}catch{}},E=(V,I)=>{if(!(!V||!I||!M.current))try{let N=M.current.contentDocument||M.current.contentWindow?.document;if(!N)return;let O=N.querySelector(V);if(O&&(O.tagName==="INPUT"||O.tagName==="TEXTAREA")){let Z=0,B=setInterval(()=>{Z{if(!V){u(null),d([]),b(0),v(!1),p(!1),g(null);return}p(!0),g(null);try{let I=await fetch(`/api/session_recordings/${V}`);if(!I.ok)throw new Error("Failed to load recording");let N=await I.json();if(u(N.recording),b(0),v(!1),N.recording?.id){let O=await fetch(`/api/session_recordings/${N.recording.id}/actions`);if(O.ok){let Z=await O.json();d(Z.actions||N.recording.timeline||[])}else d(N.recording.timeline||[])}}catch(I){g(I.message)}finally{p(!1)}},R=()=>{y>=c.length-1&&b(0),v(!h)},U=()=>{v(!1),b(V=>Math.min(V+1,c.length-1))},L=()=>{v(!1),b(V=>Math.max(V-1,0))},K=V=>{if(!k.current||c.length===0)return;let I=k.current.getBoundingClientRect(),Z=(V.clientX-I.left)/I.width*(s?.duration_ms||c[c.length-1]?.timestamp_ms||0),B=c.findIndex((we,ee)=>{let ue=c[ee+1];return!ue||Z{if(s?.id)try{let V=await fetch(`/api/session_recordings/${s.id}/handoff`,{method:"POST",headers:{"Content-Type":"application/json"}});if(!V.ok)throw new Error("Handoff not available");let I=await V.json();t&&t(I)}catch(V){g(V.message)}},de=V=>{if(!V)return"0:00";let I=Math.floor(V/1e3),N=Math.floor(I/60),O=I%60;return`${N}:${O.toString().padStart(2,"0")}`},ze=c[y],oe=s?.duration_ms?(ze?.timestamp_ms||0)/s.duration_ms*100:0;return f?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"})):m?Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-red-500"},m)):s?Oe.default.createElement("div",{className:n?"":"bg-white rounded-xl border border-gray-200",style:n?{background:"linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)",borderRadius:"12px",overflow:"hidden",minHeight:"calc(100vh - 200px)"}:{}},Oe.default.createElement("style",{dangerouslySetInnerHTML:{__html:yde}}),Oe.default.createElement("div",{className:n?"":"border-b border-gray-200 p-4",style:n?{padding:"16px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",display:"flex",alignItems:"center",justifyContent:"space-between"}:{display:"flex",alignItems:"center",justifyContent:"space-between"}},Oe.default.createElement("div",null,Oe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:"12px"}},Oe.default.createElement("h2",{className:n?"":"text-xl font-semibold text-gray-900",style:n?{fontSize:"20px",fontWeight:"600",color:"white",margin:0}:{}},s.name||"Session Replay"),o.length>1&&Oe.default.createElement("select",{value:i||"",onChange:V=>l(Number(V.target.value)),style:{padding:"6px 12px",borderRadius:"6px",border:n?"1px solid rgba(255,255,255,0.2)":"1px solid #d1d5db",background:n?"rgba(255,255,255,0.1)":"white",color:n?"white":"#374151",fontSize:"14px",cursor:"pointer"}},o.map(V=>Oe.default.createElement("option",{key:V.id,value:V.id},V.name," (",new Date(V.created_at).toLocaleDateString(),")")))),Oe.default.createElement("p",{className:n?"":"text-sm text-gray-500 mt-1",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.6)",marginTop:"4px"}:{}},s.action_count," actions | ",de(s.duration_ms)," duration")),Oe.default.createElement("div",{className:"flex items-center gap-3"},s.handoff_state&&Oe.default.createElement("button",{onClick:ae,className:n?"":"px-4 py-2 bg-gradient-to-r from-red-500 to-rose-500 text-white rounded-lg hover:from-red-600 hover:to-rose-600 font-medium",style:n?{padding:"10px 20px",background:"linear-gradient(90deg, #ef4444 0%, #f43f5e 100%)",color:"white",borderRadius:"8px",border:"none",fontWeight:"500",cursor:"pointer",fontSize:"14px"}:{}},"Take Over Session"),r&&Oe.default.createElement("button",{onClick:r,className:n?"":"text-gray-400 hover:text-gray-600",style:n?{color:"rgba(255,255,255,0.6)",background:"none",border:"none",cursor:"pointer"}:{}},Oe.default.createElement("span",{style:{fontSize:"20px"}},"x")))),Oe.default.createElement("div",{className:n?"":"flex h-[500px]",style:n?{display:"flex",height:"500px"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 bg-gray-100 flex items-center justify-center relative",style:n?{flex:1,background:"rgba(0,0,0,0.3)",display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"}:{overflow:"hidden"}},H===jw.SCREENSHOT&&w?Oe.default.createElement("img",{src:w,alt:"Session screenshot",className:"max-w-full max-h-full object-contain"}):Oe.default.createElement("div",{style:{width:"100%",height:"100%",position:"relative",overflow:"hidden"}},Oe.default.createElement("iframe",{ref:M,src:s?.metadata?.page_url||"/",style:{border:"none",transform:"scale(0.75)",transformOrigin:"top left",width:"133.33%",height:"133.33%",pointerEvents:"none"},sandbox:"allow-same-origin allow-scripts"}),X.visible&&Oe.default.createElement("div",{style:{position:"absolute",left:`${X.x}px`,top:`${X.y}px`,width:"24px",height:"24px",pointerEvents:"none",zIndex:100,transition:"all 0.3s ease-out"}},Oe.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",style:{width:"100%",height:"100%"}},Oe.default.createElement("path",{d:"M4 4L12 20L14 14L20 12L4 4Z",fill:"#ef4444",stroke:"white",strokeWidth:"2"})),ze?.action_type==="click"&&Oe.default.createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",width:"40px",height:"40px",borderRadius:"50%",border:"3px solid #ef4444",animation:"ripple 0.6s ease-out",opacity:0}})),Y&&Oe.default.createElement("div",{style:{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.8)",color:"#60a5fa",padding:"8px 12px",borderRadius:"6px",fontSize:"12px",fontFamily:Ve.mono,zIndex:100}},Y),ze&&Oe.default.createElement("div",{style:{position:"absolute",top:"60px",left:"16px",background:"rgba(0,0,0,0.8)",color:"white",padding:"8px 16px",borderRadius:"6px",fontSize:"13px",display:"flex",alignItems:"center",gap:"8px",zIndex:100}},Oe.default.createElement("span",{style:{color:A5[ze.action_type]||"#94a3b8",fontWeight:"600"}},QF[ze.action_type]||"[?]"),Oe.default.createElement("span",null,ze.action_type),ze.value&&Oe.default.createElement("span",{style:{color:"rgba(255,255,255,0.6)",maxWidth:"200px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},": ",ze.value))),Oe.default.createElement("div",{className:n?"":"absolute top-4 left-4 flex items-center gap-2 text-white px-3 py-1 rounded-full text-sm",style:{position:"absolute",top:"16px",left:"16px",display:"flex",alignItems:"center",gap:"8px",background:s?.status==="recording"?"#ef4444":h?"#10b981":"#6b7280",color:"white",padding:"6px 12px",borderRadius:"999px",fontSize:"13px",fontWeight:"500"}},s?.status==="recording"?Oe.default.createElement("span",{style:{width:"8px",height:"8px",borderRadius:"50%",background:"white",animation:"pulse 1.5s ease-in-out infinite"}}):h?Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("path",{d:"M0 0L10 6L0 12V0Z"})):Oe.default.createElement("svg",{width:"10",height:"12",viewBox:"0 0 10 12",fill:"white"},Oe.default.createElement("rect",{x:"0",y:"0",width:"3",height:"12"}),Oe.default.createElement("rect",{x:"7",y:"0",width:"3",height:"12"})),s?.status==="recording"?"REC":h?"Playing":"Paused"),ze?.selector&&Oe.default.createElement("div",{className:n?"":"absolute bottom-4 left-4 bg-black/75 text-white px-3 py-1 rounded text-sm font-mono",style:n?{position:"absolute",bottom:"16px",left:"16px",background:"rgba(0,0,0,0.75)",color:"white",padding:"6px 12px",borderRadius:"6px",fontSize:"13px",fontFamily:Ve.mono}:{}},ze.selector)),Oe.default.createElement("div",{className:n?"":"w-80 border-l border-gray-200 flex flex-col",style:n?{width:"320px",borderLeft:"1px solid rgba(255,255,255,0.1)",display:"flex",flexDirection:"column"}:{}},Oe.default.createElement("div",{className:n?"":"flex-1 overflow-auto",style:n?{flex:1,overflowY:"auto"}:{}},Oe.default.createElement("div",{className:n?"":"p-3 border-b border-gray-100 font-medium text-sm text-gray-700",style:n?{padding:"12px 16px",borderBottom:"1px solid rgba(255,255,255,0.1)",fontWeight:"500",fontSize:"14px",color:"rgba(255,255,255,0.8)"}:{}},"Actions (",c.length,")"),c.map((V,I)=>{let N=I===y,O=I{b(I),v(!1)},className:n?"":`px-4 py-3 cursor-pointer border-b border-gray-50 hover:bg-gray-50 ${N?"bg-red-50 border-l-2 border-l-red-500":""}`,style:n?{padding:"12px 16px",cursor:"pointer",borderBottom:"1px solid rgba(255,255,255,0.05)",background:N?"rgba(239, 68, 68, 0.15)":"transparent",borderLeft:N?"3px solid #ef4444":"3px solid transparent",opacity:O?.6:1}:{opacity:O?.6:1}},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{style:{color:Z,fontFamily:Ve.mono,fontSize:"12px",fontWeight:"600"}},QF[V.action_type]||"[?]"),Oe.default.createElement("span",{className:n?"":"text-sm font-medium text-gray-900",style:n?{fontSize:"14px",fontWeight:"500",color:"white"}:{}},V.action_type),Oe.default.createElement("span",{className:n?"":"text-xs text-gray-400 ml-auto",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.4)",marginLeft:"auto"}:{}},de(V.timestamp_ms))),V.value&&Oe.default.createElement("div",{className:n?"":"text-xs text-gray-500 mt-1 truncate",style:n?{fontSize:"12px",color:"rgba(255,255,255,0.5)",marginTop:"4px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.value.length>50?V.value.substring(0,50)+"...":V.value),V.selector&&Oe.default.createElement("div",{className:n?"":"text-xs text-blue-500 mt-1 font-mono truncate",style:n?{fontSize:"11px",color:"#60a5fa",marginTop:"4px",fontFamily:Ve.mono,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}:{}},V.selector))})))),Oe.default.createElement("div",{className:n?"":"border-t border-gray-200 p-4",style:n?{borderTop:"1px solid rgba(255,255,255,0.1)",padding:"16px 24px"}:{}},Oe.default.createElement("div",{ref:k,onClick:K,className:n?"":"h-2 bg-gray-200 rounded-full mb-4 cursor-pointer relative",style:n?{height:"8px",background:"rgba(255,255,255,0.1)",borderRadius:"4px",marginBottom:"16px",cursor:"pointer",position:"relative"}:{}},Oe.default.createElement("div",{className:n?"":"absolute h-full bg-red-500 rounded-full",style:{width:`${oe}%`,height:"100%",background:"#ef4444",borderRadius:"4px",position:"absolute"}}),c.map((V,I)=>{let N=s?.duration_ms?V.timestamp_ms/s.duration_ms*100:0,O=A5[V.action_type]||"#94a3b8";return Oe.default.createElement("div",{key:I,className:n?"":"absolute w-1 h-3 -top-0.5 transform -translate-x-1/2",style:{left:`${N}%`,width:"3px",height:"12px",top:"-2px",transform:"translateX(-50%)",background:I===y?O:"rgba(255,255,255,0.3)",borderRadius:"2px",position:"absolute"}})})),Oe.default.createElement("div",{className:n?"":"flex items-center justify-between",style:n?{display:"flex",alignItems:"center",justifyContent:"space-between"}:{}},Oe.default.createElement("div",{className:"flex items-center gap-4"},Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("button",{onClick:L,disabled:y===0,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y===0?"not-allowed":"pointer",opacity:y===0?.5:1}:{}},"<<"),Oe.default.createElement("button",{onClick:R,className:n?"":"p-3 rounded-full bg-red-500 text-white hover:bg-red-600",style:n?{padding:"12px 24px",background:"#ef4444",border:"none",borderRadius:"999px",color:"white",cursor:"pointer",fontWeight:"500"}:{}},h?"Pause":"Play"),Oe.default.createElement("button",{onClick:U,disabled:y>=c.length-1,className:n?"":"p-2 rounded-lg bg-gray-100 hover:bg-gray-200 disabled:opacity-50",style:n?{padding:"8px 12px",background:"rgba(255,255,255,0.1)",border:"none",borderRadius:"8px",color:"white",cursor:y>=c.length-1?"not-allowed":"pointer",opacity:y>=c.length-1?.5:1}:{}},">>")),Oe.default.createElement("span",{className:n?"":"text-sm text-gray-600 font-mono",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.7)",fontFamily:Ve.mono}:{}},de(ze?.timestamp_ms||0)," / ",de(s?.duration_ms||0))),Oe.default.createElement("div",{className:"flex items-center gap-2"},Oe.default.createElement("span",{className:n?"":"text-sm text-gray-500",style:n?{fontSize:"14px",color:"rgba(255,255,255,0.5)"}:{}},"Speed:"),[.5,1,2,4].map(V=>Oe.default.createElement("button",{key:V,onClick:()=>S(V),className:n?"":`px-2 py-1 rounded text-sm ${x===V?"bg-red-500 text-white":"bg-gray-100 text-gray-600"}`,style:n?{padding:"4px 10px",background:x===V?"#ef4444":"rgba(255,255,255,0.1)",color:"white",border:"none",borderRadius:"6px",cursor:"pointer",fontSize:"13px"}:{}},V,"x")))))):Oe.default.createElement("div",{className:"flex items-center justify-center h-64"},Oe.default.createElement("div",{className:"text-gray-500"},"No recording available"))}var be=te(re());var zw=e=>e==null?"0":e>=1e6?(e/1e6).toFixed(1)+"M":e>=1e3?(e/1e3).toFixed(1)+"K":e.toString();function C5({account:e,user:t,subscription:r,agentCount:n=0}){let{darkMode:o}=Nt(),[a,i]=(0,be.useState)(null),[l,s]=(0,be.useState)(!1),[u,c]=(0,be.useState)(!1),[d,f]=(0,be.useState)(!1),[p,m]=(0,be.useState)(null);(0,be.useEffect)(()=>{fetch("/api/usage").then(S=>S.ok?S.json():null).then(S=>i(S?.usage||null)).catch(()=>i(null))},[]);let g=async()=>{f(!0),m(null);try{await sp({planSlug:"pro"})}catch(S){m(S.message),f(!1)}},h=()=>{e?.telemetry_api_key&&navigator.clipboard.writeText(e.telemetry_api_key).then(()=>{s(!0),setTimeout(()=>s(!1),2e3)})},v={backgroundColor:o?"#1f1f1f":"#ffffff",borderColor:o?"#2a2a2a":"#e5e7eb"},y=r?.plan_name||"Free",b={free:{seats:1,workspaces:1,agents:3,traces:"250/mo trial"},pro:{seats:5,workspaces:3,agents:"Unlimited",traces:"25,000/mo"},enterprise:{seats:"Unlimited",workspaces:"Unlimited",agents:"Unlimited",traces:"500,000+/mo"}},x=b[y.toLowerCase()]||b.free;return be.default.createElement("div",{className:"p-6 space-y-6"},be.default.createElement("div",null,be.default.createElement("h2",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},"Organization"),be.default.createElement("p",{className:`mt-1 ${o?"text-gray-400":"text-gray-500"}`},"Manage your workspace, team, and billing")),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6"},be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Workspace"),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Name"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.name||"My Workspace")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Owner"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.email||"you@example.com")),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Created"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},e?.created_at?new Date(e.created_at).toLocaleDateString():"Today")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Current Plan"),be.default.createElement("span",{className:"px-3 py-1 bg-red-100 text-red-700 rounded-full text-sm font-medium"},y)),be.default.createElement("div",{className:"space-y-3"},be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Team Seats"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.seats)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Workspaces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.workspaces)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Agents"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.agents)),be.default.createElement("div",{className:"flex justify-between items-center"},be.default.createElement("span",{className:o?"text-gray-400":"text-gray-500"},"Traces"),be.default.createElement("span",{className:`font-medium ${o?"text-white":"text-gray-900"}`},x.traces))),y.toLowerCase()!=="enterprise"&&be.default.createElement(be.default.Fragment,null,be.default.createElement("button",{onClick:g,disabled:d,className:"mt-4 w-full px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors disabled:opacity-50 disabled:cursor-not-allowed"},d?"Redirecting to checkout\u2026":"Upgrade Plan"),p&&be.default.createElement("p",{className:"mt-2 text-sm text-red-500 text-center"},p)))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("div",{className:"flex items-center justify-between mb-4"},be.default.createElement("h3",{className:`text-lg font-semibold ${o?"text-white":"text-gray-900"}`},"Team Members"),be.default.createElement("button",{className:"px-4 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},"+ Invite Member")),be.default.createElement("div",{className:"overflow-hidden"},be.default.createElement("table",{className:"min-w-full"},be.default.createElement("thead",null,be.default.createElement("tr",{className:o?"border-b border-gray-700":"border-b border-gray-200"},be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Member"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Role"),be.default.createElement("th",{className:`text-left py-3 px-4 text-sm font-medium ${o?"text-gray-400":"text-gray-500"}`},"Status"))),be.default.createElement("tbody",null,be.default.createElement("tr",null,be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("div",{className:"flex items-center space-x-3"},be.default.createElement("div",{className:"w-8 h-8 bg-red-100 rounded-full flex items-center justify-center"},be.default.createElement("span",{className:"text-red-600 font-medium text-sm"},t?.name?.charAt(0).toUpperCase()||"U")),be.default.createElement("div",null,be.default.createElement("p",{className:`font-medium ${o?"text-white":"text-gray-900"}`},t?.name||"You"),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},t?.email)))),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"px-2 py-1 bg-purple-100 text-purple-700 rounded text-sm"},"Owner")),be.default.createElement("td",{className:"py-3 px-4"},be.default.createElement("span",{className:"flex items-center text-green-600"},be.default.createElement("span",{className:"w-2 h-2 bg-green-500 rounded-full mr-2"}),"Active"))))))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${o?"text-white":"text-gray-900"}`},"Usage This Month"),be.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-4"},be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},n),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Agents")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.traces_used),a?.traces_limit>0&&be.default.createElement("span",{className:`text-sm font-normal ${o?"text-gray-500":"text-gray-400"}`}," / ",zw(a.traces_limit))),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Traces")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.runs_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Executions")),be.default.createElement("div",{className:"text-center p-4 rounded-lg",style:{backgroundColor:o?"#252525":"#f9fafb"}},be.default.createElement("p",{className:`text-2xl font-bold ${o?"text-white":"text-gray-900"}`},zw(a?.tokens_used)),be.default.createElement("p",{className:`text-sm ${o?"text-gray-400":"text-gray-500"}`},"Tokens")))),be.default.createElement("div",{className:"border rounded-lg p-6",style:v},be.default.createElement("h3",{className:`text-lg font-semibold mb-1 ${o?"text-white":"text-gray-900"}`},"Telemetry"),be.default.createElement("p",{className:`text-sm mb-4 ${o?"text-gray-400":"text-gray-500"}`},"Send traces from your own ActiveAgent app to this workspace. Add this to your"," ",be.default.createElement("code",{className:`px-1 rounded text-xs ${o?"bg-gray-800 text-gray-300":"bg-gray-100 text-gray-700"}`},"config/active_agent.yml"),":"),be.default.createElement("pre",{className:`text-xs rounded-lg p-4 overflow-x-auto mb-4 ${o?"bg-black text-gray-300":"bg-gray-900 text-gray-100"}`},`telemetry: enabled: true endpoint: ${window.location.origin}/v1/traces - api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),he.default.createElement("div",{className:"flex items-center justify-between gap-3"},he.default.createElement("div",{className:"min-w-0 flex-1"},he.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${a?"text-gray-500":"text-gray-400"}`},"API Key"),he.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${a?"bg-gray-900 border-gray-700 text-gray-300":"bg-gray-50 border-gray-200 text-gray-700"}`},e?.telemetry_api_key?u?e.telemetry_api_key:"\u2022".repeat(24):"Not available")),he.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},he.default.createElement("button",{onClick:()=>c(!u),className:"px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},u?"Hide":"Show"),he.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(ne());var eU={openai:{label:"OpenAI",icon:"\u{1F916}",placeholder:"sk-\u2026"},anthropic:{label:"Anthropic",icon:"\u{1F9E0}",placeholder:"sk-ant-\u2026"},openrouter:{label:"OpenRouter",icon:"\u{1F500}",placeholder:"sk-or-\u2026"},ollama:{label:"Ollama",icon:"\u{1F999}",placeholder:"http://localhost:11434/v1"}};function $_({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=kt(),[a,o]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[m,g]=(0,me.useState)(!1),[h,v]=(0,me.useState)(null),[y,b]=(0,me.useState)(!1),[x,S]=(0,me.useState)(null),[w,O]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,W]=(0,me.useState)(!1),L=(0,me.useCallback)(async()=>{try{let[P,B]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!P.ok||!B.ok)throw new Error("Failed to load keys");let R=await P.json(),F=await B.json();l(R.api_keys||[]),u(F.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{a==="api-keys"&&!c&&L()},[a,c,L]);let H=async()=>{if(!(!f.trim()||m)){g(!0),S(null);try{let P=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!P.ok)throw new Error("create failed");let B=await P.json();v(B.api_key),b(!1),p(""),await L()}catch{S("Could not create the API key.")}finally{g(!1)}}},D=async P=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===P&&v(null),await L()}catch{S("Could not revoke the API key.")}},Y=async P=>{if(!(!k.trim()||M)){W(!0),S(null);try{let B=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:P,credential:k.trim()})});if(!B.ok){let R=await B.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}O(null),A(""),await L()}catch(B){S(`Could not save the ${eU[P]?.label||P} credential${B.message!=="save failed"?`: ${B.message}`:"."}`)}finally{W(!1)}}},N=async P=>{if(window.confirm("Remove this provider credential? Runs will fall back to the platform default credentials, or fail until a key is configured."))try{if(!(await fetch(`/api/provider_keys/${P}`,{method:"DELETE"})).ok)throw new Error("delete failed");await L()}catch{S("Could not remove the provider credential.")}},_=async P=>{try{await navigator.clipboard.writeText(P),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(P=>me.default.createElement("button",{key:P.id,onClick:()=>o(P.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${a===P.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},P.label)))),a==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),a==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:P=>p(P.target.value),onKeyDown:P=>P.key==="Enter"&&H(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:H,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},y?"Copied!":"Copy"),me.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(P=>me.default.createElement("div",{key:P.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},P.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(P.created_at).toLocaleDateString(),P.last_used_at?` \xB7 last used ${new Date(P.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>D(P.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:P,host_based:B,configured:R,hint:F})=>{let G=eU[P]||{label:P,icon:"\u{1F511}",placeholder:""},ee=w===P;return me.default.createElement("div",{key:P,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},G.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},G.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?B?F:`Configured (${F})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!ee&&me.default.createElement("button",{onClick:()=>N(P),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{O(ee?null:P),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},ee?"Cancel":R?"Update":"Configure"))),ee&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:B?"text":"password",value:k,onChange:fe=>A(fe.target.value),onKeyDown:fe=>fe.key==="Enter"&&Y(P),placeholder:B?G.placeholder:`${G.label} API key (${G.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(P),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),B&&ee&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),a==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((P,B)=>me.default.createElement("div",{key:B,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},P.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},P.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${P.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${P.enabled?"translate-x-6":"translate-x-1"}`})))))),a==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Me=te(ne());var gce=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],U_={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},To={color:"var(--color-text-muted)",fontSize:12};function tU(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Ge(t):null}function yce({card:e,onAsk:t,busy:r}){let n=tU(e),a=e.type==="demo_candidate",o=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Me.default.createElement(yr,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Me.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Me.default.createElement(or,{tone:a?"warning":"info"},a?"Historical pass":"Recorded evaluation"),i&&Me.default.createElement(or,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Me.default.createElement("span",{style:To},String(e.check_strength).replaceAll("_"," "))),Me.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Me.default.createElement("div",{style:{...To,fontFamily:ye}},[e.provider,e.model,o&&`run ${o}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Me.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Me.default.createElement("div",{style:To},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Me.default.createElement("div",{style:To},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Me.default.createElement("div",{style:To},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Me.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Me.default.createElement("li",{key:u},s)))),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Me.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Ge("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&o&&Me.default.createElement(zr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${o}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function hce({draft:e,onReview:t}){return Me.default.createElement(yr,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Me.default.createElement(rt,null,"Agent draft \xB7 not saved"),Me.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Me.default.createElement("div",{style:{...To,fontFamily:ye}},e.provider," / ",e.model),Me.default.createElement("details",null,Me.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Me.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Me.default.createElement("p",{style:To},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Me.default.createElement(zr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function F_({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:a=!0}){let[o,i]=(0,Me.useState)(null),[l,s]=(0,Me.useState)(""),[u,c]=(0,Me.useState)(!1),[d,f]=(0,Me.useState)(null),[p,m]=(0,Me.useState)(!1),g=(0,Me.useRef)(null),h=(0,Me.useRef)(null),v=(0,Me.useRef)(e);v.current=e,(0,Me.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),g.current?.abort()}},[]);let y=e.messages||[],b=e.provider||o?.defaults?.provider||"",x=e.model||"",S=o?.limits?.message_characters||8e3,w=o?.providers?.find(k=>k.id===b),O=async k=>{let A=k.trim();if(!A||u||!o||!a||!x.trim()||!p)return;let M=y.map(H=>({role:H.role,content:H.content})).slice(-12);for(;M.reduce((H,D)=>H+D.content.length,0)>24e3;)M.shift();let W=[...y,{role:"user",content:A}];t({...e,messages:W}),s(""),f(null),c(!0);let L=new AbortController;g.current=L;try{let H=await fetch("/api/dashboard_assistant",{method:"POST",signal:L.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),D=await H.json();if(!H.ok){f({message:typeof D.error=="string"?D.error:"The assistant could not complete this request.",setup:D.setup_required,retry:A}),t({...e,messages:y}),s(A);return}t({...e,messages:[...W,{role:"assistant",content:D.answer,cards:D.cards||[],references:D.references||[],drafts:D.drafts||[],limitations:D.limitations||[]}]})}catch(H){H.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:y}),s(A))}finally{c(!1)}};return Me.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Me.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Me.default.createElement("div",null,Me.default.createElement(rt,null,"Workspace assistant"),Me.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Me.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),y.length>0&&Me.default.createElement(zr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!y.length&&Me.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},gce.map(k=>Me.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Me.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Me.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Me.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},y.map((k,A)=>Me.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Me.default.createElement(rt,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Me.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Me.default.createElement(yce,{key:M.id,card:M,onAsk:W=>{s(W),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Me.default.createElement("div",{"aria-label":"Evidence references",style:{...To,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let W=tU(M);return W&&Me.default.createElement("a",{key:M.id,href:W,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Me.default.createElement(hce,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Me.default.createElement("details",{style:To},Me.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Me.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,W)=>Me.default.createElement("li",{key:W},M)))))),u&&Me.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Me.default.createElement(yr,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Me.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Me.default.createElement(zr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Me.default.createElement(yr,{padding:18},Me.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),O(l)},style:{display:"grid",gap:14}},Me.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Me.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{...U_,resize:"vertical",boxSizing:"border-box"}}),Me.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Me.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!o,onChange:k=>{let A=o.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:U_},Me.default.createElement("option",{value:""},o?"Choose a provider\u2026":"Loading\u2026"),o?.providers?.map(k=>Me.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Me.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Me.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!o,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:U_})),Me.default.createElement(zr,{variant:"primary",type:"submit",disabled:u||!o||!l.trim()||!x.trim()||!a||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Me.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Me.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!o,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Me.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Me.default.createElement("div",{style:{...To,lineHeight:1.5}},a?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function xce({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:a=null}){let{darkMode:o}=kt(),[i,l]=(0,Ze.useState)(t),[s,u]=(0,Ze.useState)("list"),[c,d]=(0,Ze.useState)(null),[f,p]=(0,Ze.useState)(!1),[m,g]=(0,Ze.useState)(null),[h,v]=(0,Ze.useState)(!1),[y,b]=(0,Ze.useState)("recent"),[x,S]=(0,Ze.useState)({messages:[]}),[w,O]=(0,Ze.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,Ze.useState)(null);(0,Ze.useEffect)(()=>{let F=()=>{let G=Xu();if(G==="/assistant"&&k)u("assistant");else if(G.startsWith("/traces"))u("traces");else if(G.startsWith("/metrics"))u("metrics");else if(G.startsWith("/interactions"))u("interactions");else if(G.startsWith("/tools"))u("tools");else if(G.startsWith("/mcp")){let ee=G.match(/^\/mcp\/([^/?#]+)/)?.[1];ee&&M(decodeURIComponent(ee)),u("mcp")}else if(G.startsWith("/evaluations"))u("evaluations");else if(G.startsWith("/analytics"))u("analytics");else if(G.startsWith("/agents/new"))u("builder");else if(G.match(/\/agents\/\d+\/(interactions|history)/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];G.includes("/history")&&window.history.replaceState({},"",G.replace("/history","/interactions")),ee&&W(ee,"history")}else if(G.match(/\/agents\/\d+\/analytics/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"agent-analytics")}else if(G.match(/\/agents\/\d+\/edit/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"editor")}else if(G.match(/\/agents\/\d+\/run/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"runner")}else if(G.match(/\/agents\/\d+\/?$/)){let ee=G.match(/\/agents\/(\d+)/)?.[1];ee&&W(ee,"history")}else G.startsWith("/replay")?u("replay"):G.startsWith("/sandbox")||G.startsWith("/demo")?u("sandbox"):G.startsWith("/organization")?u("organization"):G.startsWith("/settings")?u("settings"):u("list")};return F(),window.addEventListener("popstate",F),window.addEventListener("dashboard:navigate",F),()=>{window.removeEventListener("popstate",F),window.removeEventListener("dashboard:navigate",F)}},[]);let W=async(F,G)=>{p(!0);try{let fe=await(await fetch(`/api/agents/${F}`)).json();d(fe.agent),u(G)}catch{D("Failed to load agent","error")}finally{p(!1)}},L=async(F=y)=>{p(!0);try{let ee=await(await fetch(`/api/agents?sort=${F}`)).json();l(ee.agents)}catch{D("Failed to refresh agents","error")}finally{p(!1)}},H=F=>{b(F),L(F)},D=(F,G="info")=>{g({message:F,type:G}),setTimeout(()=>g(null),3e3)},Y=async F=>{p(!0);try{let G=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:F})});if(G.ok){let ee=await G.json();l([ee.agent,...i]),d(ee.agent),u("editor"),D("Agent created successfully!","success"),window.history.pushState({},"",Ge(`/agents/${ee.agent.id}/edit`))}else{let ee=await G.json();D(ee.errors?.join(", ")||"Failed to create agent","error")}}catch{D("Failed to create agent","error")}finally{p(!1)}},N=async(F,G)=>{p(!0);try{let ee=await fetch(`/api/agents/${F}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:G})});if(ee.ok){let fe=await ee.json();l(i.map(de=>de.id===F?fe.agent:de)),d(fe.agent),D("Agent updated!","success")}else{let fe=await ee.json();D(fe.errors?.join(", ")||"Failed to update agent","error")}}catch{D("Failed to update agent","error")}finally{p(!1)}},_=async F=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${F}`,{method:"DELETE"})).ok&&(l(i.filter(ee=>ee.id!==F)),d(null),u("list"),D("Agent deleted","success"),window.history.pushState({},"",Ge()))}catch{D("Failed to delete agent","error")}finally{p(!1)}}},z=async F=>{p(!0);try{let G=await fetch(`/api/agents/${F}/duplicate`,{method:"POST"});if(G.ok){let ee=await G.json();l([ee.agent,...i]),D("Agent duplicated!","success")}}catch{D("Failed to duplicate agent","error")}finally{p(!1)}},j=F=>{l([F,...i]),v(!1),D("Agent created from template!","success"),B("editor",F)},P=["editor","runner","agent-analytics","history"],B=(F,G=null)=>{if(F==="assistant"&&!k)return;F==="builder"&&O(null),G?.id&&P.includes(F)&&G.instructions===void 0?W(G.id,F):(d(G),u(F));let ee=Ge();F==="assistant"?ee=Ge("/assistant"):F==="builder"?ee=Ge("/agents/new"):F==="editor"&&G?ee=Ge(`/agents/${G.id}/edit`):F==="runner"&&G?ee=Ge(`/agents/${G.id}/run`):F==="agent-analytics"&&G?ee=Ge(`/agents/${G.id}/analytics`):F==="history"&&G?ee=Ge(`/agents/${G.id}/interactions`):F==="analytics"?ee=Ge("/analytics"):F==="traces"?ee=Ge("/traces"):F==="metrics"?ee=Ge("/metrics"):F==="interactions"?ee=Ge("/interactions"):F==="tools"?ee=Ge("/tools"):F==="mcp"?ee=Ge("/mcp"):F==="evaluations"?ee=Ge("/evaluations"):F==="replay"?ee=Ge("/replay"):F==="sandbox"?ee=Ge("/sandbox"):F==="organization"?ee=Ge("/organization"):F==="settings"&&(ee=Ge("/settings")),window.history.pushState({},"",ee)},R=()=>{switch(s){case"assistant":return k?Ze.default.createElement(F_,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>B("settings"),onReviewDraft:F=>{O(F),u("builder"),window.history.pushState({},"",Ge("/agents/new"))}}):null;case"builder":return Ze.default.createElement(tA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>B(w?"assistant":"list"),isLoading:f});case"editor":return c?Ze.default.createElement(K1,{key:`editor-${c.id}`,agent:c,meta:r,onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"runner":return c?Ze.default.createElement(f_,{agent:c,onBack:()=>B("editor",c)}):null;case"agent-analytics":return c?Ze.default.createElement(K1,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:F=>N(c.id,F),onDelete:()=>_(c.id),onRun:()=>B("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>B("history",c),onBack:()=>B("list"),isLoading:f}):null;case"history":return c?Ze.default.createElement(m_,{agent:c,onBack:()=>B("editor",c)}):null;case"analytics":return Ze.default.createElement(p_,{onSelectAgent:F=>{W(F.id,"agent-analytics")}});case"traces":return Ze.default.createElement(Zu,null);case"metrics":return Ze.default.createElement(E_,null);case"interactions":return Ze.default.createElement(rl,null);case"tools":return Ze.default.createElement(__,{onOpenServer:F=>{M(F),B("mcp")}});case"mcp":return Ze.default.createElement(O_,{focusServer:A,onOpenTools:()=>{M(null),B("tools")}});case"evaluations":return Ze.default.createElement(eg,null);case"replay":return Ze.default.createElement(L_,{onHandoff:F=>{D("Taking over session...","info"),B("sandbox")},onClose:()=>B("list")});case"sandbox":return Ze.default.createElement(j_,{initialType:"playwright_mcp",onClose:()=>B("list")});case"organization":return Ze.default.createElement(B_,{user:e,account:n,subscription:a,agentCount:i.length});case"settings":return Ze.default.createElement($_,{user:e});default:return Ze.default.createElement(eA,{agents:i,meta:r,onSelect:F=>B("editor",F),onNew:()=>B("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:L,sort:y,onSortChange:H,isLoading:f})}};return Ze.default.createElement("div",{className:`aa-dashboard min-h-screen flex${o?" theme-dark":""}`,style:{backgroundColor:o?"#0f0f0f":"#f9fafb"}},Ze.default.createElement(g_,{currentView:s,onNavigate:B,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),Ze.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},Ze.default.createElement(y_,{user:e,account:n}),Ze.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&Ze.default.createElement(v_,{onUseTemplate:j,onClose:()=>v(!1)}),m&&Ze.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&Ze.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},Ze.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${o?"bg-gray-800":"bg-white"}`},Ze.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function W_(e){return Ze.default.createElement(L3,null,Ze.default.createElement(w7,null,Ze.default.createElement(xce,{...e})))}var bce="active-agent-dashboard";function wce(e){let t=e.replace(/\/$/,"");if(!t)return;let r=window.fetch.bind(window);window.fetch=(n,a)=>{if(typeof n=="string"&&n.startsWith("/api/"))return r(`${t}${n}`,a);if(n instanceof Request&&new URL(n.url,window.location.origin).pathname.startsWith("/api/")){let o=new URL(n.url,window.location.origin);return r(new Request(`${t}${o.pathname}${o.search}`,n),a)}return r(n,a)}}function rU(){let e=document.getElementById(bce);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,wce(t.mountPath||"/"),(0,aU.createRoot)(e).render(nU.default.createElement(W_,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",rU):rU(); + api_key: <%= ENV["ACTIVEAGENTS_API_KEY"] %>`),be.default.createElement("div",{className:"flex items-center justify-between gap-3"},be.default.createElement("div",{className:"min-w-0 flex-1"},be.default.createElement("p",{className:`text-xs uppercase tracking-wide mb-1 ${o?"text-gray-500":"text-gray-400"}`},"API Key"),be.default.createElement("code",{className:`block truncate text-sm font-mono px-3 py-2 rounded-lg border ${o?"bg-gray-900 border-gray-700 text-gray-300":"bg-gray-50 border-gray-200 text-gray-700"}`},e?.telemetry_api_key?u?e.telemetry_api_key:"\u2022".repeat(24):"Not available")),be.default.createElement("div",{className:"flex gap-2 flex-shrink-0 self-end"},be.default.createElement("button",{onClick:()=>c(!u),className:"px-3 py-2 text-sm bg-gray-100 text-gray-700 rounded-lg hover:bg-gray-200 transition-colors"},u?"Hide":"Show"),be.default.createElement("button",{onClick:h,className:"px-3 py-2 text-sm bg-red-500 text-white rounded-lg hover:bg-red-600 transition-colors"},l?"Copied!":"Copy")))))}var me=te(re());var JF={openai:{label:"OpenAI",icon:"\u{1F916}",placeholder:"sk-\u2026"},anthropic:{label:"Anthropic",icon:"\u{1F9E0}",placeholder:"sk-ant-\u2026"},openrouter:{label:"OpenRouter",icon:"\u{1F500}",placeholder:"sk-or-\u2026"},ollama:{label:"Ollama",icon:"\u{1F999}",placeholder:"http://localhost:11434/v1"}};function N5({user:e,account:t}){let{darkMode:r,toggleDarkMode:n}=Nt(),[o,a]=(0,me.useState)("profile"),[i,l]=(0,me.useState)([]),[s,u]=(0,me.useState)([]),[c,d]=(0,me.useState)(!1),[f,p]=(0,me.useState)(""),[m,g]=(0,me.useState)(!1),[h,v]=(0,me.useState)(null),[y,b]=(0,me.useState)(!1),[x,S]=(0,me.useState)(null),[w,T]=(0,me.useState)(null),[k,A]=(0,me.useState)(""),[M,H]=(0,me.useState)(!1),F=(0,me.useCallback)(async()=>{try{let[E,j]=await Promise.all([fetch("/api/api_keys"),fetch("/api/provider_keys")]);if(!E.ok||!j.ok)throw new Error("Failed to load keys");let R=await E.json(),U=await j.json();l(R.api_keys||[]),u(U.provider_keys||[]),S(null)}catch{S("Could not load API keys. Are you signed in?")}finally{d(!0)}},[]);(0,me.useEffect)(()=>{o==="api-keys"&&!c&&F()},[o,c,F]);let X=async()=>{if(!(!f.trim()||m)){g(!0),S(null);try{let E=await fetch("/api/api_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f.trim()})});if(!E.ok)throw new Error("create failed");let j=await E.json();v(j.api_key),b(!1),p(""),await F()}catch{S("Could not create the API key.")}finally{g(!1)}}},P=async E=>{if(window.confirm("Revoke this API key? Requests using it will stop working immediately."))try{if(!(await fetch(`/api/api_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");h&&h.id===E&&v(null),await F()}catch{S("Could not revoke the API key.")}},Y=async E=>{if(!(!k.trim()||M)){H(!0),S(null);try{let j=await fetch("/api/provider_keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:E,credential:k.trim()})});if(!j.ok){let R=await j.json().catch(()=>({}));throw new Error(Array.isArray(R.error)?R.error.join(", "):"save failed")}T(null),A(""),await F()}catch(j){S(`Could not save the ${JF[E]?.label||E} credential${j.message!=="save failed"?`: ${j.message}`:"."}`)}finally{H(!1)}}},C=async E=>{if(window.confirm("Remove this provider credential? Runs will fall back to the platform default credentials, or fail until a key is configured."))try{if(!(await fetch(`/api/provider_keys/${E}`,{method:"DELETE"})).ok)throw new Error("delete failed");await F()}catch{S("Could not remove the provider credential.")}},_=async E=>{try{await navigator.clipboard.writeText(E),b(!0),setTimeout(()=>b(!1),2e3)}catch{}},z={backgroundColor:r?"#1f1f1f":"#ffffff",borderColor:r?"#2a2a2a":"#e5e7eb"};return me.default.createElement("div",{className:"p-6 space-y-6"},me.default.createElement("div",null,me.default.createElement("h2",{className:`text-2xl font-bold ${r?"text-white":"text-gray-900"}`},"Settings"),me.default.createElement("p",{className:`mt-1 ${r?"text-gray-400":"text-gray-500"}`},"Manage your account and preferences")),me.default.createElement("div",{className:"border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("nav",{className:"flex space-x-8"},[{id:"profile",label:"Profile"},{id:"api-keys",label:"API Keys"},{id:"notifications",label:"Notifications"},{id:"billing",label:"Billing"}].map(E=>me.default.createElement("button",{key:E.id,onClick:()=>a(E.id),className:`py-4 px-1 border-b-2 font-medium text-sm transition-colors ${o===E.id?"border-red-500 text-red-500":`border-transparent ${r?"text-gray-400 hover:text-gray-300":"text-gray-500 hover:text-gray-700"}`}`},E.label)))),o==="profile"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Profile Information"),me.default.createElement("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4"},me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"First Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[0]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",null,me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Last Name"),me.default.createElement("input",{type:"text",defaultValue:e?.name?.split(" ")[1]||"",className:`w-full px-3 py-2 border rounded-lg ${r?"bg-gray-800 border-gray-700 text-white":"bg-white border-gray-300 text-gray-900"}`})),me.default.createElement("div",{className:"md:col-span-2"},me.default.createElement("label",{className:`block text-sm font-medium mb-1 ${r?"text-gray-300":"text-gray-700"}`},"Email"),me.default.createElement("input",{type:"email",defaultValue:e?.email||"",disabled:!0,className:`w-full px-3 py-2 border rounded-lg cursor-not-allowed ${r?"bg-gray-900 border-gray-700 text-gray-500":"bg-gray-100 border-gray-300 text-gray-500"}`}))),me.default.createElement("button",{className:"mt-4 px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Save Changes")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Appearance"),me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Dark Mode"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Use dark theme across the dashboard")),me.default.createElement("button",{onClick:n,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${r?"bg-red-500":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${r?"translate-x-6":"translate-x-1"}`}))))),o==="api-keys"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("div",{className:"flex items-center justify-between mb-4"},me.default.createElement("h3",{className:`text-lg font-semibold ${r?"text-white":"text-gray-900"}`},"API Keys"),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("input",{type:"text",value:f,onChange:E=>p(E.target.value),onKeyDown:E=>E.key==="Enter"&&X(),placeholder:"Key name (e.g. production)",className:`px-3 py-2 border rounded-lg text-sm ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:X,disabled:!f.trim()||m,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 whitespace-nowrap"},m?"Creating\u2026":"+ Create New Key"))),me.default.createElement("div",{className:`p-4 rounded-lg mb-4 ${r?"bg-yellow-900/20 border border-yellow-800":"bg-yellow-50 border border-yellow-200"}`},me.default.createElement("p",{className:`text-sm ${r?"text-yellow-300":"text-yellow-800"}`},"\u26A0\uFE0F API keys are secrets. Never share them or commit them to version control.")),x&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 text-sm ${r?"bg-red-900/20 border border-red-800 text-red-300":"bg-red-50 border border-red-200 text-red-700"}`},x),h&&me.default.createElement("div",{className:`p-4 rounded-lg mb-4 border ${r?"bg-green-900/20 border-green-800":"bg-green-50 border-green-200"}`},me.default.createElement("p",{className:`text-sm font-medium mb-2 ${r?"text-green-300":"text-green-800"}`},"Key \u201C",h.name,"\u201D created. Copy it now \u2014 it won't be shown again."),me.default.createElement("div",{className:"flex items-center space-x-2"},me.default.createElement("code",{className:`flex-1 px-3 py-2 rounded text-sm font-mono break-all ${r?"bg-gray-900 text-green-300":"bg-white text-green-800 border border-green-200"}`},h.token),me.default.createElement("button",{onClick:()=>_(h.token),className:`px-3 py-2 text-sm rounded ${r?"bg-gray-700 text-gray-200 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},y?"Copied!":"Copy"),me.default.createElement("button",{onClick:()=>v(null),className:`px-3 py-2 text-sm rounded ${r?"text-gray-400 hover:text-gray-200":"text-gray-500 hover:text-gray-700"}`},"Dismiss"))),i.length===0?me.default.createElement("div",{className:`text-center py-8 ${r?"text-gray-400":"text-gray-500"}`},me.default.createElement("p",null,c?"No API keys yet":"Loading\u2026"),c&&me.default.createElement("p",{className:"text-sm"},"Create your first API key to authenticate requests")):me.default.createElement("div",{className:"space-y-2"},i.map(E=>me.default.createElement("div",{key:E.id,className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.name),me.default.createElement("p",{className:`text-sm font-mono ${r?"text-gray-400":"text-gray-500"}`},E.masked_token,me.default.createElement("span",{className:"font-sans"}," \xB7 created ",new Date(E.created_at).toLocaleDateString(),E.last_used_at?` \xB7 last used ${new Date(E.last_used_at).toLocaleDateString()}`:" \xB7 never used"))),me.default.createElement("button",{onClick:()=>P(E.id),className:`px-3 py-1 text-sm rounded ${r?"bg-red-900/40 text-red-300 hover:bg-red-900/60":"bg-red-50 text-red-600 hover:bg-red-100"}`},"Revoke"))))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Provider API Keys"),me.default.createElement("p",{className:`text-sm mb-4 ${r?"text-gray-400":"text-gray-500"}`},"Configure your own LLM provider credentials. Agent runs and evaluations on this account use these instead of the platform defaults. Keys are encrypted at rest."),me.default.createElement("div",{className:"space-y-4"},s.map(({provider:E,host_based:j,configured:R,hint:U})=>{let L=JF[E]||{label:E,icon:"\u{1F511}",placeholder:""},K=w===E;return me.default.createElement("div",{key:E,className:"p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",{className:"flex items-center justify-between"},me.default.createElement("div",{className:"flex items-center space-x-3"},me.default.createElement("span",{className:"text-xl"},L.icon),me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},L.label),me.default.createElement("p",{className:`text-sm ${R?r?"text-green-400":"text-green-600":r?"text-gray-400":"text-gray-500"}`},R?j?U:`Configured (${U})`:"Not configured"))),me.default.createElement("div",{className:"flex items-center space-x-2"},R&&!K&&me.default.createElement("button",{onClick:()=>C(E),className:`px-3 py-1 text-sm rounded ${r?"text-red-300 hover:bg-red-900/40":"text-red-600 hover:bg-red-50"}`},"Remove"),me.default.createElement("button",{onClick:()=>{T(K?null:E),A("")},className:`px-3 py-1 text-sm rounded ${r?"bg-gray-700 text-gray-300 hover:bg-gray-600":"bg-gray-200 text-gray-700 hover:bg-gray-300"}`},K?"Cancel":R?"Update":"Configure"))),K&&me.default.createElement("div",{className:"mt-3 flex items-center space-x-2"},me.default.createElement("input",{type:j?"text":"password",value:k,onChange:ae=>A(ae.target.value),onKeyDown:ae=>ae.key==="Enter"&&Y(E),placeholder:j?L.placeholder:`${L.label} API key (${L.placeholder})`,autoFocus:!0,className:`flex-1 px-3 py-2 border rounded-lg text-sm font-mono ${r?"bg-gray-800 border-gray-700 text-white placeholder-gray-500":"bg-white border-gray-300 text-gray-900"}`}),me.default.createElement("button",{onClick:()=>Y(E),disabled:!k.trim()||M,className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600 disabled:opacity-50 text-sm"},M?"Saving\u2026":"Save")),j&&K&&me.default.createElement("p",{className:`mt-2 text-xs ${r?"text-gray-500":"text-gray-400"}`},"URL of your Ollama server's OpenAI-compatible endpoint. For a locally running Ollama use http://localhost:11434/v1 (the hosted platform needs a publicly reachable URL, e.g. a tunnel)."))})))),o==="notifications"&&me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Email Notifications"),me.default.createElement("div",{className:"space-y-4"},[{label:"Agent execution alerts",desc:"Get notified when agents fail or complete",enabled:!0},{label:"Weekly usage reports",desc:"Summary of traces, costs, and performance",enabled:!0},{label:"Security alerts",desc:"Important security notifications",enabled:!0},{label:"Product updates",desc:"New features and improvements",enabled:!1}].map((E,j)=>me.default.createElement("div",{key:j,className:"flex items-center justify-between py-3 border-b",style:{borderColor:r?"#2a2a2a":"#e5e7eb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},E.label),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},E.desc)),me.default.createElement("button",{className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${E.enabled?"bg-red-500":r?"bg-gray-700":"bg-gray-300"}`},me.default.createElement("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${E.enabled?"translate-x-6":"translate-x-1"}`})))))),o==="billing"&&me.default.createElement("div",{className:"space-y-6"},me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Subscription"),me.default.createElement("div",{className:"flex items-center justify-between p-4 rounded-lg",style:{backgroundColor:r?"#252525":"#f9fafb"}},me.default.createElement("div",null,me.default.createElement("p",{className:`font-medium ${r?"text-white":"text-gray-900"}`},"Free Plan"),me.default.createElement("p",{className:`text-sm ${r?"text-gray-400":"text-gray-500"}`},"Current plan")),me.default.createElement("button",{className:"px-4 py-2 bg-red-500 text-white rounded-lg hover:bg-red-600"},"Upgrade to Pro"))),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Payment Method"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No payment method on file"),me.default.createElement("button",{className:`mt-4 px-4 py-2 rounded-lg ${r?"bg-gray-700 text-gray-300":"bg-gray-200 text-gray-700"}`},"Add Payment Method")),me.default.createElement("div",{className:"border rounded-lg p-6",style:z},me.default.createElement("h3",{className:`text-lg font-semibold mb-4 ${r?"text-white":"text-gray-900"}`},"Invoices"),me.default.createElement("p",{className:`${r?"text-gray-400":"text-gray-500"}`},"No invoices yet"))))}var Pe=te(re());var hde=[{label:"Find demo questions",message:"What demo questions worked in our latest evaluations? Show the evidence and tell me whether they are verified on current main."},{label:"Explain a failed eval",message:"Show my latest evaluation reports and explain which failures need attention."},{label:"Draft an agent",message:"Prepare a read-only support agent that cites available evidence and explains missing information instead of inventing answers."}],_5={width:"100%",background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border-strong)",borderRadius:8,padding:"9px 12px",font:"inherit"},Wa={color:"var(--color-text-muted)",fontSize:12};function RF(e){let t=e.latest_run?.path||e.path||"";return/^\/evaluations(?:\/\d+\/runs\/\d+\/report)?$/.test(t)?Re(t):null}function xde({card:e,onAsk:t,busy:r}){let n=RF(e),o=e.type==="demo_candidate",a=e.run_id||e.latest_run?.run_id,i=e.status||e.latest_run?.status;return Pe.default.createElement(ht,{padding:16,testId:"assistant-evidence-card",style:{display:"grid",gap:10}},Pe.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8,flexWrap:"wrap"}},Pe.default.createElement(Tt,{tone:o?"warning":"info"},o?"Historical pass":"Recorded evaluation"),i&&Pe.default.createElement(Tt,{tone:i==="errored"||i==="failed"?"error":"muted"},i),e.check_strength&&Pe.default.createElement("span",{style:Wa},String(e.check_strength).replaceAll("_"," "))),Pe.default.createElement("div",{style:{fontWeight:600,overflowWrap:"anywhere"}},e.recorded_prompt||e.title),Pe.default.createElement("div",{style:{...Wa,fontFamily:ce}},[e.provider,e.model,a&&`run ${a}`].filter(Boolean).join(" \xB7 "),e.completed_at&&` \xB7 ${new Date(e.completed_at).toLocaleString()}`),e.output_excerpt&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-text-secondary)"}},e.output_excerpt),(e.error||e.latest_run?.error)&&Pe.default.createElement("div",{style:{fontSize:13,whiteSpace:"pre-wrap",color:"var(--color-error)"}},e.error||e.latest_run.error),e.fault&&Pe.default.createElement("div",{style:Wa},"Fault: ",e.fault.replaceAll("_"," ")),e.samples_evaluated!=null&&Pe.default.createElement("div",{style:Wa},e.samples_passed||0," / ",e.samples_evaluated," scenarios passed"),e.tool_names?.length>0&&Pe.default.createElement("div",{style:Wa},"Tools recorded: ",e.tool_names.join(", ")),Array.isArray(e.caveats)&&e.caveats.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Evidence limits"),Pe.default.createElement("ul",{style:{paddingLeft:18,marginTop:8}},e.caveats.map((s,u)=>Pe.default.createElement("li",{key:u},s)))),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"center",flexWrap:"wrap"}},n&&Pe.default.createElement("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontSize:13,color:"var(--color-accent-ui)"}},n===Re("/evaluations")?"Open evaluations \u2192":"Open report \u2192"),e.evaluation_id&&a&&Pe.default.createElement(mr,{size:"sm",disabled:r,onClick:()=>t(`Read evaluation ${e.evaluation_id}, run ${a}. Explain its results, the strength of its checks, and what needs fixing.`)},"Explain this run")))}function bde({draft:e,onReview:t}){return Pe.default.createElement(ht,{padding:18,testId:"assistant-agent-draft",style:{display:"grid",gap:12,borderColor:"var(--color-accent-ui)"}},Pe.default.createElement(et,null,"Agent draft \xB7 not saved"),Pe.default.createElement("div",{style:{fontWeight:600,fontSize:18}},e.name),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:13}},e.description),Pe.default.createElement("div",{style:{...Wa,fontFamily:ce}},e.provider," / ",e.model),Pe.default.createElement("details",null,Pe.default.createElement("summary",{style:{cursor:"pointer",fontSize:13}},"Review instructions and tools"),Pe.default.createElement("pre",{style:{whiteSpace:"pre-wrap",fontFamily:"inherit",fontSize:13,maxHeight:280,overflow:"auto"}},e.instructions),Pe.default.createElement("p",{style:Wa},"Tools: ",e.tools?.length?e.tools.join(", "):"None")),Pe.default.createElement(mr,{variant:"primary",onClick:()=>t(e),style:{justifySelf:"start"}},"Review in builder \u2192"))}function E5({session:e,onSessionChange:t,onReviewDraft:r,onOpenSettings:n,executionEnabled:o=!0}){let[a,i]=(0,Pe.useState)(null),[l,s]=(0,Pe.useState)(""),[u,c]=(0,Pe.useState)(!1),[d,f]=(0,Pe.useState)(null),[p,m]=(0,Pe.useState)(!1),g=(0,Pe.useRef)(null),h=(0,Pe.useRef)(null),v=(0,Pe.useRef)(e);v.current=e,(0,Pe.useEffect)(()=>{let k=new AbortController;return fetch("/api/dashboard_assistant",{signal:k.signal}).then(async A=>{let M=await A.json();if(!A.ok)throw new Error(M.error||"Could not load assistant configuration.");i(M),v.current.provider||t({...v.current,...M.defaults})}).catch(A=>{A.name!=="AbortError"&&f({message:A.message})}),()=>{k.abort(),g.current?.abort()}},[]);let y=e.messages||[],b=e.provider||a?.defaults?.provider||"",x=e.model||"",S=a?.limits?.message_characters||8e3,w=a?.providers?.find(k=>k.id===b),T=async k=>{let A=k.trim();if(!A||u||!a||!o||!x.trim()||!p)return;let M=y.map(X=>({role:X.role,content:X.content})).slice(-12);for(;M.reduce((X,P)=>X+P.content.length,0)>24e3;)M.shift();let H=[...y,{role:"user",content:A}];t({...e,messages:H}),s(""),f(null),c(!0);let F=new AbortController;g.current=F;try{let X=await fetch("/api/dashboard_assistant",{method:"POST",signal:F.signal,headers:{"Content-Type":"application/json","X-CSRF-Token":document.querySelector('meta[name="csrf-token"]')?.content||""},body:JSON.stringify({message:A,history:M,provider:b,model:x.trim(),allow_provider_processing:!0})}),P=await X.json();if(!X.ok){f({message:typeof P.error=="string"?P.error:"The assistant could not complete this request.",setup:P.setup_required,retry:A}),t({...e,messages:y}),s(A);return}t({...e,messages:[...H,{role:"assistant",content:P.answer,cards:P.cards||[],references:P.references||[],drafts:P.drafts||[],limitations:P.limitations||[]}]})}catch(X){X.name!=="AbortError"&&(f({message:"Connection interrupted. No answer was received; the server may still be finishing the request."}),t({...e,messages:y}),s(A))}finally{c(!1)}};return Pe.default.createElement("div",{style:{maxWidth:980,margin:"0 auto",color:"var(--color-text-primary)",display:"grid",gap:22}},Pe.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",gap:16,alignItems:"start"}},Pe.default.createElement("div",null,Pe.default.createElement(et,null,"Workspace assistant"),Pe.default.createElement("h1",{style:{margin:"8px 0",fontSize:30,fontWeight:600,letterSpacing:"-0.035em"}},"Ask ActiveAgents"),Pe.default.createElement("p",{style:{margin:0,color:"var(--color-text-secondary)",fontSize:14}},"Find evaluation evidence. Understand failures. Build the next agent.")),y.length>0&&Pe.default.createElement(mr,{disabled:u,onClick:()=>{t({...e,messages:[]}),f(null),s(""),m(!1)}},"New conversation")),!y.length&&Pe.default.createElement("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:12}},hde.map(k=>Pe.default.createElement("button",{key:k.label,onClick:()=>{s(k.message),h.current?.querySelector("textarea")?.focus()},style:{textAlign:"left",padding:20,background:"var(--color-card)",color:"var(--color-text-primary)",border:"1px solid var(--color-border)",borderRadius:12,cursor:"pointer"}},Pe.default.createElement("div",{style:{fontSize:14,fontWeight:600,marginBottom:8}},k.label," \u2197"),Pe.default.createElement("div",{style:{fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},k.message)))),Pe.default.createElement("div",{role:"log","aria-label":"Assistant conversation","aria-live":"polite",style:{display:"grid",gap:20}},y.map((k,A)=>Pe.default.createElement("div",{key:A,style:{display:"grid",gap:12}},Pe.default.createElement(et,{color:k.role==="user"?"var(--color-text-muted)":"var(--color-accent-ui)"},k.role==="user"?"You":"ActiveAgents"),Pe.default.createElement("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere",lineHeight:1.7,fontSize:14}},k.content),k.cards?.map(M=>Pe.default.createElement(xde,{key:M.id,card:M,onAsk:H=>{s(H),h.current?.querySelector("textarea")?.focus()},busy:u})),k.references?.length>0&&Pe.default.createElement("div",{"aria-label":"Evidence references",style:{...Wa,display:"flex",gap:12,flexWrap:"wrap"}},k.references.map(M=>{let H=RF(M);return H&&Pe.default.createElement("a",{key:M.id,href:H,target:"_blank",rel:"noopener noreferrer",style:{color:"var(--color-accent-ui)"}},M.id)})),k.drafts?.map(M=>Pe.default.createElement(bde,{key:M.id,draft:M,onReview:r})),k.limitations?.length>0&&Pe.default.createElement("details",{style:Wa},Pe.default.createElement("summary",{style:{cursor:"pointer"}},"Scope of this answer"),Pe.default.createElement("ul",{style:{paddingLeft:18}},k.limitations.map((M,H)=>Pe.default.createElement("li",{key:H},M)))))),u&&Pe.default.createElement("div",{role:"status",style:{color:"var(--color-text-secondary)",fontSize:13}},"Working with your workspace evidence\u2026")),d&&Pe.default.createElement(ht,{padding:16,role:"alert",style:{borderColor:"var(--color-warning)",display:"grid",gap:12}},Pe.default.createElement("div",{style:{fontSize:14}},d.message),d.setup&&Pe.default.createElement(mr,{onClick:n,style:{justifySelf:"start"}},"Configure provider \u2192")),Pe.default.createElement(ht,{padding:18},Pe.default.createElement("form",{ref:h,onSubmit:k=>{k.preventDefault(),T(l)},style:{display:"grid",gap:14}},Pe.default.createElement("label",{htmlFor:"assistant-question",style:{fontSize:13,fontWeight:600}},"What would you like to do?"),Pe.default.createElement("textarea",{id:"assistant-question",placeholder:"Ask about your evals, or describe an agent to build\u2026",value:l,onChange:k=>s(k.target.value),maxLength:S,rows:3,disabled:u,style:{..._5,resize:"vertical",boxSizing:"border-box"}}),Pe.default.createElement("div",{style:{display:"flex",gap:12,alignItems:"end",flexWrap:"wrap"}},Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"1 1 140px"}},"Provider",Pe.default.createElement("select",{"aria-label":"Assistant provider",value:b,disabled:u||!a,onChange:k=>{let A=a.providers.find(M=>M.id===k.target.value);m(!1),t({...e,provider:A?.id||"",model:A?.default_model||""})},style:_5},Pe.default.createElement("option",{value:""},a?"Choose a provider\u2026":"Loading\u2026"),a?.providers?.map(k=>Pe.default.createElement("option",{key:k.id,value:k.id},k.id,k.configured?"":" \xB7 setup needed")))),Pe.default.createElement("label",{style:{display:"grid",gap:5,fontSize:11,flex:"2 1 200px"}},"Model",Pe.default.createElement("input",{"aria-label":"Assistant model",value:x,disabled:u||!a,maxLength:160,onChange:k=>{m(!1),t({...e,model:k.target.value})},style:_5})),Pe.default.createElement(mr,{variant:"primary",type:"submit",disabled:u||!a||!l.trim()||!x.trim()||!o||!p},u?"Working\u2026":"Ask ActiveAgents \u2192")),Pe.default.createElement("label",{style:{display:"flex",gap:9,alignItems:"start",fontSize:12,lineHeight:1.6,color:"var(--color-text-secondary)"}},Pe.default.createElement("input",{type:"checkbox",checked:p,disabled:u||!a,onChange:k=>m(k.target.checked),style:{marginTop:4}}),Pe.default.createElement("span",null,"Allow ",b||"the selected provider"," / ",x||"model"," to process my messages, recent conversation history, and authorized evaluation report excerpts for this conversation.")),Pe.default.createElement("div",{style:{...Wa,lineHeight:1.5}},o?w&&!w.configured?"This provider needs a credential in Settings before the assistant can respond.":"Uses your configured model provider. Agent drafts are reviewed before saving.":"Agent execution is disabled on this dashboard."," ","Reloading or starting a new conversation clears this conversation view. Your provider's data retention settings still apply."))))}function wde({user:e,initialAgents:t=[],meta:r={},account:n=null,subscription:o=null}){let{darkMode:a}=Nt(),[i,l]=(0,rt.useState)(t),[s,u]=(0,rt.useState)("list"),[c,d]=(0,rt.useState)(null),[f,p]=(0,rt.useState)(!1),[m,g]=(0,rt.useState)(null),[h,v]=(0,rt.useState)(!1),[y,b]=(0,rt.useState)("recent"),[x,S]=(0,rt.useState)({messages:[]}),[w,T]=(0,rt.useState)(null),k=r.assistantEnabled!==!1,[A,M]=(0,rt.useState)(null);(0,rt.useEffect)(()=>{let U=()=>{let L=dl();if(L==="/assistant"&&k)u("assistant");else if(L.startsWith("/traces"))u("traces");else if(L.startsWith("/metrics"))u("metrics");else if(L.startsWith("/interactions"))u("interactions");else if(L.startsWith("/tools"))u("tools");else if(L.startsWith("/mcp")){let K=L.match(/^\/mcp\/([^/?#]+)/)?.[1];K&&M(decodeURIComponent(K)),u("mcp")}else if(L.startsWith("/evaluations"))u("evaluations");else if(L.startsWith("/analytics"))u("analytics");else if(L.startsWith("/agents/new"))u("builder");else if(L.match(/\/agents\/\d+\/(interactions|history)/)){let K=L.match(/\/agents\/(\d+)/)?.[1];L.includes("/history")&&window.history.replaceState({},"",L.replace("/history","/interactions")),K&&H(K,"history")}else if(L.match(/\/agents\/\d+\/analytics/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"agent-analytics")}else if(L.match(/\/agents\/\d+\/edit/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"editor")}else if(L.match(/\/agents\/\d+\/run/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"runner")}else if(L.match(/\/agents\/\d+\/?$/)){let K=L.match(/\/agents\/(\d+)/)?.[1];K&&H(K,"history")}else L.startsWith("/replay")?u("replay"):L.startsWith("/sandbox")||L.startsWith("/demo")?u("sandbox"):L.startsWith("/organization")?u("organization"):L.startsWith("/settings")?u("settings"):u("list")};return U(),window.addEventListener("popstate",U),window.addEventListener("dashboard:navigate",U),()=>{window.removeEventListener("popstate",U),window.removeEventListener("dashboard:navigate",U)}},[]);let H=async(U,L)=>{p(!0);try{let ae=await(await fetch(`/api/agents/${U}`)).json();d(ae.agent),u(L)}catch{P("Failed to load agent","error")}finally{p(!1)}},F=async(U=y)=>{p(!0);try{let K=await(await fetch(`/api/agents?sort=${U}`)).json();l(K.agents)}catch{P("Failed to refresh agents","error")}finally{p(!1)}},X=U=>{b(U),F(U)},P=(U,L="info")=>{g({message:U,type:L}),setTimeout(()=>g(null),3e3)},Y=async U=>{p(!0);try{let L=await fetch("/api/agents",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:U})});if(L.ok){let K=await L.json();l([K.agent,...i]),d(K.agent),u("editor"),P("Agent created successfully!","success"),window.history.pushState({},"",Re(`/agents/${K.agent.id}/edit`))}else{let K=await L.json();P(K.errors?.join(", ")||"Failed to create agent","error")}}catch{P("Failed to create agent","error")}finally{p(!1)}},C=async(U,L)=>{p(!0);try{let K=await fetch(`/api/agents/${U}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({agent:L})});if(K.ok){let ae=await K.json();l(i.map(de=>de.id===U?ae.agent:de)),d(ae.agent),P("Agent updated!","success")}else{let ae=await K.json();P(ae.errors?.join(", ")||"Failed to update agent","error")}}catch{P("Failed to update agent","error")}finally{p(!1)}},_=async U=>{if(confirm("Are you sure you want to delete this agent?")){p(!0);try{(await fetch(`/api/agents/${U}`,{method:"DELETE"})).ok&&(l(i.filter(K=>K.id!==U)),d(null),u("list"),P("Agent deleted","success"),window.history.pushState({},"",Re()))}catch{P("Failed to delete agent","error")}finally{p(!1)}}},z=async U=>{p(!0);try{let L=await fetch(`/api/agents/${U}/duplicate`,{method:"POST"});if(L.ok){let K=await L.json();l([K.agent,...i]),P("Agent duplicated!","success")}}catch{P("Failed to duplicate agent","error")}finally{p(!1)}},D=U=>{l([U,...i]),v(!1),P("Agent created from template!","success"),j("editor",U)},E=["editor","runner","agent-analytics","history"],j=(U,L=null)=>{if(U==="assistant"&&!k)return;U==="builder"&&T(null),L?.id&&E.includes(U)&&L.instructions===void 0?H(L.id,U):(d(L),u(U));let K=Re();U==="assistant"?K=Re("/assistant"):U==="builder"?K=Re("/agents/new"):U==="editor"&&L?K=Re(`/agents/${L.id}/edit`):U==="runner"&&L?K=Re(`/agents/${L.id}/run`):U==="agent-analytics"&&L?K=Re(`/agents/${L.id}/analytics`):U==="history"&&L?K=Re(`/agents/${L.id}/interactions`):U==="analytics"?K=Re("/analytics"):U==="traces"?K=Re("/traces"):U==="metrics"?K=Re("/metrics"):U==="interactions"?K=Re("/interactions"):U==="tools"?K=Re("/tools"):U==="mcp"?K=Re("/mcp"):U==="evaluations"?K=Re("/evaluations"):U==="replay"?K=Re("/replay"):U==="sandbox"?K=Re("/sandbox"):U==="organization"?K=Re("/organization"):U==="settings"&&(K=Re("/settings")),window.history.pushState({},"",K)},R=()=>{switch(s){case"assistant":return k?rt.default.createElement(E5,{session:x,onSessionChange:S,executionEnabled:r.executionEnabled!==!1,onOpenSettings:()=>j("settings"),onReviewDraft:U=>{T(U),u("builder"),window.history.pushState({},"",Re("/agents/new"))}}):null;case"builder":return rt.default.createElement(jA,{key:w?.id||"new-agent",initialDraft:w,meta:r,onSave:Y,onCancel:()=>j(w?"assistant":"list"),isLoading:f});case"editor":return c?rt.default.createElement(kw,{key:`editor-${c.id}`,agent:c,meta:r,onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"runner":return c?rt.default.createElement(RE,{agent:c,onBack:()=>j("editor",c)}):null;case"agent-analytics":return c?rt.default.createElement(kw,{key:`agent-analytics-${c.id}`,agent:c,meta:r,initialTab:"metrics",onSave:U=>C(c.id,U),onDelete:()=>_(c.id),onRun:()=>j("runner",c),onDuplicate:()=>z(c.id),onRunReport:()=>j("history",c),onBack:()=>j("list"),isLoading:f}):null;case"history":return c?rt.default.createElement(t5,{agent:c,onBack:()=>j("editor",c)}):null;case"analytics":return rt.default.createElement(e5,{onSelectAgent:U=>{H(U.id,"agent-analytics")}});case"traces":return rt.default.createElement(dc,null);case"metrics":return rt.default.createElement(m5,null);case"interactions":return rt.default.createElement(pl,null);case"tools":return rt.default.createElement(v5,{onOpenServer:U=>{M(U),j("mcp")}});case"mcp":return rt.default.createElement(g5,{focusServer:A,onOpenTools:()=>{M(null),j("tools")}});case"evaluations":return rt.default.createElement(Sg,null);case"replay":return rt.default.createElement(k5,{onHandoff:U=>{P("Taking over session...","info"),j("sandbox")},onClose:()=>j("list")});case"sandbox":return rt.default.createElement(S5,{initialType:"playwright_mcp",onClose:()=>j("list")});case"organization":return rt.default.createElement(C5,{user:e,account:n,subscription:o,agentCount:i.length});case"settings":return rt.default.createElement(N5,{user:e});default:return rt.default.createElement(IA,{agents:i,meta:r,onSelect:U=>j("editor",U),onNew:()=>j("builder"),onBrowseTemplates:()=>v(!0),onDuplicate:z,onDelete:_,onRefresh:F,sort:y,onSortChange:X,isLoading:f})}};return rt.default.createElement("div",{className:`aa-dashboard min-h-screen flex${a?" theme-dark":""}`,style:{backgroundColor:a?"#0f0f0f":"#f9fafb"}},rt.default.createElement(n5,{currentView:s,onNavigate:j,agentCount:i.length,account:n,user:e,gemVersion:r.activeagentVersion,assistantEnabled:k}),rt.default.createElement("div",{className:"flex-1 flex flex-col min-w-0"},rt.default.createElement(o5,{user:e,account:n}),rt.default.createElement("main",{className:"flex-1 p-6 overflow-auto"},R())),h&&rt.default.createElement(r5,{onUseTemplate:D,onClose:()=>v(!1)}),m&&rt.default.createElement("div",{className:`fixed bottom-4 right-4 px-6 py-3 rounded-lg shadow-lg transition-all transform ${m.type==="error"?"bg-red-500":m.type==="success"?"bg-green-500":"bg-blue-500"} text-white`},m.message),f&&rt.default.createElement("div",{className:"fixed inset-0 bg-black bg-opacity-20 flex items-center justify-center z-50"},rt.default.createElement("div",{className:`rounded-lg p-4 shadow-xl ${a?"bg-gray-800":"bg-white"}`},rt.default.createElement("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-red-500"}))))}function O5(e){return rt.default.createElement(AM,null,rt.default.createElement(l$,null,rt.default.createElement(wde,{...e})))}var Sde="active-agent-dashboard";function Ade(e){let t=e.replace(/\/$/,"");if(!t)return;let r=window.fetch.bind(window);window.fetch=(n,o)=>{if(typeof n=="string"&&n.startsWith("/api/"))return r(`${t}${n}`,o);if(n instanceof Request&&new URL(n.url,window.location.origin).pathname.startsWith("/api/")){let a=new URL(n.url,window.location.origin);return r(new Request(`${t}${a.pathname}${a.search}`,n),o)}return r(n,o)}}function eU(){let e=document.getElementById(Sde);if(!e)return;let t=JSON.parse(e.dataset.props||"{}");window.ACTIVE_AGENT_DASHBOARD=t,Ade(t.mountPath||"/"),(0,rU.createRoot)(e).render(tU.default.createElement(O5,{...t}))}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",eU):eU(); /*! Bundled license information: react/cjs/react.production.js: diff --git a/actionagent/app/controllers/action_agent/api/evaluations_controller.rb b/actionagent/app/controllers/action_agent/api/evaluations_controller.rb index d98e2a02..bde77bdd 100644 --- a/actionagent/app/controllers/action_agent/api/evaluations_controller.rb +++ b/actionagent/app/controllers/action_agent/api/evaluations_controller.rb @@ -46,14 +46,20 @@ def index render json: { evaluations: evaluations.map { |evaluation| serialize(evaluation) } } end + # Runs listed per evaluation on GET /api/evaluations/:id. The rest of + # the history stays reachable by run id; `run_count` says how long it is. + RUN_HISTORY_LIMIT = 20 + # GET /api/evaluations/:id def show evaluation = evaluations_scope.find(params[:id]) + run_count = evaluation.evaluation_runs.count + runs = evaluation.evaluation_runs.recent.limit(RUN_HISTORY_LIMIT).to_a render json: { evaluation: serialize(evaluation).merge( scenarios: evaluation.scenarios.ordered.map(&:as_json_summary), - runs: evaluation.evaluation_runs.recent.limit(20).map { |run| serialize_run(run) } + runs: runs.each_with_index.map { |run, index| serialize_run(run, number: run_count - index) } ) } end @@ -98,8 +104,12 @@ def create def run evaluation = current_evaluation run = start_run(evaluation, selection_params) + evaluation.reload - render json: { evaluation: serialize(evaluation.reload), run: serialize_run(run) } + render json: { + evaluation: serialize(evaluation), + run: serialize_run(run, number: evaluation.evaluation_runs.count) + } end # GET /api/evaluations/:id/runs/:run_id @@ -116,7 +126,8 @@ def show_run render json: { evaluation: serialize(evaluation), - run: serialize_run(run).merge(results: results.map(&:as_json_summary), fix_items: safe_fix_items(run)) + run: serialize_run(run, number: run_number(evaluation, run)) + .merge(results: results.map(&:as_json_summary), fix_items: safe_fix_items(run)) } end @@ -328,7 +339,9 @@ def compare_models_param end def serialize(evaluation) - latest = evaluation.latest_run + # size reads the preloaded association on index and COUNTs elsewhere. + run_count = evaluation.evaluation_runs.size + latest, previous = recent_runs(evaluation, 2) { id: evaluation.id, @@ -344,22 +357,50 @@ def serialize(evaluation) scenario_count: evaluation.scenarios.size, scenario_groups: evaluation.scenario_suite? ? evaluation.scenario_groups : [], created_at: evaluation.created_at.iso8601, - latest_run: latest ? serialize_run(latest) : nil + run_count: run_count, + latest_run: latest ? serialize_run(latest, number: run_count) : nil, + # Just enough of the run before it for the list to show movement + # ("+3 passed vs #2") without a request per evaluation. + previous_run: previous ? serialize_run_summary(previous, number: run_count - 1) : nil } end - def serialize_run(run) - { - id: run.id, - status: run.status, + # Newest first. Sorts the preloaded association when index loaded it + # rather than issuing one ORDER BY query per evaluation. + def recent_runs(evaluation, limit) + runs = evaluation.evaluation_runs + if runs.loaded? + runs.sort_by { |run| [ run.created_at, run.id ] }.reverse.first(limit) + else + runs.recent.limit(limit).to_a + end + end + + # A run's position in its evaluation's history, oldest = 1. + def run_number(evaluation, run) + evaluation.evaluation_runs.where("created_at < ? OR (created_at = ? AND id <= ?)", run.created_at, run.created_at, run.id).count + end + + # `number` is the run's position in its evaluation's history, oldest = + # 1, so the dashboard can say "Run #3" and "vs #2". + def serialize_run(run, number: nil) + serialize_run_summary(run, number: number).merge( scores: run.scores, selection: run.selection, models: run.models, + usage: run.usage, + error_message: run.error_message + ) + end + + def serialize_run_summary(run, number: nil) + { + id: run.id, + number: number, + status: run.status, average_score: safe_average_score(run), samples_evaluated: run.samples_evaluated, samples_passed: run.samples_passed, - usage: run.usage, - error_message: run.error_message, completed_at: run.completed_at&.iso8601, created_at: run.created_at.iso8601 } diff --git a/actionagent/app/models/action_agent/evaluation_run.rb b/actionagent/app/models/action_agent/evaluation_run.rb index f1e61710..e77b6fec 100644 --- a/actionagent/app/models/action_agent/evaluation_run.rb +++ b/actionagent/app/models/action_agent/evaluation_run.rb @@ -79,26 +79,74 @@ def average_score (values.sum.to_f / values.size).round(3) end - # Aggregate usage over the run's scenario results, for display after a - # run: estimated cost, token totals, summed model time, and the run's - # wall-clock runtime. Returns nil for a generation-sampling run, which - # replays nothing itself. + # The judge's own spend on this run — calls, tokens, estimated cost and + # how many calls served each purpose — as the runner recorded it; nil + # for a run that never asked a judge. + def judge_usage + value = scores&.dig("_judge_usage") + value.is_a?(Hash) ? value : nil + end + + # Per-model summaries of a generation-sampling run's cohorts, keyed by + # model; empty for a scenario run or a run recorded before they were. + def cohorts + value = scores&.dig("_cohorts") + value.is_a?(Hash) ? value : {} + end + + # What the run spent, for display after it: the agent's side and the + # judge's, kept apart because they answer different questions. + # + # The agent's side is the operating figure — what the interactions cost + # to serve. For a scenario run that is the replays' estimated cost, + # tokens and summed model time (`replays` of them); for a + # generation-sampling run it is the sampled generations' (`samples`), + # which were served before the run and cost it nothing. `per_interaction` + # is that cost spread over the interactions, the number a per-conversation + # budget is set against. + # + # `judge` is the evaluation's own overhead: the judge model's calls + # (scoring, recommending, the verdict, authoring KPIs), which run + # agent-to-agent and offline. It is present only when a judge was asked. + # + # Returns nil for a run that recorded nothing on either side. def usage totals = scenario_results.pick( Arel.sql("COUNT(*)"), Arel.sql("SUM(cost)"), Arel.sql("SUM(input_tokens)"), Arel.sql("SUM(output_tokens)"), Arel.sql("SUM(duration_ms)") ) replays = totals&.first.to_i - return nil if replays.zero? + judge = judge_usage + runtime_ms = completed_at.present? ? ((completed_at - created_at) * 1000).round : nil - { - replays: replays, - cost: totals[1]&.to_f, - input_tokens: totals[2].to_i, - output_tokens: totals[3].to_i, - model_time_ms: totals[4].to_i, - runtime_ms: completed_at.present? ? ((completed_at - created_at) * 1000).round : nil - } + if replays.positive? + cost = totals[1]&.to_f + { + replays: replays, + cost: cost, + per_interaction: cost && (cost / replays).round(6), + input_tokens: totals[2].to_i, + output_tokens: totals[3].to_i, + model_time_ms: totals[4].to_i, + runtime_ms: runtime_ms, + judge: judge + }.compact + elsif cohorts.any? + samples = cohorts.values.sum { |cohort| cohort["samples"].to_i } + costs = cohorts.values.filter_map { |cohort| cohort["cost"] } + cost = costs.any? ? costs.sum.to_f.round(6) : nil + { + samples: samples, + cost: cost, + per_interaction: cost && samples.positive? ? (cost / samples).round(6) : nil, + input_tokens: cohorts.values.sum { |cohort| cohort["input_tokens"].to_i }, + output_tokens: cohorts.values.sum { |cohort| cohort["output_tokens"].to_i }, + runtime_ms: runtime_ms, + judge: judge + }.compact + elsif judge + { runtime_ms: runtime_ms, judge: judge }.compact + end end # Route templates for the report's fix item actions, relative to the diff --git a/actionagent/app/services/action_agent/agent_execution_service.rb b/actionagent/app/services/action_agent/agent_execution_service.rb index 6fc8a47a..82a2fc06 100644 --- a/actionagent/app/services/action_agent/agent_execution_service.rb +++ b/actionagent/app/services/action_agent/agent_execution_service.rb @@ -500,6 +500,21 @@ def generate! tool_definitions = tool_schemas service = self + # A dashboard-authored agent has no Ruby class — it is rows: a tool + # selection, instructions typed in the builder. That is the common case + # and the runtime below builds a class for it. + # + # An agent mirrored from host code is the other case: the class exists, + # already declares its own tools (SchemaTools rosters, delegations) and + # renders its own instructions, and none of that is reachable through + # `tools` + `instructions` columns. Running the real class keeps the + # dashboard evaluating what production runs, instead of a rebuilt + # lookalike. Both runtimes stay; which one applies is decided by whether + # the class resolves. + if (host_class = resolved_host_class) + return run_host_class(host_class, actor: actor, action: action, run_trace_id: run_trace_id) + end + agent_class = Class.new(ActiveAgent::Base) do # SolidAgent persists contexts under self.class.name; anonymous # classes would fail its agent_name presence validation. @@ -677,6 +692,40 @@ def record_tool_spans(root_span, response) end end + # The host class this agent mirrors, when it names one that resolves to a + # runnable ActiveAgent::Base subclass. Anything else — no class name, a + # class that no longer exists, a name that resolves to something else — is + # nil, and the dynamic runtime handles the record as before. + # + # @return [Class, nil] + def resolved_host_class + return nil unless ActionAgent.run_host_agent_classes + + name = @agent_record.agent_class_name.presence + return nil if name.blank? + + klass = name.safe_constantize + klass if klass.is_a?(Class) && klass < ActiveAgent::Base + end + + # Runs the host's own class. Its tools, delegations and instructions come + # from the code, so the engine supplies only what is the run's business: + # the caller, and the trace to correlate against. + def run_host_class(klass, actor:, action:, run_trace_id:) + generation = klass.as(actor).public_send(action, **host_action_arguments(klass, action)) + generation.prompt_options[:trace_id] = run_trace_id if generation.respond_to?(:prompt_options) + generation.generate_now + end + + # A code agent's action takes named arguments (`ask(question:)`), so the + # run's message is passed under the action's own keyword rather than as a + # bare message the signature would reject. + def host_action_arguments(klass, action) + contract = klass.try(:delegation_contracts)&.dig(action.to_sym) + keyword = contract&.try(:parameters)&.keys&.first + keyword ? { keyword.to_sym => user_text } : {} + end + def provider_available?(name) # The gem's mock provider is a test double: accepted only in the test # environment so app runs can never store fabricated output. diff --git a/actionagent/app/services/action_agent/agent_sync.rb b/actionagent/app/services/action_agent/agent_sync.rb new file mode 100644 index 00000000..b269105a --- /dev/null +++ b/actionagent/app/services/action_agent/agent_sync.rb @@ -0,0 +1,136 @@ +# frozen_string_literal: true + +module ActionAgent + # Mirrors host ActiveAgent classes into Agent records, so the dashboard can + # run, evaluate and release the agents an app already has in code. + # + # The engine reads an agent's identity from the class rather than asking the + # host to restate it: name, description and tool roster all come from the + # class, and re-running the sync updates each record in place. `AgentRelease` + # already expects `agent_class_name` to be set by "whatever syncs its + # ActiveAgent classes into Agent records" — this is that, so a host no longer + # has to write it. + # + # The split is deliberate and is the reason this is safe to run on deploy: + # + # * **The code owns what an agent is** — name, description, instructions, + # tools. Rewritten on every sync, so it cannot drift from the class. + # * **The operator owns how it runs** — provider, model, status. Set once on + # create and never touched again, so a model chosen in the dashboard + # survives the next deploy. + # + # ActionAgent::AgentSync.call(RecordAgent.all, owner: owner) + # + # @see AgentRelease which cuts a version per synced agent + class AgentSync + Row = Struct.new(:agent, :created, :skipped, keyword_init: true) + Result = Struct.new(:rows, :errors, keyword_init: true) do + def success? = errors.blank? + def agents = rows.filter_map(&:agent) + def created = rows.select(&:created) + def skipped = rows.select(&:skipped) + end + + # @param agents [Array] ActiveAgent::Base subclasses + # @param owner [Object] the record agents and API keys scope to + # @param provider [String, Symbol, nil] defaults to the class's own + # @param model [String, nil] defaults to the class's own + def self.call(agents, owner:, provider: nil, model: nil) + new(agents, owner: owner, provider: provider, model: model).call + end + + def initialize(agents, owner:, provider: nil, model: nil) + @agents = Array(agents) + @owner = owner + @provider = provider + @model = model + end + + # @return [Result] + def call + return Result.new(rows: [], errors: "An owner is required: the engine scopes agents to one.") if @owner.nil? + + rows = Agent.transaction { @agents.map { |klass| upsert(klass) } } + Result.new(rows: rows, errors: nil) + rescue ActiveRecord::RecordInvalid => e + Result.new(rows: [], errors: e.record.errors.full_messages.join(", ")) + end + + private + + def upsert(klass) + unless klass.respond_to?(:prompt_options) + return Row.new(agent: nil, created: false, skipped: "#{klass} is not an ActiveAgent::Base subclass") + end + + provider = resolved_provider(klass) + model = resolved_model(klass) + if provider.blank? || model.blank? + return Row.new(agent: nil, created: false, skipped: "#{klass} has no provider/model configured") + end + + # Slugs are unique per owner, so the lookup is too: unscoped, a second + # owner's sync would find the first owner's record and rewrite it. + agent = Agent.for_owner(@owner).find_or_initialize_by(slug: self.class.slug_for(klass)) + created = agent.new_record? + if created + agent.owner = @owner + agent.provider = provider + agent.model = model + agent.status = :active + end + + agent.assign_attributes( + name: klass.name.titleize, + agent_class_name: klass.name, + description: description_for(klass), + instructions: instructions_for(klass), + tools: tool_names_for(klass) + ) + agent.save! + Row.new(agent: agent, created: created, skipped: nil) + end + + # "TicketAgent" -> "ticket-agent", the slug an MCP client sees as + # run_ticket-agent. A namespaced class flattens its separators, because + # Agent validates slugs as /\A[a-z0-9\-_]+\z/ — "Billing::TicketAgent" + # becomes "billing-ticket-agent". + def self.slug_for(klass) + klass.name.underscore.tr("/", "-").tr("_", "-") + end + + # An agent's own description if it declares one (a delegation contract is + # where an agent says what it answers), else its titleized name. + def description_for(klass) + contract = klass.try(:delegation_contracts)&.values&.first + contract&.try(:description).presence || klass.name.titleize + end + + # The rendered instructions, so the dashboard record runs on the same text + # the class does rather than a hand-maintained copy. + # + # An agent whose instructions are assembled rather than rendered straight + # from its own template — filled from assigns it computes, or falling back + # to a template it shares with sibling agents — says so by defining + # `dashboard_instructions_text`. That is asked first, because only the + # class knows how its own prompt is built. + def instructions_for(klass) + return klass.dashboard_instructions_text.presence if klass.respond_to?(:dashboard_instructions_text) + + klass.try(:rendered_instructions).presence + end + + def tool_names_for(klass) + names = klass.try(:tool_names) + Array(names).map(&:to_s) + end + + def resolved_provider(klass) + (@provider || klass.prompt_options[:service]).to_s.downcase.presence + end + + def resolved_model(klass) + (@model || klass.prompt_options[:model]).presence + end + end +end diff --git a/actionagent/app/services/action_agent/evaluation_runner_service.rb b/actionagent/app/services/action_agent/evaluation_runner_service.rb index d1496e6f..30f31ca4 100644 --- a/actionagent/app/services/action_agent/evaluation_runner_service.rb +++ b/actionagent/app/services/action_agent/evaluation_runner_service.rb @@ -55,6 +55,9 @@ def call scores[criterion["key"]] = stats end + scores["_cohorts"] = cohort_summaries(samples, per_sample_scores) if samples.any? + scores["_judge_usage"] = judge_usage if judge_usage + run.update!( status: :complete, scores: scores, @@ -109,6 +112,11 @@ def score_comparison(run, sample_criteria, telemetry_criteria) scores["_verdict"] = verdict if verdict end + scores["_cohorts"] = active.to_h do |model, samples| + [ model, cohort_summary(samples, per_model_sample_scores[model] || {}) ] + end + scores["_judge_usage"] = judge_usage if judge_usage + run.update!( status: :complete, scores: scores, @@ -148,6 +156,98 @@ def passed_count(per_sample_scores) end end + # --- Cohort summaries ------------------------------------------------------ + # + # Stored under scores["_cohorts"], keyed by model: how many generations + # were sampled under it, how many cleared every criterion, their latency + # and token usage, and what those generations cost to serve. A comparison + # run gets one entry per requested cohort that had generations; a plain + # run one per model that happened to be among the sampled generations. + # This is what lets the dashboard show a run as "5/12 passed" per model, + # the way a scenario run's `_models` summaries do, without re-reading the + # generations. + # + # The cost here is the agent's: what the sampled interactions cost to + # operate. It is not what this run spent — scoring recorded generations + # costs nothing until a judge is asked, and the judge's own spend is + # recorded apart, under "_judge_usage" (see #judge_usage). + + def cohort_summaries(samples, per_sample_scores) + samples + .group_by { |generation| generation.model.presence || "unknown" } + .transform_values { |group| cohort_summary(group, per_sample_scores) } + end + + def cohort_summary(samples, per_sample_scores) + durations_ms = samples.filter_map do |generation| + seconds = generation.duration_seconds.to_f + seconds * 1000 if seconds.positive? + end + providers = samples.filter_map { |generation| generation.provider.presence } + input_tokens = samples.sum { |generation| generation.input_tokens.to_i } + output_tokens = samples.sum { |generation| generation.output_tokens.to_i } + costs = samples.filter_map do |generation| + ModelPricing.estimate(model: generation.model, input_tokens: generation.input_tokens, output_tokens: generation.output_tokens) + end + + { + "samples" => samples.size, + "passed" => passed_count(per_sample_scores.slice(*samples.map(&:id))), + "provider" => providers.tally.max_by { |_provider, count| count }&.first, + "avg_duration_ms" => durations_ms.any? ? (durations_ms.sum / durations_ms.size).round : nil, + "input_tokens" => input_tokens, + "output_tokens" => output_tokens, + "cost" => costs.any? ? costs.sum.round(6) : nil + } + end + + # --- Judge usage ----------------------------------------------------------- + # + # Every call the judge makes is metered here, apart from the agent's own + # spend: scoring answers, recommending fixes, writing the verdict and, + # for a judge_defined evaluation, authoring the KPIs. The agent's cost is + # the operating figure — what serving these interactions costs — while + # the judge's is the evaluation's own, offline, agent-to-agent overhead, + # and a run that reported the two as one number would overstate the + # first. Persisted as scores["_judge_usage"]: + # + # { "calls", "input_tokens", "output_tokens", "cost", "model", + # "by_kind" => { "score" => n, "recommend" => n, "verdict" => n, "define" => n } } + # + # nil until the judge has been asked something, so a rules-only run + # records no judge at all rather than a judge that cost nothing. + + def judge_usage + return nil if @judge_usage.nil? + + @judge_usage.merge("cost" => @judge_usage["cost"]&.round(6)) + end + + # Asks the judge and meters the answer. `kind` is the call's purpose — + # :score, :recommend, :verdict or :define — the same vocabulary + # ActiveAgent::Evals::Judge hands a block that accepts `kind:`. + def judge_generate(kind, message:, instructions:) + response = judge_class.prompt(message: message, instructions: instructions).generate_now + record_judge_call(kind, response) + response + end + + def record_judge_call(kind, response) + usage = response.respond_to?(:usage) ? response.usage : nil + input_tokens = usage.respond_to?(:input_tokens) ? usage.input_tokens.to_i : 0 + output_tokens = usage.respond_to?(:output_tokens) ? usage.output_tokens.to_i : 0 + model = (response.respond_to?(:model) && response.model.presence) || @evaluation.judge_model.presence + cost = ModelPricing.estimate(model: model, input_tokens: input_tokens, output_tokens: output_tokens) + + @judge_usage ||= { "calls" => 0, "input_tokens" => 0, "output_tokens" => 0, "cost" => nil, "model" => nil, "by_kind" => {} } + @judge_usage["calls"] += 1 + @judge_usage["input_tokens"] += input_tokens + @judge_usage["output_tokens"] += output_tokens + @judge_usage["cost"] = (@judge_usage["cost"] || 0.0) + cost if cost + @judge_usage["model"] ||= model + @judge_usage["by_kind"][kind.to_s] = @judge_usage["by_kind"].fetch(kind.to_s, 0) + 1 + end + def sample_generations(model: nil) scope = @evaluation.agent.generations scope = scope.where(model: model) if model @@ -273,10 +373,11 @@ def ensure_judge_defined_kpis! raise "Judge-defined KPIs need provider credentials (add a provider API key in Settings)" end - response = judge_class.prompt( + response = judge_generate( + :define, message: kpi_definition_prompt, instructions: "You define measurable evaluation KPIs for AI agents. Respond ONLY with JSON." - ).generate_now + ) kpis = parse_kpis(response.message&.content) raise "Judge returned no usable KPIs — try again or add criteria manually" if kpis.empty? @@ -354,7 +455,8 @@ def comparison_verdict(active_cohorts, sample_criteria, scores) "#{key}: #{cells.join(', ')}" end - response = judge_class.prompt( + response = judge_generate( + :verdict, message: <<~PROMPT, An AI agent was evaluated under multiple models. Its goals: --- @@ -368,7 +470,7 @@ def comparison_verdict(active_cohorts, sample_criteria, scores) Respond ONLY with JSON: {"winner": "", "rationale": ""} PROMPT instructions: "You are an impartial evaluation judge comparing model cohorts. Respond ONLY with JSON." - ).generate_now + ) json = response.message&.content.to_s[/\{.*\}/m] verdict = json ? JSON.parse(json) : nil @@ -390,10 +492,11 @@ def llm_judge_score(criterion, generation) return nil unless judge_available? return nil if generation.content.blank? - response = judge_class.prompt( + response = judge_generate( + :score, message: judge_prompt(criterion, generation), instructions: "You are an impartial evaluation judge. Respond ONLY with JSON: {\"score\": }" - ).generate_now + ) parse_judge_score(response.message&.content) rescue StandardError => e diff --git a/actionagent/app/services/action_agent/scenario_evaluation_runner.rb b/actionagent/app/services/action_agent/scenario_evaluation_runner.rb index badbfbd4..6dcc3e1e 100644 --- a/actionagent/app/services/action_agent/scenario_evaluation_runner.rb +++ b/actionagent/app/services/action_agent/scenario_evaluation_runner.rb @@ -261,6 +261,10 @@ def scores_for(report, run) scores["_selection"] = run.selection scores["_metadata"] = report.metadata scores["_judge_label"] = report.judge_label || report.judge&.label + # The judge's own spend, apart from the replays' (which the results + # carry and EvaluationRun#usage sums). A host adapter that runs its own + # judge is out of reach of this meter, so its runs record none. + scores["_judge_usage"] = judge_usage if judge_usage scores end @@ -318,12 +322,13 @@ def discovery_warning # The judge the evaluation's owner has credentials for, wrapped for the # evaluation core; nil when none is configured, in which case scoring - # stays on rules and expectations. + # stays on rules and expectations. The block takes `kind:` so each call + # is metered under what it was for (EvaluationRunnerService#judge_generate). def evals_judge return nil unless judge_available? - @evals_judge ||= Evals::Judge.new(label: @evaluation.judge_model.presence || judge_provider.to_s) do |instructions:, prompt:| - judge_class.prompt(message: prompt, instructions: instructions).generate_now.message&.content + @evals_judge ||= Evals::Judge.new(label: @evaluation.judge_model.presence || judge_provider.to_s) do |instructions:, prompt:, kind:| + judge_generate(kind, message: prompt, instructions: instructions).message&.content end end end diff --git a/actionagent/frontend/components/dashboard/EvaluationRunPanels.jsx b/actionagent/frontend/components/dashboard/EvaluationRunPanels.jsx index 3cb2e6f8..95193512 100644 --- a/actionagent/frontend/components/dashboard/EvaluationRunPanels.jsx +++ b/actionagent/frontend/components/dashboard/EvaluationRunPanels.jsx @@ -1,19 +1,24 @@ import React from 'react'; -import { Badge, Button, Empty, Glyph, MicroLabel, MonoLink, Panel, PassBar, MONO, TONE, toneFor } from './primitives'; -import { fmtCost, fmtK, fmtMs, fmtScore, fmtTokens, splitModelLabel, timeAgo } from '../../utils/format'; +import { Badge, Button, Card, Empty, Glyph, MicroLabel, MonoLink, MONO } from './primitives'; +import { fmtCost, fmtK, fmtMs, fmtScore, splitModelLabel } from '../../utils/format'; +import { RUNS_PAGE, plural, runTotalOf, runsMeta } from '../../utils/evaluationRuns.mjs'; +import ModelScorecard from './evaluations/ModelScorecard'; -// The panels a scenario suite's expanded body is built from — Runs, Models, -// What to fix, the scenario matrix and a scenario's drill-down — plus the -// derivations they share. Everything here is presentational: state, fetching -// and mutations live in ScenarioSuitePanel. +// The panels a scenario suite's expanded body is built from — Models, What +// to fix, the scenario matrix and a scenario's drill-down — plus the +// derivations they share. The runs list is evaluations/RunsList, shared with +// the sampling evaluations. Everything here is presentational: state, +// fetching and mutations live in ScenarioSuitePanel. + +// The run-history helpers moved to the shared vocabulary module; re-exported +// so their existing importers keep working. +export { RUNS_PAGE, plural, runTotalOf, runsMeta }; // --------------------------------------------------------------------------- // Derivations const uniq = (list) => [...new Set(list)]; -export const plural = (n, word) => `${n} ${word}${n === 1 ? '' : 's'}`; - // The fault taxonomy renders lower-case with spaces: expected_tool_not_called // → "expected tool not called". export const faultName = (fault) => String(fault || '').replace(/_/g, ' '); @@ -261,165 +266,70 @@ function CallLine({ calls, empty, style }) { ); } -// --------------------------------------------------------------------------- -// RUNS - -// GET /api/evaluations/:id serves at most this many runs, newest first. -export const RUNS_PAGE = 20; - -// How many runs the suite has: `run_count` from the API when it reports it -// (so `#n` stays stable once the run list is capped), else the runs fetched — -// never fewer than the list, which can grow locally when a run starts. -export const runTotalOf = (runs = [], runCount = null) => - (Number.isFinite(runCount) ? Math.max(runCount, runs.length) : runs.length); - -// The panel's header meta: `3 runs`, or `24 runs · latest 20` when the list -// is a page of a longer history (or may be, when the total is unknown). -export const runsMeta = (runs = [], runCount = null) => { - const total = runTotalOf(runs, runCount); - const paged = runs.length < total || (!Number.isFinite(runCount) && runs.length >= RUNS_PAGE); - return `${plural(total, 'run')}${paged ? ` · latest ${runs.length}` : ''}`; -}; - -// One row per run, newest first. `runs` is the suite's run list (newest -// first); `#n` counts from the oldest run of the suite: `runCount` is the -// suite's total when known, so the numbering does not shift once the list -// is capped at the RUNS_PAGE most recent. -export function RunsPanel({ runs, runCount = null, selectedId, onSelect, agentName, selectedResults = [], scenarios = [] }) { - const total = runTotalOf(runs, runCount); - const numberOf = (index) => total - index; - const rows = runs.map((run, index) => { - const columns = modelColumns(run, run.id === selectedId ? selectedResults : []); - const results = run.id === selectedId ? selectedResults : []; - const scenarioCount = runScenarioCount(run, columns, scenarios); - const totals = runTotals(run, results, columns, scenarios); - const selection = run.selection || run.scores?._selection || {}; - - let delta = 'first run'; - let deltaColor = 'var(--color-text-muted)'; - if (run.status === 'failed') { - delta = 'failed'; - deltaColor = 'var(--color-error)'; - } else if (inProgress(run)) { - delta = run.status === 'pending' ? 'queued' : 'running'; - } else { - const baseIndex = runs.findIndex((candidate, i) => i > index && candidate.status === 'complete'); - const base = baseIndex >= 0 ? runs[baseIndex] : null; - if (base) { - const baseColumns = modelColumns(base); - const sameShape = runScenarioCount(base, baseColumns, scenarios) === scenarioCount && baseColumns.length === columns.length; - if (sameShape) { - const d = totals.passed - (base.samples_passed || 0); - delta = `${d > 0 ? '+' : ''}${d} passed vs #${numberOf(baseIndex)}`; - deltaColor = d > 0 ? 'var(--color-success)' : d < 0 ? 'var(--color-error)' : 'var(--color-text-muted)'; - } else { - delta = 'partial run'; - } - } - } - - return { - run, - label: `#${numberOf(index)}`, - when: timeAgo(run.completed_at || run.created_at), - delta, - deltaColor, - note: `${agentName} · ${plural(scenarioCount, 'scenario')} × ${plural(columns.length, 'model')}${selection.group ? ` · ${selection.group}` : ''}`, - bars: columns.map((label) => ({ label, ...modelPassStats(run, label, results, scenarioCount) })), - selected: run.id === selectedId, - }; - }); - - return ( - - {rows.length === 0 && [ ] no runs yet} - {rows.map((row) => ( -
onSelect(row.run.id)} - className={row.selected ? undefined : 'hover:bg-[var(--color-hover)]'} - data-selected={row.selected ? 'true' : 'false'} - style={{ - padding: '10px 12px 10px 10px', borderTop: '1px solid var(--color-border-light)', cursor: 'pointer', - background: row.selected ? 'var(--color-muted)' : undefined, - borderLeft: `2px solid ${row.selected ? 'var(--color-accent-ui)' : 'transparent'}`, - }} - > -
- {row.label} - {row.when} - {row.delta} -
-
{row.note}
- {row.bars.length > 0 && ( -
- {row.bars.map((bar) => ( - - ))} -
- )} -
- ))} -
- ); -} - // --------------------------------------------------------------------------- // MODELS +// One scorecard per model cohort of the selected run — passes, score, +// latency, tokens and what the replays cost under it — then the judge's +// verdict when the run compared cohorts. A model's card carries the agent's +// spend only; the judge's is the run's (see RunsList and CriteriaFooter). export function ModelsPanel({ run, columns, results = [], scenarioCount = 0, judgedBy, verdict }) { const summaries = run?.scores?._models || {}; return ( - - {columns.length === 0 && [ ] no models scored yet} - {columns.map((label) => { - const { short, provider } = describeModel(run, label); - const stats = summaries[label]; - const { passed, total } = modelPassStats(run, label, results, scenarioCount); - const ratio = total ? passed / total : 0; - const color = TONE[toneFor(ratio)].strong; - const faults = Object.entries(stats?.faults || {}); - const best = verdict?.winner === label; - return ( -
-
- {short} - {provider && {provider}} - {best && judge's pick} - - - - - {`${passed}/${total}`} - -
-
- score {stats?.avg_score != null ? Number(stats.avg_score).toFixed(3) : '—'} - latency {fmtMs(stats?.avg_duration_ms)} - - in {fmtTokens(stats?.input_tokens)} · out {fmtTokens(stats?.output_tokens)} - - cost {fmtCost(stats?.cost)} -
-
- {faults.map(([fault, count]) => ( - {`${faultName(fault)} ×${count}`} - ))} - {stats && faults.length === 0 && ( - [+] no faults - )} - {!stats && inProgress(run) && scoring…} -
-
- ); - })} - {verdict?.rationale && ( -
- Verdict - {verdict.rationale} +
+
+ Models + {judgedBy && {`judged by ${judgedBy}`}} +
+ {columns.length === 0 && ( + [ ] no models scored yet + )} + {columns.length > 0 && ( +
+ {columns.map((label) => { + const { short, provider } = describeModel(run, label); + const stats = summaries[label]; + const { passed, total } = modelPassStats(run, label, results, scenarioCount); + const faults = Object.entries(stats?.faults || {}); + const note = stats && faults.length === 0 + ? { text: '[+] no faults', color: 'var(--color-success-text)' } + : !stats && inProgress(run) ? { text: 'scoring…' } : null; + return ( + ({ tone: 'error', text: `${faultName(fault)} ×${count}` }))} + note={note} + /> + ); + })}
)} - + {verdict?.rationale && ( + +
+ Verdict + {verdict.judge && {`judged by ${verdict.judge}`}} +
+
+ {verdict.winner} + {verdict.rationale ? ` · ${verdict.rationale}` : ''} +
+
+ )} +
); } diff --git a/actionagent/frontend/components/dashboard/EvaluationsView.jsx b/actionagent/frontend/components/dashboard/EvaluationsView.jsx index 68d0a41c..add78745 100644 --- a/actionagent/frontend/components/dashboard/EvaluationsView.jsx +++ b/actionagent/frontend/components/dashboard/EvaluationsView.jsx @@ -3,38 +3,33 @@ import { dashboardPath, dashboardRelativePath, pushDashboardPath } from '../../u import { evaluationLink, includeLinkedEvaluation } from '../../utils/evaluationHistory.mjs'; import { useTheme } from '../../contexts/ThemeContext'; import ScenarioSuitePanel from './ScenarioSuitePanel'; -import { Badge, Button, Card, Glyph, MicroLabel, StatCard, MONO, TONE, toneFor } from './primitives'; -import { fmtCost, fmtK, fmtMs, fmtPct, fmtScore, timeAgo } from '../../utils/format'; -import { plural } from './EvaluationRunPanels'; - -const RULE_CRITERIA = [ - { type: 'response_present', key: 'response_present', label: 'Response present', config: {} }, - { type: 'min_length', key: 'response_length', label: 'Response length ≥ 40 chars', config: { chars: 40 } }, - { type: 'max_latency_ms', key: 'latency', label: 'Latency ≤ 5s', config: { ms: 5000 } }, - { type: 'token_budget', key: 'token_budget', label: 'Output ≤ 1000 tokens', config: { output_tokens: 1000 } }, -]; - -// Scored from the agent's telemetry traces (aggregates over the last 7 -// days), not from sampled generations. -const TELEMETRY_CRITERIA = [ - { type: 'trace_error_rate', key: 'trace_error_rate', label: 'Trace error rate ≤ 5% (telemetry, 7d)', config: { max_error_rate: 5, window_hours: 168 } }, - { type: 'trace_latency', key: 'trace_latency', label: 'Avg trace latency ≤ 5s (telemetry, 7d)', config: { max_avg_ms: 5000, window_hours: 168 } }, -]; +import EvaluationForm from './evaluations/EvaluationForm'; +import EvaluationRunDetail from './evaluations/EvaluationRunDetail'; +import CriteriaFooter from './evaluations/CriteriaFooter'; +import RunsList, { RunBadge, runsSummary } from './evaluations/RunsList'; +import { fmtRate } from './evaluations/SpendStrip'; +import { Button, Card, Glyph, StatCard, MONO, TONE, toneFor } from './primitives'; +import { fmtCost, fmtPct, timeAgo } from '../../utils/format'; +import { criterionGroup, modelCount, plural, runLabel, runSpend, samplingFixItems, spendSummary } from '../../utils/evaluationRuns.mjs'; + +// Evaluations, each with every run it has had. An evaluation is a named set +// of criteria against one agent — scored over its recorded generations, or, +// as a scenario suite, replayed through it — and its runs are the record of +// whether the agent is getting better. The page lists evaluations with their +// run history; a run opens to a scorecard per model cohort, the judge's +// verdict, the criteria × models matrix (or, for a suite, the scenario +// matrix) and what the run asks to fix. Every figure on screen is a field +// the app recorded, including what each run cost: the agent's side, which +// is what operating it costs, apart from the judge's, which is the +// evaluation's own. const csrfToken = () => document.querySelector('meta[name="csrf-token"]')?.content; -const formatRunUsage = (usage) => { - if (!usage) return null; - const tokens = (usage.input_tokens || 0) + (usage.output_tokens || 0); - const runtime = usage.runtime_ms == null ? null : fmtMs(usage.runtime_ms); - return `${fmtCost(usage.cost)} · ${fmtK(tokens)} tok${runtime ? ` · ${runtime}` : ''}`; -}; - // Mean-score tone: a score is not a pass ratio, so it keeps the thresholds // the sampling evaluations have always used. const scoreTone = (value) => (value >= 0.85 ? 'success' : value >= 0.7 ? 'warning' : 'error'); -// The report sub-route under /evaluations, when the current URL names one. +// Routes under /evaluations: the report page of one run … const reportRefFromPath = () => { const match = dashboardRelativePath().match(/^\/evaluations\/(\d+)\/runs\/(\d+)\/report/); if (match) return { evaluationId: match[1], runId: match[2] }; @@ -42,58 +37,36 @@ const reportRefFromPath = () => { return query?.runId ? query : null; }; -const inputStyle = { - padding: '8px 12px', borderRadius: 8, fontSize: 13, fontFamily: 'inherit', boxSizing: 'border-box', - background: 'var(--color-card)', border: '1px solid var(--color-border-strong)', color: 'var(--color-text-primary)', +// … or one evaluation, open, and optionally one of its runs. +const runRefFromPath = () => { + const match = dashboardRelativePath().match(/^\/evaluations\/(\d+)(?:\/runs\/(\d+))?\/?$/); + if (!match) return null; + return { evaluationId: Number(match[1]), runId: match[2] ? Number(match[2]) : null }; }; +// Which evaluation the URL names, as a string id: `?evaluation=` (the older +// deep link) or the path. Either may point outside the first index page. +const linkedIdFromLocation = () => + evaluationLink(window.location.search)?.evaluationId || (runRefFromPath() ? String(runRefFromPath().evaluationId) : null); + const monoStyle = (size = 11, color = 'var(--color-text-muted)') => ({ fontFamily: MONO, fontSize: size, color }); -// A criterion score bar for a sampling evaluation: label · track · score. -function ScoreRow({ label, score, indent = false, mono = false }) { - const tone = score.skipped ? null : scoreTone(score.score); - return ( -
-
- {mono ? label : label.replace(/_/g, ' ')} - {score.source === 'telemetry' && ( - - telemetry - - )} -
- {score.skipped ? ( -
- skipped — {score.reason} -
- ) : ( - <> -
-
-
-
- {fmtScore(score.score)} -
- - )} -
- ); -} +// How many things a run asks to fix: a suite's recommendations from its +// report, a sampling run's from its own scores; a failed run is one item. +const fixCountFor = (evaluation) => { + const run = evaluation.latest_run; + if (!run) return 0; + if (evaluation.scenario_suite) { + return (run.scores?._recommendations || []).length + (run.status === 'failed' ? 1 : 0); + } + return samplingFixItems(evaluation, run).length; +}; // embedded hides the page title when this renders inside the agent detail -// page's Evals tab, which already carries the heading. agentId scopes every -// number on the page to that agent — an account-wide average score under one -// agent's name reads as that agent's score, which it is not. +// page's Evals tab, which already carries the heading, and keeps the page +// off the URL. agentId scopes every number on the page to that agent — an +// account-wide average under one agent's name reads as that agent's score, +// which it is not. export default function EvaluationsView({ embedded = false, agentId = null }) { const { darkMode } = useTheme(); // Which run's report the URL asks for; the agent page's embedded Evals tab @@ -136,48 +109,45 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { // keeping the stale one would size the next report to the last one. useEffect(() => setReportHeight(null), [reportRef]); - useEffect(() => { - if (embedded) return undefined; - const applyPath = () => setReportRef(reportRefFromPath()); - window.addEventListener('popstate', applyPath); - window.addEventListener('dashboard:navigate', applyPath); - return () => { - window.removeEventListener('popstate', applyPath); - window.removeEventListener('dashboard:navigate', applyPath); - }; - }, [embedded]); const [evaluations, setEvaluations] = useState([]); const [agents, setAgents] = useState([]); const [isLoading, setIsLoading] = useState(true); const [loadError, setLoadError] = useState(null); // Accordion state per evaluation; the first suite opens by default. const [openIds, setOpenIds] = useState(null); - const [linkedEvaluationId, setLinkedEvaluationId] = useState(() => embedded ? null : evaluationLink(window.location.search)?.evaluationId); + // The run the URL opens: a sampling evaluation's run page, or the run a + // suite's panel selects. + const [openRun, setOpenRun] = useState(() => { + if (embedded) return null; + const ref = runRefFromPath(); + return ref?.runId ? ref : null; + }); + const [linkedEvaluationId, setLinkedEvaluationId] = useState(() => (embedded ? null : linkedIdFromLocation())); + // Run history per sampling evaluation, loaded when its card opens: + // { runs (newest first, up to RUNS_PAGE), runCount }. + const [histories, setHistories] = useState({}); + const [showForm, setShowForm] = useState(false); + const [runningId, setRunningId] = useState(null); + const [deletingId, setDeletingId] = useState(null); + + // URL → state: browser back/forward, and in-app navigation. useEffect(() => { if (embedded) return undefined; - const applyLink = () => { - const id = evaluationLink(window.location.search)?.evaluationId; - setLinkedEvaluationId(id); - if (id) setOpenIds(new Set([Number(id)])); + const applyPath = () => { + setReportRef(reportRefFromPath()); + const ref = runRefFromPath(); + setOpenRun(ref?.runId ? ref : null); + const linked = linkedIdFromLocation(); + setLinkedEvaluationId(linked); + if (linked) setOpenIds((current) => new Set([...(current || []), Number(linked)])); }; - window.addEventListener('popstate', applyLink); - window.addEventListener('dashboard:navigate', applyLink); + window.addEventListener('popstate', applyPath); + window.addEventListener('dashboard:navigate', applyPath); return () => { - window.removeEventListener('popstate', applyLink); - window.removeEventListener('dashboard:navigate', applyLink); + window.removeEventListener('popstate', applyPath); + window.removeEventListener('dashboard:navigate', applyPath); }; }, [embedded]); - const [showForm, setShowForm] = useState(false); - const [runningId, setRunningId] = useState(null); - const [deletingId, setDeletingId] = useState(null); - const [form, setForm] = useState({ - agent_id: agentId ? String(agentId) : '', name: '', sample_size: 20, - criteria: RULE_CRITERIA.map((c) => c.key), - containsPattern: '', llmJudgePrompt: '', - judgeKind: 'manual', judgeModel: '', compareModels: '', scenariosText: '', - }); - const [formError, setFormError] = useState(null); - const [isSubmitting, setIsSubmitting] = useState(false); const fetchEvaluations = useCallback(async () => { try { @@ -210,6 +180,26 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { } }, [agentId, linkedEvaluationId]); + // The run history (up to RUNS_PAGE) is one request per sampling + // evaluation, made when its card opens rather than for every row in the + // list. A suite's panel loads its own. + const loadHistory = useCallback(async (evaluationId) => { + try { + const response = await fetch(`/api/evaluations/${evaluationId}`); + if (!response.ok) throw new Error(`Could not load this evaluation's runs (HTTP ${response.status})`); + const data = await response.json(); + setHistories((prev) => ({ + ...prev, + [evaluationId]: { runs: data.evaluation?.runs || [], runCount: data.evaluation?.run_count ?? null }, + })); + } catch (error) { + // Recorded so the card renders what the index already knows instead + // of retrying on every render. + setHistories((prev) => ({ ...prev, [evaluationId]: { runs: null, runCount: null, error: error.message } })); + setLoadError(error.message); + } + }, []); + useEffect(() => { fetchEvaluations(); fetch('/api/agents') @@ -218,75 +208,58 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { .catch(() => setAgents([])); }, [fetchEvaluations]); + useEffect(() => { + const wanted = new Set([...(openIds || []), ...(openRun ? [openRun.evaluationId] : [])]); + wanted.forEach((id) => { + const evaluation = evaluations.find((e) => e.id === id); + if (evaluation && !evaluation.scenario_suite && !histories[id]) loadHistory(id); + }); + }, [openIds, openRun, evaluations, histories, loadHistory]); + + const setPath = (path) => { + if (!embedded && dashboardRelativePath() !== path) pushDashboardPath(path); + }; + const isOpen = (id) => !!openIds?.has(id); - const toggleOpen = (id) => setOpenIds((current) => { - const next = new Set(current || []); - if (next.has(id)) next.delete(id); - else next.add(id); - return next; - }); + const toggleOpen = (evaluation) => { + const opening = !isOpen(evaluation.id); + setOpenIds((current) => { + const next = new Set(current || []); + if (opening) next.add(evaluation.id); + else next.delete(evaluation.id); + return next; + }); + setPath(opening ? `/evaluations/${evaluation.id}` : '/evaluations'); + }; - const buildCriteria = () => { - const criteria = [...RULE_CRITERIA, ...TELEMETRY_CRITERIA] - .filter((c) => form.criteria.includes(c.key)) - .map(({ key, type, config }) => ({ key, type, config })); - if (form.containsPattern.trim()) { - criteria.push({ key: 'contains', type: 'contains', config: { pattern: form.containsPattern.trim() } }); - } - if (form.llmJudgePrompt.trim()) { - criteria.push({ key: 'quality', type: 'llm_judge', config: { prompt: form.llmJudgePrompt.trim() } }); - } - return criteria; + const openRunDetail = (evaluation, run) => { + setOpenIds((current) => new Set([...(current || []), evaluation.id])); + setOpenRun({ evaluationId: evaluation.id, runId: run.id }); + setPath(`/evaluations/${evaluation.id}/runs/${run.id}`); }; - const handleCreate = async (event) => { - event.preventDefault(); - setIsSubmitting(true); - setFormError(null); - try { - const response = await fetch('/api/evaluations', { - method: 'POST', - headers: { 'Content-Type': 'application/json', 'X-CSRF-Token': csrfToken() }, - body: JSON.stringify({ - evaluation: { - agent_id: form.agent_id, - name: form.name, - sample_size: form.sample_size, - judge_kind: form.judgeKind === 'judge_defined' - ? 'judge_defined' - : (form.llmJudgePrompt.trim() ? 'llm' : 'rules'), - judge_model: form.judgeModel.trim() || undefined, - compare_models: form.compareModels.split(',').map((m) => m.trim()).filter(Boolean), - criteria: form.judgeKind === 'judge_defined' ? [] : buildCriteria(), - scenarios_text: form.scenariosText.trim() || undefined, - }, - }), - }); - // A non-JSON body (an HTML error page, a sign-in redirect) used to - // surface as "Unexpected token <" in the form. - const data = await response.json().catch(() => ({})); - if (!response.ok) throw new Error((data.errors || [data.error]).filter(Boolean).join(', ') || `Failed to create evaluation (HTTP ${response.status})`); - setShowForm(false); - setForm({ ...form, name: '', scenariosText: '' }); - await fetchEvaluations(); - if (data.evaluation?.id != null) setOpenIds((current) => new Set([...(current || []), data.evaluation.id])); - } catch (error) { - setFormError(error.message); - } finally { - setIsSubmitting(false); - } + const closeRunDetail = (evaluationId) => { + setOpenRun(null); + setPath(evaluationId ? `/evaluations/${evaluationId}` : '/evaluations'); }; - const handleRun = async (id) => { - setRunningId(id); + // Runs a sampling evaluation again. A suite's runs start from its panel, + // which chooses the scenarios and models. + const handleRun = async (evaluation) => { + setRunningId(evaluation.id); setLoadError(null); try { - const response = await fetch(`/api/evaluations/${id}/run`, { + const response = await fetch(`/api/evaluations/${evaluation.id}/run`, { method: 'POST', headers: { 'X-CSRF-Token': csrfToken() }, }); - if (!response.ok) setLoadError(`Run failed (HTTP ${response.status})`); - await fetchEvaluations(); + const data = await response.json().catch(() => ({})); + if (!response.ok) { + setLoadError((data.errors || [data.error]).filter(Boolean).join(', ') || `Run failed (HTTP ${response.status})`); + return; + } + await Promise.all([fetchEvaluations(), loadHistory(evaluation.id)]); + if (data.run && openRun?.evaluationId === evaluation.id) openRunDetail(evaluation, data.run); } finally { setRunningId(null); } @@ -310,6 +283,7 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { next.delete(evaluation.id); return next; }); + if (openRun?.evaluationId === evaluation.id) closeRunDetail(null); } else { setLoadError(`Delete failed (HTTP ${response.status})`); } @@ -327,33 +301,18 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { } // The request is already scoped; this is a belt-and-braces guard so the - // list, the summary cards, and the empty state can never disagree. + // list, the tiles, and the empty state can never disagree. const shownEvaluations = agentId ? evaluations.filter((e) => String(e.agent?.id) === String(agentId)) : evaluations; - // Page stats, from the latest complete run of each scenario suite: a - // scenario run is one scenario × one model, and every failed run carries - // exactly one fault. - const suites = shownEvaluations.filter((e) => e.scenario_suite); - const sampling = shownEvaluations.filter((e) => !e.scenario_suite); - const latestRuns = suites.map((e) => e.latest_run).filter((r) => r && r.status === 'complete'); - const pageRuns = latestRuns.reduce((sum, r) => sum + (r.samples_evaluated || 0), 0); - const pagePassed = latestRuns.reduce((sum, r) => sum + (r.samples_passed || 0), 0); - const pageFixes = latestRuns.reduce((sum, r) => sum + (r.scores?._recommendations?.length || 0), 0); - const passRatio = pageRuns ? pagePassed / pageRuns : null; - const agentNames = [...new Set(suites.map((e) => e.agent?.name).filter(Boolean))]; - const modelsCompared = suites.reduce((max, e) => Math.max(max, e.latest_run?.models?.length || (e.compare_models || []).length || 0), 0); - const suitesSubParts = []; - if (agentNames.length === 1) suitesSubParts.push(`@${agentNames[0]} · ${modelsCompared > 1 ? `${modelsCompared} models compared` : '1 model'}`); - else if (agentNames.length > 1) suitesSubParts.push(plural(agentNames.length, 'agent')); - if (sampling.length) suitesSubParts.push(plural(sampling.length, 'sampling evaluation')); - const suitesSub = suitesSubParts.join(' · ') || 'no suites yet'; - - // A comparison run stores each sample criterion as {model: stats} instead - // of flat stats — detect by the absence of score/skipped keys. - const isCohortMap = (score) => - score && typeof score === 'object' && !('score' in score) && !('skipped' in score); + // The runs a sampling card lists: its history once loaded, else the + // latest run the index carried. + const runsOf = (evaluation) => { + const history = histories[evaluation.id]; + if (history?.runs) return { runs: history.runs, runCount: evaluation.run_count ?? history.runCount ?? null, loaded: true }; + return { runs: evaluation.latest_run ? [evaluation.latest_run] : [], runCount: evaluation.run_count ?? null, loaded: false }; + }; if (reportRef) { const reportUrl = dashboardPath(`/api/evaluations/${reportRef.evaluationId}/runs/${reportRef.runId}/report`); @@ -394,6 +353,56 @@ export default function EvaluationsView({ embedded = false, agentId = null }) { ); } + // A sampling evaluation's run has a page of its own. A suite's run opens + // in the suite's panel, where the scenario matrix is, so the list stays. + if (openRun) { + const evaluation = shownEvaluations.find((e) => e.id === openRun.evaluationId); + if (!evaluation || !evaluation.scenario_suite) { + const { runs, runCount, loaded } = evaluation ? runsOf(evaluation) : { runs: [], runCount: null, loaded: true }; + return ( + openRunDetail(evaluation, run)} + onRun={() => handleRun(evaluation)} + onBack={() => closeRunDetail(null)} + onOpenEvaluation={() => closeRunDetail(openRun.evaluationId)} + onDelete={evaluation ? () => handleDelete(evaluation) : undefined} + deleting={deletingId === openRun.evaluationId} + /> + ); + } + } + + // Page tiles, from the latest run of each evaluation. + const latestRuns = shownEvaluations.map((e) => e.latest_run).filter(Boolean); + const completeRuns = latestRuns.filter((r) => r.status === 'complete'); + const samplesScored = completeRuns.reduce((sum, r) => sum + (r.samples_evaluated || 0), 0); + const samplesPassed = completeRuns.reduce((sum, r) => sum + (r.samples_passed || 0), 0); + const passRatio = samplesScored ? samplesPassed / samplesScored : null; + const agentNames = [...new Set(shownEvaluations.map((e) => e.agent?.name).filter(Boolean))]; + const modelsCompared = shownEvaluations.reduce((max, e) => Math.max(max, modelCount(e, e.latest_run)), 0); + const fixCounts = shownEvaluations.map(fixCountFor); + const toFix = fixCounts.reduce((sum, count) => sum + count, 0); + const toFixEvaluations = fixCounts.filter(Boolean).length; + const spend = spendSummary(completeRuns); + const evaluationsSub = shownEvaluations.length + ? `${plural(agentNames.length, 'agent')} · ${modelsCompared > 1 ? `${modelsCompared} models compared` : 'no model comparisons'}` + : 'none defined yet'; + // The operating figure clients budget against: the agent's spend over the + // interactions the latest runs covered, with the judge's own spend named + // apart so it never inflates it. + const spendSub = spend.agentCost != null + ? [ + `agent ${fmtCost(spend.agentCost)} over ${plural(spend.interactions, 'interaction')}`, + spend.judgeCost != null ? `judge ${fmtCost(spend.judgeCost)} offline` : 'no judge spend', + ].join(' · ') + : 'no priced runs yet'; + return (
{/* Header — embedded in the agent page, that page owns the heading. */} @@ -402,7 +411,7 @@ export default function EvaluationsView({ embedded = false, agentId = null }) {

Evaluations

- Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models + Score recorded outputs, or paste a list of user messages to replay through the agent under one or more models. Every run is kept.

)} @@ -419,226 +428,61 @@ export default function EvaluationsView({ embedded = false, agentId = null }) {
)} - {/* New Evaluation form */} {showForm && ( - -
-
-
- Agent - -
-
- Name - setForm({ ...form, name: e.target.value })} - placeholder="Response Quality" - style={{ ...inputStyle, width: '100%' }} - /> -
-
- Sample size - setForm({ ...form, sample_size: e.target.value })} - style={{ ...inputStyle, width: '100%', fontFamily: MONO }} - /> -
-
- -
-
- KPI definition - -
-
- Judge model (optional) - setForm({ ...form, judgeModel: e.target.value })} - placeholder="e.g. claude-opus-5" - style={{ ...inputStyle, width: '100%', fontFamily: MONO, fontSize: 12 }} - /> -
-
- Compare models (optional, comma-separated) - setForm({ ...form, compareModels: e.target.value })} - placeholder="e.g. claude-haiku-4-5, qwen3:8b" - style={{ ...inputStyle, width: '100%', fontFamily: MONO, fontSize: 12 }} - /> -
-
- -
- - Scenarios (optional) — paste user messages to replay, one per line - -